Read-if-not-revision-equals protocol message
First Claim
1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
- receiving one of at least a threshold number of DSTN concurrency requests that includes a header section and a payload section, wherein the payload section includes a transaction number, a last known slice revision number, and a slice name section;
determining, in response to the one of at least a threshold number of DSTN concurrency requests, a most recent slice revision number based on a slice name contained in the slice name section;
determining whether the last known slice revision number is less than the most recent slice revision number;
when the last known slice revision number is less than the most recent slice revision number, generating a DSTN concurrency response to return at least one slice of a greater revision number than the last known slice revision number of the DSTN concurrency request, the generating the DSTN concurrency response including generating a header section and a payload section, wherein the payload section includes a favorable slice revision status indication and one or more of;
a slice revision count regarding the slice name and one or more slice revision numbers corresponding to the slice name;
when the last known slice revision number is not less than the most recent slice revision number, generating the DSTN concurrency response to indicate that an unfavorable slice revision mismatch does not exist;
determining whether an error condition exists; and
discarding the DSTN concurrency response when the error condition exists; and
outputting the DSTN concurrency response when the error condition does not exist.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for a dispersed storage network begins by receiving one of at least a threshold number of DSTN concurrency requests that includes a header section and a payload section. The method continues by determining, in response to the one of at least the threshold number of DSTN concurrency requests, a most recent slice revision number based on a slice name contained in the slice name section. The method continues by determining whether the last known revision number is less than the most recent revision number. The method continues by generating a DSTN concurrency response to return at least one slice of a greater revision number than the last known revision number of the request. The method continues by determining whether an error condition exists and generating an DSTN concurrency response to indicate that an unfavorable revision mismatch does not exist.
84 Citations
18 Claims
-
1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
-
receiving one of at least a threshold number of DSTN concurrency requests that includes a header section and a payload section, wherein the payload section includes a transaction number, a last known slice revision number, and a slice name section; determining, in response to the one of at least a threshold number of DSTN concurrency requests, a most recent slice revision number based on a slice name contained in the slice name section; determining whether the last known slice revision number is less than the most recent slice revision number; when the last known slice revision number is less than the most recent slice revision number, generating a DSTN concurrency response to return at least one slice of a greater revision number than the last known slice revision number of the DSTN concurrency request, the generating the DSTN concurrency response including generating a header section and a payload section, wherein the payload section includes a favorable slice revision status indication and one or more of;
a slice revision count regarding the slice name and one or more slice revision numbers corresponding to the slice name;when the last known slice revision number is not less than the most recent slice revision number, generating the DSTN concurrency response to indicate that an unfavorable slice revision mismatch does not exist; determining whether an error condition exists; and discarding the DSTN concurrency response when the error condition exists; and outputting the DSTN concurrency response when the error condition does not exist. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:
-
an interface; a local memory; and a processing module operably coupled to the interface and the local memory, wherein the processing module functions to; receive one of at least a threshold number of DSTN concurrency requests that includes at least a last known slice revision number and a slice name; determine, in response to the one of at least the threshold number of DSTN concurrency requests, a most recent slice revision number based on the slice name; determine whether the last known slice revision number is less than the most recent slice revision number; when the last known slice revision number is less than the most recent slice revision number, generate a DSTN concurrency response to return at least one slice of a greater slice revision number than the last known slice revision number of the DSTN concurrency request, the generating the DSTN concurrency response including generating a header section and a payload section, wherein the payload section includes a favorable slice revision status indication and one or more of;
a slice revision count regarding the slice name and one or more slice revision numbers corresponding to the slice name;when the last known slice revision number is not less than the most recent slice revision number, generate the DSTN concurrency response to indicate that an unfavorable slice revision mismatch does not exist; determining whether an error condition exists; and discarding the DSTN concurrency response when the error condition exists; and outputting the DSTN concurrency response when the error condition does not exist. - View Dependent Claims (16, 17, 18)
-
Specification