Survey PaperA survey of peer-to-peer live video streaming schemes – An algorithmic perspective
Introduction
Video streaming applications are enormously popular on the Internet. The defining feature of video streaming is that a video is consumed while it is being downloaded. Video streaming can be classified into on-demand streaming and live streaming. In on-demand streaming applications, a user plays a video at his or her own pace and may seek new positions during the playback. A user can download the video at a rate higher than the video’s playback rate. In live streaming applications, all the users play a video in approximate synchronicity with the video source and download the video at its playback rate. The basic objective of live video streaming schemes is to distribute video packets from the video source to all the users before the playback deadline of each packet at each user. Some applications, such as video conferencing, require a playback delay within several hundred milliseconds. Other applications, such as Internet TV, are more tolerant, but the playback delay should not exceed a few minutes for an application to be called “live” streaming. In addition to distributing video packets with a delivery rate as high as possible and within the delay constraints, many schemes also strive to minimize the cost of the paths through which video packets traverse.
Live video streaming applications can be implemented using IP multicast, content delivery networks (CDNs), and peer-to-peer (P2P) networks. Among them, P2P networks have drawn great attention from both the research community and the industry due to their low cost and high scalability: only several video servers and bootstrap servers are required, and the upload bandwidth is contributed by users and grows as the number of users grows. Over the past two decades, a large number of P2P live video streaming schemes have been proposed. Many popular deployments have emerged on the Internet and some have grown into an enormous size. For example, PPStream, a popular deployment in China, reported having tens of millions of users watching a popular show on the eve of the Chinese Spring Festival in 2010 [1].
In this paper, we provide a comprehensive and in-depth survey of P2P live video streaming schemes from an algorithmic perspective. The design of a P2P live video streaming scheme consists of a series of design choices. Categorizing the design choices made in each scheme and identifying their impacts on system performance will provide future designers with valuable knowledge and insights. Our approach is based on the following remarks. First, simply classifying P2P live video streaming schemes into several categories according to one or two design choices (e.g., tree-based and swarm-based) and arguing the pros and cons of each category does not expose future designers to the many design choices that have been proposed in the surveyed papers. However, categorizing all the design choices is not feasible since there are numerous design choices of different importance and some only apply to a small number of schemes. Second, system performance is often impacted by multiple design choices, and it may be hard to isolate the impact of a certain design choice. Third, the performance metrics reported in the surveyed papers do not provide an apple-to-apple comparison between schemes because they use different simulation or experimental settings and report different metrics. However, in order to make rational judgments and weigh trade-offs between different design choices, future designers need to understand the extent of impact of a design choice on system performance.
We address the above issues by first identifying a set of design choices that are critical to system performance. The primary objective of a P2P live video streaming system is to distribute video packets from the video source to all the peers within playback deadlines. In any P2P live video streaming system, if all the peer receive a packet and each peer receives the packet only once, the collective paths through which the packet traverses form a tree, which we call the propagation tree of the packet. We focus on three aspects of how propagation trees are formed. (1) Determining the supplier–receiver relationships between peers for each packet (typically determine the same relationship for a consecutive sequence of packets or for a period of time). (2) Handling the departure of the supplier or receiver before their relationship expires. (3) Handling lost packets. For each aspect, we identify a number of critical design choices and organize them in a hierarchical manner.
We take two measures to identify the impact of a design choice on system performance. First, since the surveyed papers use different performance metrics and may not report all the metrics we need, we identify a set of “internal” metrics, such as the propagation tree height and peer join complexity in addition to the “external” metrics commonly used in the literature, such as the packet delivery rate, network traffic, and peers’ workload. These internal metrics are easier to relate to the design choices a scheme has made and are highly correlated with external metrics. Second, since the reported performance metrics in surveyed papers are heavily influenced by simulation settings and implementation details, we examine the design choices each scheme has made and examine the reported performance metrics of schemes that have made the same design choice. By examining a group of schemes, the impact of a design choice can be identified with higher confidence. The impacts of design choices are usually stated qualitatively (or as a range) because they are influenced by simulation settings. When applicable, we showcase the quantitative results (together with the simulation settings) reported in the surveyed paper as supplementing information.
The remainder of this paper is organized as follows. In Section 2, we first introduce the objectives and assumptions used in the design of P2P live video streaming schemes and then introduce related research areas that are necessary to understand the discussions in following sections.
In Section 3, we first discuss the algorithmic choices to the design of P2P live video streaming schemes. We then presents our taxonomy, which is based on the design choices of determining supplier–receiver relationships. We finally present the internal and external performance metrics, and provide a brief discussion of the impact of design choices on these metrics.
In Sections 4 Centralized and recursive schemes, 5 Structured tree-based schemes, 6 Swarm-based schemes, 7 Unstructured tree-based schemes, we survey centralized and recursive schemes, structured tree-based schemes, swarm-based schemes, and unstructured tree-based schemes, respectively. In each section, we first provide a systematic summary to each scheme, focusing on their design objectives, decisions on the set of critical design choices, and the special design choices they employ for their individual objectives. We then make critical analysis and descriptive comparison between schemes according to their design choices.
In Section 8, we conclude this survey and discuss open issues.
Section snippets
Peer-to-peer live video streaming
A P2P system is a distributed system in which a transient population of peers self-organize into an overlay network on top of the substrate Internet to share computing power, storage, and communication bandwidth [2]. Each peer is both a client and a server. P2P networks have been used in many applications, such as file sharing, IP telephony, and video streaming. In this section, we first discuss objectives and assumptions used in the design of P2P live video streaming schemes. We then briefly
Algorithmic choices and taxonomy
A large number of P2P live video streaming schemes have been proposed in the past two decades, which can be classified from various perspectives. In this section, we first introduce existing classifications. We then discuss algorithmic choices to the design of P2P live video streaming schemes and present our taxonomy according to the algorithmic choices. We finally present the evaluation framework.
Centralized and recursive schemes
In this section, we first survey centralized and recursive schemes and then provide comparative analysis.
Structured tree-based schemes
Structured tree-based schemes organize peers with DHTs. DHTs provide a scalable unicast routing mechanism. Each peer has a routing table of size , and a peer can reach any other peer within hops. In this section, we first survey structured tree-based schemes and then provide comparative analysis.
Swarm-based schemes
In this section, we first discuss the algorithmic choices specific to swarm-based schemes, then survey swarm-pull and swarm-push schemes, and finally give comparative analysis.
Unstructured tree-based schemes
In this section, we first discuss the algorithmic choices specific to unstructured tree-based schemes, then survey data-driven and network-driven schemes respectively, and finally give comparative analysis.
Conclusions and open issues
In this paper, we provide a comprehensive and in-depth survey of P2P live video streaming schemes from an algorithmic perspective. We identify a series of design choices critical to system performance, evaluate schemes by their design choices, and identify the impact of design choices on system performance. Valuable lessons have been learned and some of the most important are summarized below.
Centralized and recursive schemes can support a small to medium group size, typically less than a
Xiangyang Zhang received his B.E. degree and M.E. degree in Electrical Engineering from Harbin Institute of Technology, China, in 1992 and 1995, respectively. He received his Ph. D degree in Computer Science from Queen’s University, Canada, in 2012. Between 1995 and 2007, he was with Huawei Technologies, where he was a senior engineer and research manager in the data communication division. His research interests are in the fields of multimedia communication, peer-to-peer networks, Internet
References (97)
- <http://www.pps.tv> (accessed March...
- et al.
A survey of peer-to-peer content distribution technologies
ACM Computing Surveys
(2004) - et al.
An empirical study of the coolstreaming system
IEEE Journal on Selected Areas in Communications
(2007) - Y. Huang, T.Z.J. Fu, D.M. Chiu, J.C.S. Lui, C. Huang, Challenges, design and analysis of a large-scale P2P-VoD system,...
- et al.
Understanding user behavior in large-scale video-on-demand systems
ACM SIGOPS Operating System Review
(2006) - Y. Chu, A. Ganjam, T. Ng, S.G. Rao, K. Sripanidkulchai, J. Zhan, and H. Zhang, Early experience with an Internet...
- S. Ali, A. Mathur, H. Zhang, Measurement of commercial peer-to-peer live video streaming, in Proceedings of Workshop in...
- <http://www.cs.cornell.edu/people/egs/meridian/>, (accessed March...
- et al.
Deployment issues for the IP multicast service and architecture
IEEE Network
(2000) - et al.
Multipoint communication: a survey of protocols, functions, and mechanisms
IEEE Journal on Selected Areas in Communications
(1997)
Content delivery networks: status and trends
IEEE Internet Computing
Globally distributed content delivery
IEEE Internet Computing
Multiple description coding: compression meets the network
IEEE Signal Processing Magazine
Multiple description coding for video delivery
Proceedings of IEEE
Overview of the scalable video coding extension of the h. 264/avc standard
IEEE Transacions on Circuits and Systems for Video Technology
Overhead and quality measurements for multiple description coding for video services
Wireless Personal Multimedia Communications
Robust and efficient stream delivery for application layer multicasting in heterogeneous networks
IEEE Transactions on Multimedia
TURINstream: a totally push, robust, and efficient P2P video streaming architecture
IEEE Transactions on Multimedia
LayerP2P: using layered video chunks in P2P live streaming
IEEE Transactions on Multimedia
Network information flow
IEEE Transactions on Information Theory
R2: Random push with random network coding in live peer-to-peer streaming
IEEE Journal on Selected Areas in Communications
Spanc: optimizing scheduling delay for peer-to-peer live streaming
IEEE Transactions on Multimedia
Tapestry: a resilient global-scale overlay for service deployment
IEEE Journal on Selected Areas in Communications
A survey and comparison of peer-to-peer overlay network schemes
IEEE Communications Surveys & Tutorials
Can ISPS and P2P users cooperate for improved performance?
ACM SIGCOMM Computer Communication Review
Predicting internet network distance with coordinates-based approaches, in Proc
IEEE INFOCOM
Vivaldi: a decentralized network coordinate system
ACM SIGCOMM Computer Communication Review
PULSE: an adaptive, incentive-based, unstructured P2P live streaming system
IEEE Transactions on Multimedia
Incentive cooperation strategies for peer-to-peer live multimedia streaming social networks
IEEE Transactions on Multimedia
A survey on peer-to-peer video streaming systems
Peer-to-Peer Networking and Applications
Opportunities and challenges of peer-to-peer internet video broadcast
Proceedings of IEEE
Cited by (0)
Xiangyang Zhang received his B.E. degree and M.E. degree in Electrical Engineering from Harbin Institute of Technology, China, in 1992 and 1995, respectively. He received his Ph. D degree in Computer Science from Queen’s University, Canada, in 2012. Between 1995 and 2007, he was with Huawei Technologies, where he was a senior engineer and research manager in the data communication division. His research interests are in the fields of multimedia communication, peer-to-peer networks, Internet infrastructure, and telecom networks.
Hossam Hassanein is with the School of Computing at Queen’s University working in the areas of broadband, wireless and variable topology networks architecture, protocols, control and performance evaluation. Dr. Hassanein obtained his Ph.D. in Computing Science from the University of Alberta in 1990. He is the founder and director of the Telecommunication Research (TR) Lab http://www.cs.queensu.ca/∼trl in the School of Computing at Queen’s. Dr. Hassanein has more than 350 publications in reputable journals, conferences and workshops in the areas of computer networks and performance evaluation. He has delivered several plenary talks and tutorials at key international venues, including Unconventional Computing 2007, IEEE ICC 2008, IEEE CCNC 2009, IEEE GCC 2009, IEEE GIIS 2009, ACM MSWIM 2009 and IEEE Globecom 2009. Dr. Hassanein has organized and served on the program committee of numerous international conferences and workshops. He also serves on the editorial board of a number of International Journals. He is a senior member of the IEEE, and is currently chair of the IEEE Communication Society Technical Committee on Ad hoc and Sensor Networks (TC AHSN). Dr. Hassanein is the recipient of Communications and Information Technology Ontario (CITO) Champions of Innovation Research award in 2003. He received several best paper awards, including at IEEE Wireless Communications and Network (2007), IEEE Global Communication Conference (2007), IEEE International Symposium on Computers and Communications (2009), IEEE Local Computer Networks Conference (2009) and ACM Wireless Communication and Mobile Computing (2010). Dr. Hassanein is an IEEE Communications Society Distinguished Speaker (Distinguished Lecturer 2008–2010).
- 1
Tel.: +1 613 533 6000x75103; fax: +1 613 533 6513.