FlexStream: SDN-Based Framework for Programmable and Flexible Adaptive Video Streaming

FLEXSTREAM: SDN-BASED FRAMEWORK FOR PROGRAMMABLE AND FLEXIBLE ADAPTIVE VIDEO STREAMING Ibrahim Ben Mustafa Old Dominion University, 2018 Director: Dr. Dr. Tamer Nadeem Co-Director: Dr. Dr. Ravi Mukkamala With the tremendous increase in video traffic fueled by smartphones, tablets, 4G LTE networks, and other mobile devices and technologies, providing satisfactory services to end users in terms of playback quality and a fair share of network resources become challenging. As a result, an HTTP video streaming protocol was invented and widely adopted by most video providers today with the goal of maximizing the user's quality of experience. However, despite the intensive efforts of major video providers such as YouTube and Netflix to improve their players, several studies as well as our measurements indicate that the players still suffer from several performance issues including instability and sub-optimality in the video bitrate, stalls in the playback, unfairness in sharing the available bandwidth, and inefficiency with regard to network utilization, considerably degrading the user's QoE. These issues are frequently experienced when several players start competing over a common bottleneck. Interestingly, the root cause of these issues is the intermittent traffic pattern of the HTTP adaptive protocol that causes the players to over estimate the available bandwidth and stream unsustainable video bitrates. In addition, the wireless network standards today do not allow the network to have a fine-grain control over individual devices which is necessary for providing resource usage coordination and global policy enforcement. We show that enabling such a network-side control would drive each device to fairly and efficiently utilize the network resources based on its current context, which would result in maximizing the overall viewing experience in the network and optimizing the bandwidth utilization. In this dissertation, we propose FlexStream, a flexible and programmable Software-Defined Network (SDN) based framework that solves all the adaptive streaming problems mentioned above. We develop FlexStream on top of the SDNbased framework that extends SDN functionality to mobile end devices, allowing for a fine-grained control and management of bandwidth based on real time contextawareness and specified policy. We demonstrate that FlexStream can be used to manage video delivery for a set of end devices over WiFi and cellular links and can effectively alleviate common problems such as player instability, playback stalls, large startup delay, and inappropriate bandwidth allocation. FlexStream offloads several tasks such as monitoring and policy enforcement to end-devices, while a network element (i.e., Global Controller), which has a global view of a network condition, is primarily employed to manage the resource allocation. This also alleviates the need for intrusive, large and costly traffic management solutions within the network, or modifications to servers that are not feasible in practice. We define an optimization method within the global controller for resource allocation to maximize video QoE considering context information, such as screen size and user priority. All features of FlexStream are implemented and validated on real mobile devices over real Wi-Fi and cellular networks. To the best of our knowledge, FlexStream is the first implementation of SDN-based control in a live cellular network that does not require any internal network support for SDN functionality.