Method for data replication with conflict detection
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
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.
127 Citations
45 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. 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. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. 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. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. 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. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
-
Specification