Verifying revision levels while storing data in a storage network
Abstract
A method includes receiving, by a storage unit of a set of storage units of a storage network, a write request regarding an encoded data slice, where the write request includes a slice payload and a corresponding revision level of the encoded data slice. The method further includes determining whether the corresponding revision level of the encoded data slice is a next revision level. The method further includes generating a write response message that includes a status message for the encoded data slice based on the determining whether the corresponding revision level of the encoded data slice is the next revision level, where when the corresponding revision level is the next revision level, the status message includes an operation succeeded message. The method further includes sending the write response message to a computing device of the storage network.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
receiving, by a storage unit of a set of storage units of a storage network, a write request regarding an encoded data slice, wherein the write request includes a slice payload and a corresponding revision level of the encoded data slice;
determining, by the storage unit, whether the corresponding revision level of the encoded data slice is a next revision level;
generating, by the storage unit, a write response message that includes a status message for the encoded data slice based on the determining whether the corresponding revision level of the encoded data slice is the next revision level, wherein when the corresponding revision level is the next revision level, the status message includes an operation succeeded message; and
sending, by the storage unit, the write response message to a computing device of the storage network.
2. The method of claim 1 further comprises:
temporarily storing, by the storage unit, the encoded data slice.
3. The method of claim 1 , wherein the determining whether the corresponding revision level of the encoded data slice is the next revision level comprises:
determining a current revision level maintained by the storage unit; and
determining whether the corresponding revision level of the encoded data slice is the next revision level in accordance with the current revision level maintained by the storage unit.
4. The method of claim 1 , wherein the generating the write response message further comprises:
generating, by the storage unit, the write response message to include a protocol header section and a payload section, wherein the protocol header section includes a transaction number associated with the slice payload, and wherein the payload section includes the status message.
5. The method of claim 4 , wherein the generating the protocol header section further includes:
generating a slice name field and a payload length field, wherein the payload length field represents a length of the status message.
6. The method of claim 1 , wherein when the determining whether the corresponding revision level is next revision level is unfavorable due to another transaction locking access to the encoded data slice, the status message further includes:
a transaction conflict message.
7. The method of claim 1 , wherein when the determining whether the corresponding revision level is next revision level is unfavorable due to an address error, the status message further includes an address error message.
8. The method of claim 1 , wherein when the determining whether the corresponding revision level is next revision level is unfavorable due to the corresponding revision level not being the next revision level, the status message further includes a revision level error message.
9. The method of claim 1 , wherein when the determining whether the corresponding revision level is next revision level is unfavorable due to lack of authorization to write the encoded data slice, the status message further includes an operation is not authorized for the encoded data slice message.
10. The method of claim 1 further comprises:
receiving, by the storage unit, a second write request regarding a second encoded data slice, wherein the second write request includes a second slice payload and a second corresponding revision level of the second encoded data slice;
determining, by the storage unit, whether the second corresponding revision level of the second encoded data slice is a second next revision level;
generating, by the storage unit, a second write response message that includes a second status message for the second encoded data slice based on the determining whether the second corresponding revision level of the second encoded data slice is the second next revision level, wherein when the second corresponding revision level is the second next revision level, the second status message includes the operation succeeded message; and
sending, by the storage unit, the second write response message to a second computing device of the storage network.
11. A storage unit of a set of storage units of a storage network comprises:
memory;
an interface; and
a processing module operably coupled to the memory and the interface, wherein the processing module is operable to:
receiving, via the interface, a write request regarding an encoded data slice, wherein the write request includes a slice payload and a corresponding revision level of the encoded data slice;
determine whether the corresponding revision level of the encoded data slice is a next revision level;
generate a write response message that includes a status message for the encoded data slice based on the determining whether the corresponding revision level of the encoded data slice is the next revision level, wherein when the corresponding revision level is the next revision level, the status message includes an operation succeeded message; and
send, via the interface, the write response message to a computing device of the storage network.
12. The storage unit of claim 11 , wherein the processing module is further operable to:
temporarily store the encoded data slice.
13. The storage unit of claim 11 , wherein the processing module determines whether the corresponding revision level of the encoded data slice is the next revision level by:
determining a current revision level maintained by the storage unit; and
determining whether the corresponding revision level of the encoded data slice is the next revision level in accordance with the current revision level maintained by the storage unit.
14. The storage unit of claim 11 , wherein the processing module is further operable to generate the write response message by:
generating the write response message to include a protocol header section and a payload section, wherein the protocol header section includes a transaction number associated with the slice payload, and wherein the payload section includes the status message.
15. The storage unit of claim 14 , wherein the processing module is further operable to generate the protocol header section by:
generating a slice name field and a payload length field, wherein the payload length field represents a length of the status message.
16. The storage unit of claim 11 , wherein when the determining whether the corresponding revision level is next revision level is unfavorable due to another transaction locking access to the encoded data slice, the processing module generates the status message to include a transaction conflict message.
17. The storage unit of claim 11 , wherein when the determining whether the corresponding revision level is next revision level is unfavorable due to an address error, the processing module generates the status message to include an address error message.
18. The storage unit of claim 11 , wherein when the determining whether the corresponding revision level is next revision level is unfavorable due to the corresponding revision level not being the next revision level, the processing module generates the status message to include a revision level error message.
19. The storage unit of claim 11 , wherein when the determining whether the corresponding revision level is next revision level is unfavorable due to lack of authorization to write the encoded data slice, the processing module generates the status message to include an operation is not authorized for the encoded data slice message.
20. The storage unit of claim 11 , wherein the processing module is further operable to:
receive, via the interface, a second write request regarding a second encoded data slice, wherein the second write request includes a second slice payload and a second corresponding revision level of the second encoded data slice;
determine whether the second corresponding revision level of the second encoded data slice is a second next revision level;
generate a second write response message that includes a second status message for the second encoded data slice based on the determining whether the second corresponding revision level of the second encoded data slice is the second next revision level, wherein when the second corresponding revision level is the second next revision level, the second status message includes the operation succeeded message; and
send, via the interface, the second write response message to a second computing device of the storage network.Join the waitlist — get patent alerts
Track US11726875B1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.