Method and apparatus for real time creation and modification of a change log for multi-server synchronization
First Claim
Patent Images
1. A method for synchronizing a database utilized by a client device with a plurality of servers in which one server in the plurality of servers has the database, the method comprising:
- utilizing a change log with a client database for synchronizing the database;
identifying dirty bits set in the client database to form a group of identified database modifications, wherein the dirty bits indicate whether a record in the client database has been inserted, modified, or deleted;
modifying the change log based on the group of identified database modifications, wherein the change log is used to synchronize the database;
clearing identified dirty bits;
sending changes to the one server having the database, wherein the changes are appended to the change log starting from a last change index in the change log that is associated with the one server;
receiving modifications from the one server after sending the changes;
adding the modifications received from the one server to the client database, wherein the added data entries are marked using dirty bits;
identifying the dirty bits set in the client database to form another group of identified database modifications and clearing the dirty bits; and
modifying the change log based on the another group of identified database modifications to append the identified database modifications to the change log, wherein the change log is used to synchronize the database.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus, and computer instructions for synchronizing a database utilized by a client device with a set of servers in which one server has the database. A change log is used with a client database for synchronizing the database. Dirty bits set in the client database are identified and a change log is modified based on the identified dirty bits. This change log is used to synchronize the database on the server with a client database on the client device.
32 Citations
18 Claims
-
1. A method for synchronizing a database utilized by a client device with a plurality of servers in which one server in the plurality of servers has the database, the method comprising:
-
utilizing a change log with a client database for synchronizing the database;
identifying dirty bits set in the client database to form a group of identified database modifications, wherein the dirty bits indicate whether a record in the client database has been inserted, modified, or deleted;
modifying the change log based on the group of identified database modifications, wherein the change log is used to synchronize the database;
clearing identified dirty bits;
sending changes to the one server having the database, wherein the changes are appended to the change log starting from a last change index in the change log that is associated with the one server;
receiving modifications from the one server after sending the changes;
adding the modifications received from the one server to the client database, wherein the added data entries are marked using dirty bits;
identifying the dirty bits set in the client database to form another group of identified database modifications and clearing the dirty bits; and
modifying the change log based on the another group of identified database modifications to append the identified database modifications to the change log, wherein the change log is used to synchronize the database. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for synchronizing a client database utilized by a client device, the method comprising:
-
setting a dirty bit in the client database for each modification of a data entry since a last synchronization, wherein a group of dirty bits is set to indicate whether the data entry has been inserted, modified, or deleted;
adding change records to a change log based on the group of dirty bits;
clearing the group of dirty bits after the change records are added to the change log; and
updating a server from the change log.
-
-
8. A data processing for synchronizing a database utilized by a client device with a plurality of servers in which one server in the plurality of servers has the database, the data processing system comprising:
-
a bus system;
a communications unit connected to the bus system;
a memory connected to the bus system, wherein the memory includes a set of instructions; and
a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to utilize a change log with a client database for synchronizing the database;
identify dirty bits set in the client database to form a group of identified database modifications, wherein the dirty bits indicate whether a record in the client database has been inserted, modified, or deleted;
modify the change log based on the group of identified database modifications in which the change log is used to synchronize the database;
clear identified dirty bits;
send changes to the one server having the database, wherein the changes are appended to the change log starting from a last change index in the change log that is associated with the one server;
receive modifications from the one server after sending the changes;
add the modifications received from the one server to the client database, wherein the added data entries are marked using dirty bits;
identify the dirty bits set in the client database to form another group of identified database modifications and clearing the dirty bits; and
modify the change log based on the another group of identified database modifications to append the identified database modifications to the change log, wherein the change log is used to synchronize the database.
-
-
9. A data processing system for synchronizing a client database utilized by a client device, the data processing system comprising:
-
a bus system;
a communications unit connected to the bus system;
a memory connected to the bus system, wherein the memory includes a set of instructions; and
a processing unit connected to the bus system, wherein the processing unit executes the set of instructions to set a dirty bit in the client database for each modification of a data entry since a last synchronization in which a group of dirty bits are set to indicate whether the data entry has been inserted, modified, or deleted;
add change records to a change log based on the group of dirty bits;
clear the group of dirty bits alter the change records are added to the change log; and
update a server from the change log.
-
-
10. A data processing system for synchronizing a database
utilized by a client device with a plurality of servers in which one server in the plurality of servers has the database, the data processing system comprising: -
utilizing means for utilizing a change log with a client database for synchronizing the database;
identifying means for identifying dirty bits set in the client database to form a group of identified database modifications, wherein the dirty bits indicate whether a record in the client database has been inserted, modified, or deleted;
modifying means for modifying the change log based on the group of identified database modifications, wherein the change log is used to synchronize the database clearing means for clearing identified dirty bits;
sending means for sending changes to the one server having the database, wherein the changes are appended to the change log starting from a last change index in the change log that is associated with the one server;
receiving means for receiving modifications from the one server after sending the changes;
adding means for adding the modifications received from the one server to the client database, wherein the added data entries are marked using dirty bits;
identifying means for identifying the dirty bits set in the client database to form another group of identified database modifications and clearing means for clearing the dirty bits; and
modifying means for modifying the change log based on the another group of identified database modifications to append the identified database modifications to the change log, wherein the change log is used to synchronize the database. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A data processing system for synchronizing a client database utilized by a client device, the data processing system comprising:
-
setting means for setting a dirty bit in the client database for each modification of a data entry since a last synchronization, wherein a group of dirty bits are set to indicate whether the data entry has been inserted, modified, or deleted;
adding means for adding change records to a change log based on the group of dirty bits;
clearing means for clearing the group of dirty bits after the change records are added to the change log; and
updating means for updating a server from the change log.
-
-
17. A computer program product in a computer readable medium for synchronizing a database utilized by a client device with a plurality of servers in which one server in the plurality of servers has the database, the computer program product comprising:
-
first instructions for utilizing a change log with a client database for synchronizing the database;
second instructions for identifying dirty bits set in the client database to form a group of identified database modifications, wherein the dirty bits indicate whether a record in the client database has been inserted, modified, or deleted;
third instructions for modifying the change log based on the group of identified database modifications, wherein the change log is used to synchronize the database;
fourth instructions for clearing identified dirty bits;
fifth instructions for sending chances to the one server having the database, wherein the changes are appended to the change log starting from a last change index in the change log that is associated with the one server;
sixth instructions for receiving modifications from the one server after sending the changes;
seventh instructions for adding the modifications received from the one server to the client database, wherein the added data entries are marked using dirty bits;
eighth instructions for identifying the dirty bits set in the client database to form another group of identified database modifications and clearing means for clearing the dirty bits; and
ninth instructions for modifying the change log based on the another group of identified database modifications to append the identified database modifications to the change log, wherein the change log is used to synchronize the database.
-
-
18. A computer program product in a computer readable medium for synchronizing a client database utilized by a client device, the computer program product comprising:
-
first instructions for setting a dirty bit in the client database for each modification of a data entry since a last synchronization, wherein a group of dirty bits are set to indicate whether the data entry has been inserted, modified, or deleted;
second instructions for adding change records to a change log based on the group of dirty bits;
third instructions for clearing the group of dirty bits after the change records are added to the change log; and
fourth instructions for updating a sewer from the change log.
-
Specification