Bayeux: an architecture for scalable and fault-tolerant wide-area data dissemination
NOSSDAV '01 Proceedings of the 11th international workshop on Network and operating systems support for digital audio and video
Chord: A scalable peer-to-peer lookup service for internet applications
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
A scalable content-addressable network
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Distributed object location in a dynamic network
Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures
Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems
Middleware '01 Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg
Application-Level Multicast Using Content-Addressable Networks
NGC '01 Proceedings of the Third International COST264 Workshop on Networked Group Communication
Bittorrent is an auction: analyzing and improving bittorrent's incentives
Proceedings of the ACM SIGCOMM 2008 conference on Data communication
Paircoding: Improving File Sharing Using Sparse Network Codes
ICIW '09 Proceedings of the 2009 Fourth International Conference on Internet and Web Applications and Services
Do incentives build robustness in bit torrent
NSDI'07 Proceedings of the 4th USENIX conference on Networked systems design & implementation
IEEE Transactions on Information Theory
Scribe: a large-scale and decentralized application-level multicast infrastructure
IEEE Journal on Selected Areas in Communications
Tree network coding for peer-to-peer networks
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Hi-index | 0.00 |
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(n2).