On the HTTP segment streaming potentials and performance improvements
Supervisor(s) and Committee member(s): Pål Halvorsen (advisor), Carsten Griwodz (advisor), Niklas Carlsson (opponent), Jörg Ott (opponent), Stein Gjessing (opponent)
Video streaming has gone a long way from its early years in the 90’s. Today, the prevailing technique to stream live and video on demand (VoD) content is adaptive HTTP segment streaming as used by the solutions from for example Apple, Microsoft, and Adobe. The reasons are its simple deployment and management. The HTTP infrastructure, including HTTP proxies, caches and in general Content Delivery Networks (CDNs), is already deployed. Furthermore, HTTP is the de facto standard protocol of the Internet and is therefore allowed to pass through most firewalls and Network Address Translation (NAT) devices. The goal of this thesis is to investigate the possible uses of adaptive HTTP segment streaming beyond the classical linear streaming and to look at ways to make HTTP servers dealing with HTTP segment streaming traffic more efficient.
In addition to the deployment and management benefits, the segmentation of video opens new application possibilities. In this thesis, we investigate those first. For example, we demonstrate on the fly creation of custom video playlists containing only content relevant to a user query. Using user surveys, we show, that it not only saves time to automatically get playlists created from relevant video excerpts, but the user experience increases significantly as well.
However, already the basic capabilities of HTTP segment streaming, i.e., streaming of live and on demand video, are very popular and are creating a huge amount of network traffic. Our analysis of logs provided by a Norwegian streaming provider Comoyo indicates that a substantial amount of the traffic data must be served from places other than the origin server. Since a substantial part of the traffic comes from places other than the origin server, it is important that effective and efficient use of resources not only takes place on the origin server, but also on other, possibly HTTP segment streaming unaware servers.
The driving force behind many of these modifications is the on-off traffic pattern that HTTP segment streaming traffic exhibits. The on-off traffic leads in many cases of live streaming to request synchronization as explained in this thesis. The synchronization in turn leads to increased packet loss and hence to a downgrade of throughput, which exhibits itself by decreased segment bitrate, i.e., lower quality of experience. We find that distributing client requests over time by means of a different client request strategy yields good results in terms of quality and the number of clients a server can handle. Other modifications like the limiting of the CWND or using a different congestion control algorithm can also help in many cases.
All in all, this thesis explores the potentials of adaptive HTTP segment streaming beyond the linear video streaming and it explores the possibilities to increase the performance of HTTP segment streaming servers.