System and method for synchronizing data records between multiple databases
First Claim
1. A method of synchronizing data records stored in a first database associated with a host system and a second database associated with a communication device, comprising the steps of:
- associating a first pair of synchronization parameters with each data record stored in the first and second databases, the first pair including a first synchronization parameter associated with the first database, and a second synchronization parameter associated with the second database, the first pair of synchronization parameters stored at the first database;
updating a data record at the first database;
incrementing the first synchronization parameter associated with the updated data record at the first database;
transmitting a first update message from the first database to the second database, the first update message including the incremented first synchronization parameter, the second synchronization parameter, and the updated data record from the first database;
receiving the first update message at the second database; and
updating the data record at the second database using the information from the first update message, wherein the first synchronization parameter is a host synchronization parameter and is indicative of a current version of the data record stored at the first database, and the second synchronization parameter is a communication device synchronization parameter and is indicative of a current version of the data record stored at the second database.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for synchronizing data records between multiple databases is provided. Each database includes data records that are modified to include at least one pair of synchronization parameters. In a two-database system including a first database and a second database, each data record is modified to include synchronization parameters for both the first and second databases. When an update is made to a data record at one of the databases, an update message is transmitted to the other database including both synchronization parameters from the database where the update is made, along with the updated data record. An efficient master-slave configuration between the databases then enables either database to resolve conflicts without further communications. The system and method scale to systems having more than two databases by modifying the data records in at least one of the databases to include a pair of synchronization parameters for each of the other databases to which it is being synchronized, and by providing a multi-level master-slave configuration.
204 Citations
30 Claims
-
1. A method of synchronizing data records stored in a first database associated with a host system and a second database associated with a communication device, comprising the steps of:
-
associating a first pair of synchronization parameters with each data record stored in the first and second databases, the first pair including a first synchronization parameter associated with the first database, and a second synchronization parameter associated with the second database, the first pair of synchronization parameters stored at the first database;
updating a data record at the first database;
incrementing the first synchronization parameter associated with the updated data record at the first database;
transmitting a first update message from the first database to the second database, the first update message including the incremented first synchronization parameter, the second synchronization parameter, and the updated data record from the first database;
receiving the first update message at the second database; and
updating the data record at the second database using the information from the first update message, wherein the first synchronization parameter is a host synchronization parameter and is indicative of a current version of the data record stored at the first database, and the second synchronization parameter is a communication device synchronization parameter and is indicative of a current version of the data record stored at the second database. - View Dependent Claims (2, 4, 5, 6, 7, 8, 9)
providing a wireless data network for transmitting update messages between the two databases.
-
-
4. The method of claim 1, further comprising the steps of:
-
associating a second pair of synchronization parameters with each data record stored in the first and second databases, the second pair including a first synchronization parameter associated with the first database, and a second synchronization parameter associated with the second database, the second pair of synchronization parameters stored at the second database;
designating the second database as a master database and the first database as a slave database;
after receiving the first update message at the second database, then determining whether a conflict has occurred between the two databases; and
if a conflict has occurred, then ignoring the first update message received at the second database, wherein the first synchronization parameter of the second pair is a host synchronization parameter and is indicative of a current version of the data record stored at the first database, and the second synchronization parameter of the second pair is a communication device synchronization pair and is indicative of a current version of the data record stored at the second database.
-
-
5. The method of claim 4, wherein the determining step includes comparing the second synchronization parameter of the second pair stored at the second database with the second synchronization parameter of the first pair transmitted to the second database in the first update message.
-
6. The method of claim 1, further comprising the steps of:
-
designating the second database as a master and the first database as a slave;
updating the data record at the second database;
incrementing the second synchronization parameter associated with the updated data record at the second database;
transmitting a second update message from the second database to the first database, the second update message including the incremented second synchronization parameter, the first synchronization parameter, and the updated data record from the second database;
receiving the send update message at the first database; and
detecting a conflict between the first and second databases, and updating the data record at the first database using the information from the second update message.
-
-
7. The method of claim 1, wherein the associating step further includes the step of modifying the data records by appending the pair of synchronization parameters to the data records and storing the modified data records in the respective database.
-
8. The method of claim 1, wherein the updating step further includes the steps of:
-
storing the updated data record at the second database; and
incrementing the first synchronization parameter associated with the data record at the second database so that it is synchronized with the first synchronization parameter associated with the data record at the first database.
-
-
9. The method of claim 1, wherein the data records represent calendar entries associated with an electronic calendar system.
-
3. The method of 1, further comprising the step of:
designating one of the databases as the master database and the other database as a slave database.
-
10. A method of synchronizing data records stored in a host system and a portable data communication device, comprising the steps of:
-
associating a first device synchronization parameter and a first host synchronization parameter with each data record stored at the host system;
associating a second device synchronization parameter and a second host synchronization parameter with each data record stored at the portable data communication device;
if a data record is updated at the host system, then updating the first host synchronization parameter, and transmitting a first update message from the host system to the portable data communication device; and
if a data record is updated at the device, then updating the second device synchronization parameter, and transmitting a second update message from the portable data communication device to the host system, wherein the first and second host synchronization parameters are indicative of versions of data records stored at the host system, and the first and second device synchronization parameters are indicative of versions of records store at the portable data communication device. - View Dependent Claims (11, 12, 13, 14, 15)
receiving the first update message at the portable data communication device; and
if there is no conflict detected at the portable data communication device, then updating the data record at the portable data communication device using the information from the first update message.
-
-
14. The method of claim 10, further comprising the steps of:
-
receiving the second update message at the host system; and
if there is no conflict detected at the host system, then updating the data record at the host system using the information from the second update message.
-
-
15. The method of claim 10, further comprising the step of providing a wireless network for transmitting the update message between the host system and the portable data communication device.
-
16. A method of resolving conflicts in a data record synchronization system that synchronizes data records between a host system and a portable data communication device, comprising the steps of:
-
designating the host system as the master and the portable data communication device as the slave;
simultaneously updating a particular data record at both the host system and the portable data communication device;
transmitting a first update message from the host system to the portable data communication device, the first update message including a first host synchronization parameter, a first device synchronization parameter associated with the updated data record stored at the host system, and the updated data record stored at the host system;
transmitting a second update message from the portable data communication device to the host system, the second update message including a second host synchronization parameter, a second device synchronization parameter associated with the updated data record stored at the portable communication device, and the updated data record stored at the portable data communication device;
receiving the second update message at the host system, detecting a conflict has occurred for the particular data record, an ignoring the second update message; and
receiving the first update message at the portable data communication device, detecting a conflict has occurred for the particular data record, and updating the data record at the portable data communication device using the information from the first update message, wherein the first and second host synchronization parameters are indicative of versions of data records stored at the host system, and the first and second device synchronization parameters are indicative of versions of records store at the portable data communication device.
-
-
17. A system for synchronizing data records stored in a first and second database, comprising:
-
means for associating a first pair of synchronization parameters with each data record stored in the first and second databases, the first pair including a first synchronization parameter associated with the first database, and a second synchronization parameter associated with the second database, the first pair stored at the first database;
means for updating a data record at the first database;
means for incrementing the first synchronization parameter associated with the updated data record at the first database;
means for transmitting a first update message from the first database to the second database, the first update message including the incremented first synchronization parameter, the second synchronization parameter, and the updated data record from the first database;
means for receiving the first update message at the second database; and
means for updating the data record at the second database using the information from the first update message, wherein the first synchronization parameter is a host synchronization parameter and is indicative of a current version of the data record stored at the first database, and the second synchronization parameter is a communication device synchronization parameter and is indicative of a current version of the data record stored at the second database.
-
-
18. A data record synchronization system, comprising:
-
a host system coupled to a host database, wherein the host database stores data records that have been modified to include a first host synchronization parameter and a first device synchronization parameter in each data record;
a portable data communication device coupled to a device database, wherein the device database stores data records that have been modified to include a second host synchronization parameter and a second device synchronization parameter in each data record;
a network coupling the host system to the portable data communication device;
software operating at the host system for updating a data record and for generating a first update message that is transmitted from the host system to the portable data communication device when a data record is updated at the host system, the first update message including the first host synchronization parameter, the first device synchronization parameters and the updated data record stored at the host system; and
software operating at the portable data communication device for updating a data record and for generating a second update message that is transmitted from the portable data communication device to the host system when a data record is updated at the portable data communication device, the second update message including the second host synchronization parameter, the second device synchronization parameter, and the updated data record stored at the portable data communication device, wherein the first and second host synchronization parameters are indicative of versions of data records stored at the host system, and the first and second device synchronization parameters are indicative of versions of records store at the portable data communication device. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A method of synchronizing data records stored in a portable data communication device and at least two host systems, comprising the steps of:
-
associating a pair of synchronization parameters with each data record stored in the host systems, the pair including a first synchronization parameter associated with one of the host systems, and a second synchronization parameter associated with the portable data communication device;
associating two pairs of synchronization parameters with each data record stored in the portable data communication device, each pair including a first synchronization parameter associated with one of the host systems, and a second synchronization parameter associated with the portable data communication device;
updating a data record at one of the host systems;
incrementing the first synchronization parameter associated with the updated data record at the one host system;
transmitting a first update message from the one host system to the portable data communication device, the first update message including the incremented first synchronization parameter, the second synchronization parameter, and the updated data record from the one host system;
receiving the first update message at the portable data communication device; and
updating the data record at the portable data communication device using the information from the first update message, wherein each first synchronization parameters are indicative of versions of the data records stored at the host systems, and each second synchronization parameters are indicative of versions of records stored at the portable data communication device. - View Dependent Claims (25)
incrementing the second synchronization parameter associated with the updated data record at the portable data communication device for the second host system;
transmitting a second update message from the portable data communication device to the second host system, the second update message including the incremented second synchronization parameter for the second host system, the first synchronization parameter for the second host system, and the updated data record from the portable data communication device;
receiving the second update message at the second host system; and
updating the data record at the second host system using the information from the second update message.
-
-
26. A method of synchronizing data records stored in a portable data communication device and at least two host systems, comprising the steps of:
-
associating a pair of synchronization parameters with each data record stored in the host systems, the pair including a first synchronization parameter associated with one of the host systems, and a second synchronization parameter associated with the portable data communication device;
associating two pairs of synchronization parameters with each data record stored in the portable data communication device, each pair including a first synchronization parameter associated with one of the host systems, and a second synchronization parameter associated with the portable data communication device;
updating a data record at one of the host systems;
incrementing the first synchronization parameter associated with the updated data record at the one host system; and
transmitting a first update message from the one host system to the portable data communication device, the first update message including the incremented first synchronization parameter, the second synchronization parameter, and the updated data record from the one host system, wherein each first synchronization parameter is indicative of a version of the data records stored at the host systems, and each second synchronization parameter is indicative of a version of the data records stored at the portable data communication device. - View Dependent Claims (27, 28, 29, 30)
receiving the first update message at the portable data communication device;
updating the data record at the portable data communication device using the information from the first update message;
updating a second data record at the portable data communication device;
incrementing the second synchronization parameter associated with the updated second data record at the portable data communication device for the one host system;
incrementing the second synchronization parameter associated with the updated second data record at the portable data communication device for the second host system;
transmitting a second update message from the portable data communication device to the one host system, the second update message including the incremented second synchronization parameter for the one host system, the first synchronization parameter for the one host system, and the updated second data record from the portable data communication device;
transmitting a third update message from the portable data communication device to the second host system, the third update message including the incremented second synchronization parameter for the second host system, the first synchronization parameter for the second host system, and the updated second data record from the portable data communication device;
receiving the second update message at the one host system;
updating the second data record at the one host system using the information from the second update message;
receiving the third update message at the second host system; and
updating the second data record at the second host system using the information from the third update message.
-
-
28. The method of claim 26, further comprising the steps of:
-
designating the one host system as the master, the portable data communication device as a first level slave, and the second host system as a second level slave;
simultaneously updating the data record at the portable data communication device;
incrementing the second synchronization parameter associated with the updated data record at the portable data communication device for the one host system;
incrementing the second synchronization parameter associated with the updated data record at the portable data communication device for the second host system;
transmitting a second update message from the portable data communication device to the one host system, the second update message including the incremented second synchronization parameter for the one host system, the first synchronization parameter for the one host system, and the updated data record from the portable data communication device;
transmitting a third update message from the portable data communication device to the second host system, the third update message including the incremented second synchronization parameter for the second host system, the first synchronization parameter for the second host system, and the updated data record from the portable data communication device;
receiving the first update message at the portable data communication device;
updating the data record at the portable data communication device using the information from the first update message to generate a twice updated data record;
incrementing the second synchronization parameter associated with the second updated data record at the portable data communication device for the second host system to generate a twice incremented second synchronization parameter associated with the twice updated data record at the portable data communication device for the second host system;
transmitting a fourth update message from the portable data communication device to the second host system, the fourth update message including the twice incremented second synchronization parameter for the second host system, the first synchronization parameter for the second host system, and the twice updated data record from the portable data communication device;
receiving the second update message at the one host system, detecting that a conflict has occurred for the data record, and ignoring the second update message;
receiving the third update message at the second host system;
updating the data record at the second host system using the information from the third update message;
receiving the fourth update message at the second host system; and
updating the data record at the second host system using the information from the fourth update message.
-
-
29. The method of claim 26, further comprising the steps of:
-
designating the portable data communication device as master and the one host system and the second host system as slaves;
simultaneously updating the data record at the portable data communication device;
incrementing the second synchronization parameter associated with the updated data record at the portable data communication device for the one host system;
incrementing the second synchronization parameter associated with the updated data record at the portable data communication device for the second host system;
transmitting a second update message from the portable data communication device to the one host system, the second update message including the incremented second synchronization parameter for the one host system, the first synchronization parameter for the one host system, and the updated data record from the portable data communication device;
transmitting a third update message from the portable data communication device to the second host system, the third update message including the incremented second synchronization parameter for the second host system, the first synchronization parameter for the second host system, and the updated data record from the portable data communication device;
receiving the first update message at the portable data communication device, detecting that a conflict has occurred for the data record, and ignoring the first update message;
receiving the second update message at the one host system;
updating the data record at the one host system using the information from the second update message;
receiving the third update message at the second host system; and
updating the data record at the second host system using the information from the third update message.
-
-
30. The method of claim 26, further comprising the steps of:
-
designating the one host system as the master, the portable data communication device as a first level slave, and the second host system as a second level slave;
simultaneously updating the data record at the second host system;
incrementing the first synchronization parameter associated with the updated data record at the second host system;
transmitting a second update message from the second host system to the portable data communication device, the second update message including the incremented first synchronization parameter, the second synchronization parameter, and the updated data record from the second host system;
receiving the first update message at the portable data communication device;
updating the data record at the portable data communication device using the information from the first update message;
incrementing the second synchronization parameter associated with the updated data record at the portable data communication device for the second host system;
transmitting a third update message from the portable data communication device to the second host system, the fourth update message including the incremented second synchronization parameter for the second host system, the first synchronization parameter for the second host system, and the updated data record from the portable data communication device;
receiving the second update message at the portable data communication device, detecting that a conflict has occurred for the data record, and ignoring the second update message;
receiving the third update message at the second host system; and
updating the data record at the second host system using the information from the third update message.
-
Specification