← Back to Patent Explorer
US5649200A Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic rule-based version control system

Assignee: International Business Machines Corp
•
Filing: 1996-12-02
•
Granted: 1997-07-15
•
Expires: 2016-12-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system and method for controlling versions of data, features a processor, a storage device for storing versions of objects, and an object version selector for providing the processor with access only to specific versions of target data objects as determined by a set of selection rules. The selection rules are evaluated for an object when that object is accessed by the processor. The version selector includes a means for viewing the selected versions of the target objects as a transparent file system having directories, files, and links. The version selector applies the existing version selection rules to newly created objects, and can also store the identity of a selected object version in a cache memory. The version selection rules include a rule for selecting that version of an object that was the most recent version of that object at a specific time in the past, and a rule for selecting that version of an object that was the most recent version of that object at the specific time that a process requiring that object began. The time that the process began is adjusted to compensate for time skew among the storage devices storing the required objects. The process includes a system build.

Inventors

  • 👤 David B. Leblang
  • 👤 Larry W. Allen
  • 👤 Robert P. Chase, Jr.
  • 👤 Bryan P. Douros
  • 👤 David E. Jabs
  • 👤 Gordon D. McLean, Jr.
  • 👤 Debra A. Minard

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 15:14
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/70; G06F8/71; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99954

Claims Analysis

