Consistent cluster operational data in a server cluster using a quorum of replicas
First Claim
1. A computer-implemented method, comprising:
- maintaining operational data of a cluster on a replica set comprising a plurality of replica members that includes at least one independent replica member that is a device that is not integral to 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 and wherein each of the replica members can be controlled by only one of the any nodes at a time and wherein each of the replica members is a device configured to maintain a replica of the operational data of the cluster;
maintaining an epoch number in association with each replica member, wherein a value of each epoch number indicates a relative state of the cluster operational data on its respective replica member, and wherein at least two replica members have epoch numbers that equal a largest epoch number;
maintaining a sequence number in association with each replica member;
representing the cluster if a number of replica members exclusively owned and controlled by the only one of the any nodes comprises at least a majority of a total number of replica members of the replica set;
determining which of the replica members has operational data that is most updated, wherein the determining includes determining that the at least two replica members have epoch numbers that equal the largest epoch number and determining which of the at least two replica members have a sequence number that equals a largest sequence number; and
replicating at least some of that operational data by the only one of the any nodes to the other replica members of the replica set wherein others of the any nodes access the operational data of the cluster only through the only one of the any nodes.
2 Assignments
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.
-
Citations
10 Claims
-
1. A computer-implemented method, comprising:
-
maintaining operational data of a cluster on a replica set comprising a plurality of replica members that includes at least one independent replica member that is a device that is not integral to 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 and wherein each of the replica members can be controlled by only one of the any nodes at a time and wherein each of the replica members is a device configured to maintain a replica of the operational data of the cluster; maintaining an epoch number in association with each replica member, wherein a value of each epoch number indicates a relative state of the cluster operational data on its respective replica member, and wherein at least two replica members have epoch numbers that equal a largest epoch number; maintaining a sequence number in association with each replica member; representing the cluster if a number of replica members exclusively owned and controlled by the only one of the any nodes comprises at least a majority of a total number of replica members of the replica set; determining which of the replica members has operational data that is most updated, wherein the determining includes determining that the at least two replica members have epoch numbers that equal the largest epoch number and determining which of the at least two replica members have a sequence number that equals a largest sequence number; and replicating at least some of that operational data by the only one of the any nodes to the other replica members of the replica set wherein others of the any nodes access the operational data of the cluster only through the only one of the any nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A clustering system comprised of:
-
a first node of a plurality of nodes, the first node including a first local replica member of a replica set; a second node of the plurality of nodes, the second node including a second local replica member of the replica set; an independent replica member of the replica set wherein the independent replica member is a device that is not integral to any node of the plurality of nodes of the clustering system and wherein the independent replica member is configured to be online in the replica set regardless of the how many of the nodes 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, and wherein each of the replica members of the replica set is a device configured to maintain a replica of operational data of the clustering system; the first node and the second node and the independent replica member coupled together forming the clustering system; and the first local replica member and the second local replica member and the independent replica member exclusively owned and controlled by the only one node of the plurality of nodes and forming a quorum replica set wherein others of the plurality of nodes access the operational data of the clustering system only through the only one node. - View Dependent Claims (9, 10)
-
Specification