Tomas Kupka

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 HTTP segment streaming unaware servers handle segment streaming data as any other type of web data (HTML pages, images, CSS files, javascript files etc.). It is important to look at how the effectiveness of data delivery from this kind of servers can be improved, because there might be potentially many “off the shelf” servers serving video segments (be it a homemade solution or an HTTP streaming-unaware CDN server). In general, there are three possible places to improve the situation: on the server, in the network and on the client. To improve the situation in the network between the server and the client is generally impossible for a streaming provider. Improving things on the server is possible, but difficult because the serving server might be out of the control of the streaming provider. Best chances are to improve things on the client. Therefore, the major part of this thesis deals with the proposal and evaluation of different modifications to the client-side and only some light modifications to the server-side. In particular, the thesis looks at two types of bottlenecks that can occur. The thesis shows how to deal with a client-side bottleneck using multiple links. In this context, we propose and evaluate a scheduler for partial segment requests. After that, we discuss different techniques on how to deal with a server-side bottleneck with for example different modifications on the transport layer (TCP congestion control variant, TCP Congestion Window (CWND) limitation) and the application layer (the encoding of segments, segment request strategy).

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.

Media Performance Group


Bookmark the permalink.