Distributed storage timestamped revisions
First Claim
1. A method for use in a distributed storage unit, the method comprising:
- storing a plurality of encoded data slices having a common slice name, but different revision numbers, corresponding to different revisions of a data segment, wherein, for each revision of the data segment, the data segment is dispersed storage error encoded into a set of encoded data slices, wherein the plurality of encoded data slices includes one or more encoded data slices from each set of encoded data slices of the different revisions of the data segment, and wherein the different revision numbers includes a current revision number and one or more previous revision numbers;
receiving a read command indicating the common slice name and a requested timeframe;
selecting one of the plurality of encoded data slices having one of the one or more previous revision numbers correlating to the requested timeframe; and
transmitting a response to the read command including the selected one of the plurality of encoded data slices.
5 Assignments
0 Petitions
Accused Products
Abstract
Various revisions of encoded data slices stored in a distributed storage system can be time stamped to assist in retrieving desired data revisions. Each of the multiple revisions of the encoded data slices may have the same name, but different revision numbers. An encoded data slice, which is received at a distributed storage unit along with a write command, slice name, and the revision number, is time stamped. The timestamp and revision number are stored in conjunction with the data slice. A desired encoded data slice can be retrieved by sending a read command, slice name, and timeframe to the distributed storage unit. The appropriate encoded data slice can be retrieved by determining which revision number has a timestamp most closely matching the requested timeframe.
93 Citations
16 Claims
-
1. A method for use in a distributed storage unit, the method comprising:
-
storing a plurality of encoded data slices having a common slice name, but different revision numbers, corresponding to different revisions of a data segment, wherein, for each revision of the data segment, the data segment is dispersed storage error encoded into a set of encoded data slices, wherein the plurality of encoded data slices includes one or more encoded data slices from each set of encoded data slices of the different revisions of the data segment, and wherein the different revision numbers includes a current revision number and one or more previous revision numbers; receiving a read command indicating the common slice name and a requested timeframe; selecting one of the plurality of encoded data slices having one of the one or more previous revision numbers correlating to the requested timeframe; and transmitting a response to the read command including the selected one of the plurality of encoded data slices. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
receiving a first encoded data slice having a slice name and a first revision number, the first encoded data slice is one of a first set of encoded data slices generated by dispersed storage error encoding a first revision of a data segment; determining a first time stamp associated with the first encoded data slice; storing the first encoded data slice and the first time stamp; receiving a second encoded data slice having the slice name and a second revision number, the second encoded data slice is one of a second set of encoded data slices generated by dispersed storage error encoding a second revision of the data segment, wherein the second revision is a more current version of the data segment than the first revision; determining a second time stamp associated with the second encoded data slice; and storing the second encoded data slice and the second time stamp; receiving a read command, the slice name, and a timeframe; determining that the first time stamp corresponds to the timeframe; based on the determining, selecting the first encoded data slice; and transmitting the selected encoded data slice in response to the read command. - View Dependent Claims (7, 8)
-
-
9. A distributed storage unit comprising:
-
at least one memory to store a plurality of encoded data slices having a common slice name, but different revision numbers, corresponding to different revisions of a data segment, wherein, for each revision of the data segment, the data segment is dispersed storage error encoded into a set of encoded data slices, wherein the plurality of encoded data slices includes one or more encoded data slices from each set of encoded data slices of the different revisions of the data segment, and wherein the different revision numbers includes a current revision number and one or more previous revision numbers; an interface to receive a read command indicating the common slice name and a requested timeframe; a processor to select one of the plurality of encoded data slices one of the one or more previous revision numbers correlating to the requested timeframe; and the interface further to transmit a response to the read command including the selected one of the plurality of encoded data slices. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A distributed storage unit comprising:
-
an interface to receive a first encoded data slice having a slice name and a first revision number, the first encoded data slice is one of a first set of encoded data slices generated by dispersed storage error encoding a first revision of a data segment; a processor to determine a first time stamp associated with the first encoded data slice; a memory to store the first encoded data slice and the first time stamp; the interface further to receive a second encoded data slice having the slice name and a second revision number, the second encoded data slice is one of a second set of encoded data slices generated by dispersed storage error encoding a second revision of the data segment, wherein the second revision is a more current version of the data segment than the first revision; the processor further to determine a second time stamp associated with the second encoded data slice; and the memory further to store the second encoded data slice and the second time stamp; the interface further to receive a read command, the slice name, and a timeframe; the processor further to; determine that the first time stamp corresponds to the timeframe; select, based on the determining, the first encoded data slice; and the interface further to transmit the selected encoded data slice in response to the read command. - View Dependent Claims (15, 16)
-
Specification