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

Version control system for geographically distributed software development

Assignee: International Business Machines Corp
•
Filing: 1995-03-31
•
Granted: 1997-10-07
•
Expires: 2015-03-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system and method for controlling files at a local development site within a geographically distributed multisite software development project includes a storage device, a processor, a mastership enforcer and an exchanger. The storage device stores a local replica including a plurality of files. Each file comprises a plurality of branches, and each branch comprises a plurality of versions of the file. The processor executes instructions, and retrieves and stores versions of the files in the storage device. The mastership enforcer provides the processor with the exclusive capability to modify specific branches by adding new versions of target files as determined by multisite mastership rules. The processor can create new versions of the target files, which are stored in the local replica within the storage device. The exchanger periodically updates the local replica by exporting the new versions of the target files to remote replicas at geographically remote development sites and importing additional new versions of the files from remote replicas. Thus, different branches of files, which are stored in multiple replicas geographically distributed at various development sites, can be modified concurrently and the replicas are updated with each others modifications periodically, without losing modifications or allowing inconsistent modifications among the replicas.

Inventors

  • 👤 Larry W. Allen
  • 👤 Gary L. Fernandez
  • 👤 Kenneth P. Kane
  • 👤 David B. Leblang
  • 👤 Debra A. Minard
  • 👤 Gordon D. McLean, Jr.

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 16:02
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/70; G06F8/71; G06F16/00; G06F16/20; G06F16/27; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99954

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 145 words
A data processing system for controlling files at a local development site within a geographically distributed multisite software development project including remote development sites, comprising: a storage device for storing a local replica comprising a plurality of files, each file comprising a plurality of branches, each branch comprising a plurality of versions of each file, a processor for executing instructions and retrieving versions from and storing versions to the storage device, a mastership enforcer for (i) providing the processor with the exclusive capability to modify specific branches by adding new versions of target files and (ii) preventing the processor from modifying other branches, as determined by multisite mastership rules, and an exchanger which periodically updates the local replica by exporting the new versions of the target files to remote replicas at remote development sites and importing additional new versions of the files from remote replicas.
Claim 2
Dependent Claim 145 words
A data processing system for controlling files at a local development site within a geographically distributed multisite software development project including remote development sites, comprising: a storage device for storing a local replica comprising a plurality of files, each file comprising a plurality of branches, each branch comprising a plurality of versions of each file, a processor for executing instructions and retrieving versions from and storing versions to the storage device, a mastership enforcer for (i) providing the processor with the exclusive capability to modify specific branches by adding new versions of target files and (ii) preventing the processor from modifying other branches, as determined by multisite mastership rules, and an exchanger which periodically updates the local replica by exporting the new versions of the target files to remote replicas at remote development sites and importing additional new versions of the files from remote replicas.
Claim 3
Dependent Claim 76 words
The data processing system of claim 1 wherein the local replica further comprises meta-data which is associated with one or more files, branches or versions, wherein the mastership enforcer provides the processor with the exclusive capability to modify specific types of target meta-data as determined by multisite mastership rules, wherein the exchanger periodically updates the local replica by exporting the modified target meta-data to the remote replicas and importing additional modified meta-data from the remote replicas.
Claim 4
Dependent Claim 62 words
The data processing system of claim 2 wherein the mastership enforcer provides the processor with the capability to modify only (i) types of meta-data designated as being under full control of the local development site or (ii) types of meta-data designated to be under distributed control and attached to a file, branch or version that is modifiable at the local development site.
Claim 5
Dependent Claim 31 words
The data processing system of claim 2 wherein the mastership enforcer is capable of reassigning the exclusive capability to modify the specific types of target meta-data to a remote development site.
Claim 6
Dependent Claim 40 words
The data processing system of claim 2 wherein the mastership enforcer is capable of reassigning the exclusive capability to modify the branches or specific types of meta-data to a remote development site when the exchanger periodically updates the local replica.
Claim 7
Dependent Claim 63 words
The data processing system of claim 2 wherein the exchanger further comprises an exporter for exporting the new versions of the target files and meta-data to each remote replica, a transporter for transporting the new versions of the target files and meta-data to the remote replicas and an importer for importing additional new versions of the files and meta-data from the remote replicas.
Claim 8
Dependent Claim 28 words
The data processing system of claim 6 wherein the new versions of the target files and meta-data are transported over a data communications network or by magnetic tape.
Claim 9
Dependent Claim 12 words
The data processing system of claim 6 wherein the transporter is customizable.
Claim 10
Dependent Claim 61 words
The data processing system of claim 2 further comprising a backup storage device for storing a backup copy of the local replica, wherein the local development site is restorable after loss of the local replica by restoring the backup copy of the local replica to the storage device and by importing missing files, branches, versions and meta-data from the remote replicas.
Claim 11
Dependent Claim 43 words
The data processing system of claim 9 wherein the local development site, after having restored the backup copy of the local replica, imports missing files, branches, versions and meta-data from the remote replicas as part of the periodic updating performed by the exchanger.
Claim 12
Dependent Claim 27 words
The data processing system of claim 1 wherein the mastership enforcer is capable of reassigning the exclusive capability to modify the branches to a remote development site.
Claim 13
Dependent Claim 31 words
The data processing system of claim 1 wherein the local replica further restricts the capability to modify each branch to a single user at a time at the local development site.
Claim 14
Independent Claim 137 words
A method for controlling versions of the files at a local development site within a geographically distributed multisite software development project which includes remote development sites, comprising: storing a local replica comprising a plurality of files in a storage device, each file comprising a plurality of branches, each branch comprising a plurality of versions of the file, executing instructions and retrieving versions from and storing versions to the storage device using a processor, providing the processor with the exclusive capability to modify specific branches by adding new versions of target files and preventing the processor form modifying other branches, as determined by multisite mastership rules, and periodically updating the local replica by exporting the new versions of the target files to remote replicas at remote development sites and importing new versions of the files from remote replicas.
Claim 15
Independent Claim 137 words
A method for controlling versions of the files at a local development site within a geographically distributed multisite software development project which includes remote development sites, comprising: storing a local replica comprising a plurality of files in a storage device, each file comprising a plurality of branches, each branch comprising a plurality of versions of the file, executing instructions and retrieving versions from and storing versions to the storage device using a processor, providing the processor with the exclusive capability to modify specific branches by adding new versions of target files and preventing the processor form modifying other branches, as determined by multisite mastership rules, and periodically updating the local replica by exporting the new versions of the target files to remote replicas at remote development sites and importing new versions of the files from remote replicas.
Claim 16
Dependent Claim 71 words
The method of claim 13, wherein the local replica further comprises meta-data which is associated with one or more files, branches or versions, further providing the processor with the exclusive capability to modify specific types of target meta-data as determined by multisite mastership rules, wherein the exchanger periodically updates the local replica by exporting the modified target meta-data to the remote replicas and importing additional modified meta-data from the remote replicas.
Claim 17
Dependent Claim 24 words
The method of claim 14 further comprising reassigning the exclusive capability to modify the specific types of target meta-data to a remote development site.
Claim 18
Dependent Claim 57 words
The method of claim 14 further providing the processor with the capability to modify only (i) types of meta-data designated as being under full control of the local development site or (ii) types of meta-data designated to be under distributed control and attached to a file, branch or version that is modifiable at the local development site.
Claim 19
Dependent Claim 58 words
The method of claim 14 further comprising periodically updating the local replica by exporting the new versions of the target files and modified target meta-data to each remote replica, transporting the new version of the target files and modified meta-data to the remote replicas, and importing additional new versions of the files and meta-data from the remote replicas.
Claim 20
Dependent Claim 10 words
The method of claim 17 wherein the transporting is customizable.
Claim 21
Dependent Claim 24 words
The method of claim 17 further comprising transporting the new versions of the target files over a data communications network or by magnetic tape.
Claim 22
Dependent Claim 33 words
The method of claim 14 further comprising reassigning the exclusive capability to modify the branches or specific types of meta-data to a remote development site when the exchanger periodically updates the local replica.
Claim 23
Dependent Claim 41 words
The method of claim 20 wherein the local development site, after having restored the backup copy of the local replica, imports missing files, branches, versions and meta-data from the remote replicas as part of the periodic updating performed by the exchanger.
Claim 24
Dependent Claim 59 words
The method of claim 14 further comprising storing a backup copy of the local replica in a backup storage device, wherein the local development site is restorable after loss of the local replica by restoring the backup copy of the local replica to the storage device and by importing missing files, branches, versions and meta-data from the remote replicas.
Claim 25
Dependent Claim 26 words
The method of claim 13 further comprising restricting the capability to modify each branch to a single user at a time at the local development site.
Claim 26
Dependent Claim 20 words
The method of claim 13 further comprising reassigning the exclusive capability to modify the branches to a remote development site.

References Cited (Backward Citations)

US4558413A Cited
US5005119A Cited
US4809170A Cited
US4912637A Cited
US5119493A Cited
US5278979A Cited
US5339435A Cited
US5386558A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag