Delta Encoding Based Methods to Reduce the Size of Smartphone Application Updates Nikolai Samteladze University of South Florida, [email protected]
Total Page:16
File Type:pdf, Size:1020Kb
University of South Florida Scholar Commons Graduate Theses and Dissertations Graduate School January 2013 Delta Encoding Based Methods to Reduce the Size of Smartphone Application Updates Nikolai Samteladze University of South Florida, [email protected] Follow this and additional works at: http://scholarcommons.usf.edu/etd Part of the Computer Sciences Commons Scholar Commons Citation Samteladze, Nikolai, "Delta Encoding Based Methods to Reduce the Size of Smartphone Application Updates" (2013). Graduate Theses and Dissertations. http://scholarcommons.usf.edu/etd/4573 This Thesis is brought to you for free and open access by the Graduate School at Scholar Commons. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Scholar Commons. For more information, please contact [email protected]. Delta Encoding Based Methods to Reduce the Size of Smartphone Application Updates by Nikolai Samteladze A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science Department of Computer Science and Engineering College of Engineering University of South Florida Major Professor: Kenneth J. Christensen, Ph.D. Miguel A. Labrador, Ph.D. Jay Ligatti, Ph.D. Date of Approval: April 1, 2013 Keywords: Compression, Traffic Reduction, Performance Evaluation, User Study, Savings Estimation Copyright © 2013, Nikolai Samteladze ACKNOWLEDGMENTS I would like to thank my graduate adviser, Dr. Kenneth J. Christensen, for his guidance, support, and mentorship during the last two years. Working with him was a great learning experience for me and taught me a lot. I am grateful for all the support I have received from my family and especially my mother throughout my studies at the University of South Florida. TABLE OF CONTENTS LIST OF TABLES ............................................................................................................. iii LIST OF FIGURES ........................................................................................................... iv ABSTRACT .........................................................................................................................v CHAPTER 1. INTRODUCTION ........................................................................................1 1.1 Motivation ..........................................................................................................1 1.2 Problem Statement .............................................................................................3 1.3 Contributions......................................................................................................4 1.4 Outline................................................................................................................5 CHAPTER 2. RELATED WORK .......................................................................................6 2.1 Taxonomy of the Traffic Reduction Approaches ..............................................6 2.2 Delta Encoding...................................................................................................8 2.2.1 Delta Encoding Algorithms ..............................................................10 2.2.2 Delta Encoding to Reduce Traffic ....................................................13 2.3 Other Methods of Traffic Reduction ................................................................19 2.3.1 Lossless Compression .......................................................................19 2.3.2 Lossy Compression ...........................................................................20 2.3.3 No Transmission ...............................................................................21 2.3.4 Traffic Offloading .............................................................................22 2.4 Distribution of Android Applications ..............................................................23 2.4.1 Android APK Package ......................................................................23 2.4.2 Updating Android Applications ........................................................24 2.5 Application Markets Statistics .........................................................................25 2.5.1 Google Play .......................................................................................25 2.5.2 The App Store ...................................................................................26 CHAPTER 3. DELTA AND DELTA++ ...........................................................................28 3.1 Introduction ......................................................................................................28 3.2 DELTA ............................................................................................................30 3.3 DELTA++ ........................................................................................................31 3.4 Implementation of DELTA and DELTA++ ....................................................34 i CHAPTER 4. EVALUATION OF DELTA AND DELTA++ ..........................................35 4.1 Methodology ....................................................................................................35 4.2 Experimental Results .......................................................................................36 4.2.1 DELTA Patch Size ............................................................................36 4.2.2 DELTA++ Patch Size .......................................................................37 4.2.3 DELTA++ Update Time ...................................................................39 4.3 Discussion ........................................................................................................41 CHAPTER 5. CHARACTERIZATION OF ANDROID SMARTPHONE USERS .........44 5.1 Introduction ......................................................................................................44 5.2 Methodology ....................................................................................................44 5.3 DELTA Statistics Application .........................................................................45 5.4 Study Results ...................................................................................................47 CHAPTER 6. SAVINGS ESTIMATION..........................................................................48 6.1 Methodology ....................................................................................................48 6.2 Google Play ......................................................................................................50 6.3 The App Store ..................................................................................................51 6.4 Conclusions ......................................................................................................53 CHAPTER 7. CONCLUSIONS AND FUTURE RESEARCH DIRECTIONS ...............56 LIST OF REFERENCES ...................................................................................................58 ii LIST OF TABLES Table 1: Significant Delta Encoding Algorithms ............................................................13 Table 2: Key Work on Usage of Delta Encoding ............................................................19 Table 3: Statistics for the Top 110 Free Applications in Google Play ............................26 Table 4: Statistics for the Top 110 Free Applications in the App Store .........................27 Table 5: Summary of the Patch Size Measurements .......................................................41 Table 6: Summary of the Time Measurements ...............................................................42 Table 7: Characterization of Android Users in the U.S. .................................................47 Table 8: Estimate of Annual Traffic Reduction in the U.S. for Google Play .................50 Table 9: Estimate of Annual Cost Savings in the U.S. for Google Play .........................51 Table 10: Estimate of Annual Traffic Reduction in the U.S. for the App Store ...............52 Table 11: Estimate of Annual Cost Savings in the U.S. for the App Store .......................53 Table 12: Tradeoffs from the DELTA++ Deployment .....................................................55 iii LIST OF FIGURES Figure 1: System View of Application Updating ...............................................................2 Figure 2: Taxonomy of the Traffic Reduction Approaches................................................8 Figure 3: Distinction between Delta Differencing and Delta Compression .......................9 Figure 4: Scheme of an Application Updating Method Based on Delta Encoding ..........29 Figure 5: DELTA Patch Construction Algorithm ............................................................30 Figure 6: DELTA Patch Deployment Algorithm .............................................................31 Figure 7: DELTA++ Patch Construction Algorithm ........................................................32 Figure 8: Files Marking During DELTA++ Patch Construction ......................................33 Figure 9: DELTA++ Patch Deployment Algorithm .........................................................33 Figure 10: Patch Size for DELTA Compared to Google Smart Application Update .........36 Figure 11: DELTA Improvement on Google Smart Application Update ..........................37 Figure 12: Patch Size for DELTA++ Compared to Google Smart App Update ................38 Figure 13: DELTA++ Improvement