Improving the Performance and Robustness of P2P Live Streaming with Contracts

The increasing popularity of online streaming video is defining a major shift in the Internet's workload. To cope with the demands of distributing video, many popular services take a peer-to-peer approach, relying on users to redistribute video data after receiving it. PPLive is one such system, using daily for live streaming by millions of people worldwide. As with any P2P design, the scalability of PPLive depends on users contributing capacity to the system. But currently, these contributions are neither verified not rewared. This article describes Contracts, an extension of the PPLive protocol, that improves performance by recognizing and rewarding users who contribute. For example, in our experiments, the fraction of PPLive clients using Contracts experiencing loss-free playback is more than four times that on native PPLive.