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

Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system

Assignee: Fujitsu IT Holdings Inc
•
Filing: 1987-12-22
•
Granted: 1989-10-17
•
Expires: 2007-12-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a data processing system that stores a first and second version of a given data set, a method for synchronizing the first and second versions comprises steps of maintaining a sync-complete control field and a sync-in-progress control field in the inode of each of the first and second versions. Write accesses to the versions are modified so that the sync-complete control field and the sync-in-progress control field are cleared in response to any change in the associated version. The sync-complete control bits for the first and second versions are tested, and if either or both are cleared, then the sync-in-progress control field associated with a select source version is set. Next, a copy of the source version is transferred to a temporary file. After the transfer is complete, the sync-in-progress control field in the source version is tested, and if it is set when the temporary version is complete, then the sync-complete control field is set and the sync-in-progress control field is cleared in the source versions. Next, the sync-complete control field is set in the temporary version. Finally, the temporary version is renamed to the other of the first and second versions and the original other version is removed.

Inventors

  • 👤 Richard W. Cary
  • 👤 Richard D. Guyon

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 10:43
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/70; G06F8/71; G06F16/00; G06F16/10; G06F16/17; G06F16/178; G06F16/18; G06F16/1873; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99954

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 227 words
In a data processing system storing a first and a second version of a given data set, a method for synchronizing the first and second versions, comprising: maintaining a sync-complete control field and a sync-in-progress control field corresponding to each of the first and second versions, the sync-complete control field indicating when set that the corresponding version is synchronized and the sync-in-progress control field indicating when set that the corresponding version is in the process of being synchronized; clearing the sync-complete control field and the sync-in-progress control field in response to a change in the corresponding version; first detecting the sync-complete control field for the first and second versions, and if either or both are cleared, then setting the sync-in-progress control field corresponding to a selected version of the first and second versions; transferring a copy of the selected version to a temporary file to establish a temporary version; second detecting the sync-in-progress control field in the selected version, and if it is set when the temporary version is complete, then setting the sync-complete control field and clearing the sync-in-progress control field corresponding to the selected version; setting the sync-complete control field in the temporary version; renaming the temporary version to the one of the first and second versions not selected in the first detecting step and removing the one not selected in the first detecting step.
Claim 2
Dependent Claim 227 words
In a data processing system storing a first and a second version of a given data set, a method for synchronizing the first and second versions, comprising: maintaining a sync-complete control field and a sync-in-progress control field corresponding to each of the first and second versions, the sync-complete control field indicating when set that the corresponding version is synchronized and the sync-in-progress control field indicating when set that the corresponding version is in the process of being synchronized; clearing the sync-complete control field and the sync-in-progress control field in response to a change in the corresponding version; first detecting the sync-complete control field for the first and second versions, and if either or both are cleared, then setting the sync-in-progress control field corresponding to a selected version of the first and second versions; transferring a copy of the selected version to a temporary file to establish a temporary version; second detecting the sync-in-progress control field in the selected version, and if it is set when the temporary version is complete, then setting the sync-complete control field and clearing the sync-in-progress control field corresponding to the selected version; setting the sync-complete control field in the temporary version; renaming the temporary version to the one of the first and second versions not selected in the first detecting step and removing the one not selected in the first detecting step.
Claim 3
Dependent Claim 28 words
The method of claim 1, wherein the data processing system includes a first storage subsystem storing the first version and a second storage subsystem storing the second version.
Claim 4
Dependent Claim 26 words
The method of claim 2, wherein the temporary version is stored in the same storage subsystem as the version not selected in the first detecting step.
Claim 5
Dependent Claim 56 words
The method of claim 1, wherein the first and second versions are stored in a tree-structured file system, including at least one index node corresponding to each of the first version, the second version and the temporary version, and the sync-complete control field and the sync-in-progress control field are maintained in index nodes for corresponding files.
Claim 6
Dependent Claim 12 words
The method of claim 1, wherein the first detecting step is uninterruptible.
Claim 7
Dependent Claim 42 words
The method of claim 1, wherein the step of renaming the temporary version to the one of the first and second versions not selected in the first detecting step and removing the one not selected in the first detecting step is uninterruptible.
Claim 8
Dependent Claim 25 words
The method of claim 1, wherein during the second detecting step the sync-complete field is set and the sync-in-progress control field is cleared essentially simultaneously.
Claim 9
Dependent Claim 30 words
The method of claim 1, further including during the second detecting step if the sync-in-progress control field is clear when the temporary version is complete then removing the temporary version.
Claim 10
Dependent Claim 280 words
In a data processing system including a first processing unit storing a first version of a pre-specified plurality of data sets, a second processing unit storing a second version of the pre-specified plurality of data sets, and a facility for transferring data sets between the first and second processing units, a method for synchronizing the first and second versions of the pre-specified plurality of data sets, comprising: maintaining a sync-complete control field and a sync-in-progress control field corresponding to each of the first and second versions of each data set in the pre-specified plurality, the sync-complete control field indicating when set that the corresponding version is synchronized and the sync-in-progress control field indicating when set that the corresponding version is in the process of being synchronized; clearing the sync-complete control field and the sync-in-progress control field in response to a change in the corresponding version; first detecting the sync-complete control field for the first and second versions of the data sets, and if either or both are cleared, then setting the sync-in-progress control field corresponding to a selected version of the first and second versions; transferring a copy of the selected version to a temporary file to establish a temporary version; second detecting the sync-in-progress control field in the selected version, and if it is set when the temporary version is complete, then setting the sync-complete control field and clearing the sync-in-progress control field corresponding to the selected version; setting the sync-complete control field in the temporary version; and renaming the temporary version to the one of the first and second versions not selected in the first detecting step, and removing the one not selected in the first detecting step.
Claim 11
Dependent Claim 280 words
In a data processing system including a first processing unit storing a first version of a pre-specified plurality of data sets, a second processing unit storing a second version of the pre-specified plurality of data sets, and a facility for transferring data sets between the first and second processing units, a method for synchronizing the first and second versions of the pre-specified plurality of data sets, comprising: maintaining a sync-complete control field and a sync-in-progress control field corresponding to each of the first and second versions of each data set in the pre-specified plurality, the sync-complete control field indicating when set that the corresponding version is synchronized and the sync-in-progress control field indicating when set that the corresponding version is in the process of being synchronized; clearing the sync-complete control field and the sync-in-progress control field in response to a change in the corresponding version; first detecting the sync-complete control field for the first and second versions of the data sets, and if either or both are cleared, then setting the sync-in-progress control field corresponding to a selected version of the first and second versions; transferring a copy of the selected version to a temporary file to establish a temporary version; second detecting the sync-in-progress control field in the selected version, and if it is set when the temporary version is complete, then setting the sync-complete control field and clearing the sync-in-progress control field corresponding to the selected version; setting the sync-complete control field in the temporary version; and renaming the temporary version to the one of the first and second versions not selected in the first detecting step, and removing the one not selected in the first detecting step.
Claim 12
Dependent Claim 28 words
The method of claim 9, wherein the data processing system includes a first storage subsystem storing the first version and a second storage subsystem storing the second version.
Claim 13
Dependent Claim 26 words
The method of claim 10, wherein the temporary version is stored in the same storage subsystem as the version not selected in the first detecting step.
Claim 14
Dependent Claim 56 words
The method of claim 9, wherein the first and second versions are stored in a tree-structured filing system, including at least one index node corresponding to each of the first version, the second version and the temporary version, and the sync-complete control field and the sync-in-progress control field are maintained in index nodes for corresponding files.
Claim 15
Dependent Claim 12 words
The method of claim 9, wherein the first detecting step is uninterruptible.
Claim 16
Dependent Claim 42 words
The method of claim 9, wherein the step of renaming the temporary version to the one of the first and second versions not selected in the first detecting step and removing the one not selected in the first detecting step is uninterruptable.
Claim 17
Dependent Claim 26 words
The method of claim 9, wherein during the second detecting step the sync-complete control field is set and the sync-in-progress control field is cleared essentially simultaneously.
Claim 18
Dependent Claim 30 words
The method of claim 9, further including during the second detecting step if the sync-in-progress control field is clear when the temporary version is complete, then removing the temporary version.
Claim 19
Dependent Claim 67 words
The method of claim 9, further including: maintaining a set of bulletins indicating accesses by the first processing unit to the first version and by the second processing unit to the second version; reviewing the bulletins to identify a set of data sets for which the first or second versions have been accessed; and wherein the first detecting step is carried out only over the identified set.
Claim 20
Dependent Claim 322 words
In a data processing system storing a first version of a pre-specified plurality of data sets and storing a second version of the pre-sepcified plurality of data sets, an apparatus for synchronizing the first and second versions of the pre-specified plurality of data sets, comprising: processing means, associated with each of the first and second versions for reading and writing the versions of the pre-specified data sets, including means for storing an index node identifying the version with a sync-complete control field and a sync-in-progress control field, the sync-complete control field indicating when set that the identified version is synchronized and the sync-in-progress control field indicating when set that the identified version is in the process of being synchronized; means for clearing the sync-complete control field and the sync-in-progress control field in a given index node in response to a write to the version identified by the given index node; and synchronizing means, in communication with the processing means, for synchronizing the first and second versions, including first means for detecting the sync-complete control field for the first and second versions, and if either or both are cleared, then setting the sync-in-progress control field in the index node identifying a selected version of the first and second versions; means for transferring a copy of the selected version to a temporary file to establish a temporary version; second means for detecting the sync-in-progress control field for the selected version, and if it is set when the temporary version is complete, then setting the sync-complete control field and clearing the sync-in-progress control field in the index node identifying the selected version; means for setting the sync-complete control field in the temporary version; and means for updating the index node for the temporary version to rename the temporary version to the name of the one of the first and second versions not selected by the first means for detecting and removing the version not selected.
Claim 21
Dependent Claim 322 words
In a data processing system storing a first version of a pre-specified plurality of data sets and storing a second version of the pre-sepcified plurality of data sets, an apparatus for synchronizing the first and second versions of the pre-specified plurality of data sets, comprising: processing means, associated with each of the first and second versions for reading and writing the versions of the pre-specified data sets, including means for storing an index node identifying the version with a sync-complete control field and a sync-in-progress control field, the sync-complete control field indicating when set that the identified version is synchronized and the sync-in-progress control field indicating when set that the identified version is in the process of being synchronized; means for clearing the sync-complete control field and the sync-in-progress control field in a given index node in response to a write to the version identified by the given index node; and synchronizing means, in communication with the processing means, for synchronizing the first and second versions, including first means for detecting the sync-complete control field for the first and second versions, and if either or both are cleared, then setting the sync-in-progress control field in the index node identifying a selected version of the first and second versions; means for transferring a copy of the selected version to a temporary file to establish a temporary version; second means for detecting the sync-in-progress control field for the selected version, and if it is set when the temporary version is complete, then setting the sync-complete control field and clearing the sync-in-progress control field in the index node identifying the selected version; means for setting the sync-complete control field in the temporary version; and means for updating the index node for the temporary version to rename the temporary version to the name of the one of the first and second versions not selected by the first means for detecting and removing the version not selected.
Claim 22
Dependent Claim 28 words
The apparatus of claim 18, wherein the data processing system includes a first storage subsystem storing the first version and a second storage subsystem storing the second version.
Claim 23
Dependent Claim 27 words
The apparatus of claim 19, wherein the temporary version is stored in the same storage subsystem as the version not selected by the first means for detecting.
Claim 24
Dependent Claim 13 words
The apparatus of claim 18, wherein the first means for detecting is uninterruptible.
Claim 25
Dependent Claim 50 words
The apparatus of claim 18, wherein the means for updating the index node for the temporary version to rename the temporary version to the name of the one of the first and second versions not selected by the first means for detecting and removing the version not selected is uninterruptible.
Claim 26
Dependent Claim 24 words
The apparatus of claim 18, wherein the second means for detecting sets the sync-complete control field and clears the sync-in-progress control field essentially simultaneously.
Claim 27
Dependent Claim 32 words
The apparatus of claim 18, wherein the second means for detecting further includes means, if the sync-in-progress control field is clear when the temporary version is complete, for removing the temporary version.
Claim 28
Dependent Claim 79 words
The apparatus of claim 18, wherein: the processing means further includes means for maintaining a bulletin indicating writes by the first processing unit to the first version and by the second processing unit to the second version; and the synchronizing means further includes means for reviewing the bulletins to identify a set of data sets for which the first or second versions have been subject of writes; and the first means for detecting is responsive to the identified set.

References Cited (Backward Citations)

US3653001A Cited
US3703708A Cited
US4408273A Cited
US4410942A Cited
US4751672A Cited
US4451901A Cited
US4627019A Cited
US4564903A Cited
US4805090A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-10-16 1993-04-17 1993-10-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-10-16 1997-04-17 1997-10-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-10-16 2001-04-17 2001-10-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag