Avoiding write conflicts in a dispersed storage network
First Claim
1. A method comprises:
- sending, by a first device of a dispersed storage network (DSN), a set of write revision requests to storage units of the DSN, wherein a write revision request of the set of write revision requests includes a slice name and a revision number corresponding to a revision level of a set of revised encoded data slices, wherein the set of write revision requests does not include the set of revised encoded data slices;
generating, by one of the storage units, a write revision response regarding a potential write conflict based on the revision number;
receiving, by the first device, write revision responses from at least some of the storage units to produce a set of received write revision responses;
interpreting, by the first device, the set of received write revision responses to determine whether a write conflict exists;
when the write conflict exists, aborting, by the first device, a write function regarding storage of the set of revised encoded data slices by the storage units without sending the set of revised encoded data slices to the storage units; and
when the write conflict does not exist, issuing, by the first device, a set of write requests to the storage units regarding storing the set of revised encoded data slices, wherein each write request of the set of write requests includes a revised encoded data slice of the set of revised encoded data slices.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a by a first device of a dispersed storage network (DSN) sending a set of write revision requests to storage units of the DSN. The method continues with one of the storage units generating a write revision response regarding a potential write conflict. The method continues with the first device receiving the write revision responses to produce a set of received write revision responses and interpreting the set of received write revision responses to determine whether a write conflict exists. When the write conflict exists, the method continues with the first device issuing a set of write roll back requests to the storage units. When the write conflict does not exist, the method continues with the first device issuing a set of next phase write requests to the storage units regarding storing revised encoded data slices.
-
Citations
18 Claims
-
1. A method comprises:
-
sending, by a first device of a dispersed storage network (DSN), a set of write revision requests to storage units of the DSN, wherein a write revision request of the set of write revision requests includes a slice name and a revision number corresponding to a revision level of a set of revised encoded data slices, wherein the set of write revision requests does not include the set of revised encoded data slices; generating, by one of the storage units, a write revision response regarding a potential write conflict based on the revision number; receiving, by the first device, write revision responses from at least some of the storage units to produce a set of received write revision responses; interpreting, by the first device, the set of received write revision responses to determine whether a write conflict exists; when the write conflict exists, aborting, by the first device, a write function regarding storage of the set of revised encoded data slices by the storage units without sending the set of revised encoded data slices to the storage units; and when the write conflict does not exist, issuing, by the first device, a set of write requests to the storage units regarding storing the set of revised encoded data slices, wherein each write request of the set of write requests includes a revised encoded data slice of the set of revised encoded data slices. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A dispersed storage network (DSN) comprises:
-
a first module, when operable based on processing circuitry within a first device of the DSN, causes the first device to send a set of write revision requests to storage units of the DSN, wherein a write revision request of the set of write revision requests includes a slice name and a revision number corresponding to a revision level of a set of revised encoded data slices, wherein the set of write revision requests does not include the set of revised encoded data slices; a second module, when operable based on other processing circuitry within one of the storage units, causes the one of the storage units to generate a write revision response regarding a potential write conflict based on the revision number; a third module, when operable based on the processing circuitry within the first device, causes the first device to interpret a set of received write revision responses to determine whether a write conflict exists, wherein the first device receives write revision responses from at least some of the storage units to produce the set of received write revision responses; and a fourth module, when operable based on the processing circuitry within the first device, causes the first device to; abort a write function regarding storage of the set of revised encoded data slices by the storage units without sending the set of revised encoded data slices to the storage units when the write conflict exists; and issue a set of write requests to the storage units regarding storing the set of revised encoded data slices, wherein each write request of the set of write requests includes a revised encoded data slice of the set of revised encoded data slices when the write conflict does not exist. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A processing system of a dispersed storage network (DSN) comprises:
-
at least one processor; a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to; send, by a first device of the DSN, a set of write revision requests to storage units of the DSN, wherein a write revision request of the set of write revision requests includes a slice name and a revision number corresponding to a revision level of a set of revised encoded data slices, wherein the set of write revision requests does not include the set of revised encoded data slices; generate, by one of the storage units, a write revision response regarding a potential write conflict based on the revision number; receive, by the first device, write revision responses from at least some of the storage units to produce a set of received write revision responses; interpret, by the first device, the set of received write revision responses to determine whether a write conflict exists; when the write conflict exists, abort, by the first device, a write function regarding storage of the set of revised encoded data slices by the storage units without sending the set of revised encoded data slices to the storage units; and when the write conflict does not exist, issue, by the first device, a set of write requests to the storage units regarding storing the set of revised encoded data slices, wherein each write request of the set of write requests includes a revised encoded data slice of the set of revised encoded data slices. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification