Elsevier

Computer Networks

Volume 74, Part A, 9 December 2014, Pages 53-63
Computer Networks

Overlay live video streaming with heterogeneous bitrate requirements

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

Abstract

We study a streaming cloud formed by distributed proxies providing live video service to diverse users (e.g., smart TVs, PCs, tablets, mobile phones, etc.). The proxies form a push-based overlay network, with each proxy serving a certain video bitrate for users to join. To form a proxy overlay serving heterogeneous bitrates, we consider that the video is encoded into multiple MDC (Multiple-Description Coding) streams with the serving bitrate of proxy i being ki description streams. In order to effectively mitigate stream disruption due to node churns, proxy i also joins an additional ri redundant MDC streams (ri0) in such a way that all the (ki+ri) streams are supplied by distinct parents. For live streaming, the critical issue is how to construct the parent-disjoint trees minimizing the assembly delay of the proxies.

We present a realistic delay model capturing important system parameters and delay components, formulate the optimization problem and show that it is NP-hard. We propose a centralized algorithm which is useful for a centrally-managed network and serves as a benchmark for comparison (PADTrees-Centralized). For large network, we propose a simple and distributed algorithm which continuously reduces delay through overlay adaptation (PADTrees-Distributed). Through extensive simulation on real Internet topologies, we show that high stream continuity can be achieved with push-based trees in the presence of node churns. Our algorithms are simple and effective, achieving low loss and low delay.

Introduction

We have witnessed in recent years the proliferation and penetration of Internet-ready multimedia-capable smart devices such as tablets, notebooks, PCs, smart TVs, set-top boxes, etc. These devices have different screen resolution and processing capabilities. In order to serve these devices, a streaming application has to meet heterogeneous bandwidth requirements ranging from, for example, 500 kbps for tablets to several Mbps for smart TV.

There has been increasing interest in providing live streaming services (such as Internet TV) offering heterogeneous bitrate to these smart devices. To achieve scalability and low delay, we consider a streaming cloud formed by distributed proxies placed close to user pools.1 The proxies are light-weight content servers deployed by the content provider in the public Internet across multiple ISPs.They form an overlay, and each serves streams of a certain bitrate. Users on different devices join the proxies in their proximity of corresponding bitrate requirements to be served directly.

In this work we focus on the cloud formed by the proxy overlay, and address its design and optimization issues. In order to efficiently support different bitrates of the proxies, the live video is encoded with Multiple-Description Coding (MDC) into K streams of similar bandwidth [1], [2], [3], [4], [5], [6], [7]. All the description streams are first generated at the source, and then pushed down to proxies via multiple delivery trees. Each description is distributed by a unique delivery tree. Note that these trees may not span all the proxies in the network. Proxy i receives some subset of the description streams ki (ki<K,kiZ+) according to its bitrate requirement. After receiving ki description streams, the proxy re-assembles the descriptions into a full video, and then serves it to its users.

We consider the realistic case that the overlay network may be dynamic, i.e., the nodes may churn at any time (i.e., be introduced, removed or fail). Whenever there is a churn, the video at the downstream nodes will be disrupted. In order to offer high continuity, node i receives an additional ri description streams as redundancy (ri0). In this way, the requirement can be met as long as node i receives ki streams or more from the streams delivered. In other words, in case of packet loss due to node churn, the redundancy streams are used to meet the rate requirement. It is clear that the total number of MDC streams encoded is the highest proxy requirement, i.e., K=maxi(ki+ri). Due to the use of MDC and redundancy, video quality would only be gracefully degraded if fewer than ki streams are received at node i. The cost due to node churn is an increase in bandwidth because of the extra ri streams a node receives.

To further protect stream continuity against unexpected node churns, all the (ki+ri) description streams of proxy i are supplied by distinct parents. The challenge is hence how to construct the K parent-disjoint description trees in order to minimize source-to-end delay due to stream assembly while meeting the heterogeneous rate requirements of the proxies. We tackle this problem by presenting a realistic node model on delay, formulating the optimization problem, analyzing its complexity, and designing effective optimization algorithms (centralized and distributed).

Push-based overlay live streaming has been shown to achieve substantially lower delay than pull-based approach [8], [9]. However, there has not been work on the design and optimization of a push-based overlay with proxies of heterogeneous rates. Our approach is shown to achieve low delay with high continuity. Previous approaches are often based on a random pull-based mesh, where a node continuously searches for neighbors (using gossip) and pulls content from them. This rather uncoordinated ad-hoc connectivity clearly is not bandwidth-efficient and may not even meet heterogeneous requirements. Furthermore, as the major objective of pull-based approach is to aggregate a full video, it seldom optimizes source-to-end delay, leading to unsatisfactory delay and resource (bandwidth) utilization. On the other hand, much of the previous tree-based overlay work has not sufficiently considered MDC with redundant streams to achieve stream continuity. We propose and optimize a push-based overlay structure composed of multiple trees and redundancy streams to mitigate node churns. Our overlay meets heterogeneous bitrate requirements of proxies with high stream continuity.

