MANAGING WORKFLOW COMMUNICATION IN A DISTRIBUTED STORAGE SYSTEM
First Claim
1. A computer-implemented method for determining feasibility of a selected stripe node becoming a new primary stripe node for a stripe in a data storage system, the data storage system comprising a plurality of nodes storing replicas of the stripe, the method comprising:
- computing a test generation for a journal associated with the selected stripe node and corresponding to the stripe,wherein the journal comprises entries that are assigned generations greater than previous entries; and
comparing, by a feasibility module, a greatest generation corresponding to the stripe for each of the plurality of nodes storing replicas of the stripe with the test generation, andwhen the greatest generation for each of the plurality of nodes storing replicas of the stripe is less than the test generation, determining that it is feasible for the selected stripe node to become the new primary stripe node.
2 Assignments
0 Petitions
Accused Products
Abstract
In a data storage system having a plurality of storage nodes storing replicas of stripes, one storage node serves as a primary stripe node for a stripe. Client applications using the data storage system request operations affecting metadata stored in the stripe, and the data storage system creates workflow objects to implement the requested operation. Once the operation is completed, the workflow is acknowledged. A method for establishing a new primary stripe node comprises performing, by a selected storage node, a feasibility determination to determine the feasibility of the selected storage node becoming the new primary stripe node. It is feasible to become a new primary stripe node when doing so does not cause workflows that have been acknowledged, or that will be acknowledged, to result in strays.
-
Citations
37 Claims
-
1. A computer-implemented method for determining feasibility of a selected stripe node becoming a new primary stripe node for a stripe in a data storage system, the data storage system comprising a plurality of nodes storing replicas of the stripe, the method comprising:
-
computing a test generation for a journal associated with the selected stripe node and corresponding to the stripe, wherein the journal comprises entries that are assigned generations greater than previous entries; and comparing, by a feasibility module, a greatest generation corresponding to the stripe for each of the plurality of nodes storing replicas of the stripe with the test generation, and when the greatest generation for each of the plurality of nodes storing replicas of the stripe is less than the test generation, determining that it is feasible for the selected stripe node to become the new primary stripe node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A data storage system comprising:
-
a plurality of nodes storing replicas of a stripe; a selected stripe node having a journal corresponding to a stripe, wherein, the journal comprises entries that are assigned generations greater than previous entries, a feasibility module comprising computer readable instructions for determining feasibility of the selected stripe node becoming a new primary stripe node for the stripe, wherein the determining feasibility comprises; computing a test generation for the journal corresponding to the stripe; and comparing, by the feasibility module, a greatest generation corresponding to the stripe for each of the plurality of nodes storing replicas of the stripe with the test generation, and when the greatest generation for each of the plurality of nodes storing replicas of the stripe is less than the test generation, determining that it is feasible for the selected stripe node to become the new primary stripe node. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A computer program product comprising a computer usable medium having a computer readable program code embodied therein, the computer readable program code configured to be executed to implement a method for determining feasibility of a selected stripe node becoming a new primary stripe node for a stripe in a data storage system, the data storage system comprising a plurality of nodes storing replicas of the stripe, the method comprising:
-
computing a test generation for a journal associated with the selected stripe node and corresponding to the stripe, wherein the journal comprises entries that are assigned generations greater than previous entries; and comparing, by a feasibility module, a greatest generation corresponding to the stripe for each of the plurality of nodes storing replicas of the stripe with the test generation, and when the greatest generation for each of the plurality of nodes storing replicas of the stripe is less than the test generation, determining that it is feasible for the selected stripe node to become the new primary stripe node. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
Specification