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
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 21:55
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 |