P2P Streaming Content Delivery Systems

P2P Streaming Content Delivery Systems

Tieying Zhang, Xueqi Cheng, Weisong Shi
DOI: 10.4018/978-1-4666-1794-0.ch003
(Individual Chapters)
No Current Special Offers


In recent years, Peer-to-Peer (P2P) streaming systems have attracted enormous attention from both industries and academia. P2P streaming technology not only improves system scalability but also enables resource aggregation. This chapter reviews the field of P2P streaming by summarizing the key concepts and giving an overview of the most important systems. Design and implementation issues of P2P streaming systems are analyzed in general, and then six case studies for P2P live streaming, P2P on-demand streaming, and P2P download-based streaming separately are discussed. This chapter will help people in the research community and industry understand the potential properties of P2P streaming. For people unfamiliar with the field, it provides a general overview. Comparison of P2P steaming designs with different architectures is intended for developers and researchers.
Chapter Preview


With the rapid deployment of broadband access into household, online video streaming services have become one of the most popular Internet applications, such as Hulu (Hulu, 2010) and YouTube (YouTube, 2010). Such video streaming services are generally divided into two categories: 1) live streaming 2) Video-on-Demand (VoD) streaming. However, due to its high bandwidth requirements, it is of extensive high-cost to provide the video streaming services online. For instance, YouTube, the most popular on-demand video-sharing service, has to pay more than one million dollars' worth of bandwidth a month for transmission. Moreover, YouTube has to be equipped with a supercomputer with 400 nodes and a 10 gigabit Ethernet connection to provide video service.

As Peer-to-peer (P2P) technologies have obtained enormous success in content delivery, more and more video streaming providers have paid attention to developing P2P streaming applications to reduce server costs and accelerate user downloading. In P2P architecture, clients' resources (bandwidth, CPU, storage) are used to power the P2P system while optimizing network resources utilization. As P2P networks do not require any special servers or routers, the cost of such solutions is appealing. P2P multicasting is an elegant alternative to CDN infrastructure which each end-host (peer) may act as a potential server for other peers. This avoids dedicated replication servers altogether. The approach is self-scaling, as the number of peer “servers” and peer clients increases at the same rate, hence it avoids the bottleneck of a central server (or dedicated replication server). The approach, in principle, would allow a highly dynamic support of changing multicast demand at very low cost.

P2P streaming focuses on real-time video streaming applications, which include both live and on-demand streaming. These systems are harder to deploy due to the real-time playback requirement at the receiver end.

Many technologies exist for real-time video delivery. Broadcast video as used in TV is very good for delivering a limited number of streams to a very large audience. Point-to-point delivery is currently used for VoD and interactive video, as well as much of Internet video streaming, and can support a small audience with a large number of streams. The middle ground is covered by multicast delivery. Multicast delivery is very flexible and can enable a large number of senders to deliver content to any number of receivers.

IP multicast was the first solution to provide multicast functionality in the Internet. It put forth an ambitious vision to support all multicast functionality within the routers in the network and proposed a powerful abstraction to applications where a group address identifies a multicast group and any host can send a message to a group by simply sending to the group address. However, due to many technical and marketing reasons, it is still far from being widely deployed.

More recently, application layer multicast or overlay multicast has been proposed as an alternate architecture to provide multicast functionality in the Internet. In this type of multicast architecture, group membership, multicast delivery structure construction, and data forwarding are solely controlled by participating end hosts, thus no such functionality is required within routers in the network.

The application layer multicast systems can be grouped into tree-based and non-tree-based classes. Tree-based classes can be extended to single tree, multiple trees and mesh structures. It is a logical tree rooted at the source, where all nodes are hosts and each link in the tree is a network path, and the data is always delivered from the source to the parents then to the children. Constructing and maintaining an efficient distribution tee among the peers is a key challenge for tree-based systems. Mesh-based protocols are popular in treeless P2P systems. They achieve operation decentralization via gossip, i.e. delivering data and/or control messages to peers randomly. The following sections will describe examples of tree-based and mesh-based structures in details.

Complete Chapter List

Search this Book: