Skip to main content

A linear-time scheme for version reconstruction

  • Conference paper
  • First Online:
Algorithms and Data Structures (WADS 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 519))

Included in the following conference series:

  • 1999 Accesses

Abstract

An efficient scheme to store and reconstruct versions of sequential files is presented. The reconstruction scheme involves building a data structure representing a complete version, and then successively modifying this data structure by applying a sequence of specially formatted differential files to it. Each application of a differential file produces a representation of an intermediate version, with the final data structure representing the requested version.

The scheme uses a linked list to represent an intermediate version, instead of a sequential array, as is used traditionally. A new format for differential files specifying changes to this linked list data structure is presented. Algorithms are presented for using such a new format differential file to transform the representation of a version, and for reconstructing a requested version. Algorithms are also presented for generating the new format differential files, both for the case of a forward differential specifying how to transform the representation of an old version to the representation of a new version, and for the case of a reverse differential specifying how to transform the representation of a new version to the representation of an old version.

This new version reconstruction scheme takes time linear in the sum of the size of the initial complete version and the sizes of the file differences involved in reconstructing the requested version. In contrast, the classical scheme for reconstructing versions takes quadratic time. The time cost of the new differential file generation scheme is comparable to the time cost of the classical differential file generation scheme.

(extended abstract)

Research supported in part by the National Science Foundation under Grants CCR88-03278 and CCR90-06396.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A.V., Hopcroft, J.E., and Ullman, J.D., The Design and Analysis of Computer Algorithms, Addison-Wesley, Reading, MA, 1974.

    Google Scholar 

  2. Batory, D.S., and Kim, W., “Modeling Concepts for VLSI CAD Objects,” ACM Trans. on Database Systems, Vol.10(3), pp.322–346, Sept. 1985.

    Google Scholar 

  3. Code Management System, Digital Equipment Corporation, document number EA-22134-82, 1982.

    Google Scholar 

  4. Dittrich, K.R., and Lorie, R.A., “Version Support for Engineering Database Systems,” IEEE Trans. on Software Engineering, Vol.14(4), pp.429–437, April 1988.

    Google Scholar 

  5. Haynie, M., and Gohl, K., “Revision Relations Maintaining Revision History Information,” IEEE Quarterly Bulletin on Database Engineering, 7(2), pp.26–34, June, 1984.

    Google Scholar 

  6. Heckel, P., “A Technique for Isolating Differences Between Files,” Comm. ACM Vol.21(4), pp.264–268, April 1978.

    Google Scholar 

  7. Hunt, J.W., and McIlroy, M.D., “An Algorithm for Differential File Comparison,” Computer Science Technical Report 41, AT&T Bell Laboratories, Murray Hill, June 1976.

    Google Scholar 

  8. Katz, R.H., “A Database Approach for Managing VLSI Design Data,” ACM IEEE 19th Design Automation Conf., pp.274–282, Las Vegas, Nevada, June 1982.

    Google Scholar 

  9. Katz, R.H., “Toward a Unified Framework for Version Modeling in Engineering Databases,” ACM Computing Surveys, Vol.22(4), pp.375–408, Dec. 1990.

    Google Scholar 

  10. Katz, R.H., Bhateja, R., Chang, E.E., Gedge, D., and Trijanto, V., “Design Version Management,” IEEE Design & Test, Vol.4(1), pp.12–22, Feb. 1987.

    Google Scholar 

  11. Katz, R.H., and Lehman, T.J., “Database Support for Versions and Alternatives of Large Design Files,” IEEE Trans. on Software Engineering, Vol.SE-10(2), pp.191–200, March 1984.

    Google Scholar 

  12. Rochkind, M.J., “The Source Code Control System,” IEEE Trans. on Software Engineering, Vol.SE-1(4), pp.364–370, Dec. 1975.

    Google Scholar 

  13. Tichy, W.F., “RCS — A System for Version Control,” Software — Practice and Experience, Vol.15(7), pp.637–684, July 1985.

    Google Scholar 

  14. Tichy, W.F., “The String-to-String Correction Problem with Block Moves,” ACM Trans. on Computer Systems, Vol.2(4), pp.309–321, Nov. 1984.

    Google Scholar 

  15. Unix User's Reference Manual, Dept. E.E. & Comp. Sci., UC Berkeley, CA, April 1986.

    Google Scholar 

  16. Yu, L., and Rosenkrantz, D. J., “Minimizing Time-Space Cost for Database Version Control,” Acta Informatica, Vol.27(7), pp.627–663, July, 1990.

    Google Scholar 

  17. Yu, L., and Rosenkrantz, D. J., “A Linear-Time Scheme for Version Reconstruction,” TR90-22, Dept. Comp. Sci., State University of New York at Albany, NY, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Frank Dehne Jörg-Rüdiger Sack Nicola Santoro

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Yu, L., Rosenkrantz, D.J. (1991). A linear-time scheme for version reconstruction. In: Dehne, F., Sack, JR., Santoro, N. (eds) Algorithms and Data Structures. WADS 1991. Lecture Notes in Computer Science, vol 519. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0028257

Download citation

  • DOI: https://doi.org/10.1007/BFb0028257

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54343-5

  • Online ISBN: 978-3-540-47566-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics