The main purpose of many current peer-to-peer (P2P) networks is off-line file sharing. However, a potentially very promising use of such networks is to share video streams (e.g., TV programs) in real time. In order to do so, the peers in a P2P network who are interested in the same video stream may employ Application Level Multicasting (ALM). In existing P2P networks, peers may exhibit behaviour which is problematic for ALM: peers tend not to donate any resources (free-riding), and they arrive and depart at a high rate (churn). In this paper we propose the Orchard algorithm for ALM of video streams in P2P systems, which deals with both these problems. By employing a technique called Multiple Description Coding, we split a video stream into several substreams. Orchard creates a dynamic spanning tree for each of these substreams in such a way that in the resulting forest, no peer has to forward more substreams than it receives. Our experiments show that Orchard is capable of providing ...
Jan-David Mol, Dick H. J. Epema, Henk J. Sips