This Article 
 Bibliographic References 
 Add to: 
In-Place Reconstruction of Version Differences
July/August 2003 (vol. 15 no. 4)
pp. 973-984

Abstract—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] M. Ajtai, R. Burns, R. Fagin, D.D.E. Long, and L. Stockmeyer, Compactly Encoding Unstructured Input with Differential Compression J. ACM, vol. 49, no. 3, 2002.
[2] G. Banga, F. Douglis, and M. Rabinovich, Optimistic Deltas for WWW Latency Reduction Proc. 1997 Usenix Technical Conf., 1997.
[3] P.A. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems. Addison-Wesley 1987.
[4] R. Burns, L. Stockmeyer, and D. Long, In-Place Reconstruction of Version Differences Technical Report HSSL-2002-01, Hopkins Storage Systems Lab, Dept. of Computer Science, Johns Hopkins Univ., 2002..
[5] R.C. Burns and D.D.E. Long, Efficient Distributed Backup and Restore with Delta Compression Proc. Fifth Workshop I/O in Parallel and Distributed Systems, 1997.
[6] M.C. Chan and T.Y. C. Woo, Cache-Based Compaction: A New Technique for Optimizing Web Transfer Proc. IEEE INFOCOM Conf. Computer Comm., 1999.
[7] S.S. Chawathe and H. Garcia-Molina, Meaningful Change Detection in Structured Data Proc. ACM SIGMOD Int'l Conf. the Management of Data, 1997.
[8] T.H. Cormen, C.E. Leiserson, and R.L. Rivest, Introduction to Algorithms. MIT Press, 1990.
[9] S.P. de Jong, Combining of Changes to a Source File IBM Technical Disclosure Bull., vol. 15, no. 4, 1972.
[10] C.W. Fraser and E.W. Myers, An Editor for Revision Control ACM Trans. Programming Languages and Systems, vol. 9, no. 2, 1987.
[11] J.J. Hunt, K.-P. Vo, and W.F. Tichy, An Empirical Study of Delta Algorithms Proc. Sixth Workshop Software Configuration Management, 1996.
[12] J.J. Hunt, K.-P. Vo, and W.F. Tichy, Delta Algorithms: An Empirical Analysis ACM Trans. Software Eng. and Methodology, vol. 7, no. 2, 1998.
[13] R.M. Karp, Reducibility Among Combinatorial Problems Complexity of Computer Computations, R.E. Miller and J.W. Thatcher, eds., Plenum Press, 1972.
[14] C. Kaufman, R. Perlman, and M. Speciner, Network Security: Private Communication in a Public World. Prentice-Hall, 1995.
[15] D.G. Korn and K.-P. Vo, Engineering a Differencing and Compression Data Format Proc. USENIX Ann. Technical Conf., 2002.
[16] S. Kurtz, Reducing the Space Requirements of Suffix Trees Software Practice and Experience, vol. 29, no. 13, 1999.
[17] J. MacDonald, Versioned File Archiving, Compression, and Distribution technical report,http://www.cs.berkeley.edujmacd/, Univ. of California at Berkeley, 2002.
[18] E.M. McCreight, A Space-Economical Suffix Tree Construction Algorithm J. ACM, vol. 23, no. 2, 1978.
[19] W. Miller and E.W. Myers, A File Comparison Program Software Practice and Experience, vol. 15, no. 11, 1985.
[20] J.C. Mogul, F. Douglis, A. Feldman, and B. Krishnamurthy, Potential Benefits of Delta Encoding and Data Compression for HTTP Proc. ACM SIGCOMM, 1997.
[21] C. Reichenberger, Delta Storage for Arbitrary Nontext Files Proc. Third Int'l Workshop Software Configuration Management, 1991.
[22] M.J. Rochkind, The Source Code Control System IEEE Trans. Software Eng., vol. 1, no. 4, 1975.
[23] D.G. Severance and G.M. Lohman, Differential Files: Their Application to the Maintenance of Large Databases ACM Trans. Database Systems, vol. 1, no. 2, 1976.
[24] F. Stevenson, Cryptanalysis of Contents Scrambling System technical report available at, 1999.
[25] W.F. Tichy, The String-to-String Correction Problem with Block Move ACM Trans. Computer Systems, vol. 2, no. 4, 1984.
[26] W. F. Tichy, RCS A System for Version Control Software Practice and Experience, vol. 15, no. 7, 1985.
[27] P. Weiner, Linear Pattern Matching Algorithms Proc. 14th IEEE Symp. Switching and Automata Theory, 1973.
[28] J. Ziv and A. Lempel, "Compression of Individual Sequence via Variable-Rate Coding," IEEE Trans. Information Theory, vol. 24, no. 5, pp. 530-536, 1978.

Index Terms:
Differencing, differential compression, version management, data distribution, in-place reconstruction, mobile computing.
Randal Burns, Larry Stockmeyer, Darrell D.E. Long, "In-Place Reconstruction of Version Differences," IEEE Transactions on Knowledge and Data Engineering, vol. 15, no. 4, pp. 973-984, July-Aug. 2003, doi:10.1109/TKDE.2003.1209013
Usage of this product signifies your acceptance of the Terms of Use.