Informed access network selection to improve application performance
Theresa Enghardt · DepositOnce · 2019
Adverse network conditions, such as long latency or low downstream capacity, may degrade application performance and lead to a bad Quality of Experience (QoE) for users, such as long Web page load times or interrupted video playback. As applications are highly diverse, connectivity via a single access network may not be able to satisfy all application needs. Since an end-user device often has multiple access networks available, there is the potential to select between access networks or to aggregate the capacity of multiple access networks. However, this potential is not yet fully utilized due to the limitations of existing systems and the networking Application Programming Interfaces (APIs) they provide. Many end-user devices today default to WiFi and use cellular only as a fallback, even though WiFi may provide suboptimal performance for some or for all applications. Existing ways of aggregating multiple access networks, such as Multipath TCP (MPTCP), are typically application-agnostic and may not provide benefits for all types of applications or for all kinds of traffic. Therefore, the goal of this thesis is Informed Access Network Selection (IANS) enabling end-user devices to select the best suitable access network(s) based on application needs and network performance characteristics. To this end, we design Socket Intents as an abstraction for application needs, collect network performance characteristics, and design IANS policies for Web browsing and HTTP Adaptive Streaming (HAS). We implement IANS within the Socket Intents prototype, which enables applications to communicate their needs through an enhanced networking API. Using the Socket Intents prototype, we evaluate the performance benefits of IANS for Web browsing and HAS compared to using a single access network and using MPTCP. For Web browsing, we find that IANS can improve relevant Web performance metrics, e.g., Above-The-Fold times, by between 500 and 1000 ms in the median compared to using the faster single access network. IANS shows the most significant speedups under asymmetric network conditions with short latency but low downstream capacity on one network and high downstream capacity but long latency on another network. In such cases, IANS outperforms MPTCP, as MPTCP can experience performance problems caused by self-induced congestion on the low downstream capacity network. For HAS, IANS shows the most significant benefits in scenarios with low available downstream capacities. Here, we see cases in which IANS improves HAS performance substantially, e.g., a “bad” Mean Opinion Score (MOS) of 2.1 on a single network to a “good” MOS of 2.8, while MPTCP hurts performance as it continues to use a low downstream capacity network. In conclusion, we find that access network selection benefits from application awareness. Especially in scenarios with low downstream capacity on one or more available access networks, IANS improves application performance for Web browsing and HAS by selecting the most suitable single access network or combining multiple access networks if possible. Using an enhanced networking API allows us to make IANS available to different applications. Moreover, such an API may enable applications to use new protocols without requiring further modifications.