Distributed storage processing module
Abstract
A dispersed storage (DS) processing module may include a gateway module operable to communicate data and/or corresponding information with a user device and may include an access module operable to segment outbound data of the data into one or more outbound data segments and aggregate one or more inbound data segments into inbound data of the data. The DS processing module may include a grid module operable to encode an outbound data segment of the one or more outbound data segments into a plurality of outbound encoded data slices and decode a plurality of inbound encoded data slices into an inbound data segment of the one or more inbound data segments. The DS processing module may include a storage module operable to output the plurality of outbound encoded data slices to a plurality of DS storage units and receive the plurality of inbound encoded data slices from the plurality of DS storage units.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A dispersed storage (DS) processing module comprises:
a gateway module operable to:
receive an incoming data object, wherein the incoming data object includes identifying information;
verify the incoming data object based on the identifying information;
when the incoming data object has been verified:
receive user information associated with the incoming data object; and
assign a source name to the incoming data object based on the user information,
wherein the source name includes a file identifier and a vault identifier; and
when the incoming data object has not been verified:
reject the incoming data object; and
notify a sender that the incoming data object has not been verified;
an access module operable to:
segment outbound data of the incoming data object into Y number of outbound data segments in accordance with a data storage protocol; and
aggregate one or more inbound data segments into inbound data in accordance with the data storage protocol;
a grid module operable to:
encode the Y number of outbound data segments into a plurality of sets of outbound encoded data slices in accordance with an error coding dispersal storage function wherein each corresponding one of the outbound data segments is encoded via the error coding dispersal storage function into one of the plurality of sets of outbound encoded data slices containing n encoded data slices that require a threshold number k outbound encoded data slices for complete decoding of the corresponding one of the outbound data segments, and wherein k is less than n;
generate a plurality of sets of slice names for the plurality of sets of outbound encoded data slices, wherein a slice name of the plurality of sets of slice names includes the source name, a segment number, and a slice number of an outbound encoded data slice of the plurality of sets of outbound encoded data slices, and wherein the slice name is used as a dispersed storage network (DSN) address for the outbound encoded data slice; and
decode a plurality of inbound encoded data slices into the one or more inbound data segments in accordance with the error coding dispersal storage function; and
a storage module operable to:
output the plurality of sets of outbound encoded data slices based on the plurality of sets of slice names to a plurality of DS storage units for storage therein, wherein a first encoded data slice of each of a first and second set of encoded data slices is stored in a first DS storage unit of the plurality of DS storage units; and
receive the plurality of inbound encoded data slices from the plurality of DS storage units.
2. The DS processing module of claim 1 , wherein the data storage protocol comprises at least one of:
a file storage system;
a block storage system; and
an aggregated block storage system.
3. The DS processing module of claim 1 , wherein the identifying information comprises at least one of:
metadata;
a file system directory;
a block number;
a transaction message;
a user device identity (ID); and
a data object identifier.
4. The DS processing module of claim 3 further comprises:
the access module further operable to:
segment the identifying information into outbound information segments in accordance with the data storage protocol; and
aggregate one or more inbound information segments into inbound identifying information in accordance with the data storage protocol;
the grid module further operable to:
encode the outbound information segments into a plurality of outbound encoded information slices in accordance with the error coding dispersal storage function; and
decode a plurality of inbound encoded information slices into the one or more inbound information segments in accordance with the error coding dispersal storage function; and
the storage module further operable to:
output the plurality of outbound encoded information slices to the plurality of DS storage units corresponding to a pillar of stored slices; and
receive the plurality of inbound encoded information slices from the plurality of DS storage units.
5. The DS processing module of claim 1 further comprises:
the gateway module operable to communicate second data and second identifying information with a user device, wherein at least a portion of the second identifying information is substantially identical to at least a portion of the identifying information;
the access module operable to:
segment outbound second data into one or more outbound second data segments in accordance with the data storage protocol; and
aggregate one or more inbound second data segments into inbound second data in accordance with the data storage protocol;
the grid module operable to:
encode the one or more outbound second data segments into a plurality of outbound encoded second data slices in accordance with the error coding dispersal storage function; and
decode a plurality of inbound encoded second data slices into the one or more inbound second data segments in accordance with the error coding dispersal storage function; and
the storage module operable to:
output the plurality of outbound encoded second data slices to the plurality of DS storage units; and
receive the plurality of inbound encoded second data slices from the plurality of DS storage units.
6. A dispersed storage (DS) processing module comprises:
a gateway module operable to:
receive an incoming data object, wherein the incoming data object includes identifying information;
verify the incoming data object based on the identifying information;
when the incoming data object has been verified, receive user information associated with the incoming data object; and
assign a source name to the incoming data object based on the user information, wherein the source name includes a file identifier and a vault identifier; and
an access module operable to:
segment the incoming data object into Y number of outbound data segments in accordance with a data storage protocol; and
aggregate one or more inbound data segments into inbound data in accordance with the data storage protocol
a grid module operable to:
encode the Y number of outbound data segments into a plurality of sets of outbound encoded data slices in accordance with an error coding dispersal storage function, wherein each corresponding one of the outbound data segments is encoded via the error coding dispersal storage function into one of the plurality of sets of outbound encoded data slices containing n encoded data slices that require a threshold number k outbound encoded data slices for complete decoding of the corresponding one of the outbound data segments, and wherein k is less than n;
generate a plurality of sets of slice names for the plurality of sets of outbound encoded data slices, wherein a slice name of the plurality of sets of slice names includes the source name, a segment number, and a slice number of an outbound encoded data slice of the plurality of sets of outbound encoded data slices, and wherein the slice name is used as a dispersed storage network (DSN) address for the outbound encoded data slice; and
decode a plurality of inbound encoded data slices received from a plurality of DS storage units into the one or more inbound data segments in accordance with the error coding dispersal storage function.
7. The DS processing module of claim 6 , wherein the data storage protocol comprises at least one of:
a file storage system;
a block storage system; and
an aggregated block storage system.
8. The DS processing module of claim 6 , wherein the identifying information comprises at least one of:
a process identifier (ID);
metadata;
a file system directory;
a block number;
a transaction message;
a user device identity (ID); and
a data object identifier.
9. The DS processing module of claim 6 further comprises:
the gateway module operable to communicate second data and second identifying information, wherein at least a portion of the second identifying information is substantially identical to at least a portion of the identifying information; and
the access module operable to:
segment outbound second data into one or more outbound second data segments in accordance with the data storage protocol; and
aggregate one or more inbound second data segments into inbound second data in accordance with the data storage protocol.
10. A computer readable memory device comprises:
a first storage module that stores operational instructions that, when executed by a computing device, causes the computing device to:
receive an incoming data object, wherein the incoming data object includes identifying information;
verify the incoming data object based on the identifying information;
when the incoming data object has been verified:
receive user information associated with the incoming data object; and
assign a source name to the incoming data object based on the user information; and
when the incoming data object has not been verified:
reject the incoming data object; and
notify a sender that the incoming data object has not been verified;
a second storage module that stores operational instructions that, when executed by the computing device, causes the computing device to:
encode Y number of outbound data segments generated from the data object into a plurality of sets of outbound encoded data slices in accordance with an error coding dispersal storage function, wherein each corresponding one of the outbound data segments is encoded via the error coding dispersal storage function into one of the plurality of sets of outbound encoded data slices containing n encoded data slices that require a threshold number k outbound encoded data slices for complete decoding of the corresponding one of the outbound data segments, and wherein k is less than n; generate a plurality of sets of slice names for the plurality of sets of outbound encoded data slices, wherein a slice name of the plurality of sets of slice names includes the source name, a segment number, and a slice number of an outbound encoded data slice of the plurality of sets of outbound encoded data slices, and wherein the slice name is used as a dispersed storage network (DSN) address for the outbound encoded data slice; and
decode a plurality of inbound encoded data slices into one or more inbound data segments in accordance with the error coding dispersal storage function; and
a third storage module that stores operational instructions that, when executed by the computing device, causes the computing device to:
output the plurality of sets of outbound encoded data slices based on the plurality of slice names to a plurality of DS storage units for storage therein, wherein a first encoded data slice of each of a first and second set of encoded data slices is stored in a first DS storage unit of the plurality of DS storage units; and
receive the plurality of inbound encoded data slices from the plurality of DS storage units.
11. The computer readable memory device of claim 10 further comprises:
a fourth storage module that stores operational instructions that, when executed by the computing device, causes the computing device to segment incoming data object into Y number of outbound data segments.
12. The DS processing module of claim 1 , wherein the data object is a data file.
13. The DS processing module of claim 1 , wherein the data object is a data block.
14. The DS processing module of claim 1 , wherein the data object is an aggregate block of data blocks.
15. The DS processing module of claim 6 , wherein the data object is a data file.
16. The DS processing module of claim 6 , wherein the data object is a data block.
17. The DS processing module of claim 6 , wherein the data object is an aggregate block of data blocks.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.