Video streaming over P2P networks: Challenges and opportunities
Introduction
Future media Internet will need to be able to distribute high quality video contents in an efficient, supple and personalized way through dynamic and heterogeneous network environments. Multimedia content distribution over Internet has already become a major application due to users’ growing demand of multimedia content and extraordinary growth of network technologies. A broad assortment of such applications can be found in these days, e.g. as video streaming, video conferencing, surveillance, media broadcasting, e-learning and storage, etc. In customary, video streaming techniques typically employ the client-server model and the usage of Content Distribution Networks (CDN) along with IP multicast has been the most desirable solutions to support media streaming over Internet. However, it has been shown that there are significant limitations on the number of simultaneous users for bandwidth intensive video streaming in such client/server architectures, due to a bandwidth bottleneck at the server side from which all users request the content. In contrast, Peer-to-Peer (P2P) video streaming protocols, motivated by the great success of file sharing applications, have attracted a lot of interests from academia and industry. With respect to conventional approaches, a major advantage in using P2P is that each peer involved in a content delivery contributes with its own resources to the streaming session. However, in order to efficiently provide high quality of service in P2P networks, several mechanisms in the P2P protocols should be modified such that they can support unique multimedia characteristics as well as the video coding/transmission technology needs to be able to cope with varying bandwidth capacities inherent to P2P systems and end-user characteristics such as decoding and display capabilities usually tend to be non-homogeneous and dynamic.
Conventionally, P2P systems can be classified into two main categories namely tree-based and mesh-based (or data-driven)1 based on the type of distribution graphs they implement for delivery of data. Tree-based overlays employ a tree distribution graph, entrenched at the source of the content. The gigantic mainstream of the existing research on P2P focuses on tree-based approaches, where peers are organized into fixed structures (i.e., trees) for delivering data. Nodes in the structure typically have well-defined relationships, e.g., “parent-child” relationships in trees. Parents are responsible for forwarding data packets they receive to their children. Consequently, the structure plays an essential role in the average user experience and thus has to be fully optimized. If peers do not change too frequently, such a system requires little overhead; in fact, packets can be forwarded from node to node without the need for extra messages. However, in high churn environments, the tree structures is a very challenging since nodes can join and leave the group at any time with a high rates and nodes must buffer data for at last the time required to repair the tree, in order for smooth delivery of data. This maintenance is especially crucial for time-constrained (or delay-sensitive) media content. In contrast to tree-based approaches, mesh-based overlays are not confined to a static topology but are based on a mesh distribution graph, where each node contacts a subset of peers to exchange data chunks. In order for efficient chunk exchange, the information about which chunks are owned by other peers needs to be known to each peer so that it can explicitly pulls the chunks it needs. This type of scheme involves overhead, due in part to the exchange of buffer maps between nodes. As each node relies on multiple peers to retrieve content, mesh-based overlay systems provide good resilience to node failures. In addition to these overlays, researchers are working on hybrid solution that utilized both above mentioned overlays.
Video streaming systems [1], [2] based on P2P can be broadly classified and deployed in two main categories: live video streaming and on-demand video streaming. These P2P streaming systems attain immense triumph due to high scalability, low cost and robustness to churn. In live video streaming systems over P2P, the source peer broadcasts the live video content in the form of chunks and the peers can display the video content once they receive the chunks of video where they want to play. Thus, the chunks must arrive in a predefined sequential order, so that they can be played at the end node/peer with minimal delay latency. In live video streaming deployments, a minimal end-to-end delay is more enviable for high Quality of Experience (QoE) at receiver. On the other hand, Video-on-Demand (VoD) is a user driven interactive multimedia application in which user has an option to perform VCR-like operations (i.e., forward, backward, skip, etc.). The video contents [3] are pre-encoded and stored in the form of chunked at source peer so liveliness is irrelevant in VoD systems.
In the rest of this paper, we provide in depth survey on the existing techniques of video streaming over P2P. Section 2 provides an overview and basics of P2P systems. The most recent trends in video coding are explained in Section 3. Advanced techniques of VoD and live video streaming over P2P are explained in Section 4. Section 5 concludes the paper with several open research issues.
Section snippets
P2P network
In this section, the basic of P2P network is discussed. We first discuss the P2P network systems and their unique functionalities. We moreover study chunk exchange mechanisms.
Advances in video coding
A significant amount of research has been devoted to advance video coding method such as Scalable Video Coding (SVC), aiming to proffer a low-complexity video communication and adaptation, while conserving the comparable compression efficiency and decoding complexity to those of conventional video coding systems. Although some of the earlier video standards such as H.262/ MPEG-2 [29] and MPEG-4 Part 2 [42] has limited support for scalability at the expense of decoder complexity and/ or loss in
Video streaming over P2P
Video streaming is the hauling of video contents from its source to the end user devices. As discussed in Section 3, raw videos have to be encoded for high compression and packetized before they are delivered over the wired or wireless network. At the receiver, the received packets are rearranged and decompressed by the video decoder, in order to reconstruct the video stream. The constraints on this process depend not only on the network properties such as available bandwidth, packet losses and
Neighbour selection policy
It is extremely important that at least the base layer (description no 1) of each GOP is received before the window shifts. Occasionally, slow peers in the swarm (or slow neighbours) might delay the receiving of a BitTorrent piece, even if the overall download bandwidth is high. This problem is critical if the requested piece belongs to the base layer (description no. 1), as it might force the playback to pause. Therefore, these pieces should be requested from good neighbours. Good neighbours
Discussion and future direction
We have discussed potential challenges and opportunities for video streaming over P2P networks. While there have been great advances in the research on video streaming over P2P networks, several technical challenges and open issues still remain. Some of these challenges and issues are discussed in this section.
The first issue is on the types of P2P networks for video streaming applications. As discussed, there are several types of P2P networks – for example, tree-based or mesh-based, or
Acknowledgement
This work was supported in part by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education, Science and Technology (2012-0002917) and in part by the MKE (Ministry of Knowledge Economy) under the ITRC (Information Technology Research Center) support program supervised by the NIPA (National IT Industry Promotion Agency) (NIPA-2010-C1090-1101-0006) and EU project SARACEN.
References (84)
- et al.
An Efficient optimisation scheme for scalable surveillance centric video communications
ELSEVIER Journal of Signal Processing: Image Communication
(2009) - et al.
SVC-based scalable multiple description video coding and optimization of encoding configuration
Signal Processing: Image Communication
(2009) - et al.
Peer-to-peer streaming of scalable video in future internet applications
IEEE Communication Magazine
(2011) - N. Ramzan, Scalable and Adaptable Media Coding Techniques for Social/P2P Networks in IEEE COMSOC MMTC E-Letter, July...
- et al.
Joint source-channel coding for wavelet based scalable video transmission using an adaptive turbo code
EURASIP Journal on Image and Video Process
(2007) - Q. Lv, P. Cao, E. Cohen, K. Li, S. Shenker. Search and replication in unstructured peer-to-peer networks. In...
- I. Stoica, R. Morris, D. Karger, M. FransKaashoek, M. Dabek H. Balakrishnan, Chord: A Scalable Peer-To-Peer Lookup...
- A. Rowstron, P. Druschel. Pastry: Scalable, distributed object location and routing for large scale peer to peer...
- et al.
Tapestry: a resilient global scale overlay for service deployment
IEEE Journal on Selected Areas in Communications
(2004) - S. Ratnasamy, P. Francis, M. Handley, R. Karp, S.A. Shenker, Scalable Content-Addressable Network. Proceedings of ACM...
Dynamic replica placement for scalable content delivery
LNCS
Handbook of Peer-to-Peer Networking
A game theoretic analysis of incentives in content production and sharing over P2P networks
IEEE Journal of Selected Topics in Signal Processing
Peer-to-peer streaming of layered video: efficiency, fairness and incentive
IEEE Transactions on Circuits and Systems for Video Technology
Incentive cooperation strategies for peer-to-peer live multimedia streaming social networks
IEEE Transactions on Multimedia
A framework for foresighted resource reciprocation in P2P networks
IEEE Transactions on Multimedia
On the impact of bounded rationality in peer-to-peer networks
IEEE Signal Processing Letters
Cited by (77)
A survey on cloud-based video streaming services
2021, Advances in ComputersCitation Excerpt :To reduce this delay, content delivery networks (CDN) [32] are used to cache the frequently watched video contents at geographical locations close to viewers. Another option to reduce the startup delay is to use peer-to-peer (i.e., serverless) approaches in which each receiver (e.g., viewer's computer) acts as a server and sends video contents to another peer viewer [33]. More details of the delivery network will be discussed in Section 3.5
Evaluation of the improved particle swarm optimization algorithm efficiency inward peer to peer video streaming
2018, Computer NetworksCitation Excerpt :An alternate solution is to use the multiple tree architectures to address this problem. Multiple tree structure is based on at least more than one tree so that whenever a peer departs the tree, its child peer may carry on receiving content from an alternative path [8]. But in mesh-based overlays that is used in this article, each peer can connect to multiple peers and each peer can download and upload data to different peers at the same time as there are no dependencies in the network like tree-based structure.
Is IPFS Ready for Decentralized Video Streaming?
2023, ACM Web Conference 2023 - Proceedings of the World Wide Web Conference, WWW 2023PAPER Broadcast with Tree Selection from Multiple Spanning Trees on an Overlay Network
2023, IEICE Transactions on Communications