Resilient Peer-to-Peer Streaming
We consider the problem of distributing “live” streaming media content to a potentially large and highly dynamic population of hosts. Peer-to-peer content distribution is attractive in this setting because the bandwidth available to serve content scales with demand. A key challenge, however, is making content distribution robust to peer transience. Our approach to providing robustness is to introduce redundancy, both in network paths and in data. We use multiple, diverse distribution trees to provide redundancy in network paths and multiple description coding (MDC) to provide redundancy in data. We present a simple tree management algorithm that provides the necessary path diversity and describe an adaptation framework for MDC based on scalable receiver feedback. We evaluate these using MDC applied to real video data coupled with real usage traces from a major news site that experienced a large flash crowd for live streaming content. Our results show significant benefits in using multiple distribution trees and MDC. We also present a method for combining MDC with traditional layering to accommodate bandwidth heterogeneity. Our layered MDC construction enables a novel hybrid parent- and child-driven congestion control scheme appropriate for situations where the last-hop links of end-hosts are prone to congestion.