Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Open access

A linear-time scheme for version reconstruction

Published: 01 May 1994 Publication History
  • Get Citation Alerts
  • 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. The specification of each change points directly to where the change is to take place, thereby obviating a search. 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.
    The 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 time proportional to the sum of the sizes of the sequence of versions involved in the reconstruction, and therefore has a worst-case time that is quadratic in the sum of the size of the initial complete version and the sizes of the file differences. The time cost of the new differential file generation scheme is comparable to the time cost of the classical differential file generation scheme.

    References

    [1]
    AHO, A. V., HOPCRAFT, J. E. AND ULLMAN, J.D. 1974. The Design and Analysis of Computer Algortthms, Addison-Wesley, Reading, Mass.
    [2]
    BATORY, D. S. AND KIM, W. 1985. Modeling concepts for VLSI CAD objects. ACM Trans. Database Syst. 10, 3 (Sept.), 322-346.
    [3]
    DIGITAL EQUIPMENT CORP. 1982. Code Management System, Doc. EA-22134-82, Digital Equipment Corp., Bedford, Mass.
    [4]
    DITTRICH, K. R. AND LORIE, R. A. 1988. Version support for engineering database system. IEEE Trans. Softw. Eng. 14, 4(Apr.), 429-437.
    [5]
    HAYNIE, M. AND GOHL, K. 1984. Revision relations maintaining revision history information. IEEE Q. Bull. Database Eng. 7, 2 (June), 26-34.
    [6]
    HECKEL, P. 1978. A technique for isolating differences between files. Commun. ACM 21, 4 (Apr.), 264-268.
    [7]
    HUNT, J. W. AND MCILROY, M.D. 1976. An algorithm for differential file comparison. Comput. Sci. Tech. Rep. 41, AT & T Bell Laboratories, Murray Hill, N.J., June.
    [8]
    KATZ, R.H. 1990. Toward a unified framework for version modeling in engineering databases. ACM Comput. Surv. 22, 4 (Dec.), 375-408.
    [9]
    KATZ, R.H. 1982. A database approach for managing VLSI design data. In ACM IEEE 19th Design Automatzon Conference (Las Vegas, Nev., June, 14-16). ACM, New York, 274-282.
    [10]
    KATZ, R. H. AND LEHMAN, T.J. 1984. Database support for versions and alternatives of large design files. IEEE Trans. Softw. Eng. SE-IO, 2 (Mar.), 191-200.
    [11]
    KATZ, R. H., BHATEJA, R., CHANG, E. E., GEDGE, D. AND TRIJANTO, V. 1987. Design version management. IEEE Des. Test 4, i (Feb), 12-22.
    [12]
    PREPARATA, F. P. AND SHAMOS, M. I. 1985. Computational Geometry: An Introduction. Springer-Verlag, New York.
    [13]
    ROCHKIND, M.J. 1975. The source code control system. IEEE Trans. Softw. Eng. SE-1, 4 (Dec.) 364-370.
    [14]
    TICHY, W. F. 1985. RCS--A system for version control. Softw. Pract. Exper. 15, 7 (July) 637-684.
    [15]
    TICHY, W. F. 1984. The string-to-string correction problem with block moves. ACM Trans. Comput. Syst. 2, 4 (Nov.), 309-321.
    [16]
    UC BERKELEY. 1986. UNIX User's Reference Manual. Dept of Electrical Engineering and Computer Science, Univ. of California, Berkeley, Apr.
    [17]
    Yu, L. AND ROSENKRANTZ, D.J. 1990. Minimizing time-space cost for database version control. Acta Inf. 27, 7 (July), 627-663.

    Cited By

    View all
    • (2005)Intelligent Storage for Information RetrievalProceedings of the International Conference on Next Generation Web Services Practices10.1109/NWESP.2005.50Online publication date: 22-Aug-2005
    • (1997)Efficient distributed backup with delta compressionProceedings of the fifth workshop on I/O in parallel and distributed systems10.1145/266220.266223(27-36)Online publication date: 17-Nov-1997

    Recommendations

    Reviews

    Elizabeth Ann Buschlen Unger

    Version control in data systems containing sequential files of objects is the subject of this paper. The authors present algorithms for reconstructing the versions of a file using a complete version and successively modifying this data structure by applying a sequence of differential files called version control s ystem files. Efficient version control is important in software development, temporal databases, computer-aided design, and document production systems. The presented method for reconstruction of a version has time complexity that is linear in terms of the size of the complete version and the total size of the differences between the sequence of versions directly required for the reconstruction. This size is a significant improvement over such systems as the RCS version control system and is comparable to most differential file generation schemes.

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Programming Languages and Systems
    ACM Transactions on Programming Languages and Systems  Volume 16, Issue 3
    May 1994
    773 pages
    ISSN:0164-0925
    EISSN:1558-4593
    DOI:10.1145/177492
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 May 1994
    Published in TOPLAS Volume 16, Issue 3

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. data structures
    2. database systems
    3. differential files
    4. document preparation
    5. software systems
    6. textual objects
    7. version control

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)25
    • Downloads (Last 6 weeks)1

    Other Metrics

    Citations

    Cited By

    View all
    • (2005)Intelligent Storage for Information RetrievalProceedings of the International Conference on Next Generation Web Services Practices10.1109/NWESP.2005.50Online publication date: 22-Aug-2005
    • (1997)Efficient distributed backup with delta compressionProceedings of the fifth workshop on I/O in parallel and distributed systems10.1145/266220.266223(27-36)Online publication date: 17-Nov-1997

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media