Phosphite: Guaranteeing out-of-order download in P2P Video on Demand
Résumé
We propose Phosphite, a mechanism to preserve out of order download in peer to peer video-on-demand applications, in the presence of selfish peers. In such applications, peers have a natural trend to download blocks in order to start watching videos as soon as possible. Without specific mechanism to enforce a fair amount of out of order download, the last blocks of the video tend to be lost due to peers leaving soon after having downloaded the last blocks thus forcing peers to rely on the central server for re-introducing those lost blocks. This issue can be solved if peers dedicate a portion of their bandwidth for out of order downloads. Yet, this heavily relies on the goodwill of peers to collaborate. Phosphite is a simple yet efficient approach ensuring that all peers dedicate a part of their bandwidth to out of order download. Phosphite relies on a computational challenge where peers are provided with a combination of the requested blocks and other blocks. This forces peers to download out of order blocks to be able to decode the requested blocks. We evaluate Phosphite and show that it successfully prevents the system from losing blocks, even in the presence of selfish peers, thus offering an appealing alternative to state of the art approaches. With Phosphite, the last blocks remain available (with a probability higher than 0.98), while such result cannot be guaranteed (with a probability lower than 0.5) without enforcement mechanism. Phosphite ensures that a peer to peer download is almost always possible, even in the presence of selfish peers.