In-Place Reconstruction of Version Differences

In-place reconstruction of differenced data allows information on devices with limited storage capacity to be updated efficiently over low-bandwidth channels. Differencing encodes a version of data compactly as a set of changes from a previous version. Transmitting updates to data as a version difference saves both time and bandwidth. In-place reconstruction rebuilds the new version of the data in the storage or memory the current version occupies-no scratch space is needed for a second version. By combining these technologies, we support highly mobile applications on space-constrained hardware. We present an algorithm that modifies a differentially encoded version to be in-place reconstructible. The algorithm trades a small amount of compression to achieve this property. Our treatment includes experimental results that show our implementation to be efficient in space and time and verify that compression losses are small. Also, we give results on the computational complexity of performing this modification while minimizing lost compression.

[1]  Abraham Lempel,et al.  Compression of individual sequences via variable-rate coding , 1978, IEEE Trans. Inf. Theory.

[2]  Fred Douglis,et al.  Optimistic deltas for WWW latency reduction , 1997 .

[3]  Walter F. Tichy,et al.  The string-to-string correction problem with block moves , 1984, TOCS.

[4]  Ronald Fagin,et al.  Compactly encoding unstructured inputs with differential compression , 2002, JACM.

[5]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[6]  David G. Korn,et al.  Engineering a Differencing and Compression Data Format , 2002, USENIX Annual Technical Conference, General Track.

[7]  Radia J. Perlman,et al.  Network security - private communication in a public world , 2002, Prentice Hall series in computer networking and distributed systems.

[8]  Stefan Kurtz,et al.  Reducing the space requirement of suffix trees , 1999 .

[9]  Guy M. Lohman,et al.  Differential files: their application to the maintenance of large databases , 1976, TODS.

[10]  Hector Garcia-Molina,et al.  Meaningful change detection in structured data , 1997, SIGMOD '97.

[11]  Anja Feldmann,et al.  Potential benefits of delta encoding and data compression for HTTP , 1997, SIGCOMM '97.

[12]  Christoph Reichenberger,et al.  Delta storage for arbitrary non-text files , 1991, SCM '91.

[13]  Walter F. Tichy,et al.  Delta algorithms: an empirical analysis , 1998, TSEM.

[14]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[15]  Edward M. McCreight,et al.  A Space-Economical Suffix Tree Construction Algorithm , 1976, JACM.

[16]  Christopher W. Fraser,et al.  An editor for revision control , 1987, TOPL.

[17]  Eugene W. Myers,et al.  A file comparison program , 1985, Softw. Pract. Exp..

[18]  Josh Macdonald,et al.  Versioned File Archiving, Compression, and Distribution , 1999 .

[19]  Darrell D. E. Long,et al.  Efficient distributed backup and restore with delta compression , 1997 .

[20]  Mun Choon Chan,et al.  Cache-based compaction: a new technique for optimizing Web transfer , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[21]  Peter Weiner,et al.  Linear Pattern Matching Algorithms , 1973, SWAT.

[22]  Walter F. Tichy,et al.  An Empirical Study of Delta Algorithms , 1996, SCM.

[23]  Randal C. Burns,et al.  Efficient distributed backup with delta compression , 1997, IOPADS '97.

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

[25]  Marc J. Rochkind,et al.  The source code control system , 1975, IEEE Transactions on Software Engineering.