Elsevier

Computer Networks

Volume 56, Issue 15, 15 October 2012, Pages 3548-3579
Computer Networks

Survey Paper
A survey of peer-to-peer live video streaming schemes – An algorithmic perspective

https://doi.org/10.1016/j.comnet.2012.06.013Get rights and content

Abstract

Live video streaming applications have gained great popularity among users but exert great pressure on video servers and the Internet. Peer-to-Peer (P2P) networks provide an attractive solution due to their low cost and high scalability. A large number of P2P live video streaming schemes have been proposed and many deployments have appeared on the Internet. These schemes pursue vastly diverse directions, from mimicking IP multicast to BitTorrent-like swarming to distributed hash tables. In this paper, we provide a comprehensive and in-depth survey of P2P live video streaming schemes from an algorithmic perspective. Our purpose is to acquaint future designers with the critical design choices and their impacts on system performance. The primary objective of a P2P live video streaming system is to distribute packets from the video source to peers, and the collective paths through which a packet traverses form a tree. We focus on three aspects of how these trees are formed: determining the supplier–receiver relationships for each packet, handling the departure of the supplier or receiver before their relationship expires, and handling lost packets. We identify critical design choices in each aspect and propose a taxonomy according to these choices. Because the surveyed papers use different performance metrics and the reported results are heavily influenced by their experimental settings, we consider two measures to identify the impact of each design choice: we use a set of “internal” metrics in addition to the commonly used “external” metrics, and we examine performance metrics of schemes that have made the same design choice. For better understanding of how the design choices interact with one another and exposing future designers to the design choices specific to each individual scheme, we also provide systematic summaries for a large number of schemes.

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 O(logN), and a peer can reach any other peer within O(logN) 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...
  • S. Androutsellis-Theotokis et al.

    A survey of peer-to-peer content distribution technologies

    ACM Computing Surveys

    (2004)
  • B. Li 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,...
  • H. Yu 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...
  • C. Diot et al.

    Deployment issues for the IP multicast service and architecture

    IEEE Network

    (2000)
  • C. Diot et al.

    Multipoint communication: a survey of protocols, functions, and mechanisms

    IEEE Journal on Selected Areas in Communications

    (1997)
  • A. Vakali et al.

    Content delivery networks: status and trends

    IEEE Internet Computing

    (2003)
  • J. Dilley et al.

    Globally distributed content delivery

    IEEE Internet Computing

    (2002)
  • V. Goyal

    Multiple description coding: compression meets the network

    IEEE Signal Processing Magazine

    (2001)
  • Y. Wang et al.

    Multiple description coding for video delivery

    Proceedings of IEEE

    (2005)
  • H. Schwarz et al.

    Overview of the scalable video coding extension of the h. 264/avc standard

    IEEE Transacions on Circuits and Systems for Video Technology

    (2007)
  • F. Fitzek et al.

    Overhead and quality measurements for multiple description coding for video services

    Wireless Personal Multimedia Communications

    (2004)
  • V.N. Padmanabhan, H.J. Wang, P.A. Chou, K. Sripanidkulchai, Distributing streaming media content using cooperative...
  • R. Tian, Y. Xiong, Q. Zhang, B. Li, B.Y. Zhao, X. Li, Hybrid overlay structure based on random walks, in: Proceedings...
  • M. Kobayashi et al.

    Robust and efficient stream delivery for application layer multicasting in heterogeneous networks

    IEEE Transactions on Multimedia

    (2009)
  • N. Magharei, R. Rejaie, Prime: Peer-to-peer receiver-driven mesh-based streaming, in: Proceedings of IEEE INFOCOM,...
  • A. Magnetto et al.

    TURINstream: a totally push, robust, and efficient P2P video streaming architecture

    IEEE Transactions on Multimedia

    (2010)
  • Z. Liu et al.

    LayerP2P: using layered video chunks in P2P live streaming

    IEEE Transactions on Multimedia

    (2009)
  • Z. Liu, Y. Shen, K. Ross, S. Panwar, et al., Substream trading: towards an open p2p live streaming system, in: IEEE...
  • C. Wu, B. Li, rStream: resilient peer-to-peer streaming with rateless codes, in: Proceedings of ACM International...
  • R. Ahlswede et al.

    Network information flow

    IEEE Transactions on Information Theory

    (2000)
  • M. Wang et al.

    R2: Random push with random network coding in live peer-to-peer streaming

    IEEE Journal on Selected Areas in Communications

    (2007)
  • K.-H. Chan et al.

    Spanc: optimizing scheduling delay for peer-to-peer live streaming

    IEEE Transactions on Multimedia

    (2010)
  • I. Stoica, R. Morris, D. Karger, M.F. Kaashoek, H. Balakrishnan, Chord: a scalable peer-to-peer lookup service for...
  • S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Schenker, A scalable content-addressable network, in: Proceedings of...
  • A. Rowstron, P. Druschel, Pastry: scalable, distributed object location and routing for large-scale peer-to-peer...
  • B. Zhao et al.

    Tapestry: a resilient global-scale overlay for service deployment

    IEEE Journal on Selected Areas in Communications

    (2004)
  • P. Maymounkov, D. Mazieres, Kademlia: a peer-to-peer information system based on the xor metric, in: Proceedings of the...
  • E.K. Lua et al.

    A survey and comparison of peer-to-peer overlay network schemes

    IEEE Communications Surveys & Tutorials

    (2005)
  • V. Aggarwal et al.

    Can ISPS and P2P users cooperate for improved performance?

    ACM SIGCOMM Computer Communication Review

    (2007)
  • H. Xie, Y. Yang, A. Krishnamurthy, Y. Liu, A. Silberschatz, P4P: provider portal for P2P applications, in: Proceedings...
  • D. Choffnes, F. Bustamante, Taming the Torrent: a practical approach to reducing cross-ISP traffic in peer-to-peer...
  • B. Krishnamurthy, J. Wang, On network-aware clustering of web clients, in: Proceedings of ACM SIGCOMM Conference on...
  • T. Ng et al.

    Predicting internet network distance with coordinates-based approaches, in Proc

    IEEE INFOCOM

    (2002)
  • F. Dabek et al.

    Vivaldi: a decentralized network coordinate system

    ACM SIGCOMM Computer Communication Review

    (2004)
  • M. Piatek, H. Madhyastha, J. John, A. Krishnamurthy, T. Anderson, Pitfalls for ISP-friendly P2P design, in: Proceedings...
  • X. Zhang, H. Hassanein, On network utilization of peer-to-peer video live streaming on the Internet, in: IEEE...
  • X. Zhang, H. Hassanein, A neighboring strategy for ISP-friendly peer-to-peer video live streaming, in IEEE...
  • B. Cohen, Incentives build robustness in BitTorrent, in: Workshop on Economics of Peer-to-Peer Systems, vol. 6, 2003,...
  • F. Pianese et al.

    PULSE: an adaptive, incentive-based, unstructured P2P live streaming system

    IEEE Transactions on Multimedia

    (2007)
  • W. Lin et al.

    Incentive cooperation strategies for peer-to-peer live multimedia streaming social networks

    IEEE Transactions on Multimedia

    (2009)
  • Y. Liu et al.

    A survey on peer-to-peer video streaming systems

    Peer-to-Peer Networking and Applications

    (2008)
  • J. Liu et al.

    Opportunities and challenges of peer-to-peer internet video broadcast

    Proceedings of IEEE

    (2008)
  • T. Bonald, L. Massoulié, F. Mathieu, D. Perino, A. Twigg, Epidemic live streaming: optimal performance trade-offs, in:...
  • 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.

    View full text