Fast failover with multiple secondary nodes
First Claim
1. A method comprising:
- identifying a plurality of secondary nodes;
sending an update to each of the plurality of secondary nodes, whereinthe update is sent from a primary node, andthe update is an update to data in a region of a storage area;
setting an indicator for the each of the plurality of the secondary nodes, whereinthe setting causes the indicator to indicate that the update has been sent to the each of the plurality of secondary nodes;
determining that a failure has occurred at the primary node; and
in response to the determining, selecting a secondary node of the plurality of secondary nodes as a new primary node, whereinthe selecting is based on the indicators for the each of the plurality of secondary nodes.
9 Assignments
0 Petitions
Accused Products
Abstract
A method, system, computer system, and computer program product to quickly synchronize replicas of data stored at multiple secondary nodes upon failure of a primary node. Secondary nodes to which an update to data in a region of a storage area is sent are identified. When all of the secondary nodes have acknowledged the update, a notification is sent to each of the secondary nodes. Respective indicator(s) (e.g., “outstanding update” or “out of sync” indicators) can be set to indicate that the data have changed in respective region(s) at one of the secondary nodes when the update has been received at that secondary node. The indicator(s) can be reset for the respective region(s) when the notification sent by the primary node is received at the secondary node. Data in the region(s) can be synchronized with data at secondary nodes when either node has an indicator set for that region.
32 Citations
27 Claims
-
1. A method comprising:
-
identifying a plurality of secondary nodes; sending an update to each of the plurality of secondary nodes, wherein the update is sent from a primary node, and the update is an update to data in a region of a storage area; setting an indicator for the each of the plurality of the secondary nodes, wherein the setting causes the indicator to indicate that the update has been sent to the each of the plurality of secondary nodes; determining that a failure has occurred at the primary node; and in response to the determining, selecting a secondary node of the plurality of secondary nodes as a new primary node, wherein the selecting is based on the indicators for the each of the plurality of secondary nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium comprising computer-readable instructions, wherein the computer-readable instructions, when executed by a processor, are configured to perform a method comprising:
-
identifying a plurality of secondary nodes; sending an update to each of the plurality of secondary nodes, wherein the update is sent by a primary node, and the update is an update to data in a region of a storage area; setting an indicator for the each of the plurality of secondary nodes, wherein the setting causes the indicator to indicate that the update has been sent to the each of the plurality of secondary nodes; determining that a failure has occurred at the primary node; and in response to the determining, selecting a secondary node of the plurality of secondary nodes as a new primary node, wherein the selecting is based on the indicators for the each of the plurality of secondary nodes. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A computer system comprising:
-
one or more processors; a non-transitory computer-readable storage medium coupled to said one or more processors; and a plurality of instructions, wherein said plurality of instructions are encoded in said non-transitory computer-readable storage medium, and said plurality of instructions, when executed by said one or more processors, are configured to perform a method comprising identifying a plurality of secondary nodes, sending an update to each of the plurality of secondary nodes, wherein the update is sent from a primary node, and the update is an update to data in a region of a storage area, setting an indicator for the each of the plurality of secondary nodes, wherein the setting causes the indicator to indicate that the update has been sent to the each of the plurality of secondary nodes, determining that a failure has occurred at the primary node, and in response to the determining, selecting a secondary node of the plurality of secondary nodes as a new primary node, wherein the selecting is based on the indicators for the each of the plurality of secondary nodes. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
Specification