Book Description
Peer-to-peer (P2P) systems have emerged as a promising and cost-effective transport solution for streaming video to a group of users in the Internet. In the P2P architecture, users not only consume video, but also forward it to other users. Thus, P2P systems scale better than client-server systems as users bring resources to the system. The challenge is to achieve low-latency and robust video dissemination by overcoming a number of adversarial aspects and challenges -- peer dynamics, heterogeneous uplink bandwidth of peers, heterogeneous hardware and capabilities of peers, and peer-wise connection restrictions due to NATs/firewalls. This dissertation presents Stanford Peer-to-Peer Multicast (SPPM), a P2P video streaming system. SPPM is designed to achieve low-latency and robust streaming by constructing an overlay of multiple complementary trees and dynamically rearranging the position of peers by Active Overlay Management in a distributed fashion. Next, we extend SPPM for providing playback control to users by time-shifted streaming. To perform time-shifted streaming, peers store past portions of video and forward them to other users when requested, thereby reducing server load. To further alleviate server load, we propose fast prefetching, by which peers can disseminate content quickly. Finally, we present a way to accommodate mobile users. Video transcoding is often required to adapt video for the mobile users. We propose interleaved distributed transcoding (IDT), which allows a video stream to be transcoded at multiple peers that are more capable than mobile users. IDT is shown not only to reduce computation required at a peer but also to achieve higher error resilience in case of peer failure or packet loss.