System for synchronizing data between computers using a before-image of data
First Claim
1. A method of synchronizing values of data items on a plurality of computers, each data item having a respective initial value at a time of a last synchronization between a first computer and a second computer, comprising the steps of:
- storing a first database on a first computer, the first database including a first collection of data items;
generating a before-image collection of data items on the first computer from the first collection;
assigning each data item in the before-image collection with a respective before value, the before values being equal to corresponding initial values from the first collection;
modifying a data item in the first collection so a current value differs from the corresponding before value;
identifying the modified data item from the current values of the data items in the first collection and the before values of the data items in the before-image collection; and
without knowledge of the current value of data items on a second computer, building a modification operation for the modified data item, the modification operation calculated to yield the current value from the before value for the modified data item.
2 Assignments
0 Petitions
Accused Products
Abstract
A database synchronizer facilitates computing systems which have client-side and server-side applications that share data in similar database structures, but which do not maintain a continuous connection to a single shared data source. In general, a database synchronizer is used to share data among many nodes on the computing system. The database synchronizer is used to synchronize the data in a central database for a particular client with the data on that client'"'"'s intermittently-connected computer. Updates performed by either client or server are propagated to the other side when a connection is established and eventually from the server to other clients in the system.
490 Citations
36 Claims
-
1. A method of synchronizing values of data items on a plurality of computers, each data item having a respective initial value at a time of a last synchronization between a first computer and a second computer, comprising the steps of:
-
storing a first database on a first computer, the first database including a first collection of data items; generating a before-image collection of data items on the first computer from the first collection; assigning each data item in the before-image collection with a respective before value, the before values being equal to corresponding initial values from the first collection; modifying a data item in the first collection so a current value differs from the corresponding before value; identifying the modified data item from the current values of the data items in the first collection and the before values of the data items in the before-image collection; and without knowledge of the current value of data items on a second computer, building a modification operation for the modified data item, the modification operation calculated to yield the current value from the before value for the modified data item. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for synchronizing values of data items on a plurality of computers, each data item having a respective initial value at a time of a last synchronization between a first computer and a second computer, the system comprising:
-
a first database stored on a first computer, the first database including a collection of data items; a before-image collection of data items stored on the first computer, the before-image collection derived from the first collection; a respective before value assigned to each data item in the before-image collection, the before values being equal to corresponding initial values stored in the first collection; modifications to a data item in the first collection so a current value differs from the corresponding before value; an identification of the modified data item calculated from the current values of the data items in the first collection with the before values of the data items in the before-image collection; and a modification operation for the modified data item, the modification operation calculated, without knowledge of the current value of data items on a second computer, to yield the current value from the initial value for the modified data item. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. In a database synchronizer, a method of detecting modified data items stored in a database having mutable and immutable data items, comprising the steps of:
-
generating a set of mutable data items exclusive of immutable data items from the database; and detecting a modification to a mutable data item using the set of mutable data items. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. In a database synchronizer, a system for detecting modified data items stored in a database having mutable and immutable data items, comprising:
-
a set of mutable data items exclusive of immutable data items selected from the database; and a detection mechanism using the set of mutable data items to detect a modified mutable data item. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A method of validating stored data in a database, the stored data being modifiable from initial values to current values, comprising the steps of:
-
receiving data from a remote source; storing the received data into the database; receiving a checksum value from the remote source, the checksum value representing the initial values in the database as viewed by the remote source; determining the initial values of the data items in the database after data has been modified; calculating a checksum value from the initial values, the calculated checksum value representing initial values in the database; and comparing the calculated checksum value to the received checksum value to validate the initial values. - View Dependent Claims (31, 32, 33, 34, 35, 36)
-
Specification