System and method for database synchronization
First Claim
1. A method of maintaining synchronization among at least two databases, comprising:
- receiving a data update request for a data record at a database;
comparing a timestamp of the data record to a timestamp of the data update request;
comparing an operational priority of the data record to the operational priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record;
updating the data in the data record with the data update request in response to the operational priority of the data update request being higher than the operational priority of the data record;
comparing a node priority of the data record to a node priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record and the operational priority of the data update request being substantially identical to the operational priority of the data record; and
updating the data in the data record with data associated with the data update request in response to the node priority of the data update request being higher than the node priority of the data record.
10 Assignments
0 Petitions
Accused Products
Abstract
A method of maintaining synchronization among multiple databases is provided. The method includes the steps of receiving a data update request for a data record at a database, and comparing a timestamp of the data record to a timestamp of the data update request. The data in the data record is updated with the data update request if the timestamp of the data update request is substantially greater than the timestamp of the data record. Otherwise, the data in the data record is updated with the data update request if the operational priority of the data update request is higher than the operational priority of the data record. Alternatively, the data in the data record is updated with the data update request if the node priority of the data update request is higher than the node priority of the data record.
-
Citations
45 Claims
-
1. A method of maintaining synchronization among at least two databases, comprising:
-
receiving a data update request for a data record at a database;
comparing a timestamp of the data record to a timestamp of the data update request;
comparing an operational priority of the data record to the operational priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record;
updating the data in the data record with the data update request in response to the operational priority of the data update request being higher than the operational priority of the data record;
comparing a node priority of the data record to a node priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record and the operational priority of the data update request being substantially identical to the operational priority of the data record; and
updating the data in the data record with data associated with the data update request in response to the node priority of the data update request being higher than the node priority of the data record. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
preparing an updated data record in response to the update data request; and
setting an override SMS flag of the updated data record to true in response to the data record node priority being service management system priority level.
-
-
5. The method, as set forth in claim 1, further comprising:
-
preparing an updated data record corresponding to the data update request in response to not locating the data record in the database pertaining to the update data request; and
inserting the updated data record in the database.
-
-
6. The method, as set forth in claim 1, further comprising:
-
preparing an updated data record corresponding to the data update request in response to not locating the data record in the database pertaining to the update data request;
setting a delete flag of the updated record to true; and
inserting the updated data record in the database.
-
-
7. The method, as set forth in claim 6, further comprising resetting the delete flag of the inserted data record in response to a timestamp of an SMS priority update request being earlier than the timestamp of the inserted data record.
-
8. The method, as set forth in claim 1, further comprising:
-
preparing an updated data record corresponding to the data update request by;
reading the data record into a temporary buffer;
modifying the data in the temporary buffer;
update the timestamp, version number, and node priority of the data record in the temporary buffer; and
replacing the data record in the database with the updated data record in the temporary buffer.
-
-
9. The method, as set forth in claim 1, further comprising:
-
comparing a version number of the data record and the data update request; and
modifying the data record in the database in response to the version number of the data update request being greater than that of the data record.
-
-
10. A method of processing data update requests originating from multiple sources at a database, comprising:
-
receiving a data update request associated with a data record in the database;
locating the data record in the database;
comparing a timestamp of the data record to a timestamp of the data update request;
updating the data in the data record with the data update request in response to the timestamp of the data update request being a predetermined conflict time window later than the timestamp of the data record;
comparing an operational priority of the data record to the operational priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record;
updating the data in the data record with the data update request in response to the operational priority of the data update request being higher than the operational priority of the data record;
comparing a node priority of the data record to the node priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record and the operational priority of the data update request being substantially identical to the operational priority of the data record;
updating the data in the data record with the data update request in response to the node priority of the data update request being higher than the node priority of the data record; and
ignoring the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record, the operational priority of the data update request being substantially identical to the operational priority of the data record, and the node priority of the data update request being substantially identical to the node priority of the data record. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
preparing an updated data record in response to the update data request; and
setting an override SMS flag of the updated data record to true in response to the data record node priority being service management system priority level.
-
-
13. The method, as set forth in claim 10, further comprising:
-
preparing an updated data record corresponding to the data update request in response to not locating the data record in the database pertaining to the update data request; and
inserting the updated data record in the database.
-
-
14. The method, as set forth in claim 10, further comprising:
-
preparing an updated data record corresponding to the data update request in response to not locating the data record in the database pertaining to the update data request;
setting a delete flag of the updated record to true; and
inserting the updated data record in the database.
-
-
15. The method, as set forth in claim 14, further comprising resetting the delete flag of the inserted data record in response to a timestamp of an SMS priority update request being earlier than the timestamp of the inserted data record.
-
16. The method, as set forth in claim 10, further comprising:
-
preparing an updated data record corresponding to the data update request by;
reading the data record into a temporary buffer;
modifying the data in the temporary buffer;
update the timestamp, version number, and node priority of the data record in the temporary buffer; and
replacing the data record in the database with the updated data record in the temporary buffer.
-
-
17. The method, as set forth in claim 10, further comprising:
-
comparing a version number of the data record and the data update request; and
modifying the data record in the database in response to the version number of the data update request being greater than that of the data record.
-
-
18. The method, as set forth in claim 15, further comprising deleting data records in the database having a true delete flag.
-
19. A method of handling data update requests for a database, comprising:
-
receiving a data update request for a data record in the database;
comparing a version number of the data record to a version number of the data update request;
resolving update conflict in response to the version number of the data update request being less than or equal to that of the data record, comprising;
comparing a timestamp of the data record to a timestamp of the data update request;
updating the data in the data record with the data update request in response to the timestamp of the data update request being a predetermined conflict time window later than the timestamp of the data record;
comparing an operational priority of the data record to the operational priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record;
updating the data in the data record with the data update request in response to the operational priority of the data update request being higher than the operational priority of the data record;
comparing a node priority of the data record to the node priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record and the operational priority of the data update request being substantially identical to the operational priority of the data record;
updating the data in the data record with the data update request in response to the node priority of the data update request being higher than the node priority of the data record; and
ignoring the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record, the operational priority of the data update request being substantially identical to the operational priority of the data record, and the node priority of the data update request being substantially identical to the node priority of the data record. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
preparing an updated data record in response to the update data request; and
setting an override SMS flag of the updated data record to true in response to the data record node priority being service management system priority level.
-
-
22. The method, as set forth in claim 19, further comprising:
-
preparing an updated data record corresponding to the data update request in response to not locating the data record in the database pertaining to the update data request; and
inserting the updated data record in the database.
-
-
23. The method, as set forth in claim 19, further comprising:
-
preparing an updated data record corresponding to the data update request in response to not locating the data record in the database pertaining to the update data request;
setting a delete flag of the updated record to true; and
inserting the updated data record in the database.
-
-
24. The method, as set forth in claim 23, further comprising resetting the delete flag of the inserted data record in response to a timestamp of an SMS priority update request being earlier than the timestamp of the inserted data record.
-
25. The method, as set forth in claim 19, further comprising:
-
preparing an updated data record corresponding to the data update request by;
reading the data record into a temporary buffer;
modifying the data in the temporary buffer;
update the timestamp, version number, and node priority of the data record in the temporary buffer; and
replacing the data record in the database with the updated data record in the temporary buffer.
-
-
26. The method, as set forth in claim 19, further comprising:
-
comparing a version number of the data record and the data update request; and
modifying the data record in the database in response to the version number of the data update request being greater than that of the data record.
-
-
27. The method, as set forth in claim 26, further comprising periodically deleting data records in the database having a true delete flag.
-
28. A database system, comprising:
-
a data update request having a data update and a timestamp, an operational priority, and a node priority associated with the data update; and
a database operable to receive the data update request, update data in a data record associated with the data update request in response to the timestamp of the data update request being substantially greater than a timestamp stored in the data record, update data in the data record in response to the operational priority of the data update request being higher than an operational priority stored in the data record, or update data in the data record in response to the node priority of the data update request being higher than a node priority stored in the data record. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer program embodied on a computer-readable medium for maintaining synchronization among multiple identical databases, the computer program being operable to:
-
receive a data update request for a data record at a database;
compare a timestamp of the data record to a timestamp of the data update request;
update data in the data record with data associated with the data update request in response to the timestamp of the data update request being greater than the timestamp of the data record;
compare an operational priority of the data record to the operational priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record;
update the data in the data record with the data update request in response to the operational priority of the data update request being higher than the operational priority of the data record;
compare a node priority of the data record to a node priority of the data update request in response to the timestamp of the data update request being substantially identical to the timestamp of the data record and the operational priority of the data update request being substantially identical to the operational priority of the data record; and
update the data in the data record with the data update request in response to the node priority of the data update request being higher than the node priority of the data record. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
prepare an updated data record in response to the update data request; and
set an override SMS flag of the updated data record to true in response to the data record node priority being service management system priority level.
-
-
41. The computer program, as set forth in claim 37, wherein the computer program is further operable to:
-
prepare an updated data record corresponding to the data update request in response to not locating the data record in the database pertaining to the update data request; and
insert the updated data record in the database.
-
-
42. The computer program, as set forth in claim 37, wherein the computer program is further operable to:
-
prepare an updated data record corresponding to the data update request in response to not locating the data record in the database pertaining to the update data request;
set a delete flag of the updated record to true; and
insert the updated data record in the database.
-
-
43. The computer program, as set forth in claim 42, wherein the computer program is further operable to reset the delete flag of the inserted data record in response to a timestamp of an SMS priority update request being earlier than the timestamp of the inserted data record.
-
44. The computer program, as set forth in claim 37, wherein the computer program is further operable to prepare an updated data record corresponding to the data update request by reading the data record into a temporary buffer, modifying the data in the temporary buffer, updating the timestamp, version number, and node priority of the data record in the temporary buffer, and replacing the data record in the database with the updated data record in the temporary buffer.
-
45. The computer program, as set forth in claim 37, wherein the computer program is further operable to:
-
compare a version number of the data record and the data update request; and
modify the data record in the database in response to the version number of the data update request being greater than that of the data record.
-
Specification