Overlay live video streaming with heterogeneous bitrate requirements
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 k i description streams. In order to effectively mitigate stream disruption due to node churns, proxy i  also joins an additional ri r i redundant MDC streams (ri?0 r i ? 0 ) in such a way that all the (ki+ri) ( k i + r i ) 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.
heterogeneous bitrate live streaming parent-disjoint trees