Patent US6058401A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6058401A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for data replication with conflict detection

Assignee: Oracle International Corp
•
Filing: 1998-05-20
•
Granted: 2000-05-02
•
Expires: 2018-05-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Communication costs are reduced in a distributed system that supports data replication with conflict detection by sending small values or nulls as replacements for field values that are not strictly used for replication or conflict detection. Specifically, nulls are propagated for new values of unmodified fields, old values of fields in unmodified groups of linked fields, and old values of fields for which conflict detection has been disabled. Flag values that indicate which actual old and new values were sent may be generated and propagated along with the replicated data.

Inventors

  • 👤 James Stamos
  • 👤 Benny Souder
  • 👤 Lip Boon Doo
  • 👤 Alan Downing

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 22:23
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/23; G06F16/2308; G06F16/2315; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/202; G06F11/2035; G06F11/2048; G06F11/2097; G06F16/2322; G06F16/27; G06F2201/00; G06F2201/80; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 50
Claim 1
Independent Claim 130 words
A method of maintaining multiple copies of a body of data organized into records of related fields, said method comprising the computer-implemented steps of: determining whether a record within said body of data is updated at a first site; in response to determining that the record was updated, propagating, to a second site, small values in place of at least one of actual old values and actual new values associated with said related fields of said updated record; and determining whether a conflict exists within a corresponding record at said second site based on said propagated small values and said propagated actual old values; and if said conflict does not exist, then updating said corresponding record based on at least said propagated small values and said propagated actual new values.
Claim 2
Independent Claim 130 words
A method of maintaining multiple copies of a body of data organized into records of related fields, said method comprising the computer-implemented steps of: determining whether a record within said body of data is updated at a first site; in response to determining that the record was updated, propagating, to a second site, small values in place of at least one of actual old values and actual new values associated with said related fields of said updated record; and determining whether a conflict exists within a corresponding record at said second site based on said propagated small values and said propagated actual old values; and if said conflict does not exist, then updating said corresponding record based on at least said propagated small values and said propagated actual new values.
Claim 3
Dependent Claim 18 words
The method of claim 1, wherein the step of propagating small values includes the step of propagating nulls.
Claim 4
Dependent Claim 26 words
The method of claim 1, wherein the step of propagating small values includes the step of propagating small values for new values associated with unmodified fields.
Claim 5
Dependent Claim 32 words
The method of claim 1, wherein the step of propagating small values includes the step of propagating small values for old values associated with fields in a linked collection of unmodified fields.
Claim 6
Dependent Claim 31 words
The method of claim 1, wherein the step of propagating small values includes the step of propagating small values for old values associated with fields having been disabled for conflict detection.
Claim 7
Dependent Claim 50 words
The method of claim 1, wherein the step of detecting for a conflict within a corresponding record based on said propagated small values and said propagated actual old values includes the step of detecting for a conflict only for fields of said corresponding record associated with said propagated old values.
Claim 8
Dependent Claim 48 words
The method of claim 1, wherein the step of updating said corresponding record based on at least said propagated small values and said propagated actual new values includes the step of updating fields in said corresponding record associated with said propagated new values and said propagated old values.
Claim 9
Independent Claim 174 words
A method of maintaining multiple copies of a body of data organized into records of related fields, said method comprising the computer-implemented steps of: processing a request to perform an update to a record within a first copy of said body of data at a first site; identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields; and propagating, to a second site storing a second copy of said body of data and capable of detecting conflicts therein, said update to said record by performing the steps of: (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields, (b) propagating to said second site small values as new values for the unmodified fields, and (c) propagating to said second site values of the updated fields subsequent to said processing as new values for the updated fields.
Claim 10
Independent Claim 174 words
A method of maintaining multiple copies of a body of data organized into records of related fields, said method comprising the computer-implemented steps of: processing a request to perform an update to a record within a first copy of said body of data at a first site; identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields; and propagating, to a second site storing a second copy of said body of data and capable of detecting conflicts therein, said update to said record by performing the steps of: (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields, (b) propagating to said second site small values as new values for the unmodified fields, and (c) propagating to said second site values of the updated fields subsequent to said processing as new values for the updated fields.
Claim 11
Dependent Claim 69 words
The method of claim 8, wherein the step of identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields includes the step of identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields based on said request to update said record.
Claim 12
Dependent Claim 64 words
The method of claim 8, wherein the step of identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields includes the step of identifying which of the related fields are unmodified fields and which of the related fields are updated fields based on said old values and said new values.
Claim 13
Dependent Claim 64 words
The method of claim 8, further comprising the step of: generating flag values for said fields, respectively, each of said flag values indicating whether or not a corresponding one of said fields is one of said updated fields; wherein the step of propagating, to said second site, said update to said record includes the step of propagating said flag values to said second site.
Claim 14
Dependent Claim 72 words
The method of claim 8, wherein the step of (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields includes the step of propagating values to said second site of all of said related fields prior to said processing as old values of all of said related fields.
Claim 15
Dependent Claim 130 words
The method of claim 8, further comprising the step of partitioning said record into a plurality of groups of said fields; wherein the step of (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields includes the steps of: propagating to said second site values of fields in a same group as updated fields, said values being prior to said processing, as old values for said fields in said same group as updated fields; and propagating to said second site small values of fields not in said same group as updated fields as old values for said fields not in said same group as updated fields.
Claim 16
Dependent Claim 77 words
The method of claim 8, further comprising the step of storing administrative flags for each of said fields; wherein the step of (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields includes the step of propagating to said second site small values as old values for fields indicated by said administrative flags.
Claim 17
Dependent Claim 70 words
The method of claim 8, wherein the step of (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields includes the step of propagating to said second site a value at least a gigabyte in size as an old value for one of said unmodified fields.
Claim 18
Dependent Claim 43 words
The method of claim 8, wherein the step of (b) propagating to said second site small values as new values for the unmodified fields includes the step of propagating to said second site null values as said new values for the unmodified fields.
Claim 19
Dependent Claim 16 words
The method of claim 8, wherein said body of data is organized into rows and columns.
Claim 20
Independent Claim 234 words
A method of maintaining multiple copies of a body of data organized into records of related fields, said method comprising the computer-implemented steps of: partitioning said record into a plurality of groups of said fields; processing a request to perform an update to a record within a first copy of said body of data at a first site; identifying which of the groups are unmodified groups and which of the groups are updated groups, wherein all fields of an unmodified group are not modified and at least one field is an updated group is updated, and propagating, to a second site storing a second copy of said body of data and capable of detecting conflicts therein, said update to said record by performing the steps of: (a) propagating to said second site values of at least one field in an updated group, said values being prior to said processing, as old values for said at least one field in said updated group, (b) propagating to said second site small values as old values for fields in an unmodified group, (c) propagating to said second site values of one or more fields in an updated group, said values being subsequent to said processing as new values for said one or more fields in said updated group, and (d) propagating to said second site small values as new values for said fields in an unmodified group.
Claim 21
Independent Claim 234 words
A method of maintaining multiple copies of a body of data organized into records of related fields, said method comprising the computer-implemented steps of: partitioning said record into a plurality of groups of said fields; processing a request to perform an update to a record within a first copy of said body of data at a first site; identifying which of the groups are unmodified groups and which of the groups are updated groups, wherein all fields of an unmodified group are not modified and at least one field is an updated group is updated, and propagating, to a second site storing a second copy of said body of data and capable of detecting conflicts therein, said update to said record by performing the steps of: (a) propagating to said second site values of at least one field in an updated group, said values being prior to said processing, as old values for said at least one field in said updated group, (b) propagating to said second site small values as old values for fields in an unmodified group, (c) propagating to said second site values of one or more fields in an updated group, said values being subsequent to said processing as new values for said one or more fields in said updated group, and (d) propagating to said second site small values as new values for said fields in an unmodified group.
Claim 22
Dependent Claim 53 words
The method of claim 18, wherein the step of identifying which of the groups are unmodified groups and which of the groups are updated groups includes the step of identifying which of the groups are unmodified groups and which of the groups are updated groups based on said request to update said record.
Claim 23
Dependent Claim 54 words
The method of claim 18, wherein the step of identifying which of the groups are unmodified groups and which of the groups are updated groups includes the step of identifying which of the groups are unmodified groups and which of the groups are updated groups based on said old values and said new values.
Claim 24
Dependent Claim 153 words
The method of claim 18, further comprising the step of identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields; wherein the step of (c) propagating to said second site values of one or more fields in an updated group, said values being subsequent to said processing, as new values for said one or more fields in said updated group includes the steps of: (c1) propagating to said second site small values as new values for unmodified fields of said one or more of said fields in said group as updated fields, and (c2) propagating to said second site values of the updated fields of said one or more of said fields in said group as updated fields as new values for the updated fields of said one or more of said fields in said group as updated fields.
Claim 25
Dependent Claim 64 words
The method of claim 21, further comprising the step of: generating flag values for said fields, respectively, each of said flag values indicating whether or not a corresponding one of said fields is one of said updated fields; wherein the step of propagating, to said second site, said update to said record includes the step of propagating said flag values to said second site.
Claim 26
Dependent Claim 75 words
The method of claim 18, wherein the step of (c) propagating to said second site values of one or more fields in an updated group, said values being subsequent to said processing, as new values for said one or more fields in said updated group includes the step of propagating to said second site said values of all said fields in said updated group as new values for all said fields in said updated group.
Claim 27
Dependent Claim 61 words
The method of claim 18, further comprising the step of storing administrative flags for each said fields; wherein the step of propagating, to a second site storing a second copy of said body of data, said update to said record includes the step of propagating to said second site small values as old values for fields indicated by said administrative flags.
Claim 28
Dependent Claim 12 words
The method of claim 18, wherein said small values comprise null values.
Claim 29
Dependent Claim 16 words
The method of claim 18, wherein said body of data is organized into rows and columns.
Claim 30
Dependent Claim 184 words
A computer-readable medium bearing instructions for maintaining multiple copies of a body of data organized into records of related fields, said instructions arranged to cause one or more processors to perform the steps of: processing a request to perform an update to a record within a first copy of said body of data at a first site; identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields; and propagating, to a second site storing a second copy of said body of data and capable of detecting conflicts therein, said update to said record by performing the steps of: (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing as old values for said at least one of said related fields, (b) propagating to said second site small values as new values for the unmodified fields, and (c) propagating to said second site values of the updated fields subsequent to said processing as new values for the updated fields.
Claim 31
Dependent Claim 184 words
A computer-readable medium bearing instructions for maintaining multiple copies of a body of data organized into records of related fields, said instructions arranged to cause one or more processors to perform the steps of: processing a request to perform an update to a record within a first copy of said body of data at a first site; identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields; and propagating, to a second site storing a second copy of said body of data and capable of detecting conflicts therein, said update to said record by performing the steps of: (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing as old values for said at least one of said related fields, (b) propagating to said second site small values as new values for the unmodified fields, and (c) propagating to said second site values of the updated fields subsequent to said processing as new values for the updated fields.
Claim 32
Dependent Claim 70 words
The computer-readable medium of claim 27, wherein the step of identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields includes the step of identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields based on said request to update said record.
Claim 33
Dependent Claim 65 words
The computer-readable medium of claim 27, wherein the step of identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields includes the step of identifying which of the related fields are unmodified fields and which of the related fields are updated fields based on said old values and said new values.
Claim 34
Dependent Claim 71 words
The computer-readable medium of claim 27, wherein: said instructions are further arranged to perform the step of generating flag values for said fields, respectively, each of said flag values indicating whether or not a corresponding one of said fields is one of said updated fields; and the step of propagating, to said second site, said update to said record includes the step of propagating said flag values to said second site.
Claim 35
Dependent Claim 73 words
The computer-readable medium of claim 27, wherein the step of (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields includes the step of propagating values to said second site of all of said related fields prior to said processing as old values of all of said related fields.
Claim 36
Dependent Claim 137 words
The computer-readable medium of claim 27, wherein: said instructions are further arranged to perform the step of partitioning said record into a plurality of groups of said fields; and the step of (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields includes the steps of: propagating to said second site values of fields in a same group as updated fields, said values being prior to said processing, as old values for said fields in said same group as updated fields; and propagating to said second site small values of fields not in said same group as updated fields as old values for said fields not in said same group as updated fields.
Claim 37
Dependent Claim 83 words
The computer-readable medium of claim 27, wherein: said instructions are further arranged to perform the step of storing administrative flags for each said fields; and the step of (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields includes the step of propagating to said second site small values as old values for fields indicated by said administrative flags.
Claim 38
Dependent Claim 71 words
The computer-readable medium of claim 27, wherein the step of (a) propagating to said second site values of at least one of said related fields, said values being prior to said processing, as old values for said at least one of said related fields includes the step of propagating to said second site a value at least a gigabyte in size as an old value for one of said unmodified fields.
Claim 39
Dependent Claim 44 words
The computer-readable medium of claim 27, wherein the step of (b) propagating to said second site small values as new values for the unmodified fields includes the step of propagating to said second site null values as said new values for the unmodified fields.
Claim 40
Dependent Claim 17 words
The computer-readable medium of claim 27, wherein said body of data is organized into rows and columns.
Claim 41
Dependent Claim 243 words
A computer-readable medium bearing instructions for maintaining multiple copies of a body of data organized into records of related fields, said instructions arranged for causing one or more processors to perform steps of: partitioning said record into a plurality of groups of said fields; processing a request to perform an update to a record within a first copy of said body of data at a first site; identifying which of the groups are unmodified groups and which of the groups are updated groups, wherein all fields of an unmodified group are not modified and at least one field is an updated group is updated; and propagating, to a second site storing a second copy of said body of data and capable of detecting conflicts therein, said update to said record by performing the steps of: (a) propagating to said second site values of at least one field in an updated group, said values being prior to said processing, as old values for said at least one field in said updated group, (b) propagating to said second site small values as old values for fields in an unmodified group, (c) propagating to said second site values of one or more fields in an updated group, said values being subsequent to said processing, as new values for said one or more fields in said updated group, and (d) propagating to said second site small values as new values for said fields in an unmodified group.
Claim 42
Dependent Claim 243 words
A computer-readable medium bearing instructions for maintaining multiple copies of a body of data organized into records of related fields, said instructions arranged for causing one or more processors to perform steps of: partitioning said record into a plurality of groups of said fields; processing a request to perform an update to a record within a first copy of said body of data at a first site; identifying which of the groups are unmodified groups and which of the groups are updated groups, wherein all fields of an unmodified group are not modified and at least one field is an updated group is updated; and propagating, to a second site storing a second copy of said body of data and capable of detecting conflicts therein, said update to said record by performing the steps of: (a) propagating to said second site values of at least one field in an updated group, said values being prior to said processing, as old values for said at least one field in said updated group, (b) propagating to said second site small values as old values for fields in an unmodified group, (c) propagating to said second site values of one or more fields in an updated group, said values being subsequent to said processing, as new values for said one or more fields in said updated group, and (d) propagating to said second site small values as new values for said fields in an unmodified group.
Claim 43
Dependent Claim 54 words
The computer-readable medium of claim 37, wherein the step of identifying which of the groups are unmodified groups and which of the groups are updated groups includes the step of identifying which of the groups are unmodified groups and which of the groups are updated groups based on said request to update said record.
Claim 44
Dependent Claim 55 words
The computer-readable medium of claim 37, wherein the step of identifying which of the groups are unmodified groups and which of thc groups are updated groups includes the step of identifying which of the groups are unmodified groups and which of the groups are updated groups based on said old values and said new values.
Claim 45
Dependent Claim 160 words
The computer-readable medium of claim 37, wherein: said instructions are further arranged for performing the step of identifying which of the related fields of said record are unmodified fields and which of the related fields of said record are updated fields; and the step of (c) propagating to said second site values of one or more fields in an updated group, said values being subsequent to said processing, as new values for said one or more fields in said updated group includes the steps of: (c1) propagating to said second site small values as new values for unmodified fields of said one or more of said fields in said group as updated fields, and (c2) propagating to said second site values of the updated fields of said one or more of said fields in said group as updated fields as new values for the updated fields of said one or more of said fields in said group as updated fields.
Claim 46
Dependent Claim 71 words
The computer-readable medium of claim 40, wherein: said instructions are further arranged for performing the step of generating flag values for said fields, respectively, each of said flag values indicating whether or not a corresponding one of said fields is one of said updated fields; and the step of propagating, to said second site, said update to said record includes the step of propagating said flag values to said second site.
Claim 47
Dependent Claim 76 words
The computer-readable medium of claim 37, wherein the step of (c) propagating to said second site values of one or more fields in an updated group, said values being subsequent to said processing, as new values for said one or more fields in said updated group includes the step of propagating to said second site said values of all said fields in said updated group as new values for all said fields in said updated group.
Claim 48
Dependent Claim 68 words
The computer-readable medium of claim 37, wherein: said instructions are further arranged for performing the step of storing administrative flags for each said fields; and the step of propagating, to a second site storing a second copy of said body of data, said update to said record includes the step of propagating to said second site small values as old values for fields indicated by said administrative flags.
Claim 49
Dependent Claim 13 words
The computer-readable medium of claim 37, wherein said small values are null values.
Claim 50
Dependent Claim 17 words
The computer-readable medium of claim 37, wherein said body of data is organized into rows and columns.

References Cited (Backward Citations)

US5737601A Cited
US5806075A Cited
US5870765A Cited
US5870759A Cited
US5884325A Cited
US5926816A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-05-02 2003-11-01 2004-05-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-05-02 2007-11-01 2008-05-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-05-02 2011-11-01 2012-05-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag