GiantClient

In this paper, we propose a cooperative multi-user video streaming system, termed GiantClient, for videos encoded using scalable video coding (SVC). The proposed system allows a group of users to watch a video on a single screen. The users, who may have different data plans from different carriers or different levels of energy, can collaborate to fetch the SVC-encoded video at high quality and avoid running into re-buffering. Using SVC, each layer of every chunk of the video can be fetched by only one of the cooperating users. Therefore, we formulate the streaming problem that obtains the quality and the fetching policy decisions as an optimization problem. The objective is to optimize a novel quality-of-experience metric that maintains a tradeoff between maximizing the quality of every chunk and ensuring fairness among all video chunks for the minimum re-buffering time. The problem is constrained with the available bandwidth, the chunk deadlines, and the imposed maximum contribution constraints by users. Moreover, we propose a low-complexity algorithm to solve the proposed optimization problem. A real implementation of the system with real SVC-encoded videos and real bandwidth traces reveal the robustness and performance of the proposed algorithm.