classifying peer-to-peer network coding schemes
Modern peer-to-peer file sharing systems distribute large files among peers using block partitioning. Blocks can be redistributed by a peer even before the whole file is available which highly decreases the distribution time. All peer-to-peer networks face the problem of dynamic participation of the peers and dynamic bandwidth in the network. A leaving peer can cause an unrecoverable loss of blocks and obstruct further downloads of the file. Furthermore, the choice which block needs to be sent to which peer is a hard question. A random choice leads to the coupon collector problem which decreases the transmission rate. Filesharing networks like BitTorrent or Splitstream face such problems. Network Coding overcomes this problem by using error redundant codes of all blocks of the file. An efficient randomized variant of it, Practical Network Coding, transmits and recombines random linear combinations of the blocks of the partitioned file. As soon as enough linear combinations have been gathered, the original file can be decoded by a matrix operation, optimizing the network flow in any peer-to-peer network. All known Network Coding schemes, however, suffer from a quadratic cost of read/write disk operations for both encoding and decoding. Since there is an increasing gap between the speed of mass storage devices and the main memory, this poses an obstacle to a wider use of Network Coding schemes. In this paper we present and investigate new network coding schemes, which form a compromise between Network Coding and uncoded block transfer schemes like BitTorrent. These schemes, called Paircoding and Treecoding have smaller read/write costs for encoding and decoding than Practical Network Coding and higher throughput than BitTorrent. We develop a new framework for comparing the throughput of data (performance) of such peer-to-peer file sharing systems and classify these systems, as well as a BitTorrent variant which uses forward error correction. The dynamics of peer-to-peer networks are described by a round model where the set of participating peers and their link quality changes after each round. The framework compares two schemes for all possible dynamic scenarios. If the transmission rate of scheme A is at least as well as scheme B , then we say A performs as well as B . If this is the case and there is a scenario where A is better than B , we say A outperforms B . We show that all of our proposed coding schemes outperform BitTorrent, while being outperformed by Network Coding. This leads to a hierarchy, where BitTorrent is the worst performer and Network Coding is the best performer regarding throughput. Regarding computation (disk read/write) complexity for decoding, BitTorrent and Foward Error Correction have linear time behavior, for Paircoding it is almost linear, Treecoding with one coding tree needs time O ( n ) and Network Coding has time O ( n 2).
peer-to-peer networks network coding bittorrent