CONSISTENT CLUSTER OPERATIONAL DATA IN A SERVER CLUSTER USING A QUORUM OF REPLICAS
First Claim
1. A method comprising:
- maintaining operational data of a cluster on a replica set comprising a plurality of replica members, wherein each of the plurality of replica members is a device configured to maintain a replica of the operational data, and wherein the plurality of replica members includes at least one independent replica member that is not an element of any node of the cluster, and wherein the at least one independent replica member is configured to be online in the replica set regardless of how many of the any nodes are operable in the cluster;
maintaining an epoch number in association with each replica member of the plurality of replica members, wherein a value of each epoch number indicates a state of the operational data on the corresponding each replica member;
maintaining a sequence number in association with each replica member of the plurality of replica members;
determining one of the plurality of replica members that comprises operational data that is most updated, wherein the determining includes determining that at least two replica members of the plurality of replica members have epoch numbers that equal a largest epoch number and determining that one of the at least two replica members has a sequence number that equals a largest sequence number; and
replicating, in response to the determining, at least some of the operational data that is most updated from the one of the at least two replica members to other replica members of the plurality of replica members.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for increasing server cluster availability by requiring at a minimum only one node and a quorum replica set of replica members to form and operate a cluster. Replica members maintain cluster operational data. A cluster operates when one node possesses a majority of replica members, which ensures that any new or surviving cluster includes consistent cluster operational data via at least one replica member from the immediately prior cluster. Arbitration provides exclusive ownership by one node of the replica members, including at cluster formation, and when the owning node fails. Arbitration uses a fast mutual exclusion algorithm and a reservation mechanism to challenge for and defend the exclusive reservation of each member. A quorum replica set algorithm brings members online and offline with data consistency, including updating unreconciled replica members, and ensures consistent read and update operations.
23 Citations
20 Claims
-
1. A method comprising:
-
maintaining operational data of a cluster on a replica set comprising a plurality of replica members, wherein each of the plurality of replica members is a device configured to maintain a replica of the operational data, and wherein the plurality of replica members includes at least one independent replica member that is not an element of any node of the cluster, and wherein the at least one independent replica member is configured to be online in the replica set regardless of how many of the any nodes are operable in the cluster; maintaining an epoch number in association with each replica member of the plurality of replica members, wherein a value of each epoch number indicates a state of the operational data on the corresponding each replica member; maintaining a sequence number in association with each replica member of the plurality of replica members; determining one of the plurality of replica members that comprises operational data that is most updated, wherein the determining includes determining that at least two replica members of the plurality of replica members have epoch numbers that equal a largest epoch number and determining that one of the at least two replica members has a sequence number that equals a largest sequence number; and replicating, in response to the determining, at least some of the operational data that is most updated from the one of the at least two replica members to other replica members of the plurality of replica members. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 20)
-
-
10. A clustering system comprising:
-
a first node of a plurality of nodes of the clustering system, the first node including a first local replica member of a replica set, and wherein each replica member of the replica set is a device configured to maintain a replica of operational data of the clustering system; an independent replica member of the replica set wherein the independent replica member is a device that is not an element of any node of the plurality of nodes, and wherein the independent replica member is configured to be online in the replica set regardless of how many of the plurality of nodes are operable in the clustering system, and wherein the independent replica member can be controlled by only one node of the plurality of nodes at a time; the first node and the independent replica member configured to form at least a portion of the clustering system; and the first local replica member and the independent replica member configured to be exclusively owned and controlled by the only one node of the plurality of nodes and configured to form a quorum replica set, wherein others of the plurality of nodes access the operational data of the clustering system, based on the exclusively owned and controlled, only through the only one node. - View Dependent Claims (11, 12)
-
-
13. A computer-readable device comprising computer-readable instructions that, when executed by a computer, cause the computer to perform a method comprising:
-
maintaining operational data of a cluster on a replica set comprising a plurality of replica members, wherein each of the plurality of replica members is a device configured to maintain a replica of the operational data, and wherein the plurality of replica members includes at least one independent replica member that is not an element of any node of the cluster, and wherein the at least one independent replica member is configured to be online in the replica set regardless of how many of the any nodes are operable in the cluster; maintaining an epoch number in association with each replica member of the plurality of replica members, wherein a value of each epoch number indicates a state of the operational data on the corresponding each replica member; maintaining a sequence number in association with each replica member of the plurality of replica members; determining one of the plurality of replica members that comprises operational data that is most updated, wherein the determining includes determining that the at least two replica members have epoch numbers that equal a largest epoch number and determining that one of the at least two replica members has a sequence number that equals a largest sequence number; and replicating, in response to the determining, at least some of the operational data that is most updated from the one of the at least two replica members to other replica members of the plurality of replica members. - View Dependent Claims (14, 16, 17, 18, 19)
-
-
15. The computer-readable device of claim 15, the method further comprising evaluating a second-to-last record logged on the at least one of the other replica members to which data is being replicated against at least one record of at least some of the operational data to determine whether to discard the second-to-last record.
Specification