Skip to main content
Open Access Publications from the University of California

[Solution] ALCC: Migrating Congestion Control To The Application Layer In Cellular Networks


TCP is known to perform poorly in cellular network environ- ments. Yet, most mobile applications are explicitly built on the conventional TCP stack or implicitly leverage TCP tun- nels to various cellular middleboxes, including performance- enhancing proxies, application-specific edge proxies, VPN proxies and NAT boxes. Despite significant advances in the design of new congestion control (CC) protocols for cellular networks, deploying these protocols without bypassing the underlying TCP tunnels has remained a challenging propo- sition. This paper proposes the design of a new Application Layer Congestion Control (ALCC) framework that allows any new CC protocol to be implemented easily at the application layer, within or above an application-layer protocol that sits atop a legacy TCP stack. It drives it to deliver approximately the same as the native performance. The ALCC socket sits on top of a traditional TCP socket. Still, it can leverage the large congestion windows opened by TCP connections to carefully execute an application-level CC within the window bounds of the underlying TCP connection. This paper demonstrates how ALCC can be applied to three well-known cellular CC pro- tocols: Verus, Copa, and Sprout. For these protocols, ALCC can achieve comparable throughput and delay characteristics (within 3-10%) as the native protocols at the application layer across different networks and traffic conditions. ALCC al- lows a server-side implementation of these protocols with no client modifications and with zero bytes overhead. The ALCC framework can be easily integrated with off-the-shelf applications such as file transfers and video streaming.

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View