P2PCast: A Peer-to-Peer Multicast Scheme for Streaming Data

Currently, the only way to disseminate streaming media to many users is to pay for lots of bandwidth. A more democratic alternative would be for interested users to donate bandwidth to help disseminate the data further. In this paper we discuss the design of P2PCast, a completely decentralized, scalable, fault-tolerant self-organizing system aimed at being able to stream content to thousands of nodes from behind a relatively low-bandwidth network. Our system leverages the full bandwidth that has been committed by its users by striping the data which also enhances fault-tolerance. We propose a novel algorithm for managing these stripes as a forest of multicast trees in a systematic fashion under stress conditions. Finally, we discuss a prototype implementation of our system using libasync and sketch some preliminary results.