Fig. 1 shows an example of our streaming overlay with three MDC streams, i.e., K=3. Nodes A to F serve videos with different rate requirements: ki=2 for nodes A to D, and ki=1 for nodes E and F. They all receive one more description stream as redundancy. Nodes A,B and C are directly connected to the streaming server where they receive all their streams. Because the streaming server is stable, they do not need any redundant stream. On the other hand, because node D is not served by the streaming source, it connects to distinct parents in order to achieve fault-tolerance in streaming, i.e., D receives from three parents three descriptions with one as redundant stream. Nodes E and F both receive two descriptions from distinct parents while they require only one for viewing.

Because a proxy can decode and serve the video only after it assembles all the required streams, its delay from the source is the slowest path out of all the (ki+ri) trees (i.e., the maximum-delay path). Such delay increases quickly if the trees are not constructed properly. The challenge is how to construct the parent-disjoint trees to achieve minimum delay. We propose algorithms, termed PADTrees (Parent-Disjoint Trees), to construct highly efficient trees achieving low delay and high continuity while meeting heterogeneous bitrate requirements.

The contributions of our study are:

  • Delay model, problem formulation and its complexity analysis: Given K MDC streams, we present a rather realistic and comprehensive delay model for a node capturing all the major network and delay components such as scheduling delay (due to fanout of a node), edge bandwidth, end-to-end bandwidth, propagation delay, etc. With the model, we formulate the delay optimization problem which is to design MDC trees that minimize the diameter (i.e., worst-case delay) of the overlay network given heterogeneous proxy bitrate requirements. We show that the problem is NP-hard.

  • PADTrees-Centralized: Because the problem is NP-Hard, we propose a heuristic to construct parent-disjoint delivery trees to achieve low delay. The heuristic, termed PADTrees-centralized, can be computed by a controller for a centrally-managed network. It also inspires the design of the distributed algorithm, and serves as a benchmark for the comparison of various algorithms to show the benefit of central planning.

  • PADTrees-Distributed: For a large distributed network, we propose PADTrees-Distributed, a distributed algorithm for each node to search for (ki+ri) distinct parents to achieve low delay. Our algorithm is simple, efficient (i.e., low overhead), and maintains high stream continuity in the presence of node churns. It adapts to network conditions with nodes adjusting their positions in the trees to reduce its delay. Such adaptation is proved to converge to some steady value.

The organization of the paper is as follows. After discussing related work in Section 2, we formulate the optimization problem and its complexity analysis in Sections 3. The centralized and distributed versions of PADTrees are discussed in Sections 4 PADTrees-centralized: a centralized heuristic and its run-time complexity, 5 PADTrees-distributed: a distributed algorithm to construct low-delay streaming overlay, respectively. Illustrative simulation results are presented in Section 6. We conclude in Section 7.

Section snippets

Related work

Single-tree overlay structure was initially proposed to distribute streams, where all nodes are arranged into a tree rooted at the source [10], [11], [12], [13]. Although these approaches are simple and achieve low delay, the streaming rate cannot be guaranteed as it is limited by the lowest bottleneck bandwidth in the tree. Furthermore, the failure of a node leads to stream disruption of all its descendants. Therefore, single-tree approach cannot be applied in our setting with node churns.

To

Problem formulation and complexity analysis

Consider an overlay network modeled as a directed graph G=(V,E), where V is the set of vertices representing the nodes in the overlay (including the server) with n=|V|, and E=V×V is the set of overlay edges between nodes. Let sV represents the source. The edge cost of i,j, denoted as dij, represents the unicast delay from node i to node j, which equals to the sum of the propagation delay dijp and the scheduling delay dijs from node i to node j, i.e., dij=dijp+dijs. Some of the important

PADTrees-centralized: a centralized heuristic and its run-time complexity

Because MDRT problem is NP-hard, in this section we propose and present a simple and effective centralized heuristic to construct a overlay with minimum delay given ki source parents, ri redundant parents for each node iV, and the server capacity us, the maximum number of nodes that the server can support. The heuristic is suitable for a small centrally-managed network, and can also serve as the benchmark for our study of distributed algorithm.

The algorithm constructs the K delivery trees

PADTrees-distributed: a distributed algorithm to construct low-delay streaming overlay

The centralized heuristic works well to minimize delay for a centrally-managed network. However in a distributed proxy streaming network, we do not have global knowledge. Furthermore, nodes may arrive and leave at any time. The distributed algorithm should be adaptive to node churns. In this section, we present a simple and fully distributed algorithm which is scalable to large group to reduce mesh delay. There are four operations of the algorithm.

Simulation environment and illustrative results

We carry out simulations to evaluate the performance of the proposed algorithms. For comparison purpose, we also simulate one state-of-the-art scheme TOMTree [30], as well as two traditional scheme, namely, closest parent and random parent. TOMTree is a multi-tree based topology that minimize the average height of sub-stream trees and the average propagation latency in each tree. In the closest parent scheme, nodes look for the closest parents for streaming. Since this scheme captures locality

