Since the diagnosis of poor latency performance of TCP from overbuffering, namely bufferbloat, in cellular networks, there have been a number of proposals to tackle the problem. However, due to the fundamental challenges involved in the goal of persistently achieving the maximum throughput and the minimum latency at the same time, which are in a trade-off relationship, it was not very successful to have a congestion control that performs very closely to its ideal. To this end, we propose a new congestion control, ExLL that extremely restrain its latency to the level of minimum possible RTT (round trip time) while keeping its throughput in the same level of throughput-oriented congestion control schemes such as TCP Cubic.ExLL properly adjusts CWND without increasing RTT excessively or losing throughput even in a mobility scenario. ExLL records around 30% RTT gap while TCP Cubic and BBR shows 419% and 143% gaps.
We raise a question on why the abundant information previously shared between a server and its client is not effectively utilized in the exchange of a new data which may be highly correlated with the shared data. We formulate this question as an encoding problem that is applicable to general data synchronization services including a wide range of Internet services such as cloud data synchronization, web browsing, messaging, and even data streaming. To this problem, we propose a new encoding technique, SyncCoding that maximally replaces subsets of the data to be transmitted with the coordinates pointing to the matching subsets included in the set of relevant shared data, called references. SyncCoding can be easily integrated into a transport layer protocol such as HTTP and enables significant reduction of network traffic. Our experimental evaluations of SyncCoding implemented in Linux shows that it outperforms existing popular encoding techniques, Brotli, LZMA, Deflate, and Deduplication in two practical use networking applications: cloud data sharing and web browsing. The gains of SyncCoding over Brotli, LZMA, Deflate, and Deduplication in the encoded size to be transmitted are shown to be about 12.4%, 20.1%, 29.9%, and 61.2% in the cloud data sharing and about 78.3%, 79.6%, 86.1%, and 92.9% in the web browsing, respectively. The gains of SyncCoding over Brotli, LZMA, and Deflate when Deduplication is applied in advance are about 7.4%, 10.6%, and 17.4% in the cloud data sharing and about 79.4%, 82.0%, and 83.2% in the web browsing, respectively.
[ Overview of the system design and the evaluation scenarios of two use case: 1) Cloud data sharing (left) and 2) Web browsing (right) ]