Multi-writer revision synchronization in a dispersed storage network
First Claim
1. A method for execution by a computing device, the method comprises:
- receiving, from another computing device within a dispersed storage network (DSN) via a communication interface of the computing device and at processing hardware of the computing device, in response to a revision level request, a most current revision value for a data element, wherein a revision value for the data element is generated based on a current time of a local clock of a storing device that is implemented within the DSN to store at least one encoded data slice (EDS) of a set of encoded data slices (EDSs) that are distributedly stored in storage units of the DSN, wherein the data element including a data segment of a data object, wherein the data segment is dispersed storage error encoded to produce the set of EDSs, wherein a threshold number of EDSs of the set of EDSs are needed to recover the data segment;
generating, by the processing hardware of the computing device, a new revision value for a currently revised version of the data element based on a current time of a local clock of the computing device;
comparing, by the processing hardware of the computing device, the current time of the new revision value with the current time of the most current revision value; and
when the current time of the new revision value precedes the current time of the most current revision value;
adjusting, by the processing hardware of the computing device, the new revision value to produce an adjusted revision value, wherein the adjusted revision value has an effective current time that succeeds the current time of the most current revision value; and
sending the currently revised version of the data element having the adjusted revision value to the storing device that is implemented within the DSN including sending at least one other EDS of another set of EDSs to be distributedly stored in the storage units of the DSN, wherein the currently revised version of the data element including another data segment, wherein the another data segment is dispersed storage error encoded to produce the another set of EDSs, wherein the threshold number of EDSs of the another set of EDSs are needed to recover the another data segment.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a processing module of a computing device receiving a most current revision value for a data element, where a revision value for the data element is generated based on a current time of a storing device. The method continues with the processing module generating a new revision value for a currently revised version of the data element based on a current time of the computing device and comparing the current time of the new revision value with the current time of the most current revision value. When the current time of the new revision value precedes the current time of the most current revision value, the method continues with the processing module adjusting the new revision value to produce an adjusted revision value and facilitating storage of the currently revised version of the data element having the adjusted revision value.
-
Citations
18 Claims
-
1. A method for execution by a computing device, the method comprises:
-
receiving, from another computing device within a dispersed storage network (DSN) via a communication interface of the computing device and at processing hardware of the computing device, in response to a revision level request, a most current revision value for a data element, wherein a revision value for the data element is generated based on a current time of a local clock of a storing device that is implemented within the DSN to store at least one encoded data slice (EDS) of a set of encoded data slices (EDSs) that are distributedly stored in storage units of the DSN, wherein the data element including a data segment of a data object, wherein the data segment is dispersed storage error encoded to produce the set of EDSs, wherein a threshold number of EDSs of the set of EDSs are needed to recover the data segment; generating, by the processing hardware of the computing device, a new revision value for a currently revised version of the data element based on a current time of a local clock of the computing device; comparing, by the processing hardware of the computing device, the current time of the new revision value with the current time of the most current revision value; and when the current time of the new revision value precedes the current time of the most current revision value; adjusting, by the processing hardware of the computing device, the new revision value to produce an adjusted revision value, wherein the adjusted revision value has an effective current time that succeeds the current time of the most current revision value; and sending the currently revised version of the data element having the adjusted revision value to the storing device that is implemented within the DSN including sending at least one other EDS of another set of EDSs to be distributedly stored in the storage units of the DSN, wherein the currently revised version of the data element including another data segment, wherein the another data segment is dispersed storage error encoded to produce the another set of EDSs, wherein the threshold number of EDSs of the another set of EDSs are needed to recover the another data segment. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable storage medium comprises:
-
at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to; receive, from another computing device within the dispersed storage network (DSN) via a communication interface of the one or more computing devices and in response to a revision level request, a most current revision value for a data element, wherein a revision value for the data element is generated based on a current time of a local clock of a storing device that is implemented within the DSN to store at least one encoded data slice (EDS) of a set of encoded data slices (EDSs) that are distributedly stored in storage units of the DSN, wherein the data element including a data segment of a data object, wherein the data segment is dispersed storage error encoded to produce the set of EDSs, wherein a threshold number of EDSs of the set of EDSs are needed to recover the data segment; generate a new revision value for a currently revised version of the data element based on a current time of a local clock of a computing device of the one or more computing devices; compare the current time of the new revision value with the current time of the most current revision value; and when the current time of the new revision value precedes the current time of the most current revision value; adjust the new revision value to produce an adjusted revision value, wherein the adjusted revision value has an effective current time that succeeds the current time of the most current revision value; and sending the currently revised version of the data element having the adjusted revision value to the storing device that is implemented within the DSN including sending at least one other EDS of another set of EDSs to be distributedly stored in the storage units of the DSN, wherein the currently revised version of the data element including another data segment, wherein the another data segment is dispersed storage error encoded to produce the another set of EDSs, wherein the threshold number of EDSs of the another set of EDSs are needed to recover the another data segment. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computing device comprises:
-
an interface; a clock module that generates a clock value; and a processing module operably coupled to the interface and the clock module, wherein the processing module includes processing hardware and functions to; receive, from another computing device within a dispersed storage network (DSN) via the interface in response to a revision level request, a most current revision value for a data element, wherein a revision value for the data element is generated based on a current time of a local clock of a storing device that is implemented within the DSN to store at least one encoded data slice (EDS) of a set of encoded data slices (EDSs) that are distributedly stored in storage units of the DSN, wherein the data element including a data segment of a data object, wherein the data segment is dispersed storage error encoded to produce the set of EDSs, wherein a threshold number of EDSs of the set of EDSs are needed to recover the data segment; generate a new revision value for a currently revised version of the data element based on a current time from the clock value of the clock module; compare the current time of the new revision value with the current time of the most current revision value; and when the current time of the new revision value precedes the current time of the most current revision value; adjust the new revision value to produce an adjusted revision value, wherein the adjusted revision value has an effective current time that succeeds the current time of the most current revision value; and sending the currently revised version of the data element having the adjusted revision value to the storing device that is implemented within the DSN including sending at least one other EDS of another set of EDSs to be distributedly stored in the storage units of the DSN, wherein the currently revised version of the data element including another data segment, wherein the another data segment is dispersed storage error encoded to produce the another set of EDSs, wherein the threshold number of EDSs of the another set of EDSs are needed to recover the another data segment. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification