Distributed storage network data revision control
First Claim
1. A method for execution by a computing device that includes a computing core, the method comprising:
- encoding a first data segment using an error coding dispersal storage function to produce a first set of encoded data slices;
determining a first revision number regarding a version of the first data segment;
associating the first revision number to each encoded data slice of the first set of encoded data slices to produce a first set of appended encoded data slices;
transmitting, by the computing device via an output interface, write commands regarding the first set of appended encoded data slices to storage units of a distributed storage network (DSN), wherein the write commands include the first set of appended encoded data slices for storage in the storage units;
receiving write confirmation messages from at least some of the storage units;
verifying the first revision number within the write confirmation messages;
when a write threshold number of write confirmation messages have been received and the first revision number has been verified within each of the write threshold number of write confirmation messages, sending write commit messages to the storage units; and
slicing, encoding and storing a current directory used to access the encoded data slices in the same way as the first data segment.
5 Assignments
0 Petitions
Accused Products
Abstract
Multiple revisions of an encoded data slice are generated, with each revision having the same slice name. Each of the data slices represents the same original data portion, but each is encoded so that no single data slice can be used to reconstruct the original data portion. Appropriate revision numbers are associated with each encoded data slice, and the encoded data slices and associated revision numbers are transmitted for storage in selected storage units of a distributed storage network. If write confirmations are received from at least a write threshold number of storage units, a commit command is transmitted so that the most recently written data slices will be available for access. After a commit command is issued, a current directory used to access the encoded data slices can be sliced, encoded, and stored in the same way as the data slices.
84 Citations
14 Claims
-
1. A method for execution by a computing device that includes a computing core, the method comprising:
-
encoding a first data segment using an error coding dispersal storage function to produce a first set of encoded data slices; determining a first revision number regarding a version of the first data segment; associating the first revision number to each encoded data slice of the first set of encoded data slices to produce a first set of appended encoded data slices; transmitting, by the computing device via an output interface, write commands regarding the first set of appended encoded data slices to storage units of a distributed storage network (DSN), wherein the write commands include the first set of appended encoded data slices for storage in the storage units; receiving write confirmation messages from at least some of the storage units; verifying the first revision number within the write confirmation messages; when a write threshold number of write confirmation messages have been received and the first revision number has been verified within each of the write threshold number of write confirmation messages, sending write commit messages to the storage units; and slicing, encoding and storing a current directory used to access the encoded data slices in the same way as the first data segment. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for execution by a computing device that includes a computing core, the method comprising:
-
retrieving, via an input interface of the computing device, a first set of appended encoded data slices from storage units of a distributed storage network (DSN); processing, by the computing device, the first set of appended encoded data slices to produce a set of first revision numbers and a first set of encoded data slices; comparing the set of first revisions numbers; and when each of the first revision numbers of the set of first revision numbers has the same value and the first set of appended encoded data slices includes a read threshold number of appended encoded data slices, decoding, by the computing device, the first set of encoded data slices using an error coding dispersal storage function to reconstruct a first data segment. - View Dependent Claims (7, 8)
-
-
9. A distributed storage computing device comprising:
-
an interface; memory; and a processing system, including a processor and operably coupled to the interface and to the memory, wherein the processing system is operable to; encode a first data segment using an error coding dispersal storage function to produce a first set of encoded data slices; determine a first revision number regarding a version of the first data segment; associate the first revision number to each encoded data slice[H] of the first set of encoded data slices to produce a first set of appended encoded data slices; transmit, via the interface, write commands regarding the first set of appended encoded data slices to storage units of a distributed storage network (DSN); receive write confirmation messages from at least some of the storage units; verify the first revision number within the write confirmation messages; when a write threshold number of write confirmation messages have been received and the first revision number has been verified within each of the write threshold number of write confirmation messages, send write commit messages to the storage units; and slice, encode and store a current directory used to access the encoded data slices in the same way as the first data segment. - View Dependent Claims (10, 11)
-
-
12. A distributed storage computing device comprising:
-
an interface; memory; and a processing system that includes a processor and is operably coupled to the interface and to the memory, wherein the processing system is operable to; retrieve a first set of appended encoded data slices from storage units of a distributed storage network (DSN); process the first set of appended encoded data slices to produce a set of first revision numbers and a first set of encoded data slices; compare the set of first revision numbers; and when each of the first revision numbers of the set of first revision numbers has the same value and the first set of appended encoded data slices includes a read threshold number of appended encoded data slices, decode the first set of encoded data slices using an error coding dispersal storage function to reconstruct a first data segment. - View Dependent Claims (13, 14)
-
Specification