Improving Application QoE with Flow-Level, Interface-Level, and Device-Level Parallelism
Add to Google Calendar
Smart device usage has witnessed rapid growth in the recent years, fueled by new mobile applications, faster mobile networks, and different form factors. There are three levels of parallelism in this growth that increase the diversity of mobile networking: (1) flow-level parallelism from a mix of both download and upload from multiple applications on the same device, (2) interface-level parallelism with which a mobile device can simultaneously use multiple network paths such as cellular and WiFi to accelerate data transfer, and (3) device-level parallelism where network communication on emerging wearable devices usually involves multiple smart devices for forwarding the network traffic. Despite seemingly bringing benefit to mobile applications at first glance, these levels of parallelism incur rather complex interactions with applications due to diverse traffic patterns and QoE requirements, potentially leading to severely degraded application QoE. My dissertation focuses on addressing this challenge, aiming at designing a networking stack on mobile systems that can efficiently use diverse network resources to improve application QoE without modifying the applications, based on the better understanding of the complex interactions between three levels of parallelism and applications.
Specifically, to understand the interference from flow-level parallelism, we conduct a comprehensive characterization of cellular upload traffic and investigate the on-device bufferbloat frequently incurred by uploads under diverse types of cellular networks on mobile devices. To mitigate this problem, we propose a system called QCut to control the cellular firmware buffer, which incurs excessive queuing, from the OS kernel. To better leverage the interface-level parallelism, we propose a flexible software architecture called MPFlex for multipath over mobile networks, which strategically employs multiplexing to improve multipath performance. Based on this flexible multipath architecture, we propose DEMS, a new multipath scheduler aiming at reducing the data chunk download time. DEMS is robust to diverse network conditions and brings significant performance boost compared to the default MPTCP scheduler. We also investigate the networking performance under mobility on a popular smartwatch OS, Android Wear, to understand the multi-device networking under device-level parallelism. Motivated by the finding that passive network switching and insufficient protocol support lead to undesirable handover performance, we further propose WearMan, a wearable network manager to switch networks proactively and provide seamless handover performance under mobility.