Apparatus and method for handling partially inconsistent states among members of a cluster in an erratic storage network
First Claim
1. A method for handling partially inconsistent states among members of a cluster in an erratic storage network that responds to requests from a client, the method comprising:
- assigning a unique commit identifier corresponding to each successive modification of state of the cluster when an update request has been successfully completed;
correlating an incoming request with a given member of the cluster with any commit identifiers necessary to satisfy the request;
detecting, on the incoming request to the given member of the cluster, whether the commit identifiers necessary to satisfy the request have been applied to the given member; and
if the commit identifiers necessary to satisfy the request have been applied to the given member, then satisfying the incoming request;
if the commit identifiers necessary to satisfy the request have not been applied to the given member, then using a set of selection criteria to determine which one or more of the following processes shall be performed;
(i) asynchronously causing one or more other members of the cluster, having commit identifiers necessary to satisfy the request, to satisfy the request;
(ii) asynchronously causing one or more other members to provide to the given member the missing commit identifiers to satisfy the request, so that the given member can satisfy the request; and
(iii) waiting until the given member has been caused to receive the missing commit identifiers to satisfy the request, so that the given member can satisfy the request; and
performing the selected one or more processes.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, for handling partially inconsistent states among members of a cluster in an erratic storage network that responds to requests from a client, includes assigning a unique commit identifier corresponding to each successive modification of state of the cluster when an update request has been successfully completed and correlating an incoming request to a given member of the cluster with any commit identifiers necessary to satisfy the request. The method further includes detecting, on the incoming request to the given member of the cluster, whether the commit identifiers necessary to satisfy the request have been applied to the given member, and processing the incoming request based on whether the commit identifiers necessary to satisfy the request have been applied to the given member. Operation of the members can be asynchronous.
-
Citations
3 Claims
-
1. A method for handling partially inconsistent states among members of a cluster in an erratic storage network that responds to requests from a client, the method comprising:
-
assigning a unique commit identifier corresponding to each successive modification of state of the cluster when an update request has been successfully completed; correlating an incoming request with a given member of the cluster with any commit identifiers necessary to satisfy the request; detecting, on the incoming request to the given member of the cluster, whether the commit identifiers necessary to satisfy the request have been applied to the given member; and if the commit identifiers necessary to satisfy the request have been applied to the given member, then satisfying the incoming request; if the commit identifiers necessary to satisfy the request have not been applied to the given member, then using a set of selection criteria to determine which one or more of the following processes shall be performed; (i) asynchronously causing one or more other members of the cluster, having commit identifiers necessary to satisfy the request, to satisfy the request; (ii) asynchronously causing one or more other members to provide to the given member the missing commit identifiers to satisfy the request, so that the given member can satisfy the request; and (iii) waiting until the given member has been caused to receive the missing commit identifiers to satisfy the request, so that the given member can satisfy the request; and performing the selected one or more processes. - View Dependent Claims (2, 3)
-
Specification