Understanding Differencing Algorithms for Mobile Application Updates
- 31 May 2024
- journal article
- research article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Mobile Computing
- Vol. 23 (12) , 12146-12160
Abstract
Mobile application updates occur frequently, and they continue to add considerable traffic over the Internet. Differencing algorithms, which compute a small delta between the new version and the old version, are often employed to reduce the update overhead. Researchers have proposed many differencing algorithms over the years. Unfortunately, it is currently unknown how these algorithms quantitatively perform for different categories of applications. It is also challenging to know the impacts of different techniques and whether a technique in one algorithm can be integrated into another algorithm for further performance improvement. This paper conducts the first systematic study to understand the performance of four widely used differencing algorithms for mobile application updates, including xdelta3, bsdiff, archive-patcher, and HDiffPatch with respect to five key metrics, including compression ratio, differencing time/memory overhead, and reconstruction time/memory overhead. We perform measurements for 200 mobile applications, and analyze key techniques (such as decompressing-before-differencing, sliding window, and copy instructions merging) that influence the performance of these algorithms. We have provided four important findings which give insights to further optimize for performance improvement. Guided by these insights, we have also proposed a novel algorithm, sdiff , which achieves the smallest compression ratio to state-of-the-art algorithms by combining an appropriately chosen set of key techniques.Keywords
This publication has 26 references indexed in Scilit:
- RIDDLE: Lidar Data Compression with Range Image Deep Delta Encoding2022
- imDedup: A Lossless Deduplication Scheme to Eliminate Fine-grained Redundancy among Images2022
- QD-Compressor: a Quantization-based Delta Compression Framework for Deep Neural Networks2021
- S2: a Small Delta and Small Memory Differencing Algorithm for Reprogramming Resource-constrained IoT Devices2021
- A data reduction and compression description for high throughput time-resolved electron microscopyNature Communications, 2021
- UpKit: An Open-Source, Portable, and Lightweight Update Framework for Constrained IoT Devices2019
- DELTA++: Reducing the Size of Android Application UpdatesIEEE Internet Computing, 2013
- An efficient differencing algorithm based on suffix array for reprogramming wireless sensor networks2012
- Faster suffix sortingTheoretical Computer Science, 2007
- A differencing algorithm for object-oriented programs2004