Computer Science Department
School of Computer Science, Carnegie Mellon University
Enabling Live Internet Broadcasting Using an
The conventional wisdom is to add functionality in the underlying network infrastructure, i.e. at the IP layer. With IP Multicast, the publisher sends just one copy of the video stream to the IP network, and the network intelligently replicates the video streams to all the receivers. By shifting the task of data replication to the IP routers, IP Multicast greatly reduces the bandwidth requirements for the publishers and receivers. However, 15 years after its initial proposal, IP Multicast is still plagued with concerns pertaining to scalability, network management, deployment, and support for higher level functionality.
This dissertation takes a different architecture approach to meet the challenge in broadcasting high quality video over the Internet. Our thesis is that "it is feasible today to provide video broadcasting as a commodity service, without changing the underlying IP infrastructure". We propose a new architecture called End System Multicast. In End System Multicast, data replication is performed not by the routers, but by the receivers in the broadcast, which are end systems on the Internet. Thus, the publisher only needs to send the video stream to a few receivers, and these receivers iteratively forward the video streams to other receivers. This avoids costly bandwidth provisioning for the publisher and requires no changes to the IP infrastructure.
We demonstrate the feasibility of End System Multicast not only in simulators and Internet testbeds, but also in live broadcast scenarios. In the past two years, we have built an operational video broadcasting system based on this architecture. The system has been successful in broadcasting 20 events, benefiting 4000 users.
This dissertation describes a complete solution in building a video broadcast system based on End System Multicast. This includes protocol-level designs to handle group dynamics and network heterogeneity, and system-level designs to integrate with media codecs and players. In addition, we address the issue of incentive for publishers and receivers to participate in this system.