Optimized Preference-Aware Multi-path Video Streaming with Scalable Video Coding
Most client hosts are equipped with multiple network interfaces (e.g., WiFi and cellular networks). Simultaneous access of multiple interfaces can significantly improve the users' quality of experience (QoE) in video streaming. An intuitive approach to achieve it is to use Multi-path TCP (MPTCP). However, the deployment of MPTCP, especially with link preference, requires OS kernel update at both the client and server side, and a vast amount of commercial content providers do not support MPTCP. Thus, in this paper, we realize a multi-path video streaming algorithm in the application layer instead, by considering Scalable Video Coding (SVC), where each layer of every chunk can be fetched from only one of the orthogonal paths. We formulate the quality decisions of video chunks subject to the available bandwidth of the different paths and the chunk deadlines as an optimization problem. The objective is to jointly minimize the stall/skip duration of the video, maximize the average quality, and minimize the number of quality switches. Even though the formulation is a non-convex discrete optimization, we show that the problem can be solved optimally with a complexity that is quadratic in the video length. We further propose an online algorithm where several challenges including bandwidth prediction errors, are addressed. Finally, we give a set of novel preference-aware algorithms where one of the links is more expensive than the other. Extensive emulated experiments in a real testbed with real traces of public dataset reveal the robustness of our scheme and demonstrate its significant performance improvement compared to other multi-path algorithms.
READ FULL TEXT