Aggregating the Bandwidth of Multiple Network Interfaces to Increase the Performance of Networked Applications
Supervisor(s) and Committee member(s): Paal Engelstad (supervisor), Audun F. Hansen (co-supervisor), Carsten Griwodz (co-supervisor), Pål Halvorsen (co-supervisor), Kang Li (opponent), David Ros (opponent), Roman Vitenberg (opponent)
One the few constants in the world of computer networking, is that users always want more bandwidth. The usage of bandwidth-intensive services, like video streaming, video conferencing and games, have exploded over the last couple of years. At the same time, devices capable of connecting to two or more different networks simultaneously, known as host multihoming, have become the norm. For example, most laptops are equipped with a least a Local Area Network (LAN) and Wireless LAN (WLAN) interface, and smartphones can connect to both WLANs and HSDPA-networks. Being connected to multiple networks simultaneously allows for desirable features like bandwidth aggregation and redundancy.
Enabling and making efficient use of multiple links requires solving several challenges related to deployment, link heterogeneity and dynamic link behavior. Even though multihoming has existed for a long time, for example routers require being able to connect to different networks, most existing operating systems, network protocols and applications do not take host multihoming into consideration. The default behavior is still to use a single link for all traffic. Using a single link is, for example, often insufficient to meet the requirements of popular, bandwidth intensive services like video streaming.
In this thesis, we have focused on bandwidth aggregation on host multihomed devices. Bandwidth aggregation is to merge physical links into one logical link that offers a higher bandwidth. Even though bandwidth aggregation has been a research field for several years, the related work has failed to consider the challenges present in real world networks properly, or does not apply to scenarios where a device is connected to different networks.
In order to solve the deployment challenges and enable the use of multiple interfaces in a way that works in a real-world network environment, we have created a platform-independent framework, MULTI. MULTI works in the presence of NAT, automatically detects and configures the device based on changes in link state, and notifies the application(s) of any changes.
MULTI was used as the foundation for designing transparent and application-specific bandwidth aggregation techniques. A transparent bandwidth aggregation technique is a technique that requires no modifications to the application, nor the operating system at either the sender or receiver. An application-specific technique, on the other hand, is an extension to an existing application or application type.
The application-specific bandwidth aggregation technique presented in this thesis, improve the performance of quality adaptive video streaming. The technique was evaluated with different types of streaming in both a controlled network environment and real-world networks. Adding a second link gave a significant increase in both video and playback quality. The technique is not limited to video streaming or the system/protocols we have worked with. As long as two common requirements are met, the technique can be applied.
In many cases, it is not possible to extended the application directly with multilink support. Working on the network-layer allows for the creation of transparent bandwidth aggregation solutions. A transparent, network-layer bandwidth aggregation solution must cater to the behavior of the different transport protocol in order to achieve efficient bandwidth aggregation. The transparent bandwidth aggregation techniques introduced in this thesis are targeted at Universal Datagram Protocol (UDP) and Transmission Control Protocol (TCP), the two most popular transport protocols in the internet today.
Media Performance Group
The interaction with digital media pervades most people everyday lives, both at home and at work. A person may easily understand that he interacts with digital media, or be completely oblivious to it. Application ideas appear limitless, yet so appear inhibitors of new uses. Inhibitors range from unchangeable laws of physics through scalability problems faced in processing digital media to a lack of understanding for people's requirements to appreciate a particular application.
The Media department investigates the means of overcoming or evading inhibitors for the use of time-dependent digital media in distributed systems. The department finds solutions by exploring, understanding and improving on a particular inhibitor in an application context. Improvements are found in better operating systems mechanisms, programming tools, protocols, distributed architectures, digital media formats or a better understanding of people's perception of media in a context. The department takes a multimedia systems approach, whereby successful research leads to quantifiable improvements and success is proven experimentally. The essential results of the research are algorithms, methods, tools or prototypes that provide solutions for overcoming a particular set of challenges in using time-dependent digital media in distributed systems that are practical and realistic today or in the near future.