An Inter-data Encoding Technique that Exploits Synchronized Data for Network Applications

In a variety of network applications, there exists significant amount of shared data between two end hosts. Examples include data synchronization services that replicate data from one node to another. Given that shared data may have high correlation with new data to transmit, we question how such sh...

Full description

Bibliographic Details
Published in:IEEE Transactions on Mobile Computing
Main Authors: Nam, Wooseung, Lee, Joohyun, Shroff, Ness B., Lee, Kyunghan
Format: Article in Journal/Newspaper
Language:unknown
Published: Institute of Electrical and Electronics Engineers 2019
Subjects:
Online Access:https://scholarworks.unist.ac.kr/handle/201301/27816
https://doi.org/10.1109/TMC.2019.2940578
https://ieeexplore.ieee.org/document/8827967
Description
Summary:In a variety of network applications, there exists significant amount of shared data between two end hosts. Examples include data synchronization services that replicate data from one node to another. Given that shared data may have high correlation with new data to transmit, we question how such shared data can be best utilized to improve the efficiency of data transmission. To answer this, we develop an inter-data encoding technique, SyncCoding, that effectively replaces bit sequences of the data to be transmitted with the pointers to their matching bit sequences in the shared data so called references. By doing so, SyncCoding can reduce data traffic, speed up data transmission, and save energy consumption for transmission. Our evaluations of SyncCoding implemented in Linux show that it outperforms existing popular encoding techniques, Brotli, LZMA, Deflate, and Deduplication. The gains of SyncCoding over those techniques in the perspective of data size after compression in a cloud storage scenario are about 12.5%, 20.8%, 30.1%, and 66.1%, and are about 78.4%, 80.3%, 84.3%, and 94.3% in a web browsing scenario, respectively.