Enhancing performance of data storage in a dispersed storage network
First Claim
1. A method for execution by a computing device of a dispersed storage network (DSN), the method comprises:
- for a set of encoded data slices to be stored in storage units of the DSN, determining a level of confidence regarding a revision level for the set of encoded data slices;
when the level of confidence is equal to or above a confidence threshold;
sending a set of write and commit requests to the storage units of the DSN, wherein a write and commit request of the set of write and commit requests includes an encoded data slice of the set of encoded data slices, a current revision value, and a new revision value; and
when a threshold number of favorable write and commit responses have been received from the storage units in a predetermined time period, issuing a set of finalize write requests; and
when the level of confidence is below the confidence threshold;
sending a set of write requests to the storage units of the DSN, wherein a write request of the set of write requests includes the encoded data slice of the set of encoded data slices and the new revision value;
when a threshold number of favorable write responses have been received from the storage units in the predetermined time period, issuing a set of write commit requests; and
when a threshold number of favorable write commit responses have been received from the storage units in the predetermined time period, issuing the set of finalize write requests.
1 Assignment
0 Petitions
Accused Products
Abstract
A method includes determining a level of confidence regarding a revision level for a set of encoded data slices. The method further includes, when the level of confidence is equal to or above a confidence threshold, sending write and commit requests, wherein a write and commit request includes an encoded data slice, a current revision value, and a new revision value. The method further includes, when favorable responses have been received, issuing finalize write requests. The method further includes, when the level of confidence is below the confidence threshold, sending write requests, wherein a write request includes the encoded data slice of the set of encoded data slices and a new revision value. The method further includes, when favorable write responses have been received, issuing write commit requests. The method further includes, when favorable write commit responses have been received, issuing finalize write requests.
-
Citations
22 Claims
-
1. A method for execution by a computing device of a dispersed storage network (DSN), the method comprises:
-
for a set of encoded data slices to be stored in storage units of the DSN, determining a level of confidence regarding a revision level for the set of encoded data slices; when the level of confidence is equal to or above a confidence threshold; sending a set of write and commit requests to the storage units of the DSN, wherein a write and commit request of the set of write and commit requests includes an encoded data slice of the set of encoded data slices, a current revision value, and a new revision value; and when a threshold number of favorable write and commit responses have been received from the storage units in a predetermined time period, issuing a set of finalize write requests; and when the level of confidence is below the confidence threshold; sending a set of write requests to the storage units of the DSN, wherein a write request of the set of write requests includes the encoded data slice of the set of encoded data slices and the new revision value; when a threshold number of favorable write responses have been received from the storage units in the predetermined time period, issuing a set of write commit requests; and when a threshold number of favorable write commit responses have been received from the storage units in the predetermined time period, issuing the set of finalize write requests. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for execution by a storage unit of a dispersed storage network (DSN), the method comprises:
-
receiving a request to store an encoded data slice of a set of encoded data slices; determining whether the request is a write and commit request or a write request; when the request is the write and commit request; comparing a current revision value of the write and commit request with a local current revision value associated with the encoded data slice; and when the current revision value of the write and commit request is substantially equal to the local current revision value; storing the encoded data slice in accordance with a new revision value of the write and commit request; making the encoded data slice available for accessing; and sending a favorable write and commit response; and when the request is the write request; determining whether a revision value of the write request corresponds to a local revision value associated with the encoded data slice; when the revision value of the write request corresponds to the local revision value; storing the encoded data slice; making the encoded data slice unavailable for accessing; and sending a favorable write response. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computing device comprises:
-
an interface; memory; and a processing module operably coupled to the interface and the memory, wherein the processing module is operable to; for a set of encoded data slices to be stored in storage units of a dispersed storage network (DSN), determine a level of confidence regarding a revision level for the set of encoded data slices; when the level of confidence is equal to or above a confidence threshold; send, via the interface, a set of write and commit requests to the storage units of the DSN, wherein a write and commit request of the set of write and commit requests includes an encoded data slice of the set of encoded data slices, a current revision value, and a new revision value; and when a threshold number of favorable write and commit responses have been received from the storage units in a predetermined time period, issue, via the interface, a set of finalize write requests; and when the level of confidence is below the confidence threshold; send, via the interface, a set of write requests to the storage units of the DSN, wherein a write request of the set of write requests includes the encoded data slice of the set of encoded data slices and the new revision value; when a threshold number of favorable write responses have been received from the storage units in the predetermined time period, issue, via the interface, a set of write commit requests; and when a threshold number of favorable write commit responses have been received from the storage units in the predetermined time period, issue, via the interface, the set of finalize write requests. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A storage unit comprises:
-
an interface; memory; and a processing module operably coupled to the interface and the memory, wherein the processing module is operable to; receive, via the interface, a request to store an encoded data slice of a set of encoded data slices; determine whether the request is a write and commit request or a write request; when the request is the write and commit request; compare a current revision value of the write and commit request with a local current revision value associated with the encoded data slice; and when the current revision value of the write and commit request is substantially equal to the local current revision value; store the encoded data slices in the memory in accordance with a new revision value of the write and commit request; make the encoded data slice available for accessing; and send, via the interface, a favorable write and commit response; and when the request is the write request; determine whether a revision value of the write request corresponds to a local revision value associated with the encoded data slice; when the revision value of the write request corresponds to the local revision value; store the encoded data slice in the memory; make the encoded data slice unavailable for accessing; and send, via the interface, a favorable write response. - View Dependent Claims (19, 20, 21, 22)
-
Specification