Storing and retrieving mutable objects
First Claim
1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
- identifying, by a dispersed storage module, a data object to access within a DSN vault, where the DSN vault includes a virtual memory block associated with a portion of an overall namespace of the DSN;
identifying, by a dispersed storage module, a vault ID based on the data object and the DSN vault, where the vault ID identifies a vault of the DSN associated with a data object requesting entity;
obtaining, by a dispersed storage module, an object ID based on the data object, where the object ID is retrieved from a DSN index lookup based on a data name and performing a deterministic function on the data name;
selecting, by a dispersed storage module, one or more generation IDs based on generation status, where the generation status is at least based on accessing a generation utilization list of a registry to identify a fullness level associated with each potential one of the one or more generation IDs for the DSN vault;
for each of the one or more generation IDs, generating, by a dispersed storage module, at least one set of slice names using the vault ID, the generation ID, and the object ID; and
for each set of slice names, generating, by a dispersed storage module, a set of slice access requests that includes the set of slice names; and
accessing, by a dispersed storage module, DSN storage units utilizing the set of slice access requests; and
wherein the accessing may further be based on a request type wherein, for a read request type, slice access responses are received, and favorable slice access responses decoded using a dispersed storage error coding function to reproduce one or more data segments of data and, for a write request type, storage of the data object is confirmed when receiving a write threshold number of favorable slice access responses from the DSN for each data segment of a plurality of data segments of the data.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by identifying a data object to access within a DSN. The method continues by identifying a vault ID based on the data object. The method continues by obtaining an object ID based on the data object. The method continues by selecting at least one generation ID based on generation status. The method continues, for each generation ID, by generating at least one set of slice names using the vault ID, the generation ID, and the object ID. The method continues, for each set of slice names, by generating a set of slice access requests that includes the set of slice names and accessing the DSN utilizing the set of slice access requests.
-
Citations
16 Claims
-
1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
-
identifying, by a dispersed storage module, a data object to access within a DSN vault, where the DSN vault includes a virtual memory block associated with a portion of an overall namespace of the DSN; identifying, by a dispersed storage module, a vault ID based on the data object and the DSN vault, where the vault ID identifies a vault of the DSN associated with a data object requesting entity; obtaining, by a dispersed storage module, an object ID based on the data object, where the object ID is retrieved from a DSN index lookup based on a data name and performing a deterministic function on the data name; selecting, by a dispersed storage module, one or more generation IDs based on generation status, where the generation status is at least based on accessing a generation utilization list of a registry to identify a fullness level associated with each potential one of the one or more generation IDs for the DSN vault; for each of the one or more generation IDs, generating, by a dispersed storage module, at least one set of slice names using the vault ID, the generation ID, and the object ID; and for each set of slice names, generating, by a dispersed storage module, a set of slice access requests that includes the set of slice names; and accessing, by a dispersed storage module, DSN storage units utilizing the set of slice access requests; and wherein the accessing may further be based on a request type wherein, for a read request type, slice access responses are received, and favorable slice access responses decoded using a dispersed storage error coding function to reproduce one or more data segments of data and, for a write request type, storage of the data object is confirmed when receiving a write threshold number of favorable slice access responses from the DSN for each data segment of a plurality of data segments of the data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:
-
an interface; a local memory; and a dispersed storage module operably coupled to the interface and the local memory, wherein the processing module functions to; identify a data object to access within a DSN vault, where the DSN vault includes a virtual memory block associated with a portion of an overall namespace of the DSN; identify a vault ID based on the data object and the DSN vault, where the vault ID identifies a vault of the DSN associated with a data object requesting entity; obtain an object ID based on the data object, where the object ID is retrieved from a DSN index lookup based on a data name and performing a deterministic function on the data name; select at least one or more generation IDs based on generation status, where the generation status is at least based on accessing a generation utilization list of a registry to identify a fullness level associated with each potential one of the one or more generation IDs for the DSN vault; for each of the one or more generation IDs, generate at least one set of slice names using the vault ID, the generation ID, and the object ID; and for each set of slice names, generate a set of slice access requests that includes the set of slice names; and access DSN storage units utilizing the set of slice access requests, and wherein the access may further be based on a request type wherein, for a read request type, slice access responses are received, and favorable slice access responses decoded using a dispersed storage error coding function to reproduce one or more data segments of the data and, for a write request type, storage of the data object is confirmed when receiving a write threshold number of favorable slice access responses from the DSN for each data segment of a plurality of data segments of the data.
-
-
16. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
-
receiving, by a dispersed storage module, a data name for retrieval from DSN storage units; identifying, by a dispersed storage module, a data object based on the data name to access within a DSN vault, where the DSN vault includes a virtual memory block associated with a portion of an overall namespace of the DSN; identifying, by a dispersed storage module, a vault ID based on the data object and the DSN vault, where the vault ID identifies a vault of the DSN associated with a data object requesting entity; obtaining, by a dispersed storage module, an object ID based on the data object, where the object ID is retrieved from a DSN index lookup based on a data name and performing a deterministic function on the data name; selecting, by a dispersed storage module, each generation of the DSN vault that is full for a corresponding source name and a next generation of the DSN vault after a last full generation, where a DSN vault is full at least based on accessing a generation utilization list of a registry to identify a fullness level associated with each potential generation IDs for the DSN vault; for each generation of the DSN vault selected, generating, by a dispersed storage module, at least one set of slice names using the vault ID, a generation ID, and the object ID; and for each set of slice names, generating, by a dispersed storage module, a set of slice access requests to read slices that includes the set of slice names; and outputting, by a dispersed storage module, the slice access requests to a DS (dispersed storage) unit set; receiving, by a dispersed storage module, at least a decode threshold of the set of slices; and decoding, by a dispersed storage module, the received slices to produce the data object.
-
Specification