Accessing data in a dispersed storage network during write operations
First Claim
1. A method comprises:
- sending, by a computing device, data access requests to storage units of a dispersed storage network (DSN) regarding a set of encoded data slices, wherein one of the data access requests includes a slice name for a corresponding one of the encoded data slices of the set of encoded data slices, a transaction number, a type of request, and a current revision level of the encoded data slice;
when a transaction is pending for the set of encoded data slices, receiving, by the computing device, proposal records from the storage units, wherein the proposal records include an ordered list of pending transactions for an encoded data slice of the set of encoded data slices, an indication of the current revision level, and an ordered list of different versions of the encoded data slice;
interpreting, by the computing device, the proposal records to determine an ordering of visible versions of the set of encoded data slices stored by the storage units, wherein the interpreting includes reading the ordered list of different versions of the encoded data slice to identify a first priority version of the encoded data slice and a second priority version of the encoded data slice, wherein priority of the first priority version is higher than priority of the second priority version;
determining, by the computing device, whether a threshold number of encoded data slices of a desired version of the set of encoded data slices is visible and of priority;
when the threshold number of encoded data slices of a desired version of the set of encoded data slices is visible and of priority, determining, by the computing device, whether to proceed with the data access request; and
when the computing device determines to proceed with the data access request, sending, by the computing device, a request to proceed with the data access request to the storage units.
1 Assignment
0 Petitions
Accused Products
Abstract
A method includes sending data access requests to storage units regarding a set of encoded data slices. The method further includes, when a write transaction is pending for the set of encoded data slices, receiving proposal records from the storage units. The method further includes interpreting the proposal records to determine an ordering of visible versions of the set of encoded data slices stored by the storage units. The method further includes determining whether a threshold number of encoded data slices of a desired version of the set of encoded data slices is visible. The method further includes, when the threshold number of encoded data slices is visible, determining whether to proceed with the data access request. The method further includes, when determined to proceed with the data access request, sending a request to proceed with the data access request to the storage units.
97 Citations
14 Claims
-
1. A method comprises:
-
sending, by a computing device, data access requests to storage units of a dispersed storage network (DSN) regarding a set of encoded data slices, wherein one of the data access requests includes a slice name for a corresponding one of the encoded data slices of the set of encoded data slices, a transaction number, a type of request, and a current revision level of the encoded data slice; when a transaction is pending for the set of encoded data slices, receiving, by the computing device, proposal records from the storage units, wherein the proposal records include an ordered list of pending transactions for an encoded data slice of the set of encoded data slices, an indication of the current revision level, and an ordered list of different versions of the encoded data slice; interpreting, by the computing device, the proposal records to determine an ordering of visible versions of the set of encoded data slices stored by the storage units, wherein the interpreting includes reading the ordered list of different versions of the encoded data slice to identify a first priority version of the encoded data slice and a second priority version of the encoded data slice, wherein priority of the first priority version is higher than priority of the second priority version; determining, by the computing device, whether a threshold number of encoded data slices of a desired version of the set of encoded data slices is visible and of priority; when the threshold number of encoded data slices of a desired version of the set of encoded data slices is visible and of priority, determining, by the computing device, whether to proceed with the data access request; and when the computing device determines to proceed with the data access request, sending, by the computing device, a request to proceed with the data access request to the storage units. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computing device comprises:
-
an interface for interfacing with a network; memory; and a processing module operably coupled to the interface and to the memory, wherein the processing module is operable to; send, via the interface, data access requests to storage units of a dispersed storage network (DSN) regarding a set of encoded data slices, wherein one of the data access request includes a slice name for a corresponding one of the encoded data slices of the set of encoded data slices, a transaction number, a type of request, and a current revision level of the encoded data slice; when a transaction is pending for the set of encoded data slices, receive, via the interface, proposal records from the storage units, wherein the proposal records include an ordered list of pending transactions for an encoded data slice of the set of encoded data slices, an indication of the current revision level, and an ordered list of different versions of the encoded data slice; interpret the proposal records to determine an ordering of visible versions of the set of encoded data slices stored by the storage units, wherein the interpreting includes reading the ordered list of different versions of the encoded data slice to identify a first priority version of the encoded data slice and a second priority version of the encoded data slice, wherein priority of the first priority version is higher than priority of the second priority version; determine whether a threshold number of encoded data slices of a desired version of the set of encoded data slices is visible; when the threshold number of encoded data slices of a desired version of the set of encoded data slices is visible, determine whether to proceed with the data access request; and when the computing device determines to proceed with the data access request, send, via the interface, a request to proceed with the data access request to the storage units. - View Dependent Claims (8, 9, 10)
-
-
11. A computer readable memory comprises:
-
a first memory element that stores operational instructions that, when executed by a computing device, causes the computing device to; send data access requests to storage units of a dispersed storage network (DSN) regarding a set of encoded data slices, wherein one of the data access request includes a slice name for a corresponding one of the encoded data slices of the set of encoded data slices, a transaction number, a type of request, and a current revision level of the encoded data slice; a second memory element that stores operational instructions that, when executed by the computing device, causes the computing device to; when a transaction is pending for the set of encoded data slices, receive proposal records from the storage units, wherein a proposal record of the proposal records includes an ordered list of pending transactions for an encoded data slice of the set of encoded data slices, an indication of the current revision level, and an ordered list of different versions of the encoded data slice; a third memory element that stores operational instructions that, when executed by the computing device, causes the computing device to; interpret the proposal records to determine an ordering of visible versions of the set of encoded data slices stored by the storage units, wherein the interpreting includes reading the ordered list of different versions of the encoded data slice to identify a first priority version of the encoded data slice and a second priority version of the encoded data slice, wherein priority of the first priority version is higher than priority of the second priority version; determine whether a threshold number of encoded data slices of a desired version of the set of encoded data slices is visible; when the threshold number of encoded data slices of a desired version of the set of encoded data slices is visible, determine whether to proceed with the data access request; and when the computing device determines to proceed with the data access request, send a request to proceed with the data access request to the storage units. - View Dependent Claims (12, 13, 14)
-
Specification