Dispersed storage network data manipulation
First Claim
1. A method for execution by a dispersed storage (DS) processing unit, the method comprises:
- receiving a data segment of a plurality of data segments of a data object for dispersed storage, wherein the data object has an associated user identification (ID) of a user;
obtaining a codec flag based on the associated user ID, wherein the codec flag includes a current state field and a codec stack field, in which the current state field is initialized in a null state and in which the codec stack field contains numerical values in execution order to access respective numerical entries in a data manipulation table where the numerical entries correspond to different codec functions for use in manipulating the data segment, and wherein the codec functions listed in the data manipulation table include one or more versions of a data integrity function, one or more versions of a compression function, and one or more versions of an encryption function;
manipulating the data segment using selected codec functions by selecting a first numerical value of the numerical values contained in the codec stack field in the execution order and placing the first numerical value in the current state field to perform a first codec function corresponding to a respective numerical entry in the data manipulation table and further manipulating the data segment by selecting subsequent numerical value or values contained in the codec stack field, one at a time in the execution order, for placing into the current state field to perform a respective codec function, until codec functions indicated in the codec stack field are completed to generate a manipulated data;
encoding the manipulated data using an error coding dispersal storage function to generate a plurality of encoded data slices for storage, wherein a read threshold number of encoded data slices of the plurality of encoded data slices are needed to recover the manipulated data, where the read threshold number of encoded data slices is less than a number corresponding to the plurality of encoded data slices; and
outputting the plurality of encoded data slices and the codec stack field of the codec flag to a plurality of DS storage units for storage therein.
4 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a processing module receiving data for dispersed storage, wherein the data has an associated user identification (ID), and obtaining a codec flag based on the associated user ID. The codec flag may indicate one or more codec types and a codec execution order. The codec types may include two or more of: a null data manipulation, one or more versions of a data integrity function, one or more versions of a compression function, and/or one or more versions of an encryption function. The method continues with the processing module manipulating the data to produce manipulated data utilizing the one or more codec types in the codec execution order, encoding the manipulated data using an error coding dispersal storage function to produce a plurality of encoded data slices, and sending the slices and codec flag to a plurality of DS storage units for storage.
81 Citations
20 Claims
-
1. A method for execution by a dispersed storage (DS) processing unit, the method comprises:
-
receiving a data segment of a plurality of data segments of a data object for dispersed storage, wherein the data object has an associated user identification (ID) of a user; obtaining a codec flag based on the associated user ID, wherein the codec flag includes a current state field and a codec stack field, in which the current state field is initialized in a null state and in which the codec stack field contains numerical values in execution order to access respective numerical entries in a data manipulation table where the numerical entries correspond to different codec functions for use in manipulating the data segment, and wherein the codec functions listed in the data manipulation table include one or more versions of a data integrity function, one or more versions of a compression function, and one or more versions of an encryption function; manipulating the data segment using selected codec functions by selecting a first numerical value of the numerical values contained in the codec stack field in the execution order and placing the first numerical value in the current state field to perform a first codec function corresponding to a respective numerical entry in the data manipulation table and further manipulating the data segment by selecting subsequent numerical value or values contained in the codec stack field, one at a time in the execution order, for placing into the current state field to perform a respective codec function, until codec functions indicated in the codec stack field are completed to generate a manipulated data; encoding the manipulated data using an error coding dispersal storage function to generate a plurality of encoded data slices for storage, wherein a read threshold number of encoded data slices of the plurality of encoded data slices are needed to recover the manipulated data, where the read threshold number of encoded data slices is less than a number corresponding to the plurality of encoded data slices; and outputting the plurality of encoded data slices and the codec stack field of the codec flag to a plurality of DS storage units for storage therein. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for execution by a dispersed storage (DS) processing unit, the method comprises:
-
providing access to at least a threshold number of a plurality of encoded data slices of a data segment of a plurality of data segments of a data object stored within a plurality of DS storage units, wherein the threshold number of encoded data slices of the plurality of encoded data slices are needed to recover the data segment, the threshold number of encoded data slices being less than the plurality of encoded data slices; receiving a codec stack field of a codec flag and the threshold number of encoded data slices of the plurality of encoded data slices from the plurality of DS storage units, wherein the codec stack field contains numerical values in execution order to access respective numeric entries in a data manipulation table where the numerical entries correspond to different codec functions for use in recovering the data segment from the threshold number of encoded data slices, and wherein the codec functions listed in the data manipulation table include one or more versions of a data integrity function, one or more versions of a compression function, and one or more versions of an encryption function; decoding the threshold number of encoded data slices using an error coding dispersal storage function to produce manipulated data; and de-manipulating the manipulated data using selected codec functions by selecting a first numerical value of the numerical values contained in the codec stack field in the execution order and placing the first numerical value in a current state field of the codec flag to perform a first codec function corresponding to a respective numerical entry in the data manipulation table and further de-manipulating the manipulated data by selecting subsequent numerical value or values contained in the codec stack field, one at a time in the execution order, for placing into the current state field to perform a respective codec function, until codec functions indicated in the codec stack field are completed to recover the data segment. - View Dependent Claims (8, 9, 10)
-
-
11. A dispersed storage (DS) processing unit comprises:
-
a network interface; and a processing module operable to; obtain a data segment of a plurality of data segments of a data object for dispersed storage, wherein the data object has an associated user identification (ID) of a user; obtain a codec flag based on the associated user ID, wherein the codec flag includes a current state field and a codec stack field, in which the current state field is initialized in a null state and in which the codec stack field contains numerical values in execution order to access respective numerical entries in a data manipulation table where the numerical entries correspond to different codec functions for use in manipulating the data segment, and wherein the codec functions listed in the data manipulation table include one or more versions of a data integrity function, one or more versions of a compression function, and one or more versions of an encryption function; manipulate the data segment using selected codec functions by selecting a first numerical value of the numerical values contained in the codec stack field in the execution order and placing the first numerical value in the current state field to perform a first codec function corresponding to a respective numerical entry in the data manipulation table and further manipulating the data segment by selecting subsequent numerical value or values contained in the codec stack field, one at a time in the execution order, for placing into the current state field to perform a respective codec function, until codec functions indicated in the codec stack field are completed to generate a manipulated data; encode the manipulated data using an error coding dispersal storage function to generate a plurality of encoded data slices for storage, wherein a read threshold number of encoded data slices of the plurality of encoded data slices are needed to recover the manipulated data, where the read threshold number of encoded data slices is less than a number corresponding to the plurality of encoded data slices; and output, via the network interface, the plurality of encoded data slices and the codec stack field of the codec flag to a plurality of DS storage units for storage therein. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A dispersed storage (DS) processing unit comprises:
-
a network interface; and a processing module operable to; provide, via the network interface, access to at least a threshold number of a plurality of encoded data slices of a data segment of a plurality of data segments of a data object stored within a plurality of DS storage units, wherein the threshold number of encoded data slices of the plurality of encoded data slices are needed to recover the data segment, the threshold number of encoded data slices being less than the plurality of encoded data slices; receive, via the network interface, a codec stack field of a codec flag and the threshold number of encoded data slices of the plurality of encoded data slices from the plurality of DS storage units, wherein the codec stack field contains numerical values in execution order to access respective numeric entries in a data manipulation table where the numerical entries correspond to different codec functions for use in recovering the data segment from the threshold number of encoded data slices, and wherein the codec functions listed in the data manipulation table include one or more versions of a data integrity function, one or more versions of a compression function, and one or more versions of an encryption function; decode the threshold number of encoded data slices using an error coding dispersal storage function to produce manipulated data; and de-manipulate the manipulated data using selected codec functions by selecting a first numerical value of the numerical values contained in the codec stack field in the execution order and placing the first numerical value in a current state field of the codec flag to perform a first codec function corresponding to a respective numerical entry in the data manipulation table and further de-manipulating the manipulated data by selecting subsequent numerical value or values contained in the codec stack field, one at a time in the execution order, for placing into the current state field to perform a respective codec function, until codec functions indicated in the codec stack field are completed to recover the data segment. - View Dependent Claims (18, 19, 20)
-
Specification