Architecture and algorithms for efficient management of virtualized ICN Networks (178EA1213)
Over the last decades, the Internet has evolved from a research network connecting a couple of hundred nodes to a system connecting billions of users around the globe. This astonishing evolution has been driven by a continuous innovation, both in terms of technology, service offering and user requirements. While in the early days the Internet was mainly used for static services such as e-mail and web browsing, a wide variety of rich services is offered today, mostly focusing on multimedia delivery. More specifically, video streaming services are dominating the Internet today, representing over 70% of the total consumer Internet traffic worldwide. Furthermore, this popularity increase is projected to continue in the years to come. Not only the number of services has grown, but nowadays a wide variety of devices are used to access these services as well, ranging from desktop computers and laptops to connected TVs, smartphones and tablets. Furthermore, the end-user requirements are continuously increasing in terms of minimum resolution, response time, etc. The key for a video streaming service to be successful is to meet these stringent quality requirements. Therefore, the quality as experienced by the end-user, denoted as Quality of Experience (QoE), is an important metric when it comes to the management of multimedia delivery services. Over time, the technologies used to deliver video streaming services have been subjected to change as well. While originally dedicated streaming protocols have been used, Hypertext Transfer Protocol (HTTP)-based streaming methods have gained a lot of popularity over the last years. This delivery type comes with several important advantages, such as the reliable transmission over the Transmission Control Protocol (TCP), the reuse of standard proxies and caches and the seamless integration with firewalls. To cope with dynamic network conditions, HTTP Adaptive Streaming (HAS) has been proposed. In HAS, the video is temporally split in multiple segments, each of which are encoded at different quality levels. At the client side, a rate adaption heuristic is applied to change the requested quality level based on, for example, the perceived network conditions, the buffer filling level and the device characteristics. In latest years, HAS has become the de facto standard for Over-The-Top (OTT) video streaming. Given the strong advantages of this approach, recently a lot of interest is gained in managed delivery scenarios as well. Despite the adaptive capabilities of HAS, due to the best effort nature of the delivery, quality oscillations and video freezes can still occur, negatively impacting the QoE. Historically, network resources have been strongly over-provisioned to avoid quality degradations. However, given the popularity of video streaming services and the increasingly stringent quality requirements, this is no longer economically viable. Therefore, efficiently managing the delivery of video streaming services becomes of utmost importance to provide high QoE to the end-users while simultaneously keeping the strain imposed on the underlying network resources under control. In this dissertation, multiple management solutions are proposed to optimize the end-to-end delivery of HTTP-based streaming services, both in terms of QoE and resource efficiency. The proposed approaches include server side, user side as well as in-network optimizations. A first way to improve the delivered service quality is to optimize the quality selection process at the client side. Even though the interfaces and protocol data of HAS are standardized in MPEG Dynamic Adaptive Streaming over HTTP (DASH), a vast amount of commercial rate adaptation heuristics exist. However, state-of-the-art implementations are deterministic and hardwired to specific network configurations, making them unable to cope with a vast range of highly dynamic network environments. As a result, current rate adaptation decisions are often sub-optimal, regularly causing HAS streaming sessions to suffer from video freezing and low resolution video. Therefore, in this thesis, a selflearning quality selection heuristic is proposed. By using a Reinforcement Learning (RL)-based technique, the HAS client continuously adapts its behavior based on the perceived network characteristics and buffer filling level. It is shown in this dissertation that this self-learning approach can significantly outperform current deterministic algorithms in terms of QoE in dynamic network environments. Besides client side approaches, in-network optimizations can be applied to increase the efficiency of the service delivery and to reduce the load on the underlying network resources. To restrain the pressure exerted on their networks by current delivery strategies, Internet Service Providers (ISPs) have started to deploy so-called telco-Content Delivery Networks (telco-CDNs). This gives them more control over their resources by allowing content to be cached deep inside the ISP network. Furthermore, current advances in network virtualization enable ISPs to virtualize their telco-CDN infrastructure, allowing them to dynamically offer virtual storage and content delivery services to multiple third parties. Based on this scenario, a hybrid cache management strategy has been proposed, optimizing the capacity allocation, content placement and server selection across multiple tenants. By combining periodical proactive content placements based on popularity predictions with reactive caching capacity, the load on the ISP network can be reduced while simultaneously bringing the content closer to the end-user, positively influencing the QoE. The performance of a reactive caching approach strongly depends on the design of the cache replacement algorithms. As in HAS the video segments are delivered over HTTP, regular web caching algorithms can easily be reused. However, the characteristics of segmented video contain important information that can be exploited to improve the performance of the cache network. Therefore, cache replacement algorithms have been proposed, taking into account the temporal structure of a segmented video stream. This dissertation builds on this work by considering the fact that recently, a significant amount of users frequently watch multiple consecutive episodes of the same series in one sitting. This phenomenon is commonly referred to as binge watching. Based on this trend, an announcement-based caching strategy is proposed. By assuming that when a user is watching episodic content, the following episode will be streamed after the current one, the hit ratio of the caching network can be significantly increased, resulting in a reduced load on the underlying network resources. A final optimization approach proposed in this dissertation focuses on bringing deadline-awareness to the transport layer. Being delivered over TCP, HTTP-based streaming services compete for bandwidth with other types of services with different characteristics, following the fair-share paradigm. However, every byte in a video stream has an implicit strict deadline. If the data is not delivered to the client before it is needed to be played out, the video freezes, detrimentally impacting the QoE. Therefore, a deadline-based adaptation algorithm is proposed, based on a parametrized version of TCP New Reno congestion control. This approach only requires server-side adaptations at the transport layer and consequently is fully transparent for the rest of the network. It was shown that by taking into account the deadline information at the transport layer to dynamically adapt the aggressiveness of the TCP video stream, the QoE can significantly be increased in an HAS Video-on-Demand (VoD) scenario. The proposed approaches address important challenges currently perceived in segment-based video streaming services over HTTP by improving the quality delivered to the end-user while simultaneously restraining the load exposed on the underlying network infrastructure. Future research can build on this work by further focusing on new evolutions, both in terms of technology and user requirements. For example, the current adoption of new protocols such as HTTP/2 and their trend towards in-network encryption offers some interesting opportunities as well as important challenges when it comes to in-network service optimizations. Furthermore, the diversification of client devices and the increasing mobility of the end-users add to the requirements for video streaming services. Finally, novel networking paradigms such as Software-Defined Networking (SDN) and Network Function Virtualization (NFV) open up some new scenarios to add flexibility to the service delivery. However, the strong interplay between dynamic networking decisions and application layer approaches such as content placement and caching make this a challenging task.