Efficient Delivery of Software Updates Using Advanced Compression Techniques

This paper focuses on the applications of advanced data compression technologies developed by Microsoft to efficiently deliver software updates for Windows, specifically CAB packaging and binary delta compression technologies. These technologies are adaptable to other scenarios, and thus are also used by Windows Installer (MSI), Xbox 360 and Windows Media Player 11 to name a few. We discuss how these technologies differ from ordinary compression, how they are used at Microsoft and how they can be used by the software community to improve customer satisfaction and reduce software maintenance costs

[1]  Inge van de Weerd,et al.  Towards a Reference Framework for Software Product Management , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[2]  B. Kitchenham,et al.  Case Studies for Method and Tool Evaluation , 1995, IEEE Softw..

[3]  Inge van de Weerd,et al.  On the Creation of a Reference Framework for Software Product Management: Validation and Tool Support , 2006, 2006 International Workshop on Software Product Management (IWSPM'06 - RE'06 Workshop).

[4]  Abraham Lempel,et al.  A universal algorithm for sequential data compression , 1977, IEEE Trans. Inf. Theory.

[5]  Andreas Zeller,et al.  Yesterday, my program worked. Today, it does not. Why? , 1999, ESEC/FSE-7.

[6]  Tijs van der Storm Variability and Component Composition , 2004, ICSR.

[7]  T RajlichVáclav,et al.  A Staged Model for the Software Life Cycle , 2000 .

[8]  Lai Xu,et al.  Concepts of Product Software: Paving the Road for Urgently Needed Research , 2005, CAiSE Workshops.

[9]  Lai Xu,et al.  A multi-party contract model , 2004, SECO.

[10]  Krzysztof Czarnecki,et al.  Components and generative programming (invited paper) , 1999, ESEC/FSE-7.

[11]  Andrew Kusiak,et al.  Engineering Design: Products, Processes, and Systems , 1999 .

[12]  Calton Pu,et al.  Approaches for service deployment , 2005, IEEE Internet Computing.

[13]  Tijs van der Storm,et al.  Continuous release and upgrade of component-based software , 2005, SCM '05.

[14]  Keith H. Bennett,et al.  A Staged Model for the Software Life Cycle , 2000, Computer.

[15]  Hans van Vliet,et al.  Software maintenance from a service perspective , 2000, J. Softw. Maintenance Res. Pract..

[16]  Arie van Deursen,et al.  Domain-specific language design requires feature descriptions , 2002 .

[17]  Pär Carlshamre,et al.  Release Planning in Market-Driven Software Product Development: Provoking an Understanding , 2002, Requirements Engineering.

[18]  Pierre N. Robillard,et al.  The role of knowledge in software development , 1999, CACM.

[19]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[20]  Douglas C. Schmidt,et al.  Skoll: distributed continuous quality assurance , 2004, Proceedings. 26th International Conference on Software Engineering.

[21]  Guy G. Gable,et al.  An ERP maintenance model , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[22]  David G. Messerschmitt,et al.  Software Ecosystem: Understanding an Indispensable Technology and Industry , 2003 .

[23]  Alessandro Orso,et al.  Gamma system: continuous evolution of software after deployment , 2002, ISSTA '02.

[24]  Barry W. Boehm,et al.  The Future of Software Processes , 2005, ISPW.

[25]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..

[26]  Andrew P. Cotton,et al.  Spreading the word: practical guidelines for research dissemination strategies. Phase II literature review , 2000 .

[27]  Reidar Conradi,et al.  Version models for software configuration management , 1998, CSUR.

[28]  Inge van de Weerd,et al.  The Software Product Management Workbench: An Integrated Environment for Managing Product Releases in a Distributed Development Context , 2006, CAiSE Forum.

[29]  D. Lambert,et al.  Issues in Supply Chain Management , 2000 .

[30]  Merijn de Jonge,et al.  Build-level components , 2005, IEEE Transactions on Software Engineering.

[31]  Tijs van der Storm The Sisyphus Continuous Integration System , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[32]  Gregory Tassey,et al.  Prepared for what , 2007 .

[33]  Ping Zhang,et al.  Predictors of customer perceived software quality , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[34]  Björn Regnell,et al.  A linguistic-engineering approach to large-scale requirements management , 2005, IEEE Software.

[35]  Bertrand Meyer The software knowledge base , 1985, ICSE '85.

[36]  André van der Hoek,et al.  Design-time product line architectures for any-time variability , 2004, Sci. Comput. Program..

[37]  T. Soininen,et al.  State-of-the-practice in product configuration — a survey of 10 cases in the Finnish industry , 1995 .

[38]  S. B. Kiselev,et al.  The capability maturity model: guidelines for improving the software process , 1995 .

[39]  Licia Capra,et al.  xlinkit: a consistency checking and smart link generation service , 2002, TOIT.

[40]  Eelco Dolstra Integrating Software Construction and Software Deployment , 2003, SCM.

[41]  Theo D'Hondt,et al.  An alternative to Quiescence: Tranquility , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[42]  Andrew Tridgell,et al.  Efficient Algorithms for Sorting and Synchronization , 1999 .

[43]  David Zager,et al.  Collaboration on the fly , 2000, Proceedings Academia/Industry Working Conference on Research Challenges '00. Next Generation Enterprises: Virtual Organizations and Mobile/Pervasive Technologies. AIWORC'00. (Cat. No.PR00628).

[44]  H. Raghav Rao,et al.  A study of the effect of consumer trust on consumer expectations and satisfaction: the Korean experience , 2003, ICEC '03.

[45]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[46]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[47]  Paul Klint,et al.  Enabling the creation of knowledge about software assets , 2002, Data Knowl. Eng..

[48]  L. F. Baxter,et al.  The software supply chain for manufactured products: reassessing partnership sourcing , 2001, PICMET '01. Portland International Conference on Management of Engineering and Technology. Proceedings Vol.1: Book of Summaries (IEEE Cat. No.01CH37199).

[49]  Karen Renaud,et al.  An error reporting and feedback component for component-based transaction processing systems , 1999, Proceedings User Interfaces to Data Intensive Systems.

[50]  Audris Mockus,et al.  A case study of open source software development: the Apache server , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[51]  Sam Clegg Evolution in Extensible Component-based Systems , 2003 .

[52]  Merijn de Jonge,et al.  Nix: A Safe and Policy-Free System for Software Deployment , 2004, LISA.

[53]  D. Sjøberg,et al.  Quantifying schema evolution , 1993, Inf. Softw. Technol..

[54]  Casper Lassenius,et al.  A tentative framework for managing software product development in small companies , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[55]  Murali Ramakrishnan Software release management , 2004, Bell Labs Technical Journal.

[56]  Ivica Crnkovic,et al.  Configuration Management for Component-based Systems , 2001 .