Reducing Source Load in BitTorrent

One of the main goals of BitTorrent is to reduce load on web servers by encouraging clients to share content between themselves. However, BitTorrent's current design relies heavily on the original source to serve a disproportionate amount of the file. We modify standard BitTorrent software so that a source determines the current popularity of each of the blocks of a file and tries to serve only those blocks that are rare. Using extensive PlanetLab experiments, we show that this modification can save as ignificant amount of the source's upload bandwidth, with the tradeoff of some increased peer download time. In addition, there are individual experiments that both save bandwidth and have a faster download time than standard BitTorrent. We examine some of the more exceptional experiments, explore alternative algorithms, and provide insight for further improvements. a block is held by a significant number of peers, then clients should get that block from their peers, rather than from the source. The source then exists primarily to help clients who can't otherwise find a block and ensures that the file remains available in the system. This modification helps the source to use significantly less than the configured rate cap when other peers are available to share the load, and also reduces the effectiveness of free-riding. Our BitTorrent modification, which we call the scout ,i n- cludes two new mechanisms. First, the scout estimates block diversity, which is the popularity of each of the blocks of the file, using information from its directly-connected neighbors and by probing additional peers. Second, the scout uses an algorithm to decide which blocks to advertise as available to its neighbors. Advertising the same rare blocks to all peers may not be the best strategy, since giving different blocks to different peers will increase the chance that peers can get blocks from each other. To determine the effectiveness of the scout, we run a series of experiments on PlanetLab, isolating the performance of the source from that of other seeds. Our results vary significantly, due to the unpredictability of available bandwidth on a global testbed. Averaged over all experiments, with various algo- rithms and settings, our BitTorrent scout saves about 50% of the source's upload bandwidth but extends the peer download time by 2.5 to 3 times. There are individual experiments that make better tradeoffs, and some both save bandwidth and have a faster download time, indicating there is likely room for improvements. These are encouraging results, considering the fact that in our experiment peers leave the system right after they download the file. In more typical scenarios, peers will act as seeds and help to maintain good download times even when the source restricts its uploading. To provide further insight into what works best, we examine different advertisement algorithms and find that they should include some degree of randomness to prevent peer starvation. We also find that the source's neighbors provide enough information to form a good estimate of block diversity, even when the torrent has about 400 active peers. Overall, our results indicate that further study may lead to ways to provide better performance tradeoffs.