Conclusion

In this work, we have studied low-delay and high-continuity live streaming overlay formed by proxies with heterogeneous bitrate requirements. The video stream is encoded into K description streams. Node i obtains ki streams according to its own bitrate requirement and ri redundant streams to meet its target loss rate. To offer error resilience, all the (ki+ri) streams are pushed by distinct streaming parents in multiple trees. We have addressed the overlay design problem, which is to form a

Acknowledgements

This work was supported, in part, by Hong Kong Research Grant Council (RGC) General Research Fund (610713) and The Hong Kong Innovation and Technology Fund (UIM/246).

Dongni Ren is currently a Ph.D. candidate at the Department of Computer Science and Engineering in the Hong Kong University of Science and Technology (HKUST), supervised by Prof. Gary Chan. He also received his B.Eng. in Computer Science (Information Engineering) from HKSUTin 2007, and his M.Phil. in Computer Science from HKUST in 2009. His research interest includes live streaming technologies, multimedia networking, overlay and peer-to-peer networks.

References (32)

  • X. Meng et al.

    Using the complementary nature of node joining and leaving to handle churn problem in P2P networks

    Comput. Electr. Eng.

    (2013)
  • Y. Xu et al.

    Multiple description coded video streaming in peer-to-peer networks

    Signal Process.: Image Commun.

    (2012)
  • V.K. Goyal

    Multiple description coding: compression meets the network

    IEEE Signal Process. Mag.

    (2001)
  • V. Stankovic et al.

    Robust layered multiple description coding of scalable media data for multicast

    IEEE Signal Process. Lett.

    (2005)
  • M. Ma et al.

    Multiple description coding for error-resilient video transmission

    WSEAS Trans. Comput.

    (2005)
  • C.-W. Hsiao et al.

    Hybrid multiple description coding based on H.264

    IEEE Trans. Circ. Syst. Video Technol.

    (2010)
  • S.-H.G. Chan et al.

    Video loss recovery with FEC and stream replication

    IEEE Trans. Multimedia

    (2006)
  • G. Dan, V. Fodor, I. Chatzidrossos, On the performance of multiple-tree-based peer-to-peer live streaming, in: INFOCOM...
  • D. Jurca et al.

    Forward error correction for multipath media streaming

    IEEE Trans. Circ. Syst. Video Technol.

    (2009)
  • N. Magharei et al.

    A comparative study of live P2P streaming approaches

  • W. Jiang, S.-H.G. Chan, M. Chiang, J. Rexford, K.-F.S. Wong, C.-H.P. Yuen, Proxy-P2P streaming under the microscope:...
  • H. Yin et al.

    Livesky: enhancing CDN with P2P

    ACM Trans. Multimedia Comput. Commun. Appl.

    (2010)
  • T. Small et al.

    Outreach: peer-to-peer topology construction towards minimized server bandwidth costs

    IEEE J. Select. Areas Commun.

    (2007)
  • X. Jin, K.-L. Cheng, S.-H.G. Chan, SIM: scalable island multicast for peer-to-peer media streaming, in: Proc. IEEE...
  • J. Chen et al.

    Multipath routing for video delivery over bandwidth-limited networks

    IEEE J. Select. Areas Commun.

    (2004)
  • P. Fraigniaud, H.-A. Phan, “Tree-farms” for tree-based multicast schemes in peer-to-peer overlay networks, in: 2010...
  • Cited by (2)

    • Adaptive bitrate transcoding for power efficient video streaming in mobile devices

      2015, 2015 3rd International Conference on Signal Processing, Communication and Networking, ICSCN 2015

    Dongni Ren is currently a Ph.D. candidate at the Department of Computer Science and Engineering in the Hong Kong University of Science and Technology (HKUST), supervised by Prof. Gary Chan. He also received his B.Eng. in Computer Science (Information Engineering) from HKSUTin 2007, and his M.Phil. in Computer Science from HKUST in 2009. His research interest includes live streaming technologies, multimedia networking, overlay and peer-to-peer networks.

    S.-H. Gary Chan (S’89-M’98-SM’o3) is currently Full Professor and Undergraduate Programs Coordinator at the Department of Computer Science and Engineering and Director of Sino Software Research Institute, The Hong Kong University of Science and Technology (HKUST), Hong Kong. He received M.S.E and Ph.D. degrees in Electrical Engineering from Stanford University (Stanford, CA) in 1994 and 1999, respectively, with a minor in business administration. He obtained his B.S.E. degree (highest honor) in Electrical Engineering from Princeton University (Princeton, NJ) in 1993, with certificates in Applied and Computational Mathematics, Engineering Physics, and Engineering and Management Systems. His research interest includes multimedia networking, overlay streaming, wireless networks and mobile applications.

    View full text