DISTRIBUTED STORAGE REVISION ROLLBACKS
First Claim
1. A method for use in a distributed storage unit, the method comprising:
- storing a received encoded data slice in a memory associated with a distributed storage unit, the received encoded data slice having a slice name and a revision number;
starting a rollback timer indicating a period of time to wait for a commit command;
in response to receiving a commit command before expiration of the period of time, making the received encoded data slice available for access; and
in response to failing to receive a commit command before expiration of the period of time, making a previously stored revision of the received encoded data slice available for access.
4 Assignments
0 Petitions
Accused Products
Abstract
Multiple revisions of an encoded data slice can be stored in a distributed storage unit. Before writing a new revision of an encoded data slice to storage, the distributed storage unit can invoke a write lock for all encoded data slices having the same slice name as the slice being currently written. The slice being currently written can be stored in temporary storage, and a rollback timer started. If a commit command is received before expiration of the rollback timer, the currently written slice can be permanently stored and made accessible for read requests. If the rollback timer expires prior to the storage unit receiving a commit command, however, a previously stored revision will be used.
121 Citations
20 Claims
-
1. A method for use in a distributed storage unit, the method comprising:
-
storing a received encoded data slice in a memory associated with a distributed storage unit, the received encoded data slice having a slice name and a revision number; starting a rollback timer indicating a period of time to wait for a commit command; in response to receiving a commit command before expiration of the period of time, making the received encoded data slice available for access; and in response to failing to receive a commit command before expiration of the period of time, making a previously stored revision of the received encoded data slice available for access. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A distributed storage unit comprising:
-
an interface to receive an encoded data slice having a slice name and a revision number; a memory coupled to the interface, the memory to store the encoded data slice; a processor to; implement a rollback timer indicating a period of time to wait for a commit command; exposing the received encoded data slice for access if the commit command is received before expiration of the rollback timer; and exposing a previously stored revision of the encoded data slice available for access if the commit command is not received before expiration of the rollback timer. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for use in a distributed storage unit, the method comprising:
-
storing a first revision of an encoded data slice in a memory of a distributed storage unit, the first revision of an encoded data slice having a slice name and a revision number; receiving a second revision of the encoded data slice to be stored in the memory of the distributed storage unit, the second revision of the encoded data slice having the same slice name as the first revision of the encoded data slice, but a different revision number; temporarily storing the second revision of the encoded data slice; starting a rollback timer indicating a period of time in which a commit command is expected to be received; determining if a commit command is received before expiration of the rollback timer; and in response to a favorable determination, replacing the first revision of the encoded data slice with the second revision of the encoded data slice. - View Dependent Claims (12, 13, 14, 15, 16, 20)
-
-
17. A distributed storage unit comprising:
-
a processor to store a first revision of an encoded data slice in a memory of a distributed storage unit, the first revision of an encoded data slice having a slice name and a revision number; an interface to receive a second revision of the encoded data slice to be stored in the memory of the distributed storage unit, the second revision of the encoded data slice having the same slice name as the first revision of the encoded data slice, but a different revision number; a memory to temporarily store the second revision of the encoded data slice; the processor further to; start a rollback timer indicating a period of time in which a commit command is expected to be received; determine if a commit command is received before expiration of the rollback timer; and replace the first revision of the encoded data slice with the second revision of the encoded data slice in response to a favorable determination. - View Dependent Claims (18, 19)
-
Specification