Total Claims: 53
Claim 1
Independent Claim 115 words
A data processing system for controlling versions of objects, comprising a storage device for storing a plurality of versions of a set of objects, a processor for executing instructions and for retrieving a specific version of one or more target objects from and storing each version of such target objects to the storage device during a process, and an object version selector (i) which evaluates version selection rules by performing one or more queries on each target object during the process without requiring prior knowledge of each target object, and (ii) which provides the processor with access only to a specific version of such target object as determined by version selection rules during the process.
Claim 2
Dependent Claim 115 words
A data processing system for controlling versions of objects, comprising a storage device for storing a plurality of versions of a set of objects, a processor for executing instructions and for retrieving a specific version of one or more target objects from and storing each version of such target objects to the storage device during a process, and an object version selector (i) which evaluates version selection rules by performing one or more queries on each target object during the process without requiring prior knowledge of each target object, and (ii) which provides the processor with access only to a specific version of such target object as determined by version selection rules during the process.
Claim 3
Dependent Claim 29 words
The data processing system of claim 1, wherein the object version selector provides for viewing selected versions of objects as a transparent file system comprising directories, files and links.
Claim 4
Dependent Claim 25 words
The data processing system of claim 2, wherein the transparent file system provides access to a version of an object by accessing that object in-place.
Claim 5
Dependent Claim 62 words
The data processing system of claim 1, wherein each object has a pathname for accessing the object from the storage device, each pathname having a plurality of pathname components listed in sequential order, and the object version selector applies version selection rules to a target object determined by matching an N component wildcard pattern to the final N components of a pathname.
Claim 6
Dependent Claim 22 words
The data processing system of claim 1, wherein the object version selector applies the existing version selection rules to newly created objects.
Claim 7
Dependent Claim 59 words
The data processing system of claim 1, wherein the object version selector stores the identity of a selected object version, selected by applying the version selection rules, in a cache memory and the object version selector provides for invalidating a selected object version identity stored in cache memory upon detecting a change which could affect the selected object version.
Claim 8
Dependent Claim 38 words
The data processing system of claim 1, wherein the version selection rules comprise a rule for selecting that version of an object that was the most recent version of that object at a specific time in the past.
Claim 9
Dependent Claim 42 words
The data processing system of claim 1, wherein the version selection rules comprise a rule for selecting that version of an object that was the most recent version of that object at the specific time that a process requiring that object began.
Claim 10
Dependent Claim 32 words
The data processing system of claim 8, wherein the time that the process began is adjusted to compensate for time skew among the storage devices storing the objects required by the process.
Claim 11
Dependent Claim 14 words
The data processing system of claim 9, wherein the process includes a system build.
Claim 12
Dependent Claim 71 words
The data processing system of claim 1, wherein the versions of objects are conceptually stored along branches of a tree structure, with each sequential version of an object being stored sequentially as the next version of that object in the same branch, and parallel versions of an object being similarly stored sequentially along a parallel branch, the parallel branch having its source at a version of the object on another branch.
Claim 13
Dependent Claim 56 words
The data processing system of claim 11, wherein the version selection rules comprise a rule for creating a new parallel branch when a version of an object is accessed by the processor for modification creating a new version of the object, the new version of the object being subsequently stored in the newly created parallel branch.
Claim 14
Dependent Claim 29 words
The data processing system of claim 11, wherein the object version selector provides for accessing the versions of an object as a file system structured as directories and sub-directories.
Claim 15
Dependent Claim 45 words
The data processing system of claim 1, wherein the storage device stores a plurality of attributes associated with each version of the objects, and the object version selector provides for searching for a version of an object determined by the state of the associated attributes.
Claim 16
Dependent Claim 14 words
The data processing system of claim 1, wherein versions of objects comprise compressed files.
Claim 17
Dependent Claim 28 words
The data processing system of claim 15, wherein a version of an object stored as a compressed file is uncompressed upon access to the object by the processor.
Claim 18
Dependent Claim 20 words
The data processing system of claim 16, wherein an uncompressed version of an object is stored in a cache memory.
Claim 19
Dependent Claim 12 words
The data processing system of claim 1, wherein the objects comprise directories.
Claim 20
Dependent Claim 33 words
The data processing system of claim 18, wherein a version of a directory object comprises a catalog of objects and their associated names, each cataloged object referring to all versions of that object.
Claim 21
Dependent Claim 31 words
The data processing system of claim 19, wherein the version selected of a directory object can be independent of the version selected of an object cataloged in the selected directory object.
Claim 22
Dependent Claim 134 words
The data processing system of claim 1, wherein the object version selector further comprises a system builder for executing a system build process producing derived objects from versions of source objects selected by the object version selector; an auditor for recording, as an audit record, which versions of the source objects are accessed through the object version selector during a system build process, the audit record being associated with the produced derived objects; and wherein the system builder further comprises a comparator for comparing the audit record, associated with a derived object produced by a previous system build process and stored in the storage device, with the requirements of the currently executing system build process to determine if the previously produced derived object can be reused to satisfy the currently executing system build process.
Claim 23
Dependent Claim 60 words
The data processing system of claim 21, wherein the comparator compares a source object version, used in producing the previous derived object, with the version of that source object which would be selected by the currently executing system build process, and the currently executing system build process reuses the previous derived object if all the compared source object versions match.
Claim 24
Dependent Claim 110 words
The data processing system of claim 22, wherein the storage device further comprises public storage for storing objects accessible by a plurality of object version selectors; and private storage for storing objects accessible by only an object version selector associated with the private storage, and for storing derived objects produced by a system build process using the associated object version selector; wherein a derived object stored in the private storage is moved to the public storage for sharing among the plurality of object version selectors when a system build process, using an object version selector other than the object version selector which created the derived object, requires the derived object.
Claim 25
Dependent Claim 25 words
The data processing system of claim 23, wherein the derived object stored in the public storage is shared by a plurality of system build processes.
Claim 26
Dependent Claim 22 words
The data processing system of claim 21, wherein the derived object can be stored in the storage device as a versioned object.
Claim 27
Dependent Claim 37 words
The data processing system of claim 25, wherein the audit record associated with the derived object stored as a versioned object is also stored in the storage device as an audit record for the stored derived object.
Claim 28
Independent Claim 108 words
A method for controlling versions of objects, comprising storing a plurality of versions of a set of objects on a storage device, executing instructions on a processor and retrieving a specific version of one or more target objects from and storing each version of such target objects to the storage device during a process, evaluating version selection rules for each target object by performing one or more queries on each target object during the process without requiring prior knowledge of such target object, and providing the processor with access only to a specific version of such target object as determined by the version selection rules during the process.
Claim 29
Independent Claim 108 words
A method for controlling versions of objects, comprising storing a plurality of versions of a set of objects on a storage device, executing instructions on a processor and retrieving a specific version of one or more target objects from and storing each version of such target objects to the storage device during a process, evaluating version selection rules for each target object by performing one or more queries on each target object during the process without requiring prior knowledge of such target object, and providing the processor with access only to a specific version of such target object as determined by the version selection rules during the process.
Claim 30
Dependent Claim 26 words
The method of claim 27, wherein the selecting step further comprises viewing selected versions of objects as a transparent file system comprising directories, files and links.
Claim 31
Dependent Claim 19 words
The method of claim 28, wherein the selecting step further comprises directly accessing a selected version of an object.
Claim 32
Dependent Claim 56 words
The method of claim 27, further comprising the steps of accessing the object from the storage device by a pathname, each pathname having a plurality of pathname components listed in sequential order, and applying version selection rules to a target object by matching an N component wildcard pattern to the final N components of a pathname.
Claim 33
Dependent Claim 20 words
The method of claim 27, further comprising the steps of applying the existing version selection rules to newly created objects.
Claim 34
Dependent Claim 54 words
The method of claim 27, further comprising the steps of storing the identity of a selected object version, selected by applying the version selection rules, in a cache memory and invalidating a selected object version identity stored in cache memory upon detecting a change to the object which could affect the selected object version.
Claim 35
Dependent Claim 32 words
The method of claim 27, further comprising the step of selecting that version of an object that was the most recent version of that object at a specific time in the past.
Claim 36
Dependent Claim 36 words
The method of claim 27, further comprising the step of selecting that version of an object that was the most recent version of that object at the specific time that a process requiring that object began.
Claim 37
Dependent Claim 33 words
The method of claim 34, further comprising the step of adjusting the time that the process began to compensate for time skew among the storage devices storing the objects required by the process.
Claim 38
Dependent Claim 12 words
The method of claim 35, wherein the process includes a system build.
Claim 39
Dependent Claim 72 words
The method of claim 27, wherein the storing step comprises storing the versions of objects along symbolic branches of a tree structure, with each sequential version of an object being stored sequentially as the next version of that object in the same branch, and parallel versions of an object being similarly stored sequentially along a parallel branch, the parallel branch having its source at a version of the object on another branch.
Claim 40
Dependent Claim 50 words
The method of claim 37, further comprising the steps of creating a new parallel branch when a version of an object is accessed by the processor for modification creating a new version of the object, and sequentially storing the new version of the object in the newly created parallel branch.
Claim 41
Dependent Claim 25 words
The method of claim 37, further comprising the step of accessing the versions of the objects as a file system structured as directories and sub-directories.
Claim 42
Dependent Claim 37 words
The method of claim 27, further comprising the steps of storing a plurality of attributes associated with each version of the objects, and searching for a version of an object by the state of the associated attributes.
Claim 43
Dependent Claim 17 words
The method of claim 27, further comprising the step of storing versions of objects as compressed files.
Claim 44
Dependent Claim 29 words
The method of claim 41, further comprising the step of uncompressing a version of an object stored as a compressed file upon access to the object by the processor.
Claim 45
Dependent Claim 21 words
The method of claim 42, further comprising the step of storing an uncompressed version of an object in a cache memory.
Claim 46
Dependent Claim 40 words
The method of claim 27, further comprising the step of storing objects comprising directories, wherein a version of a directory object comprises a catalog of objects and their associated names, each cataloged object referring to all versions of that object.
Claim 47
Dependent Claim 58 words
The method of claim 44, further comprising the steps of selecting a version of a directory object according to a first set of version selection rules, and selecting a version of an object cataloged in a directory object according to a second set of version selection rules, which can be independent from the first set of selection rules.
Claim 48
Dependent Claim 109 words
The method of claim 27, further comprising the steps of executing a system build process producing derived objects from versions of source objects selected by the version selection rules; recording an audit record of which versions of the source objects are accessed during the executing system build process, associating the audit record with the produced derived objects; and comparing the audit record, associated with a derived object produced by a previous system build process and stored in the storage device, with the requirements of the currently executing system build process to determine if the previously produced derived object can be reused to satisfy the currently executing system build process.
Claim 49
Dependent Claim 62 words
The method of claim 46, wherein the comparing step comprises comparing the source object versions used in producing the previous derived object with the source object versions to be used in producing the corresponding derived object by the currently executing system build process, and reusing the previous derived object by the executing build process if all the compared source object versions match.
Claim 50
Dependent Claim 87 words
The method of claim 46, further comprising the steps of storing objects accessible by a plurality of processes in a public storage; storing objects accessible by only a particular process in a private storage associated with the particular executing process; storing derived objects produced by the particular process in the associated private storage; and moving the derived object stored in the private storage to the public storage for sharing among the plurality of processes, other than the process which created the derived object, requiring the derived object.
Claim 51
Dependent Claim 26 words
The method of claim 48, further comprising the step of sharing the derived object stored in the public storage among a plurality of system build processes.
Claim 52
Dependent Claim 22 words
The method of claim 48, further comprising the step of storing the derived object in the storage device as a versioned object.
Claim 53
Dependent Claim 32 words
The method of claim 50, further comprising the step of storing the audit record associated with the derived object in the storage device as a configuration record for the stored derived object.

References Cited (Backward Citations)

US4558413A Cited
US4809170A Cited
US4951192A Cited
US4912637A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-07-14 2001-01-13 2001-07-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-07-14 2005-01-13 2005-07-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-07-14 2009-01-13 2009-07-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag