Graduation Year

2013

Document Type

Thesis

Degree

M.S.C.S.

Degree Granting Department

Computer Science and Engineering

Major Professor

Kenneth J. Christensen

Keywords

Compression, Performance Evaluation, Savings Estimation, Traffic Reduction, User Study

Abstract

In 2012 the two biggest smartphone application markets - the Google Play store and the Apple App Store - each had close to 700 thousand applications with approximately 2 billion downloads happening every month. The introduction of new features and correction of bugs and security vulnerabilities make it usual for mobile application developers to release new version of an application every month. Combined with the great smartphone popularity, it leads to approximately 400 PB annual traffic generated by app updates in the U.S. wireless networks alone. Being partially transmitted through cellular networks, mobile application updates traffic accounts to up to 20% of the annual cellular traffic in the U.S. This thesis presents delta encoding based techniques that significantly reduce update traffic by transferring only the changes (or patches) between two versions of an application. Such network bandwidth reduction enables savings for smartphone users, mobile operators, and data centers that serve app updates.

Two Android application update methods - called DELTA and DELTA++ - were developed, implemented, and evaluated. Both methods use delta encoding to transfer only the changes between application versions. DELTA++ improves on DELTA by exploiting the internal structure of APK packages, which are used to distribute Android applications. The APK file can be seen as a compressed archive of all the files contained in application. The DELTA++ algorithm unpackages APK and computes differences between decompressed application files, which allows it to produce much smaller patches. Our experimental results show that DELTA++ reduces app update size by 77% on average. DELTA++ patches are twice smaller than those produced by the Google Smart Application Update method, which is currently used in the Google Play store. This reduction has a trade-off - increased complexity of generated patches makes patch deployment process more sophisticated. Consequently, more time has to be spent to apply the received patch in smartphone. Such delay can be considered acceptable as application update is a delay-tolerant process and smartphone users do not need an update immediately after its release.

In order to estimate how much savings can be achieved with DELTA++, a study of Android smartphone users was conducted. The results show that if DELTA++ is used in Google Play instead of the Google Smart Application Update method, then 32 PB or 1.7% of annual traffic can be saved every year in cellular networks in the U.S. The Apple App Store currently does not use any method based on delta encoding to reduce application updates traffic. Usage of methods similar to DELTA++ in the App Store can further increase the savings up to the 12% of yearly cellular traffic in the U.S., which equals to more than $2 billion cost savings a year.

Share

COinS