System and method for modifying membership in a clustered distributed computer system and updating system configuration
First Claim
1. A method for adding a new node to an existing cluster of a distributed computer system, wherein the existing cluster includes a plurality of existing nodes, said method comprising:
- the new node transmitting a reconfiguration petition message to each of the plurality of existing nodes;
each of the plurality of existing nodes transmitting existing cluster configuration information to the new node and to each of the remaining of the plurality of existing nodes in response to the reconfiguration petition message;
each of the plurality of existing nodes transmitting a cluster reconfiguration message specifying a proposed new cluster to the new node and to each of the remaining of the plurality of existing nodes;
the new node transmitting an additional cluster reconfiguration message specifying an additional proposed new cluster to each of the plurality of existing nodes; and
each of the plurality of existing nodes and the new node each determining whether the proposed new clusters specified in the cluster reconfiguration messages are equivalent.
2 Assignments
0 Petitions
Accused Products
Abstract
Multiple nodes can concurrently gain membership in a cluster of nodes of a distributed computer system by broadcasting reconfiguration messages to all nodes of the distributed computer system. In response to a reconfiguration request resulting from a node petitioning to join a cluster or a node leaving the cluster, each node determines to which nodes of the distributed computer system the node is connected, i.e., which are sending reconfiguration messages which the node receives. In addition, if multiple nodes fail substantially simultaneously, each node which continues to operate does not receive a reconfiguration message from each of the failed nodes and the failed nodes are omitted from the proposed new cluster. Thus, multiple simultaneous failures are processed in a single reconfiguration. Each of the member nodes of the proposed cluster determine the membership of the proposed cluster and broadcast a reconfiguration message to all proposed member nodes and collects similar messages. If all reconfiguration messages agree, the proposed cluster is accepted. In the case in which one or more nodes leave the cluster, quorum is established in the new cluster relative to the old cluster.
-
Citations
45 Claims
-
1. A method for adding a new node to an existing cluster of a distributed computer system, wherein the existing cluster includes a plurality of existing nodes, said method comprising:
-
the new node transmitting a reconfiguration petition message to each of the plurality of existing nodes; each of the plurality of existing nodes transmitting existing cluster configuration information to the new node and to each of the remaining of the plurality of existing nodes in response to the reconfiguration petition message; each of the plurality of existing nodes transmitting a cluster reconfiguration message specifying a proposed new cluster to the new node and to each of the remaining of the plurality of existing nodes; the new node transmitting an additional cluster reconfiguration message specifying an additional proposed new cluster to each of the plurality of existing nodes; and each of the plurality of existing nodes and the new node each determining whether the proposed new clusters specified in the cluster reconfiguration messages are equivalent. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable medium comprising instructions for adding a new node to an existing cluster of a distributed computer system, wherein the existing cluster includes a plurality of existing nodes, wherein the instructions are executable by the distributed computer system to implement a method comprising:
-
the new node transmitting a reconfiguration petition message to each of the plurality of existing nodes; each of the plurality of existing nodes transmitting existing cluster configuration information to the new node and to each of the remaining of the plurality of existing nodes in response to the reconfiguration petition message; each of the plurality of existing nodes transmitting a cluster reconfiguration message specifying a proposed new cluster to the new node and to each of the remaining of the plurality of existing nodes; the new node transmitting an additional cluster reconfiguration message specifying an additional proposed new cluster to each of the plurality of existing nodes; and each of the plurality of existing nodes and the new node each determining whether the proposed new clusters specified in the cluster reconfiguration messages are equivalent. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A distributed computer system comprising:
-
a plurality of nodes including a plurality of processors and memory; wherein the memory includes instructions for adding a new node to an existing cluster including a plurality of existing nodes, wherein the instructions are executable by the plurality of nodes to implement a method of; the new node transmitting a reconfiguration petition message to each of the plurality of existing nodes; each of the plurality of existing nodes transmitting existing cluster configuration information to the new node and to each of the remaining of the plurality of existing nodes in response to the reconfiguration petition message; each of the plurality of existing nodes transmitting a cluster reconfiguration message specifying a proposed new cluster to the new node and to each of the remaining of the plurality of existing nodes; the new node transmitting an additional cluster reconfiguration message specifying an additional proposed new cluster to each of the plurality of existing nodes; and each of the plurality of existing nodes and the new node each determining whether the proposed new clusters specified in the cluster reconfiguration messages are equivalent. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A method for adding a new node to an existing cluster of a distributed computer system, wherein the existing cluster includes at least a first node and a second node, said method comprising:
-
the new node transmitting a reconfiguration petition message to the first node and the second node; the first node transmitting existing cluster configuration information to the new node and to the second node in response to the reconfiguration petition message; the second node transmitting existing cluster configuration information to the new node and to the first node in response to the reconfiguration petition message; the first node transmitting a first cluster reconfiguration message specifying a first proposed new cluster to the new node and to the second node; the second node transmitting a second cluster reconfiguration message specifying a second proposed new cluster to the new node and to the first node; the new node transmitting a third cluster reconfiguration message specifying a third proposed new cluster to the first node and the second node; and the first node, the second node, and the new node each determining whether the first proposed new cluster, the second proposed new cluster, and the third proposed new cluster specified in the cluster reconfiguration messages are equivalent. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer readable medium comprising instructions for adding a new node to an existing cluster of a distributed computer system, which includes at least a first node and a second node, wherein the instructions are executable by the distributed computer system to implement a method comprising:
-
the new node transmitting a reconfiguration petition message to the first node and the second node; the first node transmitting existing cluster configuration information to the new node and to the second node in response to the reconfiguration petition message; the second node transmitting existing cluster configuration information to the new node and to the first node in response to the reconfiguration petition message; the first node transmitting a first cluster reconfiguration message specifying a first proposed new cluster to the new node and to the second node; the second node transmitting a second cluster reconfiguration message specifying a second proposed new cluster to the new node and to the first node; the new node transmitting a third cluster reconfiguration message specifying a third proposed new cluster to the first node and the second node; and the first node, the second node, and the new node each determining whether the first proposed new cluster, the second proposed new cluster, and the third proposed new cluster specified in the cluster reconfiguration messages are equivalent. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37)
-
-
38. A distributed computer system comprising:
-
a plurality of nodes including a plurality of processors and memory; wherein the plurality of nodes includes at least a first node coupled to a second node, and a new node coupled to the second node; wherein the memory includes instructions for adding the new node to an existing cluster including said first node and second node; wherein the instructions are executable by the plurality of nodes to implement a method of; the new node transmitting a reconfiguration petition message to the first node and the second node; the first node transmitting existing cluster configuration information to the new node and to the second node in response to the reconfiguration petition message; the second node transmitting existing cluster configuration information to the new node and to the first node in response to the reconfiguration petition message; the first node transmitting a first cluster reconfiguration message specifying a first proposed new cluster to the new node and to the second node; the second node transmitting a second cluster reconfiguration message specifying a second proposed new cluster to the new node and to the first node; the new node transmitting a third cluster reconfiguration message specifying a third proposed new cluster to the first node and the second node; and the first node, the second node, and the new node each determining whether the first proposed new cluster, the second proposed new cluster, and the third proposed new cluster specified in the cluster reconfiguration messages are equivalent. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45)
-
Specification