Article Preview
Top1. Introduction
Over the past few years, video traffic has been growing rapidly and is anticipated to dominate next-generation networks. Globally, video traffic will comprise 80% of all consumers Internet traffic in 2019, up from 64% in 2014 (Cisco Systems Inc., 2015). Service providers and network operators alike are seeking novel solutions to fend off the impending bandwidth crunch introduced by video traffic on their existing network infrastructure.
Today, the technology for video streaming over the Internet is converging towards a paradigm named HTTP-based adaptive streaming of video. Figure 1 depicts the overall architecture of such a system. A HTTP-based adaptive streaming client can dynamically change video rate and quality on a per-segment basis. It typically switches to a low-quality version of the video to avoid buffer underflow during temporary network congestion. HTTP-based adaptive video streaming is widely deployed in commercial systems, including Netflix, Akamai, Microsoft Smooth Streaming (Zambelli, 2009), Apple HTTP Live Streaming (HLS) (Apple Inc., 2016), and Adobe HTTP Dynamic Streaming (HDS). In 2012, the Motion Picture Experts Group (MPEG) joined forces with 3GPP (3rd Generation Partnership Project) in defining the recently standardized Dynamic Adaptive Streaming over HTTP (DASH) specifications (MPEG, 2012). MPEG-DASH has intentionally left out of its scope the definition of client behavior for content fetching, rate adaptation strategies, and video playout, thereby leaving room for innovation-based competition in industry.
Figure 1. Overall system architecture for HTTP-based adaptive streaming of video
In this work, we consider how to allocate bottleneck bandwidth across multiple competing HTTP-based adaptive video streams. We note that for streaming video, complex video contents (e.g., action movies) require a higher data rate to achieve the same perceptual quality than sequences with more static scenes (e.g., talking head in news). Therefore, it is preferable to equalize video quality amongst video streams to maximize the overall quality-of-experience (QoE) for all users. Furthermore, the bandwidth allocation decision should avoid playout buffer underflow at video clients. Effectively, such an approach achieves statistical multiplexing not only across different video streams, but also across temporal content variations within each stream.
We investigate two aspects of optimizing QoE for HTTP-based adaptive video streaming: system architecture and intelligent bandwidth management algorithms. We envision an architecture based on software-defined networking (SDN), where a video QoE optimization application (VQOA) collects information from various points in the network and analyzes it to provide more accurate estimates of end-user QoE. The VQOA is also in charge of coordinating rate adaptation decisions across competing HTTP-based adaptive video streaming clients while dynamically allocating bandwidth at the bottleneck link.
We formulate the joint video rate selection and bandwidth allocation problem within a convex optimization framework. It is flexible enough to accommodate a wide variety of video quality metrics and different flavors of QoE optimization objectives. Extensive evaluations from simulations and testbed-based experiments confirm that with quality-optimized allocation the network can support up to 75% more users at the same level of quality-of-experience (QoE) than conventional equal-rate allocations.
The rest of the paper is organized as follows. The next section discusses related work. Section 3 provides an overview of our proposed SDN-based architecture. Section 4 presents the quality optimization framework. Section 5 describes the practical implementation of the proposed bandwidth allocation scheme. Sections 6 and 7 evaluate the proposed solution via extensive simulations and testbed-based experiments.