Updating local data utilizing a distributed storage network
Abstract
A method includes storing multiple revision levels of a plurality of sets of encoded data slices by storage units. The method further includes computing devices editing data segments generating new revision levels for sets of encoded data slices. The method further includes a computing device maintaining a local copy of the plurality of sets of encoded data slices. The method further includes a computer device determining whether the local most recent revision level of an encoded data slice is equal to, less than, or greater than a most recent revision level of a corresponding encoded data slice. When less than, the method further includes a computing device obtaining the corresponding encoded data slice having the most recent revision level and updating the local most recent revision level to equal the most recent revision level.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprises:
storing, by a set of storage units of a dispersed storage network (DSN), multiple revision levels of a plurality of sets of encoded data slices, wherein a data object is divided into a plurality of data segments, and wherein the plurality of data segments is dispersed storage error encoded to produce the plurality of sets of encoded data slices; editing, by a plurality of computing devices of the DSN, data segments of the plurality of data segments generating new revision levels for at least sets of encoded data slices of the plurality of sets of encoded data slices; maintaining, by a computing device of the plurality of computing devices, a local copy of the plurality of sets of encoded data slices having a local most recent revision level known to the computing device; determining, by the computing device, whether the local most recent revision level of an encoded data slice of the local copy of the plurality of sets of encoded data slices is equal to, less than, or greater than a most recent revision level of the multiple revision levels of a corresponding encoded data slice of the plurality of sets of encoded data slices stored in the set of storage units; when the local most recent revision level of an encoded data slice is less than the most recent revision level of the corresponding encoded data slice:
obtaining, by the computing device, the corresponding encoded data slice having the most recent revision level; and
updating the local most recent revision level to equal the most recent revision level.
2 . The method of claim 1 further comprises:
when the local most recent revision level of the encoded data slice is equal to the most recent revision level of the corresponding encoded data slice, determining, by the computing device, whether the local most recent revision level of another encoded data slice of the local copy of the plurality of sets of encoded data slices is equal to, less than, or greater than a most recent revision level of the multiple revision levels of a corresponding other encoded data slice of the plurality of sets of encoded data slices stored in the set of storage units.
3 . The method of claim 1 further comprises:
when the local most recent revision level of the encoded data slice is greater than the most recent revision level of the corresponding encoded data slice:
sending, by the computing device, the encoded data slice having the local most recent revision level to a storage unit of the set of storage units for storage therein.
4 . The method of claim 1 further comprises:
when the local most recent revision level of the encoded data slice is greater than the most recent revision level of the corresponding encoded data slice:
initiating, by the computing device, rebuilding of the corresponding encoded data slice having the most recent revision level.
5 . The method of claim 1 further comprises:
maintaining, by a second computing device of the plurality of computing devices, a second local copy of the plurality of sets of encoded data slices having a second local most recent revision level known to the computing device;
determining, by the second computing device, whether the second local most recent revision level of the encoded data slice of the second local copy of the plurality of sets of encoded data slices is equal to, less than, or greater than the most recent revision level of the multiple revision levels of the corresponding encoded data slice of the plurality of sets of encoded data slices stored in the set of storage units;
when the second local most recent revision level of the encoded data slice is less than the most recent revision level of the corresponding encoded data slice:
obtaining, by the second computing device, the corresponding encoded data slice having the most recent revision level; and
updating the second local most recent revision level to equal the most recent revision level.
6 . The method of claim 5 further comprises:
when the second local most recent revision level of the encoded data slice is equal to the most recent revision level of the corresponding encoded data slice, determining, by the second computing device, whether the local most recent revision level of another encoded data slice of the second local copy of the plurality of sets of encoded data slices is equal to, less than, or greater than the most recent revision level of the multiple revision levels of the corresponding other encoded data slice of the plurality of sets of encoded data slices stored in the set of storage units.
7 . The method of claim 5 further comprises:
when the second local most recent revision level of the encoded data slice is greater than the most recent revision level of the corresponding encoded data slice:
sending, by the second computing device, the encoded data slice having the second local most recent revision level to the storage unit of the set of storage units for storage therein.
8 . The method of claim 5 further comprises:
when the second local most recent revision level of the encoded data slice is greater than the most recent revision level of the corresponding encoded data slice:
initiating, by the second computing device, rebuilding of the corresponding encoded data slice having the most recent revision level.
9 . A computer readable memory comprises:
a first memory element that stores operational instructions that, when executed by a set of storage units of a dispersed storage network (DSN), causes the set of storage units to:
store multiple revision levels of a plurality of sets of encoded data slices, wherein a data object is divided into a plurality of data segments, and wherein the plurality of data segments is dispersed storage error encoded to produce the plurality of sets of encoded data slices;
a second memory element that stores operational instructions that, when executed by a plurality of computing devices of the DSN, causes computing devices of the plurality of computing devices to:
edit data segments of the plurality of data segments generating new revision levels for at least sets of encoded data slices of the plurality of sets of encoded data slices;
a third memory element that stores operational instructions that, when executed by a computing device of the plurality of computing devices, causes the computing device to:
maintain a local copy of the plurality of sets of encoded data slices having a local most recent revision level known to the computing device;
determine whether the local most recent revision level of an encoded data slice of the local copy of the plurality of sets of encoded data slices is equal to, less than, or greater than a most recent revision level of the multiple revision levels of a corresponding encoded data slice of the plurality of sets of encoded data slices stored in the set of storage units;
when the local most recent revision level of an encoded data slice is less than the most recent revision level of the corresponding encoded data slice:
obtain the corresponding encoded data slice having the most recent revision level; and
update the local most recent revision level to equal the most recent revision level.
10 . The computer readable memory of claim 9 , wherein the third memory element further stores operational instructions that, when executed by the computing device, causes the computing device to:
when the local most recent revision level of the encoded data slice is equal to the most recent revision level of the corresponding encoded data slice, determine whether the local most recent revision level of another encoded data slice of the local copy of the plurality of sets of encoded data slices is equal to, less than, or greater than a most recent revision level of the multiple revision levels of a corresponding other encoded data slice of the plurality of sets of encoded data slices stored in the set of storage units.
11 . The computer readable memory of claim 9 , wherein the third memory element further stores operational instructions that, when executed by the computing device, causes the computing device to:
when the local most recent revision level of the encoded data slice is greater than the most recent revision level of the corresponding encoded data slice:
send the encoded data slice having the local most recent revision level to a storage unit of the set of storage units for storage therein.
12 . The computer readable memory of claim 9 , wherein the third memory element further stores operational instructions that, when executed by the computing device, causes the computing device to:
when the local most recent revision level of the encoded data slice is greater than the most recent revision level of the corresponding encoded data slice:
initiate rebuilding of the corresponding encoded data slice having the most recent revision level.
13 . The computer readable memory of claim 9 , wherein the third memory element further stores operational instructions that, when executed by another computing device, causes the other computing device to:
maintain a second local copy of the plurality of sets of encoded data slices having a second local most recent revision level known to the computing device; determine whether the second local most recent revision level of the encoded data slice of the second local copy of the plurality of sets of encoded data slices is equal to, less than, or greater than the most recent revision level of the multiple revision levels of the corresponding encoded data slice of the plurality of sets of encoded data slices stored in the set of storage units; when the second local most recent revision level of the encoded data slice is less than the most recent revision level of the corresponding encoded data slice:
obtain the corresponding encoded data slice having the most recent revision level; and
update the second local most recent revision level to equal the most recent revision level.
14 . The computer readable memory of claim 13 , wherein the third memory element further stores operational instructions that, when executed by another computing device, causes the other computing device to:
when the second local most recent revision level of the encoded data slice is equal to the most recent revision level of the corresponding encoded data slice, determine whether the local most recent revision level of another encoded data slice of the second local copy of the plurality of sets of encoded data slices is equal to, less than, or greater than the most recent revision level of the multiple revision levels of the corresponding other encoded data slice of the plurality of sets of encoded data slices stored in the set of storage units.
15 . The computer readable memory of claim 13 , wherein the third memory element further stores operational instructions that, when executed by another computing device, causes the other computing device to:
when the second local most recent revision level of the encoded data slice is greater than the most recent revision level of the corresponding encoded data slice:
send the encoded data slice having the second local most recent revision level to the storage unit of the set of storage units for storage therein.
16 . The computer readable memory of claim 13 , wherein the third memory element further stores operational instructions that, when executed by another computing device, causes the other computing device to:
when the second local most recent revision level of the encoded data slice is greater than the most recent revision level of the corresponding encoded data slice:
initiate rebuilding of the corresponding encoded data slice having the most recent revision level.Join the waitlist — get patent alerts
Track US2017046417A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.