RECONCILIATION OF GEO-REPLICATED DATABASE CLUSTERS
First Claim
1. A computer-implemented method, the method comprising:
- configuring a primary database in a primary database cluster to be replicated in a secondary database in a secondary database cluster;
tracking, at the primary database cluster, a current statename and previous statename of the primary database, the current statename representing a current state, the previous statename representing a state immediately prior to the current state;
tracking, at the secondary database cluster, a current statename and a previous statename of the secondary database;
generating a new statename of the primary database when a user performs an operation on the primary database;
receiving, at the secondary database cluster, a current statename and a new statename of the primary database; and
determining, at the secondary database cluster, whether to reconcile the primary database to the secondary database based on a current statename of the secondary database, the current statename of the primary database, and the new statename of the primary database, and a previous statename of the secondary database.
4 Assignments
0 Petitions
Accused Products
Abstract
A database associated with a primary database cluster may be replicated in a backup database cluster located in a different location in order to provide a highly-available fault tolerant database service. The databases are reconciled through a cluster management module distributed in each database cluster. The cluster management module uses a set of reconciliation data structures to track locally the reconciled states of each database in each database cluster, the operations made locally to the databases in each database cluster, and the author of the operations. The cluster management module in each database cluster engages in a stateless messaging protocol using the set of reconciliation data structures to determine whether or not the databases may be reconciled.
15 Citations
20 Claims
-
1. A computer-implemented method, the method comprising:
-
configuring a primary database in a primary database cluster to be replicated in a secondary database in a secondary database cluster; tracking, at the primary database cluster, a current statename and previous statename of the primary database, the current statename representing a current state, the previous statename representing a state immediately prior to the current state; tracking, at the secondary database cluster, a current statename and a previous statename of the secondary database; generating a new statename of the primary database when a user performs an operation on the primary database; receiving, at the secondary database cluster, a current statename and a new statename of the primary database; and determining, at the secondary database cluster, whether to reconcile the primary database to the secondary database based on a current statename of the secondary database, the current statename of the primary database, and the new statename of the primary database, and a previous statename of the secondary database. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium storing thereon processor-executable instructions, comprising:
-
a first set of processor-executable instructions that when executed on a processor, establishes a relationship between a primary database in a primary database cluster with a secondary database in a secondary database cluster, the relationship having operations performed on the primary database replicated in the secondary database, the primary database cluster and the secondary database cluster located in a different geographic location; a second set of processor-executable instructions that when executed on a processor, tracks a current state and a previous state of a secondary database in a secondary database cluster; a third set of processor-executable instructions that when executed on a processor, receives a current state and a new state of the primary database, the current state and new state of the primary database tracked by the primary database cluster; and a fourth set of processor-executable instructions that when executed on a processor, determines whether operations performed on the primary database may be reconciled with the secondary database based on a current state of the primary database, a current state of the secondary database in the secondary database, a new state of the primary database, and a previous state of the secondary database. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A system, comprising:
-
a plurality of database clusters, each database cluster having one or more databases and at least one server, the server including a cluster management module, the cluster management module, having processor-executable instructions that when executed on a processor; establishes a relationship between a primary database in one database cluster with a secondary database in another database cluster for the primary database to be replicated in the secondary database, allows a user and a system to perform one or more operations on each database independently, tracks a current state, a new state, and a previous state of the primary and secondary databases in each cluster, and reconciles operations performed on the primary database with the secondary database based on a current state, new state and previous state of the primary database and a current state, new state and previous sate of the secondary database. - View Dependent Claims (17, 18, 19, 20)
-
Specification