What we do

ExLL: An Extremely Low-latency Congestion Control for Cellular Networks

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.

Pasted Graphic

SyncCoding: A Compression Technique Exploiting References for Data Synchronization Services

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.

sync_overviewevaluation overview

[ Overview of the system design and the evaluation scenarios of two use case: 1) Cloud data sharing (left) and 2) Web browsing (right) ]

QuickTalk: New Communication Method for IoT Devices

IoT devices are in general considered to be straightforward to use. However, we find that there are a number of situations where the usability becomes poor. The situations include but not limited to the followings: 1) when initializing an IoT device, 2) when trying to control an IoT device which is initialized by another person, and 3) when trying to control an IoT device out of many of the same type. We tackle these situations by proposing a new association-free communication method, QuickTalk. QuickTalk lets a user device such as a smartphone pinpoint and activate an IoT device with the help of an IR transmitter and communicate with the pinpointed IoT device through the broadcast channel of WiFi without a conventional association process. This nature, QuickTalk allows a user device to immediately give a command to a specific IoT device in proximity even when the IoT device is uninitialized, unassociated with the control interface of the user, or associated but visually indistinguishable from others of the same kind. Our experiments of QuickTalk implemented on Raspberry Pi 2 devices show that QuickTalk does its job quickly and intuitively. The end-to-end delay of QuickTalk for transmitting an IoT command is on average about 0.74 seconds, and is upper bounded by 2.5 seconds. We further confirm that even when an IoT device has ongoing data sessions with other devices, which disturb the broadcast channel, QuickTalk can still reliably communicate with the IoT device at the cost of minor throughput degradation.