Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated
First Claim
1. A method for updating at least one record in each of a plurality of replicated databases, said method comprising the steps of:
- selecting one of said plurality of databases as a selected database with the remaining databases being non-selected databases;
transmitting to each of said non-selected databases update data for updating said at least one record and pointer data identifying said selected database;
redirecting queries regarding said at least one record made to said non-selected databases to said selected database in accordance with said pointer data;
transmitting to said selected database said update data for updating said at least one record in said selected database;
updating said at least one record in said selected database with said update data;
instructing said non-selected databases to update said at least one record with said update data; and
instructing said non-selected databases to clear said pointer data so that queries regarding said at least one record are once again handled by said non-selected databases.
5 Assignments
0 Petitions
Accused Products
Abstract
A database system comprises a plurality of replicated databases and a database provisioning system such that when a record needs to be updated, the database provisioning system selects one of the replicated databases as a selected database with the remaining databases being non-selected databases. The provisioning system transmits to each non-selected database update data for updating the record and pointer data that identifies the selected database. The update data is placed in a memory queue in each non-selected database while the pointer data is written into a pointer field in the record being updated in each non-selected database. The non-selected databases then each transmit a ready-to-commit acknowledgment to the provisioning system. The provisioning system then transmits the update data to the selected database. The pointer field of the record being updated in the selected database is reset indicating that the selected database has been selected. The selected database updates the record with the update data and sends a commit acknowledgment to the provisioning system confirming update. The provisioning system then instructs the non-selected databases to update the record with the update data and to clear the pointer field.
156 Citations
18 Claims
-
1. A method for updating at least one record in each of a plurality of replicated databases, said method comprising the steps of:
-
selecting one of said plurality of databases as a selected database with the remaining databases being non-selected databases;
transmitting to each of said non-selected databases update data for updating said at least one record and pointer data identifying said selected database;
redirecting queries regarding said at least one record made to said non-selected databases to said selected database in accordance with said pointer data;
transmitting to said selected database said update data for updating said at least one record in said selected database;
updating said at least one record in said selected database with said update data;
instructing said non-selected databases to update said at least one record with said update data; and
instructing said non-selected databases to clear said pointer data so that queries regarding said at least one record are once again handled by said non-selected databases. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for updating at least one record in each of a plurality of replicated databases, said method comprising the steps of:
-
selecting one of said plurality of databases as a selected database with the remaining databases being non-selected databases;
transmitting to each of said non-selected databases update data for updating said at least one record and pointer data identifying said selected database;
holding said update data in a queue in each of said non-selected databases;
updating a pointer field in said at least one record in each of said plurality of non-selected databases with said pointer data, each of said non-selected databases generating a ready-to-commit acknowledgment indicating receipt of said update data and said pointer data;
if said ready-to-commit acknowledgment is not generated by each of said non-selected databases within a first predetermined amount of time, then;
instructing each of said non-selected databases to delete said update data from each respective queue; and
instructing each of said non-selected databases to clear said pointer data from each respective pointer field;
otherwise;
transmitting to said selected database said update data for updating said at least one record;
updating said at least one record in said selected database with said update data and a pointer field in said selected database indicating that said selected database is the selected database, said selected database generating a commit acknowledgment indicating that said at least one record has been updated;
if said commit acknowledgment is not generated by said selected database within a second predetermined time, then;
instructing each of said non-selected databases to delete said update data from each respective queue; and
instructing each of said non-selected databases to clear said pointer data from each respective pointer field;
otherwise;
instructing each of said non-selected databases to update said at least one record with said update data; and
instructing said non-selected databases to clear said pointer data.
-
-
10. A database system comprising;
-
a plurality of replicated databases, each of said plurality of replicated databases comprising a plurality of records; and
a database provisioning system having a provisioning system processor configured to control said plurality of replicated databases so as to update at least one record of said plurality of records in each of said plurality of replicated databases, as necessary, said provisioning system processor being programmed to;
select one of said plurality of replicated databases as a selected database with the remaining databases being non-selected databases;
transmit to each of said non-selected databases update data for updating said at least one record and pointer data identifying said selected database;
redirect queries regarding said at least one record made to said non-selected databases to said selected database in accordance with said pointer data;
transmit to said selected database said update data for updating said at least one record in said selected database, said at least one record in said selected database being updated with said update data;
instruct said non-selected databases to update said at least one record with said update data; and
instruct said non-selected databases to clear said pointer data so that queries regarding said at least one record are once again handled by said non-selected databases. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A database system comprising:
-
a plurality of replicated databases, each of said plurality of replicated databases comprising a memory queue and a plurality of records each including a pointer field; and
a database provisioning system having a provisioning system processor configured to control said plurality of replicated databases so as to update at least one record of said plurality of records in each of said plurality of replicated databases, as necessary, said provisioning system processor being programmed to;
select one of said plurality of replicated databases as a selected database with the remaining databases being non-selected databases;
transmit to each of said non-selected databases update data for updating said at least one record and pointer data identifying said selected database, said update data being stored in said memory queue in each of said non-selected databases and said pointer field in said at least one record in each of said non-selected databases being updated with said pointer data;
redirect queries regarding said at least one record made to said non-selected databases to said selected database in accordance with said pointer data;
transmit to said selected database said update data to update said at least one record in said selected database with said update data once a ready-to-commit acknowledgment signal is received from each of said non-selected databases in a first predetermined amount of time indicating receipt of said update data and said pointer data, if said ready-to-commit acknowledgment signal is not received from each of said non-selected databases within said first predetermined period of time, then said provisioning system processor is programmed to;
instruct each of said non-selected databases to delete said update data from each respective memory queue; and
instruct each of said non-selected databases to clear said pointer data from each respective pointer field so that queries regarding said at least one record are once again handled by said non-selected databases;
otherwise, said provisioning system processor is programmed to;
instruct said non-selected databases to update each respective said at least one record with said update data and to clear said pointer data from each respective pointer field so that queries regarding said at least one record are once again handled by said non-selected databases once a commit acknowledgment signal is received from said selected database in a second predetermined period of time indicating that said at least one record has been updated in said selected database, if said commit acknowledgment signal is not received from said selected database within said second predetermined period of time, then said provisioning system processor is programmed to;
instruct each of said non-selected databases to delete said update data from each respective memory queue; and
instruct each of said non-selected databases to clear said pointer data from each respective pointer field so that queries regarding said at least one record are once again handled by said non-selected databases.
-
Specification