It is more or less common knowledge that a bittorrent network has the potential to be much faster than direct downloads, but I have never seen any real math describing why, or any theoretical bounds on what the speedup can be.
Does anyone know of any references where things like speedup compared to direct downloads are modeled?
I am thinking of a model similar to this.
Suppose there is a file of size $Bk$, split into $k$ blocks $b_1,\ldots,b_k$ of size $B$, which is initially held by $s$ seeds. There are initially $p$ peers who want to download the file, and so there are $N:=p+s$ people total (assume for simplicity that no new peers enter or leave when a peer finishes downloading, he always seeds for the rest of time [a harder model would allow seeds to have a random (exponential) lifetime]). Label the users $U_1,U_2,\ldots,U_N$. Also suppose user $i$ has an upload speed limit $u_i$ and a download speed limit $d_i$.
Assume blocks must be downloaded completely (the idea is that a they are 1mb or so, and we will treat this as a sort of atomic unit for download time purposes).
Then there is an availability distribution on the blocks, we assume all $N$ users know the distribution at all times.
I am looking for references which attempt to answer questions like:
What is the best way (or a good way) to arrange connections among users, and how much faster is this method than saying there is a central server which serves downloaders as fast as it can?