Patent application number | Description | Published |
20100023529 | METADATA MANAGEMENT SYSTEM FOR AN INFORMATION DISPERSED STORAGE SYSTEM - An apparatus includes a processing module and a network interface. The processing module is operably coupled to obtain; a data storage transaction request regarding a file; determine identity of a user based on the data storage transaction request; access file level metadata based on the identity of the user to determine a plurality of file slices associated with the file; access file slice metadata to identify at least one of a plurality of storage nodes that stores or is to store, a data slice and coded subsets of at least one of the plurality of file slices; and generate a data storage transaction message to facilitate a data storage transaction regarding the at least one of the plurality of file slices. The network interface is operably coupled to convert the data storage transaction message into a network data storage message and transmit it. | 01-28-2010 |
20100266119 | DISPERSED STORAGE SECURE DATA DECODING - A method operating on a computer begins by generating a read command to read at least some of a plurality of data slices from a dispersed storage network. The method continues by receiving the at least some of the plurality of data slices. The method continues by performing a reverse information dispersal algorithm on at least some of the plurality of data slices to produce a plurality of transposed data elements. The method continues by reverse transposing the plurality of transposed data elements to recover data elements of a data segment. | 10-21-2010 |
20100266120 | DISPERSED DATA STORAGE SYSTEM DATA ENCRYPTION AND ENCODING - A computing system securely stores data to a dispersed data storage system. The computing system includes a processing module and a plurality of storage units. The processing module includes an encryptor and error encoder to encrypt and encode the data for dispersal utilizing a write command to the storage units. The storage units store the encrypted and encoded data when receiving the write command and the encrypted and encoded data. | 10-21-2010 |
20100268692 | VERIFYING DATA SECURITY IN A DISPERSED STORAGE NETWORK - An integrity record is appended to data slices prior to being sent to multiple slice storage units. Each of the data slices includes a different encoded version of the same data segment. An integrity indicator of each data slice is computed, and the integrity record is generated based on each of the individual integrity indicators, and may be, for example, list or a hash of the combined integrity indicators. When retrieving data slices from storage, the integrity record can be stripped off, a new integrity indicator of the data slice calculated, and a new integrity record created. The new integrity record can be compared to the original integrity record, and used to verify the integrity of the data slices. | 10-21-2010 |
20100268877 | SECURING DATA IN A DISPERSED STORAGE NETWORK USING SHARED SECRET SLICES - A data element can be encoded into multiple encoded data elements using an encoding algorithm that includes an encoding function and one or more encoder constant. The encoded data elements can be organized into multiple pillars, each having a respective pillar number. Each of the pillars is sent to a different storage unit of a distributed storage network. To recover the original data element, the encoded data elements are retrieved from storage, and the encoder constant is recovered using multiple encoded data elements. Recovering the encoder constant allows the encoding algorithm originally used to encode the data elements to be determined, and used to recover the original data element. The security of the stored data is enhanced, because an encoded data element from a single pillar is insufficient to identify the encoder constant. | 10-21-2010 |
20100268938 | SECURING DATA IN A DISPERSED STORAGE NETWORK USING SECURITY SENTINAL VALUE - A sentinel value is combined with a data segment, and encrypted. A digest of the encrypted combined data segment is calculated, and used in conjunction with an encryption key to generate a masked key. This masked key is then appended to the encrypted combined data segment and transmitted to an encoder. When the data segment is retrieved, the original encryption key can be recovered and used to decrypt the data segment. The sentinel value can then be extracted from the data segment and checked for integrity. The data segment can then be delivered, discarded, flagged, or otherwise handled based on the integrity of the sentinel value. | 10-21-2010 |
20100269008 | DISPERSED DATA STORAGE SYSTEM DATA DECODING AND DECRYPTION - A computing system retrieves securely stored encrypted and encoded data from a dispersed data storage system. The computing system includes a processing module and a plurality of storage units. The processing module includes an error decoder and a decryptor and to decode and decrypt the encrypted and encoded data retrieved from the dispersed data storage system utilizing a read command to the storage units. The storage units retrieve the encrypted and encoded data and send the encrypted and encoded data to the processing module when receiving the read command. | 10-21-2010 |
20110026842 | DISPERSED STORAGE NETWORK DATA MANIPULATION - 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. | 02-03-2011 |
20110029711 | METHOD AND APPARATUS FOR SLICE PARTIAL REBUILDING IN A DISPERSED STORAGE NETWORK - A dispersed storage system includes a plurality of storage units that each include a partial rebuild grid module. The partial rebuild grid module includes partial rebuilding functionality to reconstruct one of a plurality of encoded data slices wherein the plurality of encoded data slices are generated from a data segment based on an error encoding dispersal function. In the partial rebuilding process, a data slice is rebuilt by combining in any order slice partials generated from at least a threshold number T of the plurality of data slices. | 02-03-2011 |
20110029731 | DISPERSED STORAGE WRITE PROCESS - A dispersed storage (DS) method begins by issuing a plurality of write commands to a plurality of DS storage units. The method continues by receiving a write acknowledgement from one of the plurality of DS storage units to produce a received write acknowledgement. The method continues by issuing a plurality of commit commands to the plurality of DS storage units when a write threshold number of the received write acknowledgements have been received. The method continues by receiving a commit acknowledgement from a DS storage unit of the plurality of DS storage units to produce a received commit acknowledgement. The method continues by issuing a plurality of finalize commands to the plurality of DS storage units when a write threshold number of the received commit acknowledgements have been received. | 02-03-2011 |
20110029809 | METHOD AND APPARATUS FOR DISTRIBUTED STORAGE INTEGRITY PROCESSING - A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit. | 02-03-2011 |
20110029836 | METHOD AND APPARATUS FOR STORAGE INTEGRITY PROCESSING BASED ON ERROR TYPES IN A DISPERSED STORAGE NETWORK - A storage integrity system in a dispersed storage network scans an address range of data slices to identify errors in one of a plurality of encoded data slices, wherein the plurality of encoded data slices are generated from a data segment using an error encoding dispersal function. When the storage integrity system detects an error, it identifies one of the encoded data slices for rebuilding. The identified data slice is rebuilt in response to the type of error. For example, when the type of the error includes a temporary error, the storage integrity system waits a predetermined time period to determine whether the error still exists prior to rebuilding the identified data slice. | 02-03-2011 |
20110055273 | DISPERSED STORAGE PROCESSING UNIT AND METHODS WITH OPERATING SYSTEM DIVERSITY FOR USE IN A DISPERSED STORAGE SYSTEM - A plurality of data slices are generated from a block of data to be stored in the dispersed storage system. A plurality of dispersed storage units are determined for storing the plurality of data slices, based on an operating system associated with the plurality of dispersed storage units. | 03-03-2011 |
20110055277 | UPDATING DISPERSED STORAGE NETWORK ACCESS CONTROL INFORMATION - In a dispersed storage network where slices of secure user data are stored on geographically separated storage units ( | 03-03-2011 |
20110055474 | DISPERSED STORAGE PROCESSING UNIT AND METHODS WITH GEOGRAPHICAL DIVERSITY FOR USE IN A DISPERSED STORAGE SYSTEM - A plurality of data slices are generated from a block of data to be stored in the dispersed storage system. A plurality of dispersed storage units are determined for storing the plurality of data slices, based on a geographical location associated with the plurality of dispersed storage units. | 03-03-2011 |
20110055578 | VERIFICATION OF DISPERSED STORAGE NETWORK ACCESS CONTROL INFORMATION - In a dispersed storage network access control list information must be occasionally written out to system units across the network. A dispersed storage (DS) managing unit ( | 03-03-2011 |
20110071988 | DATA REVISION SYNCHRONIZATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module determining dispersed storage (DS) units that are storing a set of encoded data slices associated with a data segment and sending a revision level check request message to each of the DS units. The method continues with the processing module receiving revision level check response messages from at least some of the DS units within a time period to produce received revision level check response messages and determining concurrency of a revision level of the set of encoded data slices stored by the DS units based on the received revision level check response messages. The method continues with the processing module initiating a revision concurrency process when less than a threshold number of encoded data slices have concurrency of the revision level. | 03-24-2011 |
20110078343 | DISTRIBUTED STORAGE NETWORK INCLUDING MEMORY DIVERSITY - A distributed storage processing unit can generate data slices and determine metadata for each of the data slices. The metadata includes information that can be used to determine storage diversity preferences, which can include requirements that data slices generated from a common data segment each be stored in memories of the same (or different) type and model, memories with the same (or different) failure rates, memories having fast read (or write) characteristics, and so on. Decisions about which memory units to use for storing data slices can be made based on how closely the characteristics of the memories match the storage diversity preferences. The decision can be made at a distributed storage processing unit that generates the data slices, at a distributed storage unit receiving the data slices for storage, or elsewhere. | 03-31-2011 |
20110078371 | DISTRIBUTED STORAGE NETWORK UTILIZING MEMORY STRIPES - Multiple data slices are generated from an original data segment. The data slices are constructed to prevent recovery of the original data segment using a single related data slice, but to allow recovery of the original data segment using fewer than all of the data slices. Each data slice is stored in the same memory stripe as the other data slices. The memory stripe extends across multiple memory devices and multiple different distributed storage units. The memory device in which each data slice is stored can be determined based on a source name associated with each data slice. | 03-31-2011 |
20110078373 | METHOD AND APPARATUS FOR DISPERSED STORAGE MEMORY DEVICE SELECTION - A method begins when a dispersed storage (DS) processing unit of a DS unit has at least one of DS unit operational data and DS unit operating system algorithm to store. The method continues with the DS processing unit encoding at least a portion of the at least one of DS unit operational data and DS unit operating system algorithm in accordance with an error coding dispersal storage function to produce a plurality of data slices. The method continues with the DS processing unit storing at least some of the plurality of data slices in memory devices of the DS unit in accordance with the error coding dispersal storage function. | 03-31-2011 |
20110078503 | METHOD AND APPARATUS FOR SELECTIVELY ACTIVE DISPERSED STORAGE MEMORY DEVICE UTILIZATION - The method begins with a processing unit receiving an encoded slice for storage. The method continues with the processing unit determining whether to store the encoded slice in one of a first set of memory devices or in one of a second set of memory devices based on metadata associated with the encoded slice, wherein the first set of memory devices are continually active and the second set of memory devices are selectively active. The method continues with the processing unit stores the encoded slice in the one of the second set of memory devices when the encoded slice is to be stored in the one of the second set of memory devices. The method continues with the processing unit de-activating the one of the second set of memory devices, in accordance with a deactivation protocol, after storing the encoded slice. | 03-31-2011 |
20110078534 | METHOD AND APPARATUS FOR OBFUSCATING SLICE NAMES IN A DISPERSED STORAGE SYSTEM - A method begins by a processing module receiving a data segment for dispersed storage. The method continues with the processing module encoding the data segment in accordance with an error coding dispersed storage function to produce a plurality of error coded data slices. The method continues with the processing module generating a slice name for an error coded data slice of the plurality of error coded data slices, wherein the slice name includes a dispersed storage routing information section and a data identification section. The method continues with the processing module performing a securing function on at least the data identification section to produce a secure data identification section. The method continues with the processing module replacing, within the slice name, the data identification section with the secure data identification section to produce a secure slice name. | 03-31-2011 |
20110106769 | DISTRIBUTED STORAGE NETWORK THAT PROCESSES DATA IN EITHER FIXED OR VARIABLE SIZES - A distributed storage network receives a data object and determines a size of the data object. The network then determines whether the data object should be segmented into fixed size segments or variable sizes segments based upon some variable-length algorithm. If the fixed approach is selected, the data object is segmented into two or more fixed size segments with attached header information and the information is further processed using error coding dispersal storage functions within the network. If the variable approach is selected, the data object is segmented into two or more variable-sized segments with attached header information and the information is further processed using error coding dispersal storage functions within the network. Both the variable and fixed approaches enable storage of error-correctable data slices in a distributed storage manner. | 05-05-2011 |
20110106855 | DISTRIBUTED STORAGE TIMESTAMPED REVISIONS - Various revisions of encoded data slices stored in a distributed storage system can be time stamped to assist in retrieving desired data revisions. Each of the multiple revisions of the encoded data slices may have the same name, but different revision numbers. An encoded data slice, which is received at a distributed storage unit along with a write command, slice name, and the revision number, is time stamped. The timestamp and revision number are stored in conjunction with the data slice. A desired encoded data slice can be retrieved by sending a read command, slice name, and timeframe to the distributed storage unit. The appropriate encoded data slice can be retrieved by determining which revision number has a timestamp most closely matching the requested timeframe. | 05-05-2011 |
20110106904 | DISTRIBUTED STORAGE NETWORK FOR STORING A DATA OBJECT BASED ON STORAGE REQUIREMENTS - A distributed storage network (DSN) includes a user device and a plurality of DSN memories, wherein each of the DSN memories includes a plurality of storage units. The user device includes at least one network interface to the plurality of DSN memories and at least one processing module that is operable to determine one of the plurality of DSN memories for storing a data object based on a comparison of one or more storage requirements of the data object and one or more DSN attributes of the plurality of DSN memories. | 05-05-2011 |
20110107036 | DISTRIBUTED STORAGE REVISION ROLLBACKS - Multiple revisions of an encoded data slice can be stored in a distributed storage unit. Before writing a new revision of an encoded data slice to storage, the distributed storage unit can invoke a write lock for all encoded data slices having the same slice name as the slice being currently written. The slice being currently written can be stored in temporary storage, and a rollback timer started. If a commit command is received before expiration of the rollback timer, the currently written slice can be permanently stored and made accessible for read requests. If the rollback timer expires prior to the storage unit receiving a commit command, however, a previously stored revision will be used. | 05-05-2011 |
20110107078 | ENCODED DATA SLICE CACHING IN A DISTRIBUTED STORAGE NETWORK - A distributed storage processing unit encodes data objects into multiple encoded data slices to prevent reconstruction of the original data object using a single encoded data slice, but to allow reconstruction using at least a threshold number of encoded data slices. The distributed storage processing unit can decide to whether and where to cache frequently requested data slices. When retrieving data slices related to a particular data object, a check can be made to determine if the data slices are cached in a temporary memory associated with the distributed storage processing unit, or elsewhere in the distributed storage network. This check can be facilitated by storing data slices and a hash table identifying the location of stored data slices in the same temporary memory. | 05-05-2011 |
20110107094 | DISTRIBUTED STORAGE NETWORK EMPLOYING MULTIPLE ENCODING LAYERS IN DATA ROUTING - A distributed storage processing unit creates multiple different data slices from the same data object, and generates a message including one or more of the different data slices. The distributed storage processing unit identifies a chain of distributed storage units, and encrypts the message into multiple nested layers using, for example, public keys of public/private key pairs associated with each of the storage units in the chain. The distributed storage processing unit sends the layered, encrypted message to the first storage unit in the chain, which decodes and removes the outermost layer, and forwards the message to the next storage unit in the chain. This process continues until the message reaches the endpoint distributed storage unit, which decodes the innermost layer and stores the data slice encoded in the message. | 05-05-2011 |
20110107112 | DISTRIBUTED STORAGE NETWORK AND METHOD FOR ENCRYPTING AND DECRYPTING DATA USING HASH FUNCTIONS - A distributed storage network received a data segment. The data segment is partitioned into two or more portions. A first portion hash is calculated from the first portion of data and used to encrypt the second portion of data. A hash of the encrypted second portion of data is then used to either encrypt the next portion of data (in this case, a third portion of data) or to circle back to the beginning and encrypt the first portion of the data if the second portion of data is the last in data segment. This iterative process continues until all portions of the data segment are encrypted in a sequence. In essence, the data portions of the segment are sequentially processed in some order to encrypt the various portions in that progressing order. A reverse order is used to derive the hash values and decrypt the encrypted data portions into decrypted original data to recreate the data segment. | 05-05-2011 |
20110107113 | DISTRIBUTED STORAGE NETWORK DATA REVISION CONTROL - Multiple revisions of an encoded data slice are generated, with each revision having the same slice name. Each of the data slices represents the same original data portion, but each is encoded so that no single data slice can be used to reconstruct the original data portion. Appropriate revision numbers are associated with each encoded data slice, and the encoded data slices and associated revision numbers are transmitted for storage in selected storage units of a distributed storage network. If write confirmations are received from at least a write threshold number of storage units, a commit command is transmitted so that the most recently written data slices will be available for access. After a commit command is issued, a current directory used to access the encoded data slices can be sliced, encoded, and stored in the same way as the data slices. | 05-05-2011 |
20110107165 | DISTRIBUTED STORAGE NETWORK FOR MODIFICATION OF A DATA OBJECT - A distributed storage network generates a plurality of data segments from a data object and stores each of the plurality of data segments as a plurality of encoded data slices generated from an error encoding dispersal function. When the distributed storage network receives a modification request for the data object, it determines a size of the plurality of data segments of the data object from a segment size field and identifies one of the plurality of data segments requiring modification. The identified data segment is reconstructed from the plurality of encoded data slices and modified in accordance with the modification request. | 05-05-2011 |
20110107180 | INTENTIONALLY INTRODUCED STORAGE DEVIATIONS IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a first request to store a program. The method continues with the processing module determining first error coding dispersal storage function parameters and encoding a data segment of the program. The method continues with the processing module determining whether a second request to store the program is received. The method continues with the processing module encoding a second data segment of the program in accordance with the first error coding dispersal storage function parameters when the second request is not received. The method continues with the processing module changing the first error coding dispersal storage function parameters based on the another request to produce second error coding dispersal storage function parameters when the second request is received. The method continues with the processing module encoding the second data segment in accordance with the second error coding dispersal storage function parameters. | 05-05-2011 |
20110107380 | MEDIA DISTRIBUTION TO A PLURALITY OF DEVICES UTILIZING BUFFERED DISPERSED STORAGE - A method begins by a processing module receiving a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as a plurality of groups of sets of encoded data slices. For each of the plurality of playback requests, the method continues with the processing module storing a first group of the plurality of groups of sets of encoded data slices in a playback DSN memory to produce a first buffered group, outputting the first buffered group to a requesting device corresponding to the each of the plurality of playback requests, storing a second group of the plurality of groups of sets of encoded data slices in the playback DSN memory to produce a second buffered group, and outputting the second buffered group to the requesting device. | 05-05-2011 |
20110125771 | DATA DE-DUPLICATION IN A DISPERSED STORAGE NETWORK UTILIZING DATA CHARACTERIZATION - A method begins with a processing module receiving, from a requesting device, a data storage request that includes data for storage. The method continues with the processing module determining whether substantially identical data is currently stored in a dispersed storage network (DSN) memory. The method continues with the processing module encoding at least a portion of the data using an error coding dispersal storage function to produce a set of encoded data slices, sending the set of encoded data slices to the DSN memory for storage therein, and generating a unique retrieval matrix for the requesting device, wherein the unique retrieval matrix identifies a sub-set of encoded data slices of the set of encoded data slices for subsequent retrieval of the at least a portion of the data, when the substantially identical data is not stored in the DSN memory. | 05-26-2011 |
20110125999 | PROXY ACCESS TO A DISPERSED STORAGE NETWORK - A method begins with a processing module selecting one of a plurality of dispersed storage (DS) processing modules for facilitating access to a dispersed storage network (DSN) memory. The method continues with the processing module sending a DSN memory access request to the one of the plurality of DS processing modules. The method continues with the processing module selecting another one of the plurality of DS processing modules when no response is received within a given time frame or when the response to the access request does not include an access indication. The method continues with the processing module sending the DSN memory access request to the another one of the plurality of DS processing modules. | 05-26-2011 |
20110126026 | EFFICIENT STORAGE OF ENCRYPTED DATA IN A DISPERSED STORAGE NETWORK - A method begins with a processing module obtaining data to store and determining whether substantially similar data to the data is stored. When the substantially similar data is not stored, the method continues with the processing module generating a first encryption key based on the data, encoding the first encryption key into encoded data slices in accordance with an error coding dispersal storage function, and storing the encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module encrypting the data using an encryption key of the substantially similar data in accordance with an encryption function to produce encrypted data, compressing the encrypted data in accordance with a compression function to produce compressed data, storing the compressed data when the substantially similar data is stored. | 05-26-2011 |
20110126295 | DISPERSED STORAGE NETWORK DATA SLICE INTEGRITY VERIFICATION - A method begins with a processing module issuing a retrieval request, receiving secret shares of a set of secret shares to produce received secret shares, and receiving encoded data slices of a set of encoded data slices. The method continues with the processing module decoding the received secret shares to recapture a message authentication key when a threshold number of the secret shares is received. The method continues with the processing module identifying a received encoded data slice of the received encoded data slices having an authentication code associated therewith when a threshold number of the encoded data slices is received. The method continues with the processing module verifying the authentication code based on the message authentication key and the received encoded data slice. The method continues with the processing module decoding the received encoded data slices to recapture a data segment when the authentication code is verified. | 05-26-2011 |
20110161655 | DATA ENCRYPTION PARAMETER DISPERSAL - A method begins with a processing module obtaining encoded key slices from a plurality of user devices and decoding a threshold number of the encoded key slices utilizing a first error coding dispersal storage function to produce a key when the threshold number of the encoded key slices has been obtained. The method continues with the processing module receiving encoded data slices and decoding a threshold number of encoded data slices utilizing a second error coding dispersal storage function to produce encrypted data when the threshold number of the encoded data slices has been received. The method continues with the processing module decrypting the encrypted data utilizing the key and an encryption function to produce data. | 06-30-2011 |
20110161666 | DIGITAL CONTENT RETRIEVAL UTILIZING DISPERSED STORAGE - A method begins by a processing module obtaining a unique retrieval matrix based on an identity of the playback device and sending a request for retrieval of a set of encoded broadcast data slices to a dispersed storage network (DSN) memory, wherein the request includes the unique retrieval matrix and identity of the set of encoded broadcast data slices. The method continues with the processing module receiving a subset of the set of encoded broadcast data slices from the DSN memory, wherein the subset of the set of encoded broadcast data slices is based on the unique retrieval matrix. The method continues with the processing module storing the subset of the sets of encoded broadcast data slices. | 06-30-2011 |
20110161681 | DIRECTORY SYNCHRONIZATION OF A DISPERSED STORAGE NETWORK - A method begins by a processing module dispersed storage error encoding data to produce a set of encoded data slices and generating a transaction identifier regarding storage of the set of encoded data slices. The method continues with the processing module outputting a plurality of write request messages to a plurality of dispersed storage (DS) units, wherein each of the plurality of write request messages includes the transaction identifier and a corresponding one of the set of encoded data slices. The method continues with the processing module receiving write response messages from at least some of the DS units, wherein each of the write response messages includes a reference to the transaction identifier. The method continues with the processing module updating directory information regarding storage of the data to produce updated directory information when at least a write threshold number of the write response messages have been received. | 06-30-2011 |
20110161754 | REVISION SYNCHRONIZATION OF A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a write request message from a dispersed storage (DS) processing module, wherein the write request message includes a slice name, a DS processing module most-recent slice revision, a new slice revision, and an encoded directory slice of directory information regarding storage of data. The method continues with the processing module obtaining, from local memory, a DS unit most-recent slice revision based on the slice name. The method continues with the processing module storing the new slice revision as the DS unit most-recent slice revision and storing the encoded directory slice when the DS unit most-recent slice revision compares favorably to the DS processing module most-recent slice revision. | 06-30-2011 |
20110161781 | DIGITAL CONTENT DISTRIBUTION UTILIZING DISPERSED STORAGE - A method begins by a processing module determining whether to error encode broadcast data. The method continues with the processing module encoding a portion of the broadcast data using an error coding storage dispersal function to produce a set of encoded broadcast data slices, determining whether to compress the set of encoded broadcast data slices for the set of encoded broadcast data slices, and when the set of encoded broadcast data slices is to be compressed, selecting a subset of encoded broadcast data slices of the set of encoded broadcast data slices, when the broadcast data is to be error encoded. | 06-30-2011 |
20110185141 | DATA MIGRATION IN A DISPERSED STORAGE NETWORK - A method begins by processing module determining data to migrate, wherein the data is stored as a plurality of sets of encoded data slices in a first set of dispersed storage (DS) units. The method continues with the processing module retrieving at least a read threshold number of encoded data slices for each set of the plurality of sets of encoded data slices and dispersed storage error decoding the at least the read threshold number of encoded data slices in accordance with error coding dispersal storage function parameters to reproduce the data. The method continues with the processing module dispersed storage error encoding the data in accordance with second error coding dispersal storage function parameters to produce a plurality of sets of second encoded data slices and sending at least a write threshold number of second encoded data slices to a second set of DS units for storage therein. | 07-28-2011 |
20110185253 | DIRECTORY FILE SYSTEM IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data storage request, wherein the data storage request includes data and a data identifier (ID). The method continues with the processing module dispersed storage error encoding the data to produce a set of encoded data slices and determining a data dispersed storage network (DSN) address. The method continues with the processing module sending the set of encoded data slices to a DSN memory for storage at the data DSN address and updating a directory file with path information corresponding to the data ID and the data DSN address to produce an updated directory file. The method continues with the processing module dispersed storage error encoding the updated directory file to produce a set of encoded updated directory slices and sending the set of encoded updated directory slices to the DSN memory for storage at a directory DSN address. | 07-28-2011 |
20110213928 | DISTRIBUTEDLY STORING RAID DATA IN A RAID MEMORY AND A DISPERSED STORAGE NETWORK MEMORY - A method begins by a processing module receiving redundant array of independent disks (RAID) data and determining whether to store the RAID data in at least one of a RAID format and in a dispersed storage network (DSN) format. The method continues with the processing module converting at least a portion of the RAID data into at least one set of encoded data slices when the at least a portion of the RAID data is to be stored in the DSN format. The method continues with the processing module outputting the at least one set of encoded data slices to a DSN memory. | 09-01-2011 |
20110213929 | DATA MIGRATION BETWEEN A RAID MEMORY AND A DISPERSED STORAGE NETWORK MEMORY - A method begins by a processing module determining whether to convert data between a redundant array of independent disks (RAID) format and a dispersed storage network (DSN) format. The method continues with the processing module retrieving the data from a RAID memory to produce retrieved RAID data when the data is to be converted from the RAID format to the DSN format. The method continues with the processing module converting stripe-block data of the retrieved RAID data into a plurality of sets of encoded data slices and outputting the plurality of sets of encoded data slices to at least one of the RAID memory and a DSN memory for storage therein. | 09-01-2011 |
20110225360 | DISPERSED STORAGE NETWORK RESOURCE ALLOCATION - A dispersed storage managing unit allocates resources within a dispersed storage network by determining a state of a dispersed storage unit supporting a vault associated with at least one user of the dispersed storage network and provisioning storage within the dispersed storage unit based on the state thereof. | 09-15-2011 |
20110225361 | DISPERSED STORAGE NETWORK FOR MANAGING DATA DELETION - A dispersed storage device manages deletion of data objects stored within a dispersed storage network by receiving a data delete request to delete a data object stored throughout a set of dispersed storage units within a dispersed network memory of the dispersed storage network, determining a deletion policy for the data object and selectively generating and transmitting, based on the deletion policy, a delete command to the set of dispersed storage units. | 09-15-2011 |
20110225450 | FAILSAFE DIRECTORY FILE SYSTEM IN A DISPERSED STORAGE NETWORK - A file directory system comprises a directory file, a directory address for the directory file, and a directory address failsafe mechanism. The directory file includes one or more directory entries and one or more corresponding addresses for the one or more directory entries. The directory address failsafe mechanism functions to dispersed storage error encode the directory address to produce a plurality of encoded components of the directory address and transmit the plurality of encoded components of the directory address to a plurality of agent modules. | 09-15-2011 |
20110225451 | REQUESTING CLOUD DATA STORAGE - A method begins by a processing module determining that a data storage request is a cloud data storage request. The method continues with the processing module determining at least one of a cloud storage access reliability indication and a cloud storage data reliability indication for the data storage request. The method continues with the processing module sending the data storage request and the at least one of cloud storage access reliability indication and cloud storage data reliability indication to a cloud storage system. | 09-15-2011 |
20110225466 | DISPERSED STORAGE UNIT SELECTION - A dispersed storage device for use within a dispersed storage network operates to select a set of dispersed storage units for storage of a data object by slicing an encoded data segment of a data object into error coded data slices, determining slice metadata for the error coded data slices, determining memory characteristics of dispersed storage units capable of storing the error coded data slices and selecting the set of dispersed storage units for storing the error coded data slices based on the slice metadata and the memory characteristics. | 09-15-2011 |
20110231699 | TEMPORARILY CACHING AN ENCODED DATA SLICE - A method begins by a processing module obtaining an encoded data slice and an associated slice name. The method continues with the processing module determining a dispersed storage (DS) unit for storing the encoded data slice based on at least one of the encoded data slice and the associated slice name and estimating a performance level of the DS unit to produce an estimated DS unit performance level. The method continues with the processing module sending the encoded data slice to the DS unit for storage therein and when the estimated DS unit performance level compares unfavorably with a performance threshold, facilitating storage of the encoded data slice in temporary memory to produce a temporarily stored encoded data slice, wherein the temporarily stored encoded data slice is retrieved in response to a retrieval request when confirmation of the DS unit storing the encoded data slice has not been received. | 09-22-2011 |
20110231733 | ADJUSTING DATA DISPERSAL IN A DISPERSED STORAGE NETWORK - A method begins by a processing module determining a performance based indication regarding storage of a data segment as a set of encoded data slices and comparing the performance based indication with a performance threshold. When the performance based indication compares unfavorably with the performance threshold, the method continues with the processing module decoding the set of encoded data slices to reproduce the data segment, adjusting error coding dispersal storage function parameters based on the unfavorable comparison of the performance based indication with the performance threshold to produce performance adjusted error coding dispersal storage function parameters, encoding the reproduced data segment in accordance with the performance adjusted error coding dispersal storage function parameters to produce a second set of encoded data slices, and selecting a storage set of encoded data slices from the set of encoded data slices and the second set of encoded data slices. | 09-22-2011 |
20110261813 | LIST RANGE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a list range request operation by generating a start slice name field of the payload section to include a start slice name of a slice name range, generating an end slice name field of the payload section to include an end slice name of the slice name range, and generating a maximum response count field of the payload section to include a maximum slice name response count. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 10-27-2011 |
20110261838 | DISPERSED STORAGE NETWORK FRAME PROTOCOL HEADER - A method to generate a protocol header of a dispersed storage network (DSN) frame begins by a processing module generating a protocol class field and generating a protocol class version field. The method continues with the processing module generating an operation code (opcode) field and generating a request/response field. The method continues with the processing module generating a request number field and generating a payload length field. The method continues with the processing module outputting, in order, the protocol class field, the protocol class version field, the opcode field, the request/response field, the request number field, and the payload length field. | 10-27-2011 |
20110261839 | WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network frame by generating a transaction number field to include a transaction number corresponding to a write request operation and generating one or more slice payload sections, wherein each slice payload section includes generating a slice name field to include a slice name corresponding to an encoded data slice, generating a slice revision numbering field to include a revision number of the slice name, generating a slice length field to include a length of the encoded data slice, and generating a slice payload field to include the encoded data slice. The method continues with the processing module generating a protocol header by generating a payload length field including a payload length representing length of the transaction number field and length of the one or more slice payload sections and generating remaining fields of the protocol header. | 10-27-2011 |
20110261840 | INTERMEDIATE WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network (DSN) frame regarding an intermediate write request operation by generating one or more transaction number fields of the payload to include one or more transaction numbers corresponding to a write request operation, wherein the intermediate write request operation is associated with the write request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the one or more transaction number fields and generating remaining fields of the protocol header. | 10-27-2011 |
20110264823 | READ OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a read request operation by generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices and generating a transaction number field of the payload section to include a transaction number corresponding to the read request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 10-27-2011 |
20110264869 | CONCLUSIVE WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network frame regarding a conclusive write request operation by generating one or more slice name fields of a payload to include one or more slice names corresponding to one or more write commit responses of a write request operation, wherein the conclusive write request operation is a conclusive phase of the write request operation. The method continues with the processing module generating one or more slice revision numbering fields of the payload, wherein each slice revision numbering field includes a slice revision number corresponding to an associated slice name of the one or more slice names. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length and generating remaining fields of the protocol header. | 10-27-2011 |
20110264950 | CHECK OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a check request operation by generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices and generating a transaction number field of the payload section to include a transaction number corresponding to the check request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 10-27-2011 |
20110264962 | CHECKED WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network frame by generating a transaction number field including a transaction number and generating one or more slice payload sections, wherein each slice payload section includes a slice name field to include a slice name corresponding to an encoded data slice, a last known slice revision numbering field including a last known revision number of the slice name, a new slice revision numbering field including a new revision number of the slice name, a slice length field including a length of the encoded data slice, and a slice payload field including the encoded data slice. The method continues with the processing module generating a protocol header including a payload length field and remaining fields of the protocol header. | 10-27-2011 |
20110264989 | DISPERSED STORAGE NETWORK SLICE NAME VERIFICATION - A method begins by a processing module dispersed storage error encoding data to produce a plurality of sets of encoded data slices in accordance with dispersed storage error coding parameters. The method continues with the processing module determining a plurality of sets of slice names corresponding to the plurality of sets of encoded data slices. The method continues with the processing module determining integrity information for the plurality of sets of slice names and sending the plurality of sets of encoded data slices, the plurality of sets of slice names, and the integrity information to a dispersed storage network memory for storage therein. | 10-27-2011 |
20110286594 | STORAGE OF SENSITIVE DATA IN A DISPERSED STORAGE NETWORK - A method begins by a processing module applying a share encoding function on data to produce a plurality of encoded shares and generating a corresponding plurality of random numbers for the plurality of encoded shares. The method continues with the processing module generating an encryption key based on a common password and a corresponding one of the corresponding plurality of random numbers and encrypting the encoded share utilizing the encryption key to produce an encrypted share for each encoded share of the plurality of encoded shares. The method continues with the processing module facilitating storage of the corresponding plurality of random numbers and each of the encrypted shares. | 11-24-2011 |
20110286595 | STORING ACCESS INFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module applying a share encoding function on data to produce a plurality of encoded shares and generating a plurality of random numbers. The method continues with the processing module obtaining a set of personalized authenticating values regarding user access to the data and generating a plurality of hidden passwords based on the set of personalized authenticating values. The method continues with the processing module generating an encryption key based on a corresponding one of the plurality of hidden passwords and a corresponding one of the plurality of random numbers and encrypting the encoded share utilizing the encryption key to produce an encrypted share for each encoded share of the plurality of encoded shares. The method continues with the processing module facilitating storage of the plurality of random numbers and each of the encrypted shares. | 11-24-2011 |
20110289215 | ACCESSING A GLOBAL VAULT IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module receiving a dispersed storage network (DSN) access request and determining whether the DSN access request is associated with a local DSN vault or a global DSN vault, wherein the local DSN vault is contained within a DSN of a plurality of DSNs and the global DSN vault is contained within at least some of the plurality of DSNs. The method continues with the processing module identifying a primary DSN of the plurality of DSNs and facilitating processing of the DSN access request by the primary DSN when the DSN access request is associated with the global DSN vault. | 11-24-2011 |
20110289359 | RECONFIGURING DATA STORAGE IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module determining access performance to copies of dispersed storage encoded data, wherein the copies of the dispersed storage encoded data are stored in a set of a plurality of dispersed storage networks (DSNs). The method continues with the processing module modifying the set of the plurality of DSNs based on the access performance and the desired access performance level to produce a modified set of the plurality of DSNs when the access performance is not at a desired access performance level. The method continues with the processing module, for a new DSN of the modified set of the plurality of DSNs, determining error coding dispersal storage parameters based on local data retrieval accesses allocated to the new DSN and facilitating the new DSN storing another copy of the dispersed storage encoded data. | 11-24-2011 |
20110289565 | RETRIEVING ACCESS INFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module obtaining a set of recovered random numbers, decoding encrypted share slices to produce a set of encrypted shares, and obtaining a set of personalized authenticating values regarding user access to data. The method continues with the processing module generating a set of hidden passwords based on the set of personalized authenticating values, generating a set of blinded passwords based on the set of hidden passwords and a set of blinded random numbers, and generating a set of passkeys based on the set of blinded passwords and the set of recovered random numbers. The method continues with the processing module generating a set of decryption keys based on the set of blinded random numbers and the set of passkeys, decrypting the set of encrypted shares to produce a set of shares, and decoding the set of shares to reproduce the data. | 11-24-2011 |
20110289566 | ENTITY REGISTRATION IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module outputting a registration request message that includes requesting access to a local dispersed storage network (DSN) and requesting access to a global DSN. The method continues with the processing module receiving a registration response message that includes a global universal unique identifier (UUID) and a local UUID. The method continues with the processing module generating a global public-private key pair and a local public-private key pair and generating a global certificate signing request (CSR) based on the global UUID and a private key of the global public-private key pair. The method continues with the processing module generating a local CSR based on the local UUID and a private key of the local public-private key pair, sending the global and local CSRs to a certificate authority (CA), and receiving a signed global certificate and a signed local certificate. | 11-24-2011 |
20110289577 | ACCESSING DATA UTILIZING ENTITY REGISTRATION IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module determining whether a data access request is requesting access to data stored in a plurality of dispersed storage networks (DSNs). The method continues with the processing module determining whether one of the plurality of DSNs is a home DSN to a requesting entity when the data access request is requesting access to data stored in the plurality of DSNs. The method continues with the processing module utilizing a local signed certificate to access one or more dispersed storage (DS) units of the home DSN, validating a global signed certificate with one or more DS units of a non-home DSN of the plurality of DSNs to produce a valid global signed certificate, and utilizing the valid signed certificate to access the one or more DS units of the non-home DSN when the plurality of DSNs includes the home DSN. | 11-24-2011 |
20110311051 | UTILIZING A DETERMINISTIC ALL OR NOTHING TRANSFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module generating a deterministic key from data and encrypting the data using the deterministic key to produce encrypted data. The method continues with the processing module generating transformed data from the encrypted data and generating a masked key from the deterministic key and the transformed data. The method continues with the processing module combining the masked key and the encrypted data to produce a secure package. | 12-22-2011 |
20110314072 | METADATA ACCESS IN A DISPERSED STORAGE NETWORK - A method begins by a processing module dispersed storage error encoding a data segment to produce a set of encoded data slices and dispersed storage error encoding metadata associated with the data segment to produce a set of encoded metadata slices. The method continues with the processing module creating a set of data slice names for the set of encoded data slices and creating a set of metadata slice names based on the set of data slice names. The method continues with the processing module sending the set of encoded data slices and the set of data slice names to a dispersed storage network (DSN) memory for storage therein. The method continues with the processing module sending the set of encoded metadata slices and the set of metadata slice names to the DSN memory for storage therein. | 12-22-2011 |
20110314154 | IDENTIFYING AND CORRECTING AN UNDESIRED CONDITION OF A DISPERSED STORAGE NETWORK ACCESS REQUEST - A method begins by a processing module sending a transaction verification request to the set of dispersed storage (DS) units, wherein the transaction verification request includes a transaction number that corresponds to a particular dispersed storage network (DSN) access request. The method continues with the processing module receiving transaction verification responses from at least some of the set of DS units to produce received transaction verification responses. The method continues with the processing module identifying an undesired condition with processing the DSN access request and initiating a corrective remedy for the undesired condition when a DS unit of the set of DS units does not provide a desired transaction verification response. | 12-22-2011 |
20120030371 | RESOLVING A PROTOCOL ISSUE WITHIN A DISPERSED STORAGE NETWORK - A method begins by a processing module detecting a potential dispersed storage network (DSN) protocol issue that effects access of dispersed storage error encoded data within a DSN. The method continues with the processing module identifying a DSN entity based on the DSN protocol issue and generating a DSN protocol inquiry frame. The method continues with the processing module transmitting the DSN protocol inquiry frame to the DSN entity. The method continues with the processing module receiving a DSN protocol response frame from the DSN entity and resolving the DSN protocol issue based on the DSN protocol response frame. | 02-02-2012 |
20120030437 | PROCESSING A WRITE REQUEST IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a write request regarding an encoded data slice and determining whether the write request pertains to deleting the encoded data slice from a memory space. The method continues with the processing module storing a deletion marker regarding the encoded data slice when the write request pertains to deleting the encoded data slice. The method continues with the processing module determining when to delete the encoded data slice based on the deletion marker and in accordance with the deletion scheme. | 02-02-2012 |
20120030736 | AUTHENTICATING A DATA ACCESS REQUEST TO A DISPERSED STORAGE NETWORK - A method begins by a data accessing module of a dispersed storage network (DSN) sending a data access request to a data storage module. The method continues with the data storage module sending an authentication request to an authenticating module. The method continues with the authenticating module outputting a verification request destined for the data accessing module, wherein the verification request includes a verification code that is generated based on the authentication request. The method continues with the data accessing module outputting a verification response that includes a modified verification code that is generated based on the verification code and a credential. The method continues with the authenticating module outputting an authentication response to the data storage module, wherein the authentication response is generated based on the verification response. The method continues with the data storage module facilitating the data access request when the authentication response is favorable. | 02-02-2012 |
20120030740 | AUTHENTICATION OF DEVICES OF A DISPERSED STORAGE NETWORK - A method begins by a first processing module generating a dispersed storage network (DSN) authentication request frame that includes authenticating data and an authenticating code, wherein the authenticating code references a valid authenticating process. The method continues with the first processing module transmitting the DSN authentication request frame to a second processing module. The method continues with the second processing module determining whether the second processing module includes the valid authentication process referenced by the authentication code. When the second processing module includes the valid authentication process, processing, by the second processing module, the authenticating data in accordance with the valid authentication process to produce processed authenticating data. The method continues with the second processing module generating a DSN authentication response frame that includes the processed authenticating data and transmitting the DSN authentication response frame to the first processing module. | 02-02-2012 |
20120089809 | ACCESSING AN ENCODED DATA SLICE UTILIZING A MEMORY BIN - A method begins by a processing module receiving an encoded data slice to store and determining a slice length of the encoded data slice. The method continues with the processing module comparing the slice length to a plurality of bin widths, wherein each of the plurality of bin widths represents a fixed storage width of a plurality of memory bins within each of a plurality of memory containers, wherein a storage unit includes the plurality of memory containers. The method continues with the processing module selecting one of the plurality of memory containers based on the comparing to produce a selected memory container, identifying an available bin of the plurality of bins of the selected memory container, and storing the encoded data slice in the available bin. | 04-12-2012 |
20120089865 | CORRECTING AN ERRANT ENCODED DATA SLICE - A method begins by a processing module decoding a set of encoded data slices to produce a decoded data segment and determining whether the decoded data segment includes an error. When the decoded data segments includes the error, the processing module identifies one or more errant encoded data slices by decoding another set of encoded data slices to produce another decoded data segment. The method continues with the processing module determining whether the other decoded data segment includes the error. When the other decoded data segment does not include the error, the processing module identifies the one or more errant encoded data slices and corrects the one or more errant encoded data slices. When the other decoded data segment includes the error, the processing module repeats, for yet another set of encoded data slices, the decoding step, the determining step, and the identifying and correcting step or the repeating steps. | 04-12-2012 |
20120089885 | DATA TRANSMISSION UTILIZING ROUTE SELECTION AND DISPERSED STORAGE ERROR ENCODING - A method begins by a processing module obtaining a set of encoded data slices for transmission to a receiving entity via a network, wherein the set of encoded data slices represents data that has been dispersed storage error encoded. The method continues with the processing module dividing the set into a plurality of sub-sets of encoded data slices in accordance with an error coding distributed routing protocol. The method continues with the processing module determining a plurality of routing paths within the network in accordance with the error coding distributed routing protocol. The method continues with the processing module transmitting the plurality of sub-sets of encoded data slices via the plurality of routing paths to the receiving entity in accordance with the error coding distributed routing protocol. | 04-12-2012 |
20120089886 | RELAYING DATA TRANSMITTED AS ENCODED DATA SLICES - A method begins by a first device determining an error coding distributed routing protocol and transmitting a set of encoded data slices, identity of a second device, and the error coding distributed routing protocol to a network, wherein the set of encoded data slices represents data that has been dispersed storage error encoded. The method continues with the network routing a plurality of sub-sets of the set of encoded data slices via an initial plurality of routing paths towards the second, comparing anticipated routing performance with a desired routing performance, and altering the routing path to obtain a favorable comparison. The method continues with the second device receiving at least some of the set of encoded data slices from the network and decoding at least a threshold number of encoded data slices to reproduce the data when at least the threshold number of encoded data slices have been received. | 04-12-2012 |
20120089887 | DATA TRANSMISSION UTILIZING DATA PROCESSING AND DISPERSED STORAGE ERROR ENCODING - A method begins by a processing module dispersed storage error encoding fundamental component data of data in accordance with dispersed storage error coding parameters to produce a plurality of sets of encoded data slices, wherein the data includes the fundamental component data and enhancement component data. The method continues with the processing module transmitting a set of the plurality of sets of encoded data slices and transmitting a corresponding portion of the enhancement component data substantially concurrently with the transmitting of the set of the plurality of sets of encoded data slices. | 04-12-2012 |
20120102316 | STORING ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage network (DSN) access module encoding a data segment to produce slices and sending temporary write requests to DSN storage modules, wherein the temporary write requests includes slices. In response to one of the temporary write requests, the method continues with a DSN storage module temporarily storing a slice to produce a temporarily stored slice and sending an indication of temporary storage of the slice. When a write threshold number of indications of temporary storage has been received by the DSN access module, the method continues with the DSN access module sending permanent write requests to DSN storage modules. In response to one of the permanent write requests, the method continues with the DSN storage module storing the temporarily stored slice in permanent memory and sending an indication of permanent storage of the slice. | 04-26-2012 |
20120110346 | STORING DATA INTEGRITY INFORMATION UTILIZING DISPERSED STORAGE - A method begins by a processing module generating an integrity check value for each encoded data slice of a set of encoded data slices to produce a set of integrity check values. The method continues with the processing module encoding the set of integrity check values to produce encoded integrity check values. The method continues with the processing module sending the encoded integrity check values for storage in a memory system. | 05-03-2012 |
20120166757 | RETRIEVING DATA SEGMENTS FROM A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a file retrieval request for a file, wherein the file includes one or more data regions, and wherein a data region of the one or more data regions is divided into a plurality of data segments and stored as a plurality of sets of encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module retrieving a segment allocation table (SAT), wherein a SAT entry of a plurality of SAT entries includes information regarding storing the data region in the DSN memory and a segmentation scheme regarding the dividing of the data region into the plurality of data segments. The method continues with the processing module identifying the plurality of sets of encoded data slices and retrieving at least a sufficient number of the plurality of sets of encoded data slices to regenerate the data region. | 06-28-2012 |
20120198066 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO ACQUIRE DIGITAL CONTENT FROM A DIGITAL CONTENT PROVIDER - A method begins with a computing device receiving a request to acquire digital content from a digital content provider and forwarding the request to a dispersed storage network (DSN) pre-paid module. The method continues with the DSN pre-paid module validating the request, generating a plurality of sets of at least a threshold number of digital content read requests, and sending the plurality of sets of the at least a threshold number of digital content read requests to the digital content provider via the computing device when the request to acquire the digital content is validated. The method continues with at least one of the DSN pre-paid module and the computing device receiving a plurality of sets of at least a decoded threshold number of encoded data slices and decoding the plurality of sets of the at least a decoded threshold number of encoded data slices to produce the digital content. | 08-02-2012 |
20120198197 | TRANSFERRING DATA IN RESPONSE TO DETECTION OF A MEMORY SYSTEM IMBALANCE - A method begins by a processing module determining an imbalance between inode utilization and data storage utilization. When the imbalance compares unfavorably to an imbalance threshold, the method continues with the processing module determining whether utilization of another inode memory and utilization of another corresponding data storage memory are not imbalanced. When the utilization of the other inode memory and the utilization of the other corresponding data storage memory are not imbalanced, determining whether the inode utilization is out of balance with respect to the data storage utilization. When the inode utilization is out of balance, the method continues with the processing module transferring data objects from a data storage memory to the other corresponding data storage memory and transferring mapping information of data objects from a inode memory to the other inode memory. | 08-02-2012 |
20120198203 | MODIFYING DATA STORAGE IN RESPONSE TO DETECTION OF A MEMORY SYSTEM IMBALANCE - A method begins by a processing module determining an imbalance between inode memory utilization and data storage memory utilization. When the imbalance compares unfavorably to an imbalance threshold, the method continues with the processing module determining whether the inode memory utilization is out of balance with respect to the data storage memory utilization or whether the data storage memory utilization is out of balance with respect to the inode memory utilization. When the inode memory utilization is out of balance with respect to the data storage memory utilization, the method continues with the processing module transferring a set of data objects from a data object section to a data block section and transferring object mapping information of the set of data objects into block mapping information for the set of data objects. | 08-02-2012 |
20120198311 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO ACCESS A DISPERSED STORAGE NETWORK MEMORY - A method begins by a computing device determining that dispersed storage network (DSN) memory is to be accessed regarding data. The method continues when the computing device is paired with a DSN access token module with the DSN access token module retrieving a plurality of sets of at least a threshold number of dispersed storage (DS) error coding function slices from the DSN memory via the computing device. The method continues with at least one of the computing device and the DSN access token module decoding the plurality of sets of the at least a threshold number of DS error coding function slices using a default DS error coding function to recapture a DS error coding function and executing, by one or more of the computing device and the DSN access token module, the DS error coding function to access the DSN memory regarding the data. | 08-02-2012 |
20120198536 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO STORE DATA IN A DISPERSED STORAGE NETWORK MEMORY - A method for storing data begins with determining, by a computing device, where to store the data and continues with managing, by a dispersed storage network (DSN) access token module, a pairing between the DSN access token module and the computing device. The method continues with sending, by the computing device, at least a portion of the data to the DSN access token module and encoding, by the DSN access token module, the at least a portion of the data using a dispersed storage error encoding function to produce one or more sets of encoded data slices. The method continues with sending, by the DSN access token module, the one or more sets of encoded data slices and storage information to the computing device and sending, by the computing device, the one or more sets of encoded data slices to the DSN memory for storage therein. | 08-02-2012 |
20120198537 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO RETRIEVE DATA FROM A DISPERSED STORAGE NETWORK MEMORY - A method begins by a computing device determining that data is stored in dispersed storage network (DSN) memory and sending a data retrieval request to a DSN access token module regarding the data. The method continues with the DSN access token module generating a plurality of sets of data slice read requests and sending the plurality of sets of data slices read requests to the computing device. The method continues with, for a set of data slices read requests, the computing device sending the set of data slices read requests to the DSN memory, receiving data slices from the DSN memory, and sending the data slices to the DSN access token module. The method continues with the DSN access token module decoding the data slices to produce a decoded data segment and sending the decoded data segment to the computing device. | 08-02-2012 |
20120216035 | VALIDATING A CERTIFICATE CHAIN IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a certificate chain and determining whether at least one of one or more signed certificates of the chain has a valid signature. When the at least one of the one or more signed certificates has a valid signature, the method continues with the processing module identifying one or more certificate authorities (CA) to produce identified CAs, accessing registry information that includes one or more realm identifiers (IDs) and a plurality of trusted CA IDs, determining whether one or more of the identified CAs is a trusted CA, and when the one or more of the identified CAs is a trusted CA, indicating that the certificate chain is valid, identifying a realm ID based on a trusted CA ID, and generating certificate chain validation information to include the realm ID, trusted CAs, and the indication of the validity of the certificate chain. | 08-23-2012 |
20120226714 | SELECTING A DIRECTORY OF A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a dispersed storage network (DSN) access request accessing DSN memory regarding a set of encoded data slices, selecting a local DSN directory or a global DSN directory to produce a selected DSN directory, identifying an entry of the selected DSN directory regarding the set of encoded data slices to produce an identified entry, and accessing the DSN memory regarding the set of encoded data slices. The method continues with the processing module determining whether to update one or more of the local DSN directory and the global DSN directory based on the accessing the DSN memory and when the one or more of the local DSN directory and the global DSN directory is to be updated, updating the one or more of the local DSN directory and the global DSN directory in accordance with the accessing the DSN memory. | 09-06-2012 |
20120226772 | TRANSFERRING DATA UTILIZING A TRANSFER TOKEN MODULE - A method for data transfer from a first computing device to a second computing device begins when the first computing device is paired with a transfer token module by the first computing device sending the data to the transfer token module. The method continues with the transfer token module encoding the data utilizing a dispersed storage error encoding function to produce a set of encoded data slices and sending the set of encoded data slices to a target destination. The method continues, when the second computing device is paired with the transfer token module, with the transfer token module retrieving the set of encoded data slices from the target destination and decoding the set of encoded data slices utilizing the dispersed storage error encoding function to recapture the data. The method continues with the second computing device storing the data. | 09-06-2012 |
20120226933 | MAINTAINING DATA CONCURRENCY WITH A DISPERSED STORAGE NETWORK - A method begins by a processing module generating a transaction number and generating at least a threshold number of dispersed storage network (DSN) concurrency requests, wherein each of the at least the threshold number of DSN concurrency requests includes a header section and a payload section; each of the payload sections includes the transaction number, a last known slice revision number, and a slice name section, wherein a first slice name section of a first one of the payload sections includes one or more first slice names that includes a first slice name corresponding to a first encoded data slice of a set of encoded data slices; and a second slice name section of a second one of the payload sections includes one or more second slice names that includes a second slice name corresponding to a second encoded data slice of the set of encoded data slices. | 09-06-2012 |
20120226960 | RETRIEVAL OF ENCODED DATA SLICES AND ENCODED INSTRUCTION SLICES BY A COMPUTING DEVICE - A computing device includes a central processing unit (CPU) and a memory system module. The CPU includes a data dispersed storage error coding (DSEC) module operable to DSEC decode a set of encoded ingress data slices to recapture ingress data and DSEC encode egress data to produce a set of encoded egress data slices, an instruction DSEC module operable to DSEC decode a set of encoded instruction slices to recapture an instruction, and an arithmetic logic unit (ALU) operable to, execute the instruction on the ingress data and execute the instruction to produce the egress data. The memory system module is operable to coordinate retrieval of the set of encoded ingress data slices from memory, coordinate retrieval of the set of encoded instruction slices from the memory, and coordinate storage of the set of encoded egress data slices in the memory. | 09-06-2012 |
20120254619 | GENERATING A SECURE SIGNATURE UTILIZING A PLURALITY OF KEY SHARES - A method begins by a module to generate a secure signature on an item by selecting a first key representation index of a set of key representation indexes, wherein a first mathematical encoding of a private key generates a first plurality of key shares as a first key representation. The method continues with the module determining whether a first plurality of signature contributions have been received in response to a signature request for the item based on the first key representation index, wherein one of a first set of dispersed storage (DS) units executes a first mathematical signature function using one of the first plurality of key shares on the item to produce a signature contribution of the first plurality of signature contributions and when the first plurality of signature contributions have been received, generating the secure signature on the item from the first plurality of signature contributions. | 10-04-2012 |
20120254687 | PRE-FETCHING DATA SEGMENTS STORED IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data segment retrieval request regarding a data segment, which is stored in a dispersed storage network (DSN) memory. The method continues with the processing module processing the data segment retrieval request, determining pre-fetch segment buffering information, and when the pre-fetch segment buffering information indicates pre-fetching one or more other data segments, generating one or more pre-fetch segment retrieval requests for the one or more other data segments, receiving, one or more sets of at least a decode threshold number of encoded data slices, decoding, in accordance with a dispersed storage error coding function, the one or more sets of at least a decode threshold number of encoded data slices to reproduce the one or more other data segments, and updating a pre-fetch segment buffer with the one or more other data segments. | 10-04-2012 |
20120254688 | APPENDING DATA TO EXISTING DATA STORED IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a request to store data in dispersed storage network (DSN) memory and determining whether the data is to be appended to existing data. When the data is to be appended, the method continues with the processing module encoding, using an append dispersed storage error coding function, the data to produce a set of encoded append data slices, generating a set of append commands, wherein an append command of the set of append commands includes an encoded append data slice of the set of encoded append data slices and identity of one of a set of dispersed storage (DS) units, and outputting at least a write threshold number of the set of append commands to at least a write threshold number of the set of DS units. | 10-04-2012 |
20120254689 | UPDATING ERROR RECOVERY INFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module updating an encoded data slice of a set of encoded data slices to produce an updated encoded data slice and sending the updated encoded data slice to a first DS unit of a set of DS units. The method continues with the first DS unit storing the updated encoded data slice and generating partial error recovery information to produce a collection of partial error recovery information. The method continues with the first DS unit outputting the collection of partial error recovery information for storage in at least some of the set of DS units. The method continues with one of the at least some of the set of DS units updating error recovery information of an encoded data slice based on a corresponding one of the collection of partial error recovery information. | 10-04-2012 |
20120254690 | UTILIZING LOCAL MEMORY AND DISPERSED STORAGE MEMORY TO ACCESS ENCODED DATA SLICES - A method begins by a processing module encoding data utilizing a dispersed storage error coding function to produce a set of encoded data slices, wherein the dispersed storage error coding function includes a decode threshold parameter and a pillar width parameter. The method continues with the processing module storing a number of encoded data slices of the set of encoded data slices in a local memory, wherein the number is based on the decode threshold parameter and is less than the pillar width parameter, and outputting remaining encoded data slices of the set of encoded data slices to dispersed storage network (DSN) memory. | 10-04-2012 |
20120254691 | ADJUSTING A DISPERSAL PARAMETER OF DISPERSEDLY STORED DATA - A method begins by a processing module storing data files utilizing a dispersed storage error coding function that includes a pillar width parameter and a decode threshold parameter. The method continues with the processing module determining whether to adjust the pillar width parameter based one or more memory performance characteristics. When the pillar width parameter is to be decreased, the method continues with the processing module identifying one or more pillars within a memory to delete to produce one or more identified pillars, identifying encoded data slices of one or more of the data files stored in the one or more identified pillars to produce identified encoded data slices, and deleting the identified encoded data slices. | 10-04-2012 |
20120254692 | UTILIZING A LOCAL AREA NETWORK MEMORY AND A DISPERSED STORAGE NETWORK MEMORY TO ACCESS DATA - A method begins by a processing module encoding data based on a decode threshold parameter and a pillar width parameter to produce a set of encoded data slices and selecting a local area network (LAN) pillar width value of encoded data slices of the set of encoded data slices for storage in LAN available memories, wherein the LAN pillar width value is based on the decode threshold parameter, the pillar width parameter, and quantities of the LAN available memories. The method continues with the processing module selecting a wide area network (WAN) pillar width value of encoded data slices of the set of encode data slices for storage in a dispersed storage network (DSN) memory of a wide area network, wherein the WAN pillar width value is based on the decode threshold parameter and the pillar width parameter. | 10-04-2012 |
20120254697 | METHOD AND APPARATUS FOR DISPERSED STORAGE MEMORY DEVICE SELECTION - A method begins when a dispersed storage (DS) processing unit of a DS unit has at least one of DS unit operational data and DS unit operating system algorithm to store. The method continues with the DS processing unit encoding at least a portion of the at least one of DS unit operational data and DS unit operating system algorithm in accordance with an error coding dispersal storage function to produce a plurality of data slices. The method continues with the DS processing unit storing at least some of the plurality of data slices in memory devices of the DS unit in accordance with the error coding dispersal storage function. | 10-04-2012 |
20120265937 | DISTRIBUTED STORAGE NETWORK INCLUDING MEMORY DIVERSITY - A dispersed storage (DS) unit a processing module and a plurality of hard drives. The processing module is operable to maintain states for at least some of the plurality of hard drives. The processing module is further operable to receive a memory access request regarding an encoded data slice and identify a hard drive of the plurality of hard drives based on the memory access request. The processing module is further operable to determine a state of the hard drive. When the hard drive is in a read state and the memory access request is a write request, the processing module is operable to queue the write request, change from the read state to a write state in accordance with a state transition process, and, when in the write state, perform the write request to store the encoded data slice in the hard drive. | 10-18-2012 |
20120290830 | GENERATING AN ENCRYPTED MESSAGE FOR STORAGE - A method begins by a dispersed storage (DS) processing module generating a shared secret key from a public key of another entity and a private key using a first modulo prime polynomial function, wherein a public key is generated from the private key using a second modulo prime polynomial function and wherein the public key of the other entity is derived using the second modulo prime polynomial function on a private key of the other entity. The method continues with the DS module encrypting a message using the shared secret key to produce an encrypted message. The method continues with the DS module outputting the encrypted message to the other entity. | 11-15-2012 |
20120290868 | ASSIGNING A DISPERSED STORAGE NETWORK ADDRESS RANGE IN A MAINTENANCE FREE STORAGE CONTAINER - A method begins by a dispersed storage (DS) processing module determining storage device failure information for a plurality of storage devices within a maintenance free storage container, wherein the maintenance free storage container allows for multiple storage devices of the plurality of storage devices to be in a failure mode without replacement and wherein the storage device failure information indicates storage devices of the plurality of storage devices that are in the failure mode. The method continues with the DS processing module maintaining a dynamic container address space of the maintenance free storage container based on the storage device failure information. The method continues with the DS processing module managing mapping of container addresses of the dynamic container address space to dispersed storage network (DSN) addresses of an assigned DSN address range. | 11-15-2012 |
20120290878 | ESTABLISHING TRUST IN A MAINTENANCE FREE STORAGE CONTAINER - A maintenance free storage container includes a plurality of storage servers, wherein the maintenance free storage container allows for multiple storage servers of the plurality of storage servers to be in a failure mode without replacement. The maintenance free storage container further includes a container controller operable to manage failure mode information of the plurality of storage servers, manage mapping of a plurality of virtual storage servers to at least some of the plurality of storage servers based on the failure mode information, communicate storage server access requests with a device external to the maintenance free storage container using addressing of the plurality of virtual storage servers, and communicate the storage server access requests within the maintenance free storage container using addressing of the plurality of storage servers. | 11-15-2012 |
20120290915 | ACCESSING A SECOND WEB PAGE FROM A DISPERSED STORAGE NETWORK MEMORY BASED ON A FIRST WEB PAGE SELECTION - A method begins, when a second web page is selected based on an element of a first web page, with a dispersed storage (DS) processing module determining dispersed storage network (DSN) location information for the second web page. The method continues with the DS processing module interpreting the DSN location information to request retrieval of a plurality of sets of at least a decode threshold number of encoded data slices from a DSN. The method continues with the DS processing module decoding, using a DS error coding function, a set of the plurality of sets of the least the decode threshold number of encoded data slices to reproduce an element of the second web page. | 11-15-2012 |
20120311345 | SECURELY REBUILDING AN ENCODED DATA SLICE - A method begins by a requesting entity issuing a rebuild request regarding an encoded data slice to at least some of a set of distributed storage (DS) units. In response to the rebuild request, the method continues with each of at least some of the DS units of the set of DS units generating a partial slice corresponding to the encoded data slice to be rebuilt based on one of a set of encoded data slices stored by the respective DS unit to produce an array of partial slices. The method continues with the at least some of the DS units encrypting the array of partial slices using a set of encryption keys to produce an array of encrypted partial slices. The method continues with the requesting entity rebuilding the encoded data slice from the array of encrypted partial slices. | 12-06-2012 |
20120311346 | SECURING A DATA SEGMENT FOR STORAGE - A method begins by a dispersed storage (DS) processing module encrypting a data segment utilizing an encryption key to produce an encrypted data segment and performing a deterministic function on the encrypted data to produce a transformed representation of the encrypted data. The method continues with the DS processing module masking the encryption key utilizing the transformed representation of the encrypted data to produce a masked key, partitioning the masked key into a plurality masked key partitions, partitioning the encrypted data segment into a plurality of encrypted data segment partitions, and combining the plurality of masked key partitions with the plurality of encrypted data segment partitions to produce a plurality of combined partitions. For a combined partition of the plurality of combined partitions, the method continues with the DS processing module encoding the combined partition using a dispersed storage error coding function to produce a set of encoded data slices. | 12-06-2012 |
20120311395 | STORING PORTIONS OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module generating preliminary dispersed storage network (DSN) storage information for data to be stored in a DSN. The method continues with the DS processing module accessing DSN storage information regarding other data stored in the DSN and comparing the preliminary DSN storage information for the data with the DSN storage information regarding the other data. When at least a portion of the data has compatible preliminary DSN storage information with DSN storage information of at least a portion of the other data, the method continues with the DS processing module generating DSN storage information for remaining portions of the data to produce remaining portions DSN storage information and generating DSN storage information for the data based on the DSN storage information of the at least the portion of the other data and the remaining portions DSN storage information. | 12-06-2012 |
20120311403 | PRIORITIZED DELETING OF SLICES STORED IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module monitoring storage of data, wherein the data is encoded using a dispersed storage error coding function to produce a plurality of sets of encoded data slices and is stored as the plurality of sets of encoded data slices. The method continues with the DS processing module determining analysis priority of the data in accordance with an analysis prioritization protocol. When the analysis priority of the data compares unfavorably to a first priority threshold, the method continues with the DS processing module issuing a command to delete an encoded data slice from each set of at least some of the plurality of sets of encoded data slices. | 12-06-2012 |
20120311557 | UPDATING DISTRIBUTED STORAGE NETWORK SOFTWARE - A method begins by a management unit of a distributed storage network (DSN) sending a software update notice to a plurality of dispersed storage (DS) units, wherein the plurality of DS units supports a plurality of digital storage vaults, and wherein a set of DS units of the plurality of DS units supports a digital storage vault of the plurality of digital storage vaults. The method continues with a DS processing module determining an update strategy for updating software of the plurality of DS units such that at least a decode threshold number of DS units of the set of DS units is continually available to service access requests to the digital storage vault and updating the software of at least some of the plurality of DS units in accordance with the update strategy. | 12-06-2012 |
20120324275 | DISPERSED STORAGE UNIT SELECTION - A dispersed storage device for use within a dispersed storage network operates to select a set of dispersed storage units for storage of a data object by slicing an encoded data segment of a data object into error coded data slices, determining slice metadata for the error coded data slices, determining memory characteristics of dispersed storage units capable of storing the error coded data slices and selecting the set of dispersed storage units for storing the error coded data slices based on the slice metadata and the memory characteristics. | 12-20-2012 |
20120324293 | CONFIGURING A GENERIC COMPUTING DEVICE UTILIZING SPECIFIC COMPUTING DEVICE OPERATION INFORMATION - A method begins with the specific computing device token sending a distributed storage network (DSN) access request to DSN memory via the generic computing device. The DSN access request identifies specific computing device operation information that is stored as one or more of-sets of encoded data slices in the DSN memory. The method continues with the specific computing device token receiving the one or more of sets of encoded data slices from the DSN memory via the generic computing device and decoding the one or more of sets of encoded data slices to retrieve the specific computing device operation information. The method continues with enabling the generic computing device to function as a specific computing device in accordance with the specific computing device operation information. | 12-20-2012 |
20130013960 | MAINTENANCE FREE STORAGE CONTAINER STORAGE MODULE ACCESS - A method begins by a processing module determining failure mode information for a plurality of storage modules of a maintenance-free storage container. The method continues with the processing module managing storage mapping information of data content within the plurality of storage modules based on the failure mode information and receiving a data access request. The method continues with the processing module interpreting the data access request based on the storage mapping information to identify one or more of the plurality of storage modules to produce one or more identified storage modules and generating an in-container data access request based on the data access request and the one or more identified storage modules. The method continues with the processing module sending the in-container data access request to the one or more identified storage modules. | 01-10-2013 |
20130013961 | REBUILDING A DATA SLICE OF A MAINTENANCE FREE STORAGE CONTAINER - A method begins by a dispersed storage (DS) processing module detecting a storage error of an encoded data slice associated with a storage server within a maintenance free storage container. The method continues with the DS processing module determining failure mode information for the storage server and other storage servers and determining a rebuilding protocol for the encoded data. When the determined rebuilding protocol is a zero information gain (ZIG) protocol, the method continues with the DS processing module identifying a decode threshold number of storage servers from the other storage servers of the maintenance free storage container and from storage servers of another maintenance free storage container, retrieving zero information gain (ZIG) partial encoded data slices from the decode threshold number of storage servers, and decoding the ZIG partial encoded data slices utilizing a ZIG dispersed storage error coding function to reproduce the encoded data slice. | 01-10-2013 |
20130014254 | RESPONDING TO A MAINTENANCE FREE STORAGE CONTAINER SECURITY THREAT - A method for responding to a security threat for a maintenance free storage container begins by a dispersed storage (DS) processing module identifying a security threat for the maintenance free storage container, wherein the maintenance free storage container allows for multiple storage servers of a plurality of storage servers to be in a failure mode without replacement. The method continues with the DS processing module determining a failure mode level that is indicative of whether one or more of the multiple storage servers are in the failure mode. The method continues with the DS processing module selecting a security threat countermeasure based on the security threat and the failure mode level. The method continues with the DS processing module implementing the security threat countermeasure. | 01-10-2013 |
20130046973 | FACILITATING ACCESS OF A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module generating a temporary public-private key pair, a restricted use certificate, and a temporary password for a device. The method continues with the DS processing encoding a temporary private key to produce a set of encoded private key shares and encoding the restricted use certificate to produce a set of encoded certificate shares. The method continues with the DS processing module outputting the set of encoded private key shares and the set of encoded certificate shares to a set of authentication units. The method continues with the DS processing module outputting the temporary password to the device such that, when the device retrieves the set of encoded private key shares and the set of encoded certificate shares, the device is able to recapture the temporary private key and the restricted use certificate for accessing a dispersed storage network (DSN). | 02-21-2013 |
20130046992 | STORAGE AND RETRIEVAL OF DISPERSED STORAGE NETWORK ACCESS INFORMATION - A method begins by a dispersed storage (DS) processing module receiving a certificate signing request (CSR) from a user device. The method continues with the DS processing module generating a set of hidden passwords based on the CSR and accessing a set of authenticating units to obtain a set of passkeys. The method continues with the DS processing module retrieving a set of encrypted shares and decrypting the set of encrypted shares to produce a set of encoded shares. The method continues with the DS processing module decoding the set of encoded shares to recapture a private key and generating a user signed certificate based on the private key. The method continues with the DS processing module discarding the private key to substantially protect the private key from the user device and outputting the user signed certificate to the user device. | 02-21-2013 |
20130047057 | DETECTING INTENTIONAL CORRUPTION OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a DS unit selecting a data slice for corruption analysis and requesting integrity information for the data slice from one or more other DS units of a dispersed storage network. When the one or more requested integrity information is received, the method continues with the DS processing module analyzing the one or more received integrity information and local integrity information of the data slice stored in the DS unit. When the analysis of the one or more received integrity information and the local integrity information of the data slice is unfavorable, the method continues with the DS processing module identifying the data slice as being corrupted. | 02-21-2013 |
20130086377 | PROCESSING A CERTIFICATE SIGNING REQUEST IN A DISPERSED STORAGE NETWORK - A method begins by a requesting device transmitting a certificate signing request to a managing unit, wherein the certificate signing request includes fixed certificate information and suggested certificate information. The method continues with the managing unit forwarding the certificate signing request to a certificate authority and receiving a signed certificate from the certificate authority, wherein the signed certificate includes a certificate and a certification signature and wherein the certificate includes the fixed certificate information and determined certificate information based on the suggested certificate information. The method continues with the managing unit interpreting the fixed certificate information of the signed certificate to identify the requesting device and forwarding the signed certificate to the identified requesting device. | 04-04-2013 |
20130086442 | STORING ENCODED DATA SLICES IN A DISPERSED STORAGE UNIT - A method begins by a processing module receiving a write request that includes a batch of encoded data slices and a corresponding batch of slice names, wherein the batch of encoded data slices includes encoded data slices that have slices names that have a common data object storage name, a common slice storage name, and a different data segment storage name. The method continues with the processing module determining whether a storage file exists based on the common data object storage name. The method continues with the processing module creating the storage file based on the common data object storage name when the storage file does not exist. The method continues with the processing module storing the batch of encoded data slices in the storage file based on the corresponding batch of slice names. | 04-04-2013 |
20130086447 | UPDATING DATA STORED IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving a modified data object, wherein the modified data object is a modified version of a data object and the data object is divided into a plurality of data segments and stored in the DSN. The method continues with the DS processing module mapping portions of the modified data object to the plurality of data segments that includes creating a middle data segment of a second plurality of data segments based on a corresponding middle data segment of the plurality of data segments when the a portion of the portions corresponds to middle data of the modified data object. The method continues with the DS processing module encoding the middle data segment using a dispersed storage error coding function to produce an encoded data segment and overwriting the corresponding middle data segment with the encoded data segment in the DSN. | 04-04-2013 |
20130086448 | ACCESSING LARGE AMOUNTS OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module obtaining a plurality of data objects for storage in a dispersed storage network (DSN) and determining one or more common data object aspects of a data object of the plurality of data objects. The method continues with the DS processing module disperse storage error encoding at least a portion of the data object to produce a set of encoded data slices and generating a set of DSN addresses for the set of encoded data slices, wherein each of the set of DSN addresses includes a field referencing the one or more common data object aspects. The method continues with the DS processing module outputting the set of encoded data slices for storage in the DSN based on the set of DSN addresses. | 04-04-2013 |
20130086642 | OBTAINING A SIGNED CERTIFICATE FOR A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module generating a certificate signing request (CSR) that includes a certificate and a certificate extension, wherein the certificate includes information regarding a requesting device and wherein the certificate extension includes information regarding an accessible dispersed storage network (DSN) address range for the requesting device. The method continues with the DS processing module outputting the CSR to a certificate authority of a DSN and receiving a signed certificate from the certificate authority, wherein the signed certificate includes a certification signature of the certificate authority authenticating the certificate and the certificate extension. The method continues with the DS processing module storing the signed certificate for use when generating a DSN access request, wherein the DSN access request is requesting access to dispersed storage error encoded data in the DSN at an address within the accessible DSN address range. | 04-04-2013 |
20130111166 | Copying data in a dispersed storage network without replication | 05-02-2013 |
20130111293 | Storing data in a dispersed storage network | 05-02-2013 |
20130111300 | Accessing a large data object in a dispersed storage network | 05-02-2013 |
20130111609 | Highly secure method for accessing a dispersed storage network | 05-02-2013 |
20130117560 | PROCESSING A DISPERSED STORAGE NETWORK ACCESS REQUEST UTILIZING CERTIFICATE CHAIN VALIDATION INFORMATION - A method begins by a processing module receiving a dispersed storage network (DSN) access request that includes a requester identifier (ID), wherein the requester ID is associated with a certificate chain. When the certificate chain is valid, the method continues with the processing module accessing registry information for the DSN. The method continues with the processing module identifying one of a plurality of access control lists based on at least one of information associated with the requester ID and information associated with the certificate chain, identifying one or more entries of the one of the plurality of access control lists based on the information associated with the certificate chain to produce one or more identified entries, and generating, for the DSN access request, permissions from one or more sets of permissions associated with the one or more identified entries. | 05-09-2013 |
20130124875 | DISTRIBUTED STORAGE NETWORK AND METHOD FOR ENCRYPTING AND DECRYPTING DATA USING HASH FUNCTIONS - A DS processing unit includes a grid module and a DSN interface. The grid module is operable to encrypt a data segment and to decrypt an encrypted data segment. To encrypt the data segment, the grid module partitions the data segment into portions and encrypts the portions using encryption keys generated from other portions to produce encrypted portions. The grid module then dispersed storage error encodes the encrypted portions to produce a set of encoded data slices, which the DSN interface outputs to a DSN. The DSN interface also receives a set of encoded data slices, which the grid module disperse storage error decodes to produce the encrypted data segment. The grid module then partitions the encrypted data segment into encrypted data portions and decrypts the encrypted data portions using decryption keys generated from other encrypted data portions to produce decrypted portions of a recovered data segment. | 05-16-2013 |
20130125190 | DIGITAL CONTENT DISTRIBUTION UTILIZING DISPERSED STORAGE - A computer includes an interface and a processing module. The processing module receives, over time and via the interface, requests to playback recorded broadcast data, wherein a single copy of the recorded broadcast data is dispersed error encoded to produce a plurality of sets of encoded data slices that is stored in a dispersed storage network (DSN). In response to the playback requests, the processing module identifies unique combinations of at least a threshold number of encoded data slices for sets of the plurality of sets of encoded data slices to produce unique copies of the recorded broadcast data. For a particular playback request, the processing module retrieves a unique copy of the unique copies of the recorded broadcast data from the DSN and outputs, via the interface, the retrieved unique copy to a device associated with the particular playback request. | 05-16-2013 |
20130138706 | Creating a New File for a Dispersed Storage Network - A method begins by a dispersed storage (DS) processing module receiving a file creation request to create a new file from portions of a set of existing files. The method continues with the DS processing module identifying data segments associated with the set of existing files corresponding to the portions of the set of existing files to produce identified data segments and identifying sets of encoded data slices of the identified data segments to produce identified sets of encoded data slices. The method continues with the DS processing module determining addressing information for the identified sets of encoded data slices from existing addressing information of the set of existing files and generating a segment allocation table for the new file based on the addressing information of the identified sets of encoded data slices such that the new file is created without duplication of the portions of the existing files. | 05-30-2013 |
20130138970 | Deleting Encoded Data Slices in a Dispersed Storage Network - A method begins by a dispersed storage (DS) processing module receiving a request regarding at least a portion of corresponding encoded data slices, wherein a collection of encrypted and encoded data slices of a plurality of collections of encrypted and encoded data slices includes a common data aspect, wherein encrypted and encoded data slices of the collection of encrypted and encoded data slices are produced by individually encrypting corresponding encoded data slices using a common encrypting character string and representations of the corresponding encoded data slices. The method continues with the DS processing module identifying the common encrypting character string of the corresponding encoded data slices. When the request is to delete the corresponding encoded data slices, the method continues with the DS processing module obfuscating the common encrypting character string in a local memory such that the collection of encrypted and encoded data slices are effectively incomprehensible. | 05-30-2013 |
20130145116 | COMPACTING DISPERSED STORAGE SPACE - A method begins by a processing module identifying a first storage space zone that includes a plurality of deleted encoded data slices and a plurality of active encoded data slices. The method continues with the processing module determining to compact the first storage space zone based on a function of the plurality of deleted encoded data slices and the plurality of active encoded data slices. The method continues with the processing module retrieving the plurality of active encoded data slices from the first storage space zone, identifying a second storage space zone, storing the plurality of active encoded data slices in the second storage space zone, and erasing the plurality of deleted encoded data slices and the plurality of active encoded data slices from the first storage space zone when the first storage space zone is to be compacted. | 06-06-2013 |
20130151470 | Securing Data in a Dispersed Storage Network Using Shared Secret Slices - A method begins by dividing a data segment into data segment portions. The method continues by encoding the data segment portions to produce a plurality of sets of encoded data segment portions. A data segment portion is encoded by, first, selecting an encoding equation and an encoding constant(s). The encoding continues by setting a first variable to the data segment portion. The encoding continues by setting a second variable to one of a set of pillar numbers. The encoding continues by executing the encoding equation using the encoding constant, the first variable, and the second variable to produce one of the plurality of sets of encoded data segment portions. The method continues by arranging the plurality of sets of encoded data segment portions into a plurality of encoded data slices. The method continues by sending the plurality of encoded data slices to distributed storage units of a distributed storage network. | 06-13-2013 |
20130151581 | Analyzing Found Data in a Distributed Storage and Task Network - A method begins by a dispersed storage (DS) processing module establishing data identifying criteria for searching data on a network, establishing data analyzing criteria for analyzing found data of the data on the network, and establishing distributed computing criteria. The method continues with the DS processing module distributing the data identifying criteria and the data analyzing criteria to a set of distributed storage and task (DST) units. The method continues with the DS processing module receiving a set of network data partial resultants from the set of DST units, wherein the set of DST units generates the set of network data partial results in accordance with the data identifying criteria to produce found data and analyzing the found data in accordance with the data analyzing criteria. The method continues with the DS processing module processing the set of network data partial resultants to produce a network data resultant. | 06-13-2013 |
20130151670 | Retrieving Data from a Distributed Storage Network - A method begins by a dispersed storage (DS) processing module receiving a request to retrieve a portion of a data object that is stored in a distributed storage network (DSN). The method continues with the DS processing module retrieving data storage mapping information and accessing indexing information, where the indexing information identifies a categorization of the data object into a plurality of categorical data portions. The method continues with the DS processing module identifying a specific categorical data portion of the plurality of categorical data portions and equating the specific categorical data portion to specific storage information of the data storage mapping information to identify at least one data segment of data segments of at least one storage region of storage regions. The method continues with the DS processing module retrieving the at least one data segment from the DSN in accordance with the specific storage information. | 06-13-2013 |
20130151925 | Distributed Computing in a Distributed Storage and Task Network - A method begins by a dispersed storage (DS) processing module selecting a set of distributed storage and task (DST) execution units for executing a task and determining dispersed storage error coding parameters for data. The method continues with the DS processing module dispersed storage error encoding the data in accordance with the parameters to produce a plurality of encoded data blocks and grouping the plurality of encoded data blocks into a plurality of encoded data block groupings. The method continues with the DS processing module partitioning the task into a set of partial tasks, outputting at least some of the plurality of encoded data block groupings to the set of DST execution units, and outputting the set of partial tasks to the set of DST execution units for execution of the set of partial tasks on the at least some of plurality of encoded data block groupings. | 06-13-2013 |
20130151926 | Storing Data in a Distributed Storage Network - A method begins by a dispersed storage (DS) processing module mapping a set of data partitions to a set of storage regions. For each data partition, the method continues with the DS processing module segmenting the data partition into a plurality of data segments and designating a first data segment. The method continues with the DS processing module generating data storage mapping information. The method continues with the DS processing module encoding the data storage mapping information to produce at least one set of encoded mapping information slices and for each data partition, encoding the plurality of data segments to produce a plurality of sets of encoded data slices. The method continues with the DS processing module outputting the at least one set of encoded mapping information slices and, for each data partition, the plurality of sets of encoded data slices to the DSN for storage therein. | 06-13-2013 |
20130151927 | Executing Partial Tasks in a Distributed Storage and Task Network - A method begins by a dispersed storage (DS) processing module receiving a partial task regarding an encoded data block grouping. The method continues with the DS processing module performing the partial task on the encoded data block grouping to produce a partial task result and determining subsequent treatment of the partial task result. When the subsequent treatment includes storage of the partial task result, the method continues with the DS processing module determining a manner in which the partial task result is to be stored. When the manner in which the partial task result is to be stored is dispersed storage, the method continues with the DS processing module dispersed storage error encoding the partial task result to produce one or more sets of encoded partial task result blocks and outputting the one or more sets of encoded partial task result blocks to a set of DST execution units. | 06-13-2013 |
20130151928 | Transforming Data in a Distributed Storage and Task Network - A method begins by a dispersed storage (DS) processing module determining whether at least a portion of temporarily stored data is to be stored long-term, wherein the temporarily stored data is stored in a set of distributed storage and task (DST) units in accordance with a computational-orientated dispersed storage error coding function. When the at least a portion of the temporarily stored data is to be stored long-term, the method continues with the DS processing module identifying one or more DST storing the at least a portion of the temporarily stored data, recovering the at least a portion of the temporarily stored data, dispersed storage error encoding the at least a portion of the temporarily stored data in a pre-dispersed storage error encoded format into a plurality of sets of encoded data slices, and storing the plurality of sets of encoded data slices in the set of DST units. | 06-13-2013 |
20130198130 | SECURE DATA MIGRATION IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module identifying a candidate dispersed storage (DS) unit of a dispersed storage network (DSN). In response to a data migration request, the method continues with the DS processing module receiving a migration receptiveness message from the candidate DS unit. In response to a data migration reference message, the method continues with the DS processing module receiving, from another DS unit of a set of DS units, a migration reference response that includes an indication of storage utilized by the other DS unit. The method continues with the DS processing module determining a storage utilization of the candidate DS unit based on the migration reference response and when the determined storage utilization compares favorably to the reported storage utilization, enabling transfer of data from a DS unit of another set of DS units to the candidate DS unit. | 08-01-2013 |
20130198588 | IDENTIFYING A POTENTIALLY COMPROMISED ENCODED DATA SLICE - A method begins by a dispersed storage (DS) processing module selecting a data segment and verifying integrity values of encoded data slices generated by encoding the data segment. When integrity values of a decode threshold number of encoded data slices are affirmatively verified, the method continues with the DS processing module verifying an integrity value of the data segment. When the integrity value of the data segment is affirmatively verified, the method continues with the DS processing module generating a new set of encoded data slices. The method continues with the DS processing module verifying concurrency of the set of encoded data slices with the new set of encoded data slices and for each encoded data slice having a negative concurrency verification, flagging the encoded data slice as being potentially compromised. | 08-01-2013 |
20130232153 | MODIFYING AN INDEX NODE OF A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module determining to create or modify a data object index key of a data object regarding an attribute of a plurality of attribute categories. The method continues with the DS processing module entering a process to update a data object level index node by retrieving the data object level index node from a set of dispersed storage (DS) units. The method continues with the DS processing module updating and encoding the data object level index node to produce a set of slices. The method continues with the DS processing module generating a set of write commands to write the set of slices to the set of DS units. When less than a threshold number of the set of write commands are successfully executed by the set of DS units, repeating the process to update the data object level index node. | 09-05-2013 |
20130232306 | MERGING INDEX NODES OF A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module determining to merge two data object level index nodes and merging the two nodes into a temporarily merged data object level index node. The method continues with the DS processing module initiating updating of a hierarchical ordered index structure by identifying an address for storing the temporarily merged data object level index node, setting up deletion of the two data object level index nodes, setting up linking the temporarily merged data object level index node to a next level node of the hierarchical ordered index structure, and determining whether a change has occurred to at least one of one or more of the two data object level index nodes and the next level node. When the change has not occurred, the method continues with the DS processing module commencing the updating of the hierarchical ordered index structure. | 09-05-2013 |
20130232307 | DISPERSED STORAGE WRITE PROCESS - A dispersed storage (DS) method begins by issuing a plurality of write commands to a plurality of DS storage units. The method continues by receiving a write acknowledgement from one of the plurality of DS storage units to produce a received write acknowledgement. The method continues by issuing a plurality of commit commands to the plurality of DS storage units when a write threshold number of the received write acknowledgements have been received. The method continues by receiving a commit acknowledgement from a DS storage unit of the plurality of DS storage units to produce a received commit acknowledgement. The method continues by issuing a plurality of finalize commands to the plurality of DS storage units when a write threshold number of the received commit acknowledgements have been received. | 09-05-2013 |
20130232378 | REBUILDING A DATA SEGMENT IN A DISPERSED STORAGE NETWORK - A method begins with a processing module storing a set of encoded data slices in memory of a dispersed storage network (DSN), where a data segment is encoded using an error coding dispersal storage function to produce the set of encoded data slices. The method continues with the processing module adding the data segment to a rebuilding list, where encoded data slices of data segments identified in the rebuilding list are checked via a rebuilding process to detect errors and, when one of the encoded data slices has an error, the rebuilding process rebuilds the one of the encoded data slices. The method continues with the processing module, in response to a condition, removing the data segment from the rebuilding list. | 09-05-2013 |
20130232503 | AUTHORIZING DISTRIBUTED TASK PROCESSING IN A DISTRIBUTED STORAGE NETWORK - A method begins by a distributed storage (DS) processing module transmitting a set of requests to a set of DS units regarding a set of data elements and receiving a set of respective requests from the set of DS units. When the set of respective requests is in accordance with a current distributed task/data responsibility allocation period, the method continues with the DS processing module issuing a set of responses to the set of DS units. The method continues with the DS processing module receiving a set of respective responses from the set of DS units. When the set of received respective responses is in accordance with the current distributed task/data responsibility allocation period, the method continues with the DS processing module processing the set of received respective responses in accordance with the current distributed task/data responsibility allocation period to produce one of a set of results. | 09-05-2013 |
20130238565 | REBUILDING AN ENCODED DATA SLICE WITHIN A DISPERSED STORAGE NETWORK - A method begins with a computing device of a dispersed storage network (DSN) determining that an encoded data slice of a set of encoded data slices requires rebuilding and sending partial rebuild requests to storage units of the DSN. The method continues with one of the storage units generating a partial rebuilt slice based one or more encoded data slices of the set of encoded data slices stored by the one of the storage units and securing the partial rebuilt slice using a shared secret scheme that is shared among the storage units to produce a secured partial rebuilt slice. The method continues with the computing device receiving a set of secured partial rebuilt slices from the storage units, recovering a set of partial rebuilt slices from the set of secured partial rebuilt slices, and rebuilding the encoded data slice from the set of partial rebuilt slices. | 09-12-2013 |
20130238630 | SPLITTING AN INDEX NODE OF A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module determining to remove data object index entries from a data object level index node, identifying data object index entries to extract, and creating a temporary sibling data object level index node to include the identified data object index entries. The method continues with the DS processing module initiating updating of an hierarchical ordered index structure by identifying an address for storing the temporary sibling data object level index node, setting up linking the temporary sibling data object level index node to a next level node and to an adjacent data object level index node, and determining whether a change has occurred. When the change has not occurred, the method continues with the DS processing module removing the data object index entries from the data object level index node and commencing the updating of the hierarchical ordered index structure. | 09-12-2013 |
20130238900 | DISPERSED STORAGE NETWORK SECURE HIERARCHICAL FILE DIRECTORY - A method to generate a secure hierarchical file directory system begins by a processing module, for a child level directory of the secure hierarchical file directory system, obtaining a unique inner encryption key for encrypting the child level directory and creating one or more outer encryption keys for encrypting the unique inner encryption key. For each of the one or more outer encryption keys, the method continues with the processing module encrypting the unique inner encryption key to create one or more encrypted inner encryption keys. The method continues with the processing module creating one or more entries in a parent level directory, where each entry includes a path name, a dispersed storage network (DSN) address of the child level directory, a corresponding one of the one or more encrypted inner encryption keys, and an indicator for a corresponding one of the one or more outer encryption keys. | 09-12-2013 |
20130238932 | REBUILDING SLICES OF A SET OF ENCODED DATA SLICES - A method begins with a processing module initiating a rebuilding process for an encoded data slice of a set of encoded data slices and generating rebuilding information from one or more other encoded data slices of the set of encoded data slices. The method continues with the processing module creating a rebuilt encoded data slice for the encoded data slice based on the rebuilding information. The method continues with the processing module determining whether another encoded data slice of the set of encoded data slices requires rebuilding and when the other encoded data slice requires rebuilding, the method continues with the processing module creating another rebuilt encoded data slice for the other encoded data slice based on the rebuilding information without initiating another rebuilding process for the other encoded data slice. | 09-12-2013 |
20130246812 | SECURE STORAGE OF SECRET DATA IN A DISPERSED STORAGE NETWORK - A method for secure storage of secret data begins with an originating device transforming the secret data to produce a plurality of secret data shares and encrypting the plurality of secret data shares using unique encryption values of trusted agent modules of a dispersed storage network (DSN) to produce a plurality of encrypted secret data shares for storage in storage nodes of the DSN. Retrieval of the secret data begins with the originating device sending a secret data retrieval request to the trusted agent modules and recovering, by the trusted agent modules, the plurality of encrypted secret data shares from the storage nodes. The method continues with the trusted agent modules decrypting the plurality of encrypted secret data shares using a decryption function corresponding to the unique encryption values and sending the plurality of secret data shares to the originating device. | 09-19-2013 |
20130246865 | IDENTIFYING A STORAGE ERROR OF A DATA SLICE - A method begins by a processing module obtaining common storage name information regarding data that is stored in storage units of a distributed storage network (DSN) as a set of data slices. Each data slice of the set of data slices has a unique storage name, where each of the unique storage names for the set of data slices has common naming information regarding the data. The method continues where the processing module interprets the common storage name information to determine whether a difference exists between the common naming information of a data slice of the set of data slices and the common naming information of other data slices of the set of data slices. When the difference exists, the method continues where the processing module indicates a potential storage error of the data slice and implements a storage error process regarding the potential storage error of the data slice. | 09-19-2013 |
20130262854 | DATA DE-DUPLICATION IN A DISPERSED STORAGE NETWORK UTILIZING DATA CHARACTERIZATION - A computing device includes a processing module and an interface. The processing module is operable to receive, from a requesting device via the interface, a data storage request that includes data for storage. The processing module then determines whether substantially identical data is currently stored in a dispersed storage network (DSN) memory. When the substantially identical data is stored in the DSN memory, the processing module generates, for the requesting device, a second unique retrieval matrix of a plurality of sets of encoded data slices corresponding to the already stored substantially identical data, wherein the requesting device can recover at least a portion of the data based on the second unique retrieval matrix of the plurality of sets of encoded data slices. | 10-03-2013 |
20130262959 | TEMPORARILY STORING AN ENCODED DATA SLICE - A processing module encodes data using a dispersed storage error coding function to produce a set of encoded data slices and identifies storage units for storage of the set of encoded data slices. The processing module determines that a storage unit of the storage units is unavailable, where the storage unit is targeted to store an encoded data slice of the set of encoded data slices. The processing module selects a foster storage unit of the storage units for temporarily storing the encoded data slice. When the storage unit is available, the processing module transfers the encoded data slice from the foster storage unit to the storage unit. | 10-03-2013 |
20130275480 | EXPANDING A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module determining to expand a hierarchical ordered index structure and retrieving a root index node. The method continues with the DS processing module identifying immediate children index nodes, dividing the immediate children index nodes into sets of children index nodes, creating, for each of the sets of children index nodes, a sub-root index node to produce a set of sub-root index nodes, creating a new root index node to include entries for each of the sub-root index nodes of the set of sub-root index nodes, and temporarily storing the new root index node and the set of sub-root index nodes in a dispersed storage network (DSN). When the root index node has not changed, the method continues with the DS processing module updating the hierarchical ordered index structure with the new root index node and the set of sub-root index nodes. | 10-17-2013 |
20130275545 | DISTRIBUTED STORAGE AND COMPUTING OF INTERIM DATA - A method begins by a set of distributed storage and task (DST) execution units receiving a set of partial tasks and data, where a partial task of the set of partial tasks includes a common task and a unique partial sub-task. The method continues with the set of DST execution units executing the common task on the data to produce a set of preliminary partial results. The method continues with a first DST execution unit of the set of DST execution units generating first interim data based on the at least some of the set of preliminary partial results. The method continues with the first DST execution unit executing a first unique partial sub-task on at least one of a first portion of the data and the first interim data to produce a first partial result. | 10-17-2013 |
20130275744 | ENCRYPTING SEGMENTED DATA IN A DISTRIBUTED COMPUTING SYSTEM - A method begins by a dispersed storage (DS) processing module segmenting a data partition into a plurality of data segments. For a data segment of the plurality of data segments, the method continues with the DS processing module dividing the data segment into a set of data sub-segments and generating a set of sub keys for the set of data sub-segments based on a master key. The method continues with the DS processing module encrypting the set of data sub-segments using the set of sub keys to produce a set of encrypted data sub-segments and aggregating the set of encrypted data sub-segments into encrypted data. The method continues with the DS processing module generating a masked key based on the encrypted data and the master key and combining the encrypted data and the masked key to produce an encrypted data segment. | 10-17-2013 |
20130275746 | DATA ENCRYPTION PARAMETER DISPERSAL - A method for securely distributing a profile within a dispersed storage network (DSN) that begins by encrypting a profile using a key. The method continues by encoding the encrypted profile in accordance with a dispersed storage error encoding function. The method continues by outputting the set of encoded profile slices to the DSN for storage therein. The method continues by encoding the key in accordance with an error encoding function and outputting the set of secure key portions to a set of devices of the DSN for storage therein. A device obtains the profile by retrieving secure key portions from the set of devices and recovering the key therefrom. The device then retrieves encoded profile slices from the DSN and decodes them to recover the encrypted profile. The device then decrypts the encrypted profile using the key to recover the profile. | 10-17-2013 |
20130275776 | ENCRYPTING DISTRIBUTED COMPUTING DATA - A method begins by a dispersed storage (DS) processing module encoding data to produce slices and redundancy slices and selecting primary and redundancy storage and execution units. The method continues with the DS processing module assigning partial tasks to the primary storage and execution units and generating a unique key set for each of the primary storage and execution units. The method continues with the DS processing module encrypting each of the slices with a corresponding one of the unique key sets to produce encrypted slices and sending the encrypted slices and an indication of the assigned partial tasks to the primary storage and execution units for storage and execution of the assigned partial tasks on the encrypted slices. The method continues with the DS processing module sending the redundancy slices to the set of redundancy storage and execution units for storage therein. | 10-17-2013 |
20130275834 | METHOD AND APPARATUS FOR STORAGE INTEGRITY PROCESSING BASED ON ERROR TYPES IN A DISPERSED STORAGE NETWORK - A storage integrity system in a dispersed storage network scans an address range of data slices to identify errors in one of a plurality of encoded data slices, wherein the plurality of encoded data slices are generated from a data segment using an error encoding dispersal function. When the storage integrity system detects an error, it identifies one of the encoded data slices for rebuilding. The identified data slice is rebuilt in response to the type of error. For example, when the type of the error includes a temporary error, the storage integrity system waits a predetermined time period to determine whether the error still exists prior to rebuilding the identified data slice. | 10-17-2013 |
20130282865 | RESOLVING A PERFORMANCE ISSUE WITHIN A DISPERSED STORAGE NETWORK - A method begins by a processing module identifying one or more devices of a dispersed storage network (DSN) potentially contributing to a DSN performance issue. For a device of the identified one or more devices, the method continues where the processing module determines a potential performance issue of the device and determines a performance test based on the potential performance issue. The method continues where the processing module issues a message to the device that includes test information specific for the device to execute the performance test and receives a response message that includes a specific test result data generated based on the test information. The method continues where the processing module determines, based on the specific test result data, whether the device has the potential performance issue and is contributing to the DSN performance issue. | 10-24-2013 |
20130283094 | INDICATING AN ERROR WITHIN A DISPERSED STORAGE NETWORK - A method begins by a processing sending access requests to a threshold number of storage units of a dispersed storage network (DSN) and receiving, from each of at least some of the threshold number of storage units, an access response or an error response. When one error response is received from a storage unit of the at least some of the threshold number of storage units in response to one of the access requests, the method continues with the processing module ascertaining a likely cause for an error corresponding to the error response. The method continues with the processing module determining, based on the likely cause for the error, whether to resend the one of the access requests to the storage unit, issue a modified access request to the storage unit, or send the one of the access requests to another storage unit. | 10-24-2013 |
20130283326 | MEDIA DISTRIBUTION TO A PLURALITY OF DEVICES UTILIZING BUFFERED DISPERSED STORAGE - A method begins by a processing module receiving a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as sets of encoded data slices. In response to the playback requests, the method continues with the processing module entering a loop that begins with retrieving a group of sets of encoded data slices, generating copies therefrom, and storing the copies. The loop continues with the processing module sending a unique copy of the copies to a requesting device. The method continues with the processing module existing the loop when the last group of the request has been retrieved and repeating the loop when it has not. | 10-24-2013 |
20130290703 | ENCRYPTING DATA FOR STORAGE IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module dividing data into a plurality of data segments, encoding a data segment using a dispersed storage error encoding function to produce a set of encoded data slices, and generating slice names for each encoded data slice to produce a plurality of slice names. When a subset of encoded data slices of the set of encoded data slices is to be encrypted, the method continues with the DS processing module generating a master key, selecting a portion of the slice names for the subset of encoded data slices to produce a subset of selected slice name portions, generating a subset of encryption keys, encrypting the subset of encoded data slices using the subset of encryption keys to produce a subset of encrypted encoded data slices, and outputting the subset of encrypted encoded data slices to a dispersed storage network (DSN). | 10-31-2013 |
20130290809 | DISTRIBUTED STORAGE NETWORK FOR MODIFICATION OF A DATA OBJECT - A distributed storage network generates a plurality of data segments from a data object and stores each of the plurality of data segments as a plurality of encoded data slices generated from an error encoding dispersal function. When the distributed storage network receives a modification request for the data object, it determines a size of the plurality of data segments of the data object from a segment size field and identifies one of the plurality of data segments requiring modification. The identified data segment is reconstructed from the plurality of encoded data slices and modified in accordance with the modification request. | 10-31-2013 |
20130297947 | STORING DATA INTEGRITY INFORMATION UTILIZING DISPERSED STORAGE - A method begins by a processing module generating an integrity check value for each encoded data slice of a set of encoded data slices to produce a set of integrity check values. The method continues with the processing module encoding the set of integrity check values to produce encoded integrity check values. The method continues with the processing module sending the encoded integrity check values for storage in a memory system. | 11-07-2013 |
20130304711 | IDENTIFYING A COMPROMISED ENCODED DATA SLICE - A method begins by processing module in response to a read command, issuing at least a read threshold number of read requests regarding a set of encoded data slices and receiving at least the read threshold number of encoded data slices. The method continues where the processing module selects a unique combination of encoded data slices and decodes the unique combination to produce a recovered data segment. The method continues where the processing module verifies an integrity value for the recovered data segment and indicates whether the unique combination is valid. The method continues where the processing module selects other combinations producing more recovered data segments for further validity verification. The method continues where the processing module utilizes a verified recovered data segment as a response to the read command and identifies a compromised encoded data slice. | 11-14-2013 |
20130305060 | DISTRIBUTED STORAGE NETWORK DATA REVISION CONTROL - Multiple revisions of an encoded data slice are generated, with each revision having the same slice name. Each of the data slices represents the same original data portion, but each is encoded so that no single data slice can be used to reconstruct the original data portion. Appropriate revision numbers are associated with each encoded data slice, and the encoded data slices and associated revision numbers are transmitted for storage in selected storage units of a distributed storage network. If write confirmations are received from at least a write threshold number of storage units, a commit command is transmitted so that the most recently written data slices will be available for access. After a commit command is issued, a current directory used to access the encoded data slices can be sliced, encoded, and stored in the same way as the data slices. | 11-14-2013 |
20130311851 | ADJUSTING DATA DISPERSAL IN A DISPERSED STORAGE NETWORK - A method begins with a processing module determining that storage of data requires updating, wherein the data is stored as a plurality of sets of encoded data slices in DSN memory. For a first type of updating, the processing module increases the total number while maintaining the decode threshold number. The processing module then, for each set of encoded data slices, creates another encoded data slice in accordance with the dispersed storage error encoding function and the increased total number and sends the new encoded data slices to the DSN memory. For a second type of updating, the processing module increases the total number and the decode threshold number. The processing module then recovers the data and encodes it in accordance with the dispersed storage error encoding function using the increased total number and the increased decode threshold number to produce an updated plurality of sets of encoded data slices. | 11-21-2013 |
20130325823 | UPDATING ACCESS CONTROL INFORMATION WITHIN A DISPERSED STORAGE UNIT - A method begins by a dispersed storage (DS) processing module of a storage unit receiving a write request for storing a data object that includes updated access control list (ACL) information. The method continues with the DS processing module determining whether the data object is a new data object or a revised version of an existing data object and determining write authority of the requesting entity based on information contained in a locally stored access control list. When the write request is regarding the revised version of the existing data object and the write authority includes authorization to issue the write request for the revised version of the existing data object and authorization to issue the updated ACL information, the method continues with the DS processing module storing the revised version of the existing data object and updating the access control list based on the updated ACL information. | 12-05-2013 |
20130326215 | ESTABLISHING TRUST WITHIN A CLOUD COMPUTING SYSTEM - A cloud computing system includes a cloud system managing unit, a plurality of sets of devices, where a set of devices includes one or more devices having a common aspect, and a plurality of authentication servers, where an authentication server is associated with one of the plurality of sets of devices based on the common aspect. The cloud computing system functions to establish trust between a corresponding one of the plurality of authentication servers and the one or more devices of one of the plurality of sets of devices, between the corresponding one of the plurality of authentication servers and the cloud system managing unit, and between the cloud system managing unit and the one or more devices. The cloud system managing unit configures the cloud computing system based on the trust between the cloud system managing unit and devices of the plurality of sets of devices. | 12-05-2013 |
20130326264 | RESOLUTION OF A STORAGE ERROR IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module identifying an encoded data slice having an error, where a storage unit of a dispersed storage network (DSN) stores the encoded data slice. The method continues with the DS processing module sending a lock command to the storage unit. The method continues with the DS processing module determining resolution for the error of the encoded data slice, where the resolution includes one or more of: rebuilding the encoded data slice, issuing a set of delete requests to storage units of the DSN regarding a set of encoded data slices, issuing a set of undo write requests to the storage units of the DSN regarding the set of encoded data slices, and issuing a set of roll-back write requests to the storage units of the DSN regarding the set of encoded data slices. | 12-05-2013 |
20130346716 | VERIFYING ENCODED DATA SLICE INTEGRITY IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a storage device receiving an encoded data slice of a set of encoded data slices, where the set of encoded data slices has associated therewith a set of integrity values, and where integrity information is generated from the set of integrity values. The method continues with the DS processing module generating an integrity value for the encoded data slice and obtaining at least a portion of the integrity information from another storage device. The method continues with the DS processing module generating a comparative integrity value for the encoded data slice based on the at least a portion of the integrity information and facilitating storage of the encoded data slice in memory of the storage device when the integrity value compares favorably to the comparative integrity value. | 12-26-2013 |
20130346795 | NON-TEMPORARILY STORING TEMPORARILY STORED DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving data from a plurality of sources and queuing the data for storage in a dispersed storage network (DSN). The method continues with the DS processing module utilizing temporary dispersed storage error encoding parameters for efficient and reliable error encoded temporary storage of the data in the DSN. For a data object of the data temporarily stored in the DSN, the method continues with the DS processing module determining non-temporary storage parameters for the data object, retrieving first encoded data slices regarding the data object from the DSN, reconstructing the data object from the first encoded data slices in accordance with the temporary dispersed storage error encoding parameters, encoding the reconstructed data object in accordance with the non-temporary storage parameters for the data object to produce second encoded data slices, and storing the second encoded data slices in the DSN. | 12-26-2013 |
20130346809 | DETECTING STORAGE ERRORS IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module detecting, in accordance with a rebuilding process, a storage error of an encoded data slice stored in a storage node of a dispersed storage network (DSN) and identifying the encoded data slice for rebuilding. The method continues with the DS processing module identifying one or more storage traits associated with the encoded data slice and identifying encoded data slices having at least one storage trait in common with the one or more storage traits of the encoded data slice to produce identified encoded data slices. The method continues with the DS processing module prioritizing storage error detection analysis of the identified encoded data slices over other encoded data slices stored in the DSN and when a storage error is detected for one of the identified encoded data slices, identifying the one of the identified encoded data slices for rebuilding. | 12-26-2013 |
20130347079 | ACCESSING STORAGE NODES IN AN ON-LINE MEDIA STORAGE SYSTEM - A method begins by a dispersed storage (DS) processing module receiving data objects from a plurality of authorized users and determining a system level storage efficiency preference for a data object. The method continues with the DS processing module selecting a set of storage nodes of an on-line media storage system based on the system level storage efficiency preference and determining dispersed storage error encoding parameters. The method continues with the DS processing module encoding the data object in accordance with the dispersed storage error encoding parameters to produce encoded data slices and generating system addressing information. The method continues with the DS processing module storing the encoded data slices in the set of storage nodes using the system addressing information and updating a user profile for the authorized user to include the system addressing information. | 12-26-2013 |
20140012825 | DISPERSED STORAGE NETWORK FOR MANAGING DATA DELETION - A dispersed storage device manages deletion of data objects stored within a dispersed storage network by receiving a data delete request to delete a data object stored throughout a set of dispersed storage units within a dispersed network memory of the dispersed storage network, determining a deletion policy for the data object and selectively generating and transmitting, based on the deletion policy, a delete command to the set of dispersed storage units. | 01-09-2014 |
20140019579 | TRANSFERRING DATA OF A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing detecting unavailability of a storage device of a site of dispersed storage network (DSN) memory to produce an unavailable storage device. The method continues with the DS processing module reassigning a fraction of a logical address sub-range of the unavailable storage device to one or more other storage devices, rebuilding one or more logically addressable data objects to produce one or more rebuilt data objects and storing the one or more rebuilt data objects in the one or more other storage devices. When the unavailable storage device becomes available, the method continues with the DS processing module reallocating the fraction of the logical address sub-range from the one or more other storage devices to the storage device and transferring the one or more rebuilt data objects from the one or more other storage devices to the storage device. | 01-16-2014 |
20140020082 | VALIDATING A CERTIFICATE CHAIN IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a certificate chain and determining whether at least one of one or more signed certificates of the chain has a valid signature. When the at least one of the one or more signed certificates has a valid signature, the method continues with the processing module identifying one or more certificate authorities (CA) to produce identified CAs, accessing registry information that includes one or more realm identifiers (IDs) and a plurality of trusted CA IDs, determining whether one or more of the identified CAs is a trusted CA, and when the one or more of the identified CAs is a trusted CA, indicating that the certificate chain is valid, identifying a realm ID based on a trusted CA ID, and generating certificate chain validation information to include the realm ID, trusted CAs, and the indication of the validity of the certificate chain. | 01-16-2014 |
20140025773 | DISPERSED STORAGE NETWORK RESOURCE ALLOCATION - A dispersed storage unit within a dispersed storage network is configured with registry information including a slice name assignment indicating a range of slice names assigned to a vault associated with at least one user of the dispersed storage network. The slice names further corresponding to a plurality of potential data slices to be subsequently created and received for a pillar of the vault. The dispersed storage unit allocates a portion of physical memory therein to store the potential data slices based on the slice name assignment. | 01-23-2014 |
20140032840 | REQUESTING CLOUD DATA STORAGE - A method begins by a processing module determining that a data storage request is a cloud data storage request. The method continues with the processing module determining at least one of a cloud storage access reliability indication and a cloud storage data reliability indication for the data storage request. The method continues with the processing module sending the data storage request and the at least one of cloud storage access reliability indication and cloud storage data reliability indication to a cloud storage system. | 01-30-2014 |
20140040417 | STORING A STREAM OF DATA IN A DISPERSED STORAGE NETWORK - A processing module of a computing device alternatingly sends a stream of data to a first or second processing device. When receiving the stream of data, the first processing device performs a first portion of a dispersed storage error encoding function on the received stream of data to produce a plurality of sets of a threshold number of slices and writes the plurality of sets of the threshold number of slices into first memory of a dispersed storage network (DSN). When not receiving the stream of data, the first processing device reads the plurality of sets of the threshold number of slices from the first memory, performs a second portion of the dispersed storage error encoding function using the plurality of sets of the threshold number of slices to produce a plurality of sets of redundancy slices, and writes the plurality of sets of redundancy slices into second DSN memory. | 02-06-2014 |
20140040624 | VERIFICATION OF DISPERSED STORAGE NETWORK ACCESS CONTROL INFORMATION - A method for securely publishing an access control list begins with a DS managing unit generating an authentic and time-stamped access control list from the access control list, wherein the access control list provides a list of authorized accesses to the DSN. The method continues with the DS managing unit sending the authentic and time-stamped access control list to a publisher unit. The method continues with the publishing unit sending the authentic and time-stamped access control list to a plurality of DS units. | 02-06-2014 |
20140040660 | STORING A DATA STREAM IN A SET OF STORAGE DEVICES - A set of storage devices coordinates selection of dispersed storage error encoding parameters for storing a stream of data and coordinates selection of encoded data storage devices and redundancy encoded data storage devices of the set of storage devices. The encoded data storage devices coordinates storage of a decode threshold amount of encoded data of the stream of data in accordance with the dispersed storage error encoding parameters. The encoded data storage devices send information regarding the decode threshold amount of encoded data to the redundancy encoded data storage devices. The redundancy encoded data storage devices generates redundancy encoded data based on the information regarding the decode threshold amount of encoded data and in accordance with the dispersed storage error encoding parameters. The redundancy encoded data storage devices store the redundancy encoded data to provide error encoded reliable storage of the stream of data. | 02-06-2014 |
20140040662 | METHOD AND APPARATUS FOR DISTRIBUTED STORAGE INTEGRITY PROCESSING - A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit. | 02-06-2014 |
20140040703 | STORING ENCODED DATA SLICES IN A DISPERSED STORAGE UNIT - A method begins with a processing module receiving an access request for the data object. The method continues by ascertaining that the data object is divided into a plurality of data segments and that plurality of data segments are dispersed storage error encoded to produce a plurality of sets of encoded data slices. The method continues by ascertaining batching of the plurality of sets of encoded data slices, wherein the plurality of sets of encoded data slices are arranged into a set of batched encoded data slices. The method continues by outputting a set of access requests for the set of batched encoded data slices to storage units of the DSN. | 02-06-2014 |
20140068259 | SECURE DATA ACCESS IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving an access request regarding a data object, where the access request includes a data object identifier, requestor information, and addressing information. The method continues with the DS processing module determining a base key identifier based on the access request and determining content specific information based on the access request. The method continues with the DS processing module retrieving a set of base key slices utilizing the base key identifier and decoding the set of base key slices in accordance with an error encoding function to recover a base key. The method continues with the DS processing module generating an access specific key based on the recovered base key and the content specific information and executing the access request regarding the data object utilizing the access specific key. | 03-06-2014 |
20140068320 | ADJUSTING DISPERSED STORAGE ERROR ENCODING PARAMETERS - A method begins by a processing module receiving a large data file for storage in a dispersed storage network (DSN) and determining initial dispersed storage error encoding parameters. The method continues with the processing module encoding, during a first time interval of receiving the large data file, first data segments of the large data file using the initial dispersed storage error encoding parameters to produce a first plurality of sets of encoded data slices. The method continues with the processing module writing the first plurality of sets of encoded data slices to the DSN and monitoring processing of the writing to produce first write processing performance information. When the first write processing performance information compares unfavorably to a desired write performance range, the method continues with the processing module adjusting, for a second time interval, the initial dispersed storage error encoding parameters to produce adjusted dispersed storage error encoding parameters. | 03-06-2014 |
20140068791 | SECURELY STORING DATA IN A DISPERSED STORAGE NETWORK - A method to securely store a data file in a dispersed storage network (DSN) in a manner to increase difficulty in hacking the data file begins by a dispersed storage (DS) processing module encoding the data file into a plurality of data portions. The method continues with the DS processing module dispersed storage error encoding a first data portion to produce a set of encoded data slices, generating a set of DSN addresses, and sending the set of encoded data slices to a first set of storage units using the set of DSN addresses. The method continues with the DS processing module dispersed storage error encoding a second data portion to produce a second set of encoded data slices, generating a second set of DSN addresses, and sending the second set of encoded data slices to a second set of storage units using the second set of DSN addresses. | 03-06-2014 |
20140095650 | ACCESSING A LARGE DATA OBJECT IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module generating a data object identifier for data to be stored in a dispersed storage network (DSN) and partitioning the data into a plurality of data partitions based on a set of retrieval preferences and data boundary information. For a data partition, the method continues with the DS processing module dispersed storage error encoding the data partition to produce a plurality of sets of encoded data slices and generating a plurality of sets of DSN addresses for the plurality of sets of encoded data slices, wherein a DSN address of the plurality of sets of DSN addresses includes a representation of the data object identifier, a representation of one or more retrieval preferences of the set of retrieval preferences, a representation of a corresponding portion of the data boundary information, and dispersed storage addressing information. | 04-03-2014 |
20140101116 | ROBUST TRANSMISSION OF DATA UTILIZING ENCODED DATA SLICES - A method begins by a processing module concurrently encoding a collection of data segments to produce sets of encoded data slices, where each set includes a total number of encoded data slices and where a decode threshold number of encoded data slices is required to recover a corresponding data segment. The method continues with the processing module determining a transmit number to be initially greater than the decode threshold number and less than the total number. The method continues with the processing module selecting a transmit number of encoded data slices from each set of encoded data slices to produce sets of transmit encoded data slices. The method continues with the processing module randomizing ordering of the sets of transmit encoded data slices to produce a random order of encoded data slices and transmitting encoded data slices of the random order of encoded data slices. | 04-10-2014 |
20140101283 | ROBUST RECEPTION OF DATA UTILIZING ENCODED DATA SLICES - A method begins by a processing module receiving a random order of encoded data slices and interpreting slice names to de-randomize the encoded data slices into of sets of transmit encoded data slices. The method continues with the processing module determining whether a decode threshold number of encoded data slices of a set of transmit encoded data slices have been received. When not received, the method continues with the processing module determining whether a sufficient number of encoded data slices of the set of transmit encoded data slices are still to be received and waiting until the decode threshold number of encoded data slices are received when encoded data slices are still to be received. When the decode threshold number of encoded data slices are received, the method continues with the processing module decoding the decode threshold number of encoded data slices to recapture a corresponding data segment. | 04-10-2014 |
20140108493 | DISTRIBUTED STORAGE NETWORK FOR MODIFICATION OF A DATA OBJECT - A distributed storage network generates a plurality of data segments from a data object and stores each of the plurality of data segments as a plurality of encoded data slices generated from an error encoding dispersal function. When the distributed storage network receives a modification request for the data object, it determines a size of the plurality of data segments of the data object from a segment size field and identifies one of the plurality of data segments requiring modification. The identified data segment is reconstructed from the plurality of encoded data slices and modified in accordance with the modification request. | 04-17-2014 |
20140108815 | SECURELY REBUILDING AN ENCODED DATA SLICE - A method begins by a requesting entity issuing a rebuild request regarding an encoded data slice to at least some of a set of distributed storage (DS) units. In response to the rebuild request, the method continues with each of at least some of the DS units of the set of DS units generating a partial slice corresponding to the encoded data slice to be rebuilt based on one of a set of encoded data slices stored by the respective DS unit to produce an array of partial slices. The method continues with the at least some of the DS units encrypting the array of partial slices using a set of encryption keys to produce an array of encrypted partial slices. The method continues with the requesting entity rebuilding the encoded data slice from the array of encrypted partial slices. | 04-17-2014 |
20140108882 | DATA TRANSMISSION UTILIZING ROUTE SELECTION AND DISPERSED STORAGE ERROR ENCODING - A method begins by a processing module obtaining a set of encoded data slices for transmission to a receiving entity via a network, wherein the set of encoded data slices represents data that has been dispersed storage error encoded. The method continues with the processing module dividing the set into a plurality of sub-sets of encoded data slices in accordance with an error coding distributed routing protocol. The method continues with the processing module determining a plurality of routing paths within the network in accordance with the error coding distributed routing protocol. The method continues with the processing module transmitting the plurality of sub-sets of encoded data slices via the plurality of routing paths to the receiving entity in accordance with the error coding distributed routing protocol. | 04-17-2014 |
20140115334 | RETRIEVING ACCESS INFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module obtaining a set of recovered random numbers, decoding encrypted share slices to produce a set of encrypted shares, and obtaining a set of personalized authenticating values regarding user access to data. The method continues with the processing module generating a set of hidden passwords based on the set of personalized authenticating values, generating a set of blinded passwords based on the set of hidden passwords and a set of blinded random numbers, and generating a set of passkeys based on the set of blinded passwords and the set of recovered random numbers. The method continues with the processing module generating a set of decryption keys based on the set of blinded random numbers and the set of passkeys, decrypting the set of encrypted shares to produce a set of shares, and decoding the set of shares to reproduce the data. | 04-24-2014 |
20140122440 | RECOVERING DATA FROM CORRUPTED ENCODED DATA SLICES - A method begins by a dispersed storage (DS) processing module receiving a set of encoded data slices, where some of the encoded data slices have an integrity issue such that less than a decode threshold number of encoded data slices have valid integrity. The method continues with the DS processing module creating partial coded matrices from the set of encoded data slices and generating partial decoding matrices. The method continues with the DS processing module generating a test data matrix based on the partial coded matrices and the partial decoding matrices, encoding the test data matrix into a set of test encoded data slices, and generating integrity information for the set of test encoded data slices. When the integrity information is valid, the method continues with the DS processing module utilizing the test data matrix as a data matrix and converting the data matrix into a recovered data segment. | 05-01-2014 |
20140122636 | BALANCING STORAGE NODE UTILIZATION OF A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module determining memory space utilization state of logical storage nodes of a dispersed storage network DSN. When a logical storage node is in an over-utilized memory space utilization state and another logical storage node is in an under-utilized memory space utilization state, the method continues with the DS processing module selecting the other logical storage node to produce a selected logical storage node and reassigning a portion of a DSN address range assigned to the selected logical storage node to a logical storage node that is in an average memory space utilization state to create an address free logical storage node. The method continues with the DS processing module reassigning address blocks assigned to the logical storage node that is in the over-utilized memory space utilization state to the address free logical storage node. | 05-01-2014 |
20140122639 | CONCLUSIVE WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network frame regarding a conclusive write request operation by generating one or more slice name fields of a payload to include one or more slice names corresponding to one or more write commit responses of a write request operation, wherein the conclusive write request operation is a conclusive phase of the write request operation. The method continues with the processing module generating one or more slice revision numbering fields of the payload, wherein each slice revision numbering field includes a slice revision number corresponding to an associated slice name of the one or more slice names. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length and generating remaining fields of the protocol header. | 05-01-2014 |
20140122891 | GENERATING A SECURE SIGNATURE UTILIZING A PLURALITY OF KEY SHARES - A method begins by a module to generate a secure signature on an item by selecting a first key representation index of a set of key representation indexes, wherein a first mathematical encoding of a private key generates a first plurality of key shares as a first key representation. The method continues with the module determining whether a first plurality of signature contributions have been received in response to a signature request for the item based on the first key representation index, wherein one of a first set of dispersed storage (DS) units executes a first mathematical signature function using one of the first plurality of key shares on the item to produce a signature contribution of the first plurality of signature contributions and when the first plurality of signature contributions have been received, generating the secure signature on the item from the first plurality of signature contributions. | 05-01-2014 |
20140122924 | PROCESSING AN UNSUCCESSFUL WRITE REQUEST IN A DISPERSED STORAGE NETWORK - A method begins by a first device of a dispersed storage network (DSN), when a number of successful write requests of a set of write requests is equal to or greater than a threshold number but less than all, identifying one or more unsuccessful write requests of the set of write requests. The method continues with first device sending the one or more unsuccessful write requests to an auxiliary writing unit of the DSN. The method continues with the auxiliary writing unit, for an unsuccessful write request, identifying a storage unit of the DSN to produce an identified storage unit, sending the unsuccessful write request to the identified storage unit, and verifying successful execution of the unsuccessful write request by the identified storage unit. | 05-01-2014 |
20140122925 | VERIFYING DATA OF A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a storage unit receiving, over time, access requests regarding reading or writing of various data blocks. The method continues with the DS processing module establishing an internal verification access rate for verifying data blocks stored in a memory device of the storage unit based on a rate of the access requests and a maximum access rate of the memory device. The method continues with the DS processing module generating internal verification requests in accordance with the internal verification access rate, coordinating the internal verification requests and the access requests for accessing the memory device, and accessing the memory device based on the internal verification requests to verify the data blocks. | 05-01-2014 |
20140122968 | THRESHOLD DECODING OF DATA BASED ON TRUST LEVELS - A method begins by a set of storage units of a dispersed storage network (DSN) receiving a plurality of read requests regarding a plurality of sets of encoded data slices from a requesting device of the DSN and outputting a plurality of read responses that includes encoded data slices and corresponding trust level indicators. The method continues with the requesting device arranging the encoded data slices of the plurality of read responses into received sets of encoded data slices. The method continues with the requesting device selecting a decode threshold number of encoded data slices from each received set of encoded data slices based on the corresponding trust level indicators to produce selected sets of encoded data slices and decoding the selected sets of encoded data slices to recapture data segments of a data object. | 05-01-2014 |
20140122969 | ADJUSTING DATA DISPERSAL IN A DISPERSED STORAGE NETWORK - A method begins with a processing module determining that storage of data requires updating, wherein the data is stored as a plurality of sets of encoded data slices in DSN memory. For a first type of updating, the processing module increases the total number while maintaining the decode threshold number. The processing module then, for each set of encoded data slices, creates another encoded data slice in accordance with the dispersed storage error encoding function and the increased total number and sends the new encoded data slices to the DSN memory. For a second type of updating, the processing module increases the total number and the decode threshold number. The processing module then recovers the data and encodes it in accordance with the dispersed storage error encoding function using the increased total number and the increased decode threshold number to produce an updated plurality of sets of encoded data slices. | 05-01-2014 |
20140123244 | AUTHENTICATING A DATA ACCESS REQUEST TO A DISPERSED STORAGE NETWORK - A method begins by a data accessing module of a dispersed storage network (DSN) sending a data access request to a data storage module. The method continues with the data storage module sending an authentication request to an authenticating module. The method continues with the authenticating module outputting a verification request destined for the data accessing module, wherein the verification request includes a verification code that is generated based on the authentication request. The method continues with the data accessing module outputting a verification response that includes a modified verification code that is generated based on the verification code and a credential. The method continues with the authenticating module outputting an authentication response to the data storage module, wherein the authentication response is generated based on the verification response. The method continues with the data storage module facilitating the data access request when the authentication response is favorable. | 05-01-2014 |
20140123316 | ACCESS CONTROL OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving, from a user device, a data access request and accessing hierarchical data access control information. The method continues with the DS processing module obtaining a logical memory access control file from the hierarchical data access control information and determining a data access request type of the request is within access rights of the user device. When the data access request type is within the access rights of the user device, the method continues with the DS processing module obtaining a data object access control file from the hierarchical data access control information. The method continues with the DS processing module determining, from the data object access control file, whether the data access request type is restricted. When the data access request type is not restricted, the method continues with the DS processing module processing the data access request. | 05-01-2014 |
20140126585 | DISPERSED STORAGE NETWORK FRAME PROTOCOL HEADER - A method to generate a protocol header of a dispersed storage network (DSN) frame begins by a processing module generating a protocol class field and generating a protocol class version field. The method continues with the processing module generating an operation code (opcode) field and generating a request/response field. The method continues with the processing module generating a request number field and generating a payload length field. The method continues with the processing module outputting, in order, the protocol class field, the protocol class version field, the opcode field, the request/response field, the request number field, and the payload length field. | 05-08-2014 |
20140153586 | CHECK OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a check request operation by generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices and generating a transaction number field of the payload section to include a transaction number corresponding to the check request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 06-05-2014 |
20140156716 | ACCESSING DISTRIBUTED COMPUTING FUNCTIONS IN A DISTRIBUTED COMPUTING SYSTEM - A method begins by a processing module identifying, in accordance with an ordered manner, a next distributed computing function, where distributed computing functions are stored in multiple storage units as a set of encoded computing function slices. The method continues with the processing module determining whether ownership of the next distributed computing function can be established and when the ownership of the next distributed computing function can be established, securing ownership of the next distributed computing function. When the ownership of the next distributed computing function cannot be established, the method continues with the processing module requesting another next distributed computing function. | 06-05-2014 |
20140156719 | UTILIZING DATA OBJECT STORAGE TRACKING IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module dividing a very large data object into a plurality of data regions and generating a data object storage tracking table that includes sections for identifying one or more data regions that are available or unavailable for retrieval. The method continues with the DS processing module dividing a first data region into data segments and disperse storage error encoding the data segments to produce sets of encoded data slices. The method continues with the DS processing module sending DSN write requests regarding storing the sets of encoded data slices to storage units and when at least a write threshold number of write responses is received for each of the sets of encoded data slices, updating the data object storage tracking table to indicate that the first data region is available for retrieval. | 06-05-2014 |
20140161142 | INTERMEDIATE WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by generating write requests, wherein a write request includes a payload and a protocol header. The payload includes one or more slice payload sections and a transaction number field. The protocol header includes an operation code field that indicates a write operation. The method continues, when responses to the write requests are favorable, by generating write commit requests, wherein a write commit request includes a commit payload and a commit protocol header. The commit payload includes the transaction number and the commit protocol header includes the operation code field that indicates write commit operation. The method continues, when responses to the write requests are unfavorable, by generating write rollback requests, wherein a rollback request includes a rollback payload and a rollback protocol header. The rollback payload includes the transaction number and the rollback protocol header includes the operation code field that indicates write rollback operation. | 06-12-2014 |
20140164551 | ENCODED DATA SLICE CACHING IN A DISTRIBUTED STORAGE NETWORK - A method begins by receiving a request to retrieve a data segment stored as encoded data slices in a distributed storage network (DSN). The method continues by determining whether at least the threshold number of encoded data slices is cached in temporary storage associated with a distributed storage processing module. When the at least the threshold number of encoded data slices are cached in the temporary storage, the method continues by retrieving the at least the threshold number of encoded data slices from the temporary storage. When the at least the threshold number of encoded data slices is not cached in the temporary storage, the method continues by retrieving one or more of the encoded data slices from the DSN to obtain the at least the threshold number of encoded data slices. | 06-12-2014 |
20140164699 | EFFICIENTLY ACCESSING AN ENCODED DATA SLICE UTILIZING A MEMORY BIN - A method begins by receiving encoded data slices for storage. At least some of the encoded data slices have different data sizes. The method continues by accessing memory container information of the storage unit that includes a listing of virtual memory containers of the storage unit and, for each virtual memory container, bin identifier information. Each virtual memory contain is divided into bins, where the bins of a virtual memory container are of a substantially similar storage size. At least some of the virtual memory containers have different bin storage sizes. The method continues by mapping encoded data slices to virtual memory containers of the plurality based on data size of the encoded data slices and bin storage sizes of the virtual memory containers. The method continues by storing the encoded data slices in the virtual memory containers based on the mapping. | 06-12-2014 |
20140164877 | STORING PORTIONS OF DATA IN A DISPERSED STORAGE NETWORK - A method begins, in accordance with a segmentation approach, dividing large data to be stored into regions and dividing a region into segments. The method continues by generating preliminary DSN storage information for one or more regions. The method continues by identifying other large data stored in the DSN that has a relationship with the large data to be stored in the DSN and retrieving DSN storage information for the other large data. The method continues by comparing, at a region level, the preliminary DSN storage information with the retrieved DSN storage information. When a region of the large data to be stored has substantially similar DSN storage information as a region of the other large data, the method continues by utilizing the DSN storage information for the region of the other large data for the DSN storage information of the region of the large data. | 06-12-2014 |
20140181506 | PROCESSING A DISPERSED STORAGE NETWORK ACCESS REQUEST UTILIZING CERTIFICATE CHAIN VALIDATION INFORMATION - A method begins by a processing module receiving a dispersed storage network (DSN) access request that includes a requester identifier (ID), wherein the requester ID is associated with a certificate chain. When the certificate chain is valid, the method continues with the processing module accessing registry information for the DSN. The method continues with the processing module identifying one of a plurality of access control lists based on at least one of information associated with the requester ID and information associated with the certificate chain, identifying one or more entries of the one of the plurality of access control lists based on the information associated with the certificate chain to produce one or more identified entries, and generating, for the DSN access request, permissions from one or more sets of permissions associated with the one or more identified entries. | 06-26-2014 |
20140181578 | METHOD AND APPARATUS FOR SLICE PARTIAL REBUILDING IN A DISPERSED STORAGE NETWORK - A dispersed storage system includes a plurality of storage units that each include a partial rebuild grid module. The partial rebuild grid module includes partial rebuilding functionality to reconstruct one of a plurality of encoded data slices wherein the plurality of encoded data slices are generated from a data segment based on an error encoding dispersal function. In the partial rebuilding process, a data slice is rebuilt by combining in any order slice partials generated from at least a threshold number T of the plurality of data slices. | 06-26-2014 |
20140195846 | MAPPING STORAGE OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving data for storage in a dispersed storage network (DSN) memory and ascertaining dispersed storage error encoding parameters for encoding the data. The method continues with the DS processing module ascertaining storage units of the DSN memory for the storing an encoded version of the data and ascertaining a storage mapping that maps encoded data slices to storage units for storing the encoded version of the data. The method continues with the DS processing module encoding the data in accordance with the dispersed storage error encoding parameters to produce sets of encoded data slices. The method continues with the DS processing module generating a plurality of write requests for storing, in accordance with the storage mapping, encoded data slices of the sets of encoded data slices in a pattern across the storage units. | 07-10-2014 |
20140195875 | ACHIEVING STORAGE COMPLIANCE IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving a request to store data in a dispersed storage network and determining dispersed storage error encoding parameters for encoding the data into sets of encoded data slices. The method continues with the DS processing module determining whether the request includes a desired write reliability indication. When the request includes the desired write reliability indication, the method continues with the DS processing module determining whether storage of the sets of encoded data slices is meeting the desired write reliability indication. When storage of a set of encoded data slices is not meeting the desired write reliability indication, the method continues with the DS processing module determining a storage compliance process for the set of encoded data slices to meet the desired write reliability indication and executing the storage compliance process for the set of encoded data slices. | 07-10-2014 |
20140207898 | WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by generating a set of write request frames regarding a write request operation for a set of encoded data. Each of the write request frames includes a payload section and a protocol header. The payload section includes a transaction number field and a data payload section, which includes a name field, a revision number field, a length field, and a payload field. The protocol header includes a payload length field and an operation code field to indicate the write request operation. The method continues by outputting the set of write request frames to storage units of a dispersed storage network. | 07-24-2014 |
20140208154 | STORING DATA IN A DISPERSED STORAGE NETWORK - A method begins by creating a vault as a virtual memory block within memory of a dispersed storage network (DSN). A segment of data is encoded into a set of encoded data slices and stored in the vault. The method continues by dividing the virtual memory block into a set of vault regions. The method continues by determining, for each vault region of the set of vault regions, vault parameters to produce a set of vault parameters. Vault parameters include a decode threshold number of encoded data slices and a total number of encoded data slices for encoding the segment of data. The method continues by facilitating data access to the vault in accordance with the set of vault parameters. | 07-24-2014 |
20140214909 | MODIFYING DATA STORAGE IN RESPONSE TO DETECTION OF A MEMORY SYSTEM IMBALANCE - A computing device includes an interface, memory, and a processing module. The memory stores a directory and inode tables. The directory stores a file identifier and a corresponding inumber for each file that is stored in storage units. An inode table stores an inumber, metadata, and a DSN address for each file stored in a corresponding storage unit. The processing module is operable to monitor, for each of the inode tables, utilization of the memory. The processing module is further operable to monitor, for each of the storage units, utilization of memory of the storage units. The processing module is further operable to process, for the inode table and/or the corresponding storage unit, per inode table memory utilization data and per storage unit memory utilization data to adjust memory utilization of the inode table and/or memory utilization of the corresponding storage unit. | 07-31-2014 |
20140223095 | MODIFYING A DISPERSED STORAGE NETWORK MEMORY DATA ACCESS RESPONSE PLAN - A dispersed storage network memory includes a pool of storage nodes, where the pool of storage nodes stores a multitude of encoded data files. A storage node obtains and analyzes data access response performance data for each of the storage nodes to produce a modified data access response plan that includes identity of an undesired performing storage node and an alternative data access response for the undesired performing storage node. The storage nodes receive corresponding portions of a data access request for at least a portion of one of the multitude of encoded data files. The undesired performing storage node or another storage node processes one of the corresponding portions of the data access request in accordance with the alternative data access response. | 08-07-2014 |
20140244788 | TEMPORARILY STORING DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module obtaining a transaction number and generating a set of temporary write commands regarding storage of a data segment in a dispersed storage network (DSN) memory, where a temporary write command includes the transaction number, an encoded portion of the data segment, and an implicit instruction that the encoded portion is not to be stored or made accessible in accordance with a conventional manner. The method continues with the DS processing module transmitting the set of temporary write commands to the DSN memory. When the temporarily stored data segment is to be read from the DSN memory, the method continues with the DS processing module generating a set of temporary read commands, where a temporary read command includes the transaction number, identity of the encoded portion, and an explicit instruction to read the encoded portion in violation of the conventional manner. | 08-28-2014 |
20140245063 | RESOLVING WRITE CONFLICTS IN A DISPERSED STORAGE NETWORK - A method begins by first and second client devices transmitting first and second sets of write requests to storage units. The method continues with a storage unit sending a write response message to the first and second client devices, where the write response message indicates a storage unit score value for one of the client devices. The method continues with the first and second client devices interpreting the storage unit score values from the storage units to determine which client device has write priority. The method continues with the client device that has the write priority sending a set of next-phase write requests to the storage units. The method continues with the other client device that does not have the write priority sending a set of rollback requests to the storage units. | 08-28-2014 |
20140250270 | DISTRIBUTEDLY STORING RAID DATA IN A RAID MEMORY AND A DISPERSED STORAGE NETWORK MEMORY - A method begins by a processing module receiving redundant array of independent disks (RAID) data and determining whether to store the RAID data in at least one of a RAID format and in a dispersed storage network (DSN) format. The method continues with the processing module converting at least a portion of the RAID data into at least one set of encoded data slices when the at least a portion of the RAID data is to be stored in the DSN format. The method continues with the processing module outputting the at least one set of encoded data slices to a DSN memory. | 09-04-2014 |
20140250347 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO ACCESS A DISPERSED STORAGE NETWORK MEMORY - A method includes a DSN access token module retrieving one or more sets of at least a threshold number of dispersed storage (DS) error coding function slices from the DSN memory via the computing device. The method continues with the computing device and/or the DSN access token module decoding the one or more sets of the at least a threshold number of DS error coding function slices using a default DS error coding function to recapture a DS error coding function. The method continues with the computing device and/or the DSN access token module generating a plurality of sets of data access requests in accordance with the DS error coding function. The method continues with the computing device sending the plurality of sets of data access requests to the DSN memory. | 09-04-2014 |
20140270180 | Distributed Storage Network and Method for Storing and Retrieving Encryption Keys - A method begins by a distributed storage (DS) managing unit receiving an encryption key to store. The method continues by determining an encryption method and encrypting the encryption key with the determined encryption method to produce an encrypted key. The method continues by encoding and slicing the encrypted key to produce a set of data slices; and storing the set of data slices in DSN memory. A method to retrieve the stored encryption key begins with receiving a retrieve encryption key request from a requester and continues with retrieving an encrypted key and then determining a decryption method. The method continues by decrypting the encrypted key with the determined decryption method to produce the encryption key and sending the encryption key to the requestor to decrypt one or more portions of the encrypted data. | 09-18-2014 |
20140279104 | OBFUSCATING A TRANSACTION IN A DISPERSED STORAGE SYSTEM - A method begins by a processing module receiving a data segment for dispersed storage. The method continues with the processing module encoding the data segment in accordance with an error coding dispersed storage function to produce a plurality of error coded data slices. The method continues with the processing module generating a slice name for an error coded data slice of the plurality of error coded data slices, wherein the slice name includes a dispersed storage routing information section and a data identification section. The method continues with the processing module performing a securing function on at least the data identification section to produce a secure data identification section. The method continues with the processing module replacing, within the slice name, the data identification section with the secure data identification section to produce a secure slice name. | 09-18-2014 |
20140280681 | DISTRIBUTED STORAGE NETWORK FOR MODIFICATION OF A DATA OBJECT - In a dispersed storage network, data objects are dispersed storage error encoded into pluralities of sets of encoded data slices that are stored in a set of storage units. To recover a data object, a read threshold number of encoded data slices from each set of encoded data slices of a corresponding set of the plurality of sets of encoded data slices are required. Upon determining that an update is available for the set of storage units, a dispersed storage managing unit takes a first subset of storage units off line to perform the update. During the update, a remaining number of storage units of the set of storage units remain on line such that at least the read threshold number of encoded data slices are available for each set of the pluralities of sets of encoded data slices. | 09-18-2014 |
20140281223 | OPTIMIZED DISK LOAD DISTRIBUTION - A method in a distributed storage (DS) unit begins by the unit receiving one or more data slices to store. The method continues by determining a memory utilization method for the one or more data slices. The method continues when a multiple memory utilization method is determined. The method continues by determining a data slice distribution method. The method continues by storing a plurality of the one or more data slices in the multiple memories using the data slice distribution method and updating a virtual address to physical location table to reflect the storing. | 09-18-2014 |
20140281550 | Distributed Storage Network and Method for Storing and Retrieving Encryption Keys - A method begins by a distributed storage (DS) managing unit receiving an encryption key to store. The method continues by determining an encryption method and encrypting the encryption key with the determined encryption method to produce an encrypted key. The method continues by encoding and storing the encrypted key in accordance with a dispersed storage error coding function to produce a set of encoded encrypted key slices, wherein a decode threshold number of the encoded encrypted key slices of the set of encoded encrypted key slices are required to reconstruct the encrypted key. Retrieval of the stored encryption key includes retrieving and decoding at least a decode threshold number of the encoded encrypted key slices of a set of encoded encrypted key slices from storage units of the DSN. The method may include raising or lowering the decode threshold or modifying the retrieval order to increase/decrease security. | 09-18-2014 |
20140281804 | DISTRIBUTED STORAGE NETWORK FOR MODIFICATION OF A DATA OBJECT - In a dispersed storage network, data objects are dispersed storage error encoded into pluralities of sets of encoded data slices that are each stored in corresponding sets of storage units. To recover a data object, a read threshold number of encoded data slices from each set of encoded data slices of the plurality of sets of encoded data slices are required. Upon determining that an update is available for the storage units, a dispersed storage managing unit determines an updating sequence pattern that ensures that while one or more storage units are taken off line for the update, a sufficient number of storage units remain on line such that at least the read threshold number of encoded data slices are available for each set of encoded data slices. | 09-18-2014 |
20140282763 | DISTRIBUTION OF UNIQUE COPIES OF BROADCAST DATA UTILIZING FAULT-TOLERANT RETRIEVAL FROM DISPERSED STORAGE - A broadcast of data is stored as a plurality of sets of encoded data slices stored using an error coding dispersal storage function. In response to receiving a playback request, a centralized digital video recorder (DVR) identifies a first unique combination of encoded data slices, and determines whether that combination of data slices is available for retrieval. If the data slices are available, they are retrieved. If the data slices are not available, another unique combination of encoded data slices of the plurality of sets of encoded data slices is identified and retrieved, instead. Both combinations of data slices can be used to recreate a unique copy of broadcast data. | 09-18-2014 |
20140282764 | MEDIA DISTRIBUTION TO A PLURALITY OF DEVICES UTILIZING BUFFERED DISPERSED STORAGE - A method begins by a processing module receiving a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as sets of encoded data slices. In response to the playback requests, the method continues with the processing module entering a loop that begins with retrieving a group of sets of encoded data slices, generating copies therefrom, and storing the copies. The loop continues with the processing module sending a representation of the copies to a requesting device. The method continues with the processing module exiting the loop when the last group of the request has been retrieved and repeating the loop when it has not. | 09-18-2014 |
20140297654 | RECORD ADDRESSING INFORMATION RETRIEVAL BASED ON USER DATA DESCRIPTORS - Record addressing information retrieval is achieved using a plurality of user data descriptors. When a threshold number of user data descriptors from a set of user data descriptors are received, the threshold number of user data descriptors can be converted into a computed record index that is compared to a list of record indexes associated with a plurality of records. When the computed record index compares favorably to a record index in the list of record indexes, the record addressing information for a particular record is retrieved based on the record index. | 10-02-2014 |
20140297776 | EFFICIENT STORAGE OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving data for storage and generating a dispersed storage network (DSN) source name for the data. The method continues with the DS processing module determining whether substantially identical data to the data has been previously stored in memory of the DSN. When the substantially identical data has been previously stored in the memory of the DSN, the method continues with the DS processing module generating an object linking file that links the data to the substantially identical data, dispersed storage error encoding the object linking file to produce a set of encoded link file slices, and outputting the set of encoded link file slices for storage in the memory of the DSN. | 10-02-2014 |
20140298061 | POWER CONTROL IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) receiving a plurality of data access requests regarding a plurality of data objects. As individual data access requests of the plurality of data access requests are received, the method continues with the DS processing module, for each of the individual data access requests identifying a corresponding one of a plurality of logical storage pools of the DSN and determining power based access status of the corresponding one of the plurality of logical storage pools. When the power based access status is power saving mode, the method continues with the DS processing module queuing the individual data access request. When the power based access status is not in the power saving mode, the method continues with the DS processing module executing the individual data access request. | 10-02-2014 |
20140298136 | STORING DATA AND DIRECTORY INFORMATION IN A DISTRIBUTED STORAGE NETWORK - A method begins with a processing module issuing a set of write requests regarding storing a set of encoded data slices in dispersed storage network (DSN) memory and confirming that at least a write threshold number of encoded data slices have been temporarily stored in the DSN memory. When confirmed, the method continues with the processing module issuing a second set of write requests regarding storing a set of encoded directory slices in the DSN memory and confirming that at least a second write threshold number of encoded directory slices have been temporarily stored in the DSN memory. When confirmed, the method continues with the processing module issuing write commit requests regarding the at least a write threshold number of encoded data slices and the at least a second write threshold number of encoded directory slices. | 10-02-2014 |
20140298138 | PRIORITIZED DELETING OF SLICES STORED IN A DISPERSED STORAGE NETWORK - A method begins, as data objects are ingested, by determining, for each of some of the data objects, a priority indicator to produce a listing of priority indicators. The method continues for a data object by determining encoding parameters based on a corresponding priority indicator. The method continues by encoding the data object in accordance with the encoding parameters to produce a plurality of sets of encoded data slices and storing them. The method continues by identifying a first data object for analysis based on a corresponding priority indicator and an analysis priority. The method continues by decoding a plurality of sets of encoded data slices to recover the first data object and analyzing it in accordance with analysis criteria to determine its relevancy. The method continues by issuing a command to delete the plurality of sets of encoded data slices when the relevancy is below a threshold. | 10-02-2014 |
20140301410 | LIST RANGE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by generating list range requests. A list range request includes a payload section and a protocol header section. The payload section includes a start slice name field regarding a start slice name of a slice name range; an end slice name field regarding an end slice name of the slice name range; and a maximum response count field regarding a maximum slice name response count. The protocol header includes a payload length field that represents a length of the payload section and an operation code field to indicate the list range request operation. The list range request includes a request to provide a list of slices names corresponding to stored encoded data slices associated with slice names within the slice name range. The method continues by sending the range requests to storage units of the DSN. | 10-09-2014 |
20140302934 | INTERACTIVE GAMING UTILIZING A DISPERSED STORAGE NETWORK - Game data is received at a dispersed storage processing unit, the game data associated with at least one of a plurality of user devices. The game data is stored in a cache memory associated with the dispersed storage processing unit. Dispersed storage metadata associated with the cached game data is generated. A data block is generated based on the cached game data and further based on the dispersed storage metadata. The data block is stored in a dispersed storage network. | 10-09-2014 |
20140304486 | MIGRATING ENCODED DATA SLICES FROM A RE-PROVISIONED MEMORY DEVICE OF A DISPERSED STORAGE NETWORK MEMORY - A method begins by maintaining a memory assignment table for memory devices within the storage unit. The memory assignment table includes a field for memory identifier, a field for memory allocation, and a field for memory usability status. The method continues by utilizing the memory assignment table to perform one or more functions. One function includes selecting a first memory device to store incoming data. Another function includes determining when to decommission a second memory device based on memory usability status of the second memory device. A further function includes determining when to migrate data stored on a third memory device to another memory device. A still further function includes changing a storage protocol of data stored on a fourth memory device. | 10-09-2014 |
20140304526 | DATA DEDUPLICATION IN A DISPERSED STORAGE SYSTEM - An efficient data deduplication method for use in a dispersed storage network (DSN). After a data object is received for storage in the DSN, it is determined whether a substantially identical data object has previously been encrypted and stored. The determination may be made, for example, by comparing an encryption key reference value relating to the data object to key reference information stored in DSN memory. If not detected, the data object is encrypted using an encryption key based on the data object. The encrypted data object is then compressed and stored. The encryption key and a key reference value are also stored as encoded key slices in DSN memory. If the data object was previously stored, it is encrypted using a retrieved encryption key that is substantially identical to the data object. The data object may then be compressed for storage using a pattern based data compression function. | 10-09-2014 |
20140304527 | EFFICIENT MEMORY UTILIZATION IN A DISPERSED STORAGE SYSTEM - A method for improving memory utilization in a dispersed storage network (DSN). After a data object is received for storage in the DSN, it is determined whether a substantially identical data portion of the data object has previously been encrypted and stored. The determination may be made, for example, by comparing a portion reference value relating to the data object to portion reference information stored in DSN memory. If not detected, the data object is encrypted using an encryption pattern sequence and encryption key, at least one of which substantially identical to at least a portion of the data portion. The encrypted data object is then compressed using a pattern based data compression function, and the compressed data object is stored. The portion reference value is also stored in DSN memory. | 10-09-2014 |
20140310310 | DISPERSED STORAGE NETWORK WITH PARAMETER SEARCH AND METHODS FOR USE THEREWITH - A method begins with a processing module selecting one of a plurality of dispersed storage (DS) processing modules for facilitating access to a dispersed storage network (DSN) memory. The method continues with the processing module sending a DSN memory access request to the one of the plurality of DS processing modules. The method continues with the processing module selecting another one of the plurality of DS processing modules when no response is received within a given time frame or when the response to the access request does not include an access indication. The method continues with the processing module sending the DSN memory access request to the another one of the plurality of DS processing modules. | 10-16-2014 |
20140310491 | DISPERSED STORAGE NETWORK WITH DATA SEGMENT BACKUP AND METHODS FOR USE THEREWITH - A method begins with a processing module selecting one of a plurality of dispersed storage (DS) processing modules for facilitating access to a dispersed storage network (DSN) memory. The method continues with the processing module sending a DSN memory access request to the one of the plurality of DS processing modules. The method continues with the processing module selecting another one of the plurality of DS processing modules when no response is received within a given time frame or when the response to the access request does not include an access indication. The method continues with the processing module sending the DSN memory access request to the another one of the plurality of DS processing modules. | 10-16-2014 |
20140310492 | DISPERSED STORAGE NETWORK WITH METADATA GENERATION AND METHODS FOR USE THEREWITH - A method begins with a processing module selecting one of a plurality of dispersed storage (DS) processing modules for facilitating access to a dispersed storage network (DSN) memory. The method continues with the processing module sending a DSN memory access request to the one of the plurality of DS processing modules. The method continues with the processing module selecting another one of the plurality of DS processing modules when no response is received within a given time frame or when the response to the access request does not include an access indication. The method continues with the processing module sending the DSN memory access request to the another one of the plurality of DS processing modules. | 10-16-2014 |
20140310572 | EFFICIENT STORAGE OF ENCRYPTED DATA IN A DISPERSED STORAGE NETWORK - A method begins with a processing module obtaining data to store and determining whether substantially similar data to the data is stored. When the substantially similar data is not stored, the method continues with the processing module generating a first encryption key based on the data, encoding the first encryption key into encoded data slices in accordance with an error coding dispersal storage function, and storing the encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module encrypting the data using an encryption key of the substantially similar data in accordance with an encryption function to produce encrypted data, compressing the encrypted data in accordance with a compression function to produce compressed data, storing the compressed data when the substantially similar data is stored. | 10-16-2014 |
20140310775 | DISPERSED STORAGE NETWORK WITH CUSTOMIZED SECURITY AND METHODS FOR USE THEREWITH - A method begins with a processing module selecting one of a plurality of dispersed storage (DS) processing modules for facilitating access to a dispersed storage network (DSN) memory. The method continues with the processing module sending a DSN memory access request to the one of the plurality of DS processing modules. The method continues with the processing module selecting another one of the plurality of DS processing modules when no response is received within a given time frame or when the response to the access request does not include an access indication. The method continues with the processing module sending the DSN memory access request to the another one of the plurality of DS processing modules. | 10-16-2014 |
20140317224 | DISTRIBUTED STORAGE NETWORK FOR STORING A DATA OBJECT BASED ON STORAGE REQUIREMENTS - A distributed storage network (DSN) includes a user device and a plurality of DSN memories, wherein each of the DSN memories includes a plurality of storage units. The user device includes at least one network interface to the plurality of DSN memories and at least one processing module that is operable to determine one of the plurality of DSN memories for storing a data object based on a comparison of one or more storage requirements of the data object and one or more DSN attributes of the plurality of DSN memories. | 10-23-2014 |
20140317226 | Distributed Storage Time Synchronization Based On Storage Delay - A method begins with a processing module receiving a data retrieval request and obtaining a real-time indicator corresponding to when the data retrieval request was received. The method continues with the processing module determining a time-based data access policy based on the data retrieval request and the real-time indicator and accessing a plurality of dispersed storage (DS) units in accordance with the time-based data access policy to retrieve encoded data slices. The method continues with the processing module decoding the threshold number of encoded data slices in accordance with an error coding dispersal storage function when a threshold number of the encoded data slices have been retrieved. | 10-23-2014 |
20140317349 | Distributed Storage Time Synchronization Based On Retrieval Delay - A method begins with a processing module receiving a data retrieval request and obtaining a real-time indicator corresponding to when the data retrieval request was received. The method continues with the processing module determining a time-based data access policy based on the data retrieval request and the real-time indicator and accessing a plurality of dispersed storage (DS) units in accordance with the time-based data access policy to retrieve encoded data slices. The method continues with the processing module decoding the threshold number of encoded data slices in accordance with an error coding dispersal storage function when a threshold number of the encoded data slices have been retrieved. | 10-23-2014 |
20140317403 | DISPERSED STORAGE NETWORK WITH SLICE REFRESH AND METHODS FOR USE THEREWITH - An integrity record is appended to data slices prior to being sent to multiple slice storage units. Each of the data slices includes a different encoded version of the same data segment. An integrity indicator of each data slice is computed, and the integrity record is generated based on each of the individual integrity indicators, and may be, for example, list or a hash of the combined integrity indicators. When retrieving data slices from storage, the integrity record can be stripped off, a new integrity indicator of the data slice calculated, and a new integrity record created. The new integrity record can be compared to the original integrity record, and used to verify the integrity of the data slices. | 10-23-2014 |
20140325208 | OBTAINING A SIGNED CERTIFICATE FOR A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module generating a certificate signing request (CSR) that includes a certificate and a certificate extension, wherein the certificate includes information regarding a requesting device and wherein the certificate extension includes information regarding an accessible dispersed storage network (DSN) address range for the requesting device. The method continues with the DS processing module outputting the CSR to a certificate authority of a DSN and receiving a signed certificate from the certificate authority, wherein the signed certificate includes a certification signature of the certificate authority authenticating the certificate and the certificate extension. The method continues with the DS processing module storing the signed certificate for use when generating a DSN access request, wherein the DSN access request is requesting access to dispersed storage error encoded data in the DSN at an address within the accessible DSN address range. | 10-30-2014 |
20140325259 | IDENTIFYING A STORAGE ERROR OF A DATA SLICE - A method begins by a processing module obtaining common storage name information regarding data that is stored in storage units of a distributed storage network (DSN) as a set of data slices. Each data slice of the set of data slices has a unique storage name, where each of the unique storage names for the set of data slices has common naming information regarding the data. The method continues where the processing module interprets the common storage name information to determine whether a difference exists between the common naming information of a data slice of the set of data slices and the common naming information of other data slices of the set of data slices. When the difference exists, the method continues where the processing module indicates a potential storage error of the data slice and implements a storage error process regarding the potential storage error of the data slice. | 10-30-2014 |
20140325266 | LIKELIHOOD BASED REBUILDING OF MISSING ENCODED DATA SLICES - A method begins by a processing module of a dispersed storage network (DSN) detecting a likelihood of having a missing encoded data slice based on local physical to DSN address mapping information. When the likelihood of having the missing encoded data slice exists, the method continues with the processing module sending a query regarding the missing encoded data slice to another storage unit of the DSN and receiving a response to the query from the other storage unit. When the response includes identity of a related encoded data slice of a set of encoded data slices, the method continues with the processing module commencing execution of a rebuilding function to generate a new encoded data slice to replace the missing encoded data slice. | 10-30-2014 |
20140325307 | DETECTING A UTILIZATION IMBALANCE BETWEEN DISPERSED STORAGE NETWORK STORAGE UNITS - A method begins by a processing module of a dispersed storage network (DSN) obtaining utilization information regarding a plurality of storage units of the DSN, where first and second sets of storage units support a first logical storage vault. The method continues with the processing module detecting a utilization imbalance between a first storage unit of the first set of storage units and a second storage unit of the second set of storage units based on the utilization information, where the first and second storage units are not a common storage unit. The method continues with the processing module executing a data storage function regarding the first logical storage vault based on the utilization imbalance. | 10-30-2014 |
20140325309 | UPDATING DATA STORED IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving a modified data object, wherein the modified data object is a modified version of a data object and the data object is divided into a plurality of data segments and stored in the DSN. The method continues with the DS processing module mapping portions of the modified data object to the plurality of data segments that includes creating a middle data segment of a second plurality of data segments based on a corresponding middle data segment of the plurality of data segments when the a portion of the portions corresponds to middle data of the modified data object. The method continues with the DS processing module encoding the middle data segment using a dispersed storage error coding function to produce an encoded data segment and overwriting the corresponding middle data segment with the encoded data segment in the DSN. | 10-30-2014 |
20140328573 | ACCESSING STORED MULTI-MEDIA CONTENT BASED ON A SUBSCRIPTION PRIORITY LEVEL - A method begins with a processing module of a centralized digital video storage (DVS) system storing, for playback, a plurality of sets of encoded data slices in storage units, where multi-media content is encoded to produce the plurality of sets of encoded data slices. The method continues with the processing module monitoring the storage units for a failure mode and monitoring a number of subscriber devices requesting playback of the multi-media content. The method continues with the processing module determining whether a sufficient number of unique combinations of a decode threshold number of encoded data slices per set of slices exists to service playback of the multi-media content. When the sufficient number of the unique combinations do not exist, the method continues with the processing module reassigning unique combinations of the decode threshold number of encoded data slices per set of encoded data slices to some of the subscriber devices. | 11-06-2014 |
20140330921 | STORING RELATED DATA IN A DISPERSED STORAGE NETWORK - A method begins by each of a group of write requesting modules of a dispersed storage network (DSN) generating one or more sets of write requests regarding one of a group of portions of related data, sending a group of the one or more sets of write requests to DSN memory, and sending binding information to a binding module. The method continues with the binding module processing remaining phases of the group of the one or more sets of write requests for writing the related data into the DSN memory as a single set of write requests and notifying the write requesting modules of status of the writing the related data into the DSN memory at completion of the processing of the remaining phases such that the related data is made accessible as a single piece of data when the processing of the remaining phases is successful. | 11-06-2014 |
20140330923 | MULTI-WRITER REVISION SYNCHRONIZATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module of a computing device receiving a most current revision value for a data element, where a revision value for the data element is generated based on a current time of a storing device. The method continues with the processing module generating a new revision value for a currently revised version of the data element based on a current time of the computing device and comparing the current time of the new revision value with the current time of the most current revision value. When the current time of the new revision value precedes the current time of the most current revision value, the method continues with the processing module adjusting the new revision value to produce an adjusted revision value and facilitating storage of the currently revised version of the data element having the adjusted revision value. | 11-06-2014 |
20140331065 | SECURING A DATA SEGMENT FOR STORAGE - A method begins by a dispersed storage (DS) processing module encrypting a data segment utilizing an encryption key to produce an encrypted data segment and performing a deterministic function on the encrypted data to produce a transformed representation of the encrypted data. The method continues with the DS processing module masking the encryption key utilizing the transformed representation of the encrypted data to produce a masked key, partitioning the masked key into a plurality masked key partitions, partitioning the encrypted data segment into a plurality of encrypted data segment partitions, and combining the plurality of masked key partitions with the plurality of encrypted data segment partitions to produce a plurality of combined partitions. For a combined partition of the plurality of combined partitions, the method continues with the DS processing module encoding the combined partition using a dispersed storage error coding function to produce a set of encoded data slices. | 11-06-2014 |
20140331085 | METHOD AND APPARATUS FOR DISTRIBUTED STORAGE INTEGRITY PROCESSING - A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit. | 11-06-2014 |
20140331086 | PRIORITIZING REBUILDING OF STORED DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN), when in a rebuilding mode, determining a level of rebuilding urgency, where the level of rebuilding urgency is based on an inversely proportional function of a level of error encoded redundancy for error encoded data giving rise to the rebuilding mode. When the level of rebuilding urgency is at or above a critical level, the method continues with the DS processing module placing a set of storage units of the DSN in a critical rebuilding mode, where, when in the critical rebuilding mode, the set of storage units prioritize rebuilding of the error encoded data giving rise to the rebuilding mode over other error encoded data operations. | 11-06-2014 |
20140331087 | IDENTIFYING AND CORRECTING AN UNDESIRED CONDITION OF A DISPERSED STORAGE NETWORK ACCESS REQUEST - A method begins by a processing module sending a transaction verification request to the set of dispersed storage (DS) units, wherein the transaction verification request includes a transaction number that corresponds to a particular dispersed storage network (DSN) access request. The method continues with the processing module receiving transaction verification responses from at least some of the set of DS units to produce received transaction verification responses. The method continues with the processing module identifying an undesired condition with processing the DSN access request and initiating a corrective remedy for the undesired condition when a DS unit of the set of DS units does not provide a desired transaction verification response. | 11-06-2014 |
20140331100 | SELECTING STORAGE UNITS TO REBUILD AN ENCODED DATA SLICE - A method begins with a processing module of a dispersed storage network (DSN) identifying an encoded data slice of a set of encoded data slices that requires rebuilding and identifying storage units of the DSN that store the set of encoded data slices. The method continues with the processing module determining a rebuilding metric regarding the identified encoded data slice and selecting a sub-set of the storage units for retrieving a decode threshold number of encoded data slices of the set of encoded data slices based on the rebuilding metric. When the decode threshold number of encoded data slices have been retrieved, the method continues with the processing module decoding the decode threshold number of encoded data slices to produce a reconstructed data segment and generating a rebuilt encoded data slice from the reconstructed data segment. | 11-06-2014 |
20140331103 | ENCODING MULTI-MEDIA CONTENT FOR A CENTRALIZED DIGITAL VIDEO STORAGE SYSTEM - A method begins with a processing module of a centralized digital video storage (DVS) system regarding recording of multi-media content that is to be broadcast at a particular broadcast time, determining a number of subscriber devices that have selected to record the multi-media content. At the particular broadcast time, the method continues with the processing module receiving the multi-media content as it is being broadcast. When the number of subscriber devices is less than a first value, the method continues with the processing module encoding the multi-media content using first level encoding parameters to produce sets of first level encoded data slices for storage. When the number of subscriber devices is equal to or greater than the first value, the method continues with the processing module encoding the multi-media content using second level encoding parameters to produce sets of second level encoded data slices for storage. | 11-06-2014 |
20140331104 | EFFICIENT STORAGE OF ENCRYPTED DATA IN A DISPERSED STORAGE NETWORK - A method begins with a processing module obtaining data to store and determining whether substantially similar data to the data is stored. When the substantially similar data is not stored, the method continues with the processing module generating a first encryption key based on the data, encoding the first encryption key into encoded data slices in accordance with an error coding dispersal storage function, and storing the encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module encrypting the data using an encryption key of the substantially similar data in accordance with an encryption function to produce encrypted data, compressing the encrypted data in accordance with a compression function to produce compressed data, storing the compressed data when the substantially similar data is stored. | 11-06-2014 |
20140337622 | DISPERSED STORAGE NETWORK WITH ENCRYPTED PORTION WITHHOLDING AND METHODS FOR USE THEREWITH - An integrity record is appended to data slices prior to being sent to multiple slice storage units. Each of the data slices includes a different encoded version of the same data segment. An integrity indicator of each data slice is computed, and the integrity record is generated based on each of the individual integrity indicators, and may be, for example, list or a hash of the combined integrity indicators. When retrieving data slices from storage, the integrity record can be stripped off, a new integrity indicator of the data slice calculated, and a new integrity record created. The new integrity record can be compared to the original integrity record, and used to verify the integrity of the data slices. | 11-13-2014 |
20140337666 | DISPERSED STORAGE NETWORK WITH SLICE REBUILDING AND METHODS FOR USE THEREWITH - In a dispersed storage network where slices of secure user data are stored on geographically separated storage units ( | 11-13-2014 |
20140337684 | CHANGING DISPERSED STORAGE ERROR ENCODING PARAMETERS - A method begins with a processing module of a dispersed storage network (DSN) maintaining, over time, a continuum of time-to-repair information regarding a plurality of storage units of the DSN and maintaining, over time, a continuum of time-to-failure information regarding the plurality of storage units. When the continuum of time-to-repair information and the continuum of time-to-failure information are each below undesired levels, the method continues with the processing module changing dispersed storage error encoding parameters of a logical storage vault of the DSN by lowering a decode threshold number with respect to a current decode threshold number and increasing a pillar width number with respect to a current pillar width number. The method continues with the processing module re-encoding stored encoded data of the logical storage vault based on the increased pillar width number and the decreased decode threshold number. | 11-13-2014 |
20140337932 | DISPERSED STORAGE NETWORK WITH ACCESS CONTROL AND METHODS FOR USE THEREWITH - In a dispersed storage network where slices of secure user data are stored on geographically separated storage units ( | 11-13-2014 |
20140344227 | Streaming Content Storage - A computing system includes a plurality of dispersed storage (DS) processing units operable to receive a continuous data stream, simultaneously disperse storage error encode the continuous data stream to produce a plurality of encoded data slices and store the plurality of encoded data slices in a DS memory. | 11-20-2014 |
20140344228 | Multiple Revision Mailbox - A method begins by determining slice names of encoded data slices stored within a dispersed storage network (DSN). The method continues by determining dispersed storage (DS) units within the DSN storing a set of the encoded data slices associated with the slice names. The method continues by determining one or more revision numbers associated with the slice names. The method continues by determining if same slice names have different associated revision numbers and, when the same slice names have different associated revision numbers, adding the slice names to a revision mailbox for subsequent correction. | 11-20-2014 |
20140344318 | Digest Listing Decomposition - To identify slice errors, a processing module of a computing device in a dispersed storage network (DSN) sends first list digest requests to at least first and second dispersed storage (DS) units. The requests indicates a first range of slice names to include in a first list digest. The processing module receives digest responses from the DS units, and compares the digest responses to determine whether they identify the same slices. If they do not identify the same slices, the processing module sends second list digest requests indicating a sub-range of the first range of slice names to include in second list digests. The sub-range continues to be narrowed until the processing module identifies at least one sub-range of slice names where a slice error exists. | 11-20-2014 |
20140344394 | Revision Deletion Markers - A method begins by receiving a delete data object request within a dispersed storage network (DSN). The method continues by determining a set of dispersed storage (DS) units within the DSN that store a set of encoded data slices associated with the data object. The method continues by determining a revision number of the set of encoded data slices. The method continues by sending a delete marker and write command to the set of DS units for deletion of the data object. The method continues by receiving at least one receive write acknowledgement from at least some DS units of the set of DS units to produce the deletion. The method continues when a write threshold is met, by sending a commit command to the DS unit storage set and receiving commit acknowledgments from the DS units and sending a finalize command to the set of DS units to delete the data object. | 11-20-2014 |
20140344617 | SELECTIVE ACTIVATION OF MEMORY TO RETRIEVE DATA IN A DISPERSED STORAGE NETWORK - A technique of selectively activating inactive distributed storage units of a dispersed storage network to retrieve a threshold number of data slices that are required to recover the original data, instead of utilizing all of the distributed storage units. | 11-20-2014 |
20140344645 | DISTRIBUTED STORAGE WITH AUXILIARY DATA INTERSPERSAL AND METHOD FOR USE THEREWITH - A data segment is encrypted to produce an encrypted data segment. The encrypted data segment is dispersed storage error encoded to produce a set of encoded data slices. Auxiliary data is dispersed storage error encoded to produce a set of encoded auxiliary data slices. A sequence of output slices is generated to obscure the set of encoded data slices by interspersing the set of encoded auxiliary data slices within the set of encoded data slices. | 11-20-2014 |
20140344646 | DISTRIBUTED REBUILDING OF DATA IN A DISPERSED STORAGE NETWORK - A technique of rebuilding data slices in a dispersed storage network when detecting a plurality of data slices that require rebuilding. A plurality of rebuilding resources capable for use to rebuild the plurality of data slices are determined and based on an attribute associated with the determination, a rebuilding task is apportioned and the apportioned tasks are assigned to the plurality of rebuilding resources to rebuild the data slices. The apportionment of the tasks permit more than one rebuilding resource and associated distributed storage unit to perform the rebuild of the data slices. | 11-20-2014 |
20140351457 | STORING DATA IN A DISPERSED STORAGE NETWORK - A method begins by a processing module of a dispersed storage network (DSN) sending a set of write commands to storage units of the DSN regarding storage of a set of current revision level encoded data slices and receiving a write acknowledgement in response to a write command. The method continues with the processing module determining whether a write threshold number of write acknowledgements have been received. When the write threshold number of write acknowledgements have been received, the method continues with the processing module issuing a set of commit commands to the storage units. The method continues with the processing module determining whether to issue a set of finalize commands, where a finalize command instructs a storage unit regarding storage of a corresponding current revision level encoded data slice and storage of a previous revision level encoded data. | 11-27-2014 |
20140351579 | HARDWARE AUTHENTICATION IN A DISPERSED STORAGE NETWORK - A method for authenticating a node of a dispersed storage network (DSN). In various embodiments, a dispersed storage (DS) management unit receives a device list originating from a hardware certificate authority (HCA). The HCA also provides a hardware certificate to the node. Upon receiving the hardware certificate from the node, the DS management unit determines if the certificate is valid by comparing it to information contained in the device list (such as a device ID or a serial number associated with the node). If the certificate is valid, the DS management unit sends a challenge message to the node and analyzes the resulting challenge message response to determine if it is valid. If the response is valid, the DS management unit provides a signed certificate to the node for use in authenticating the node to perform dispersed storage operations within the DSN. | 11-27-2014 |
20140351624 | DATA MODIFICATION IN A DISPERSED STORAGE NETWORK - A method for modifying data stored in a dispersed storage network (DSN). In various embodiments, a data object is received for storage in DSN memory. A dispersed storage processing unit determines a number of data segments for the data object and divides the data object into a plurality of data blocks. The data blocks are allocated to the data segments in a column-row orientation (for example, columns may be populated with successive data blocks of the data object). The data segments are encoded to produce a plurality of sets of encoded data slices. Additional data received for the data object is divided into additional data blocks that are allocated to data segments to create one or more new columns, which are encoded to produce a plurality of encoded data slice addendums. The encoded data slice addendums are then appended to existing encoded data slices corresponding to the data object. | 11-27-2014 |
20140351625 | CACHING REBUILT ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK - A method begins with a processing module of a computing device of a dispersed storage network (DSN) executing a rebuild function to produce a rebuilt encoded data slice for storage in a targeted storage unit of the DSN. When the targeted storage unit is currently unavailable, the method continues with the processing module storing the rebuilt encoded data slice in local memory of the computing device, recording storage of the rebuilt encoded data slice in the local memory, and recording that the targeted storage unit is currently unavailable. When the targeted storage unit is currently available, the method continues with the processing module sending the rebuilt encoded data slice to the targeted storage unit and recording storage of the rebuilt encoded data slice by the targeted storage unit. | 11-27-2014 |
20140351631 | STORING RAID DATA AS ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving data for storage and interpreting the data to identify the data as redundant array of independent disks (RAID) data. The method continues with the processing module interpreting the RAID data to identify at least one of RAID block data and RAID parity data. When the RAID data includes RAID block data and RAID parity data the method continues with the processing module encoding the RAID block data in accordance with error coding dispersal storage function parameters to produce at least one set of encoded data slices and outputting the at least one set of encoded data slices to a dispersed storage network memory. | 11-27-2014 |
20140351632 | STORING DATA IN MULTIPLE FORMATS INCLUDING A DISPERSED STORAGE FORMAT - A method begins by a processing module of a dispersed storage network (DSN) receiving data in a redundant array of independent disks (RAID) format and converting from the RAID format to an original format of the data. The method continues with the processing module dispersed storage error encoding a data segment of the data in the original format to produce a set of encoded data slices, where a set of encoded data slices includes a decode threshold sub-set of encoded data slices and an error correcting sub-set of encoded data slices. The method continues with the processing module converting the decode threshold sub-set of encoded data slices into a RAID formatted data segment, storing the RAID formatted data segment in RAID memory, and storing at least the error correcting sub-set of encoded data slices in DSN memory. | 11-27-2014 |
20140351633 | STORING RAID DATA AS ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving data for storage and interpreting the data to identify the data as redundant array of independent disks (RAID) data. The method continues with the processing module interpreting the RAID data to identify at least one of RAID block data and RAID parity data. When the RAID data includes RAID block data and RAID parity data the method continues with the processing module encoding the RAID block data in accordance with error coding dispersal storage function parameters to produce at least one set of encoded data slices and outputting the at least one set of encoded data slices to a dispersed storage network memory. | 11-27-2014 |
20140351659 | STORING DATA IN ACCORDANCE WITH A PERFORMANCE THRESHOLD - In response to a write operation for a set of encoded data slices, a method begins by a dispersed storage (DS) processing module determining whether to use a performance threshold number of encoded data slices of the set of encoded data slices. When the performance threshold number of encoded data slices is to be used, the method continues with the DS processing module determining the performance threshold number of encoded data slices and sending a performance threshold number of initial phase write requests to storage units. When a write threshold number of write responses are received, the method continues with the DS processing module sending a number of next phase write requests to the storage units, where the number of next phase write requests is equal to or greater than the write threshold number and is less than or equal to the performance threshold number. | 11-27-2014 |
20140351674 | UTILIZING CACHED ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK - A method begins with a processing module of a dispersed storage network (DSN) executing a write operation to write a plurality of sets of encoded data slices to DSN memory, where the write operation includes temporarily storing encoded data slices in cache memory. The processing module receives a read request for a portion of the data object and determines whether a decode threshold number of encoded data slices of a set is stored in the cache memory. When less than the decode threshold number of encoded data slices is stored in the cache memory, the processing module retrieves encoded data slices from the DSN memory to obtain the decode threshold number of encoded data slices, decodes the decode threshold number of encoded data slices to recover a corresponding data segment, and outputs the recovered corresponding data segment. | 11-27-2014 |
20140359276 | SECURING DATA IN A DISPERSED STORAGE NETWORK - A method begins by a source processing module securing data based on a key stream to produce secured data, where the key stream is derived from a unilateral encryption key accessible only to the source processing module, and sending the secure data to an intermediator processing module, where desecuring the secured data is divided into two partial desecuring stages. The method continues with the intermediator processing module partially desecuring the secure data in accordance with a first partial desecuring stage to produce partially desecured data and sending the partially desecured data to a destination processing module. The method continues with the destination processing module further partially desecuring the partially desecured data in accordance with a second desecuring stage to recover the data, where the destination processing module does not have access to the encryption key or to the key stream. | 12-04-2014 |
20140359348 | ADJUSTING DISPERSED STORAGE NETWORK TRAFFIC DUE TO REBUILDING - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) monitoring network traffic within the DSN. When the network traffic compares unfavorably to a desired network traffic function, the method continues with the DS processing module reducing a portion of the network traffic due to rebuilding flagged encoded data slices by at least one of changing rebuilding criteria for the flagged encoded data slices and changing rebuilding network traffic protocols. | 12-04-2014 |
20140359349 | DISPERSED STORAGE RE-DISPERSION METHOD BASED ON A FAILURE - A method begins by identifying a storage unit of a set of storage units within a dispersed storage system as being likely to fail. The method continues by determining an approach for minimizing rebuilding the encoded data slices that are stored on an identified storage unit in an event of a failure of the identified storage unit. The approach is at least one approach option from a list of approach options that includes fostering new encoded data slices, replicating existing encoded data slices, and re-dispersing existing encoded data slices. The method continues by implementing the approach regarding the identified storage unit and when the identified storage unit fails, retrieving the encoded data slices that were stored on the identified storage unit based on the approach. | 12-04-2014 |
20140365831 | DETECTING INTENTIONAL CORRUPTION OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a DS unit selecting a data slice for corruption analysis and requesting integrity information for the data slice from one or more other DS units of a dispersed storage network. When the one or more requested integrity information is received, the method continues with the DS processing module analyzing the one or more received integrity information and local integrity information of the data slice stored in the DS unit. When the analysis of the one or more received integrity information and the local integrity information of the data slice is unfavorable, the method continues with the DS processing module identifying the data slice as being corrupted. | 12-11-2014 |
20140379675 | DIRECTORY SYNCHRONIZATION OF A DISPERSED STORAGE NETWORK - A method begins by independently executing a first write transaction in a dispersed storage network (DSN) to a particular write verification step of a multiple step write process, wherein the first write transaction has a first transaction identifier. The method continues by independently executing a second write transaction in the DSN to the particular write verification step, wherein the second write transaction has a second transaction identifier, and wherein subject matter of the first write transaction is related to subject matter of the second write transaction. The method continues by dependently finalizing the multiple step write process for each of the first and second write transactions utilizing the first and second transaction identifiers when each of the first and second write transactions have reached the particular write verification step. | 12-25-2014 |
20140380064 | DELETING ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving a request regarding at least a portion of corresponding encoded data slices, wherein a collection of encrypted and encoded data slices of a plurality of collections of encrypted and encoded data slices includes a common data aspect, wherein encrypted and encoded data slices of the collection of encrypted and encoded data slices are produced by individually encrypting corresponding encoded data slices using a common encrypting character string and representations of the corresponding encoded data slices. The method continues with the DS processing module identifying the common encrypting character string of the corresponding encoded data slices. When the request is to delete the corresponding encoded data slices, the method continues with the DS processing module obfuscating the common encrypting character string in a local memory such that the collection of encrypted and encoded data slices are effectively incomprehensible. | 12-25-2014 |
20140380121 | CONFIGURING A GENERIC COMPUTING DEVICE UTILIZING SPECIFIC COMPUTING DEVICE OPERATION INFORMATION - A method for execution, when a generic computing device is paired with a specific computing device (SCD) token, begins with the SCD token sending distributed storage network (DSN) access request to DSN memory via the generic computing device, wherein the DSN access request identifies SCD operation information that is stored as one or more of sets of encoded data slices in the DSN memory and wherein the SCD operation information was encoded using a dispersed storage error encoding function to produce the plurality of sets of encoded data slices. Then, the SCD token receives the one or more of sets of encoded data slices from the DSN memory via the generic computing device and decodes the one or more of sets of encoded data slices to retrieve the SCD operation information and enables the generic computing device to function as an SCD in accordance with the SCD operation information. | 12-25-2014 |
20140380128 | DATA MIGRATION BETWEEN A RAID MEMORY AND A DISPERSED STORAGE NETWORK MEMORY - A method begins by a processing module determining to change storage format from a redundant array of independent disks (RAID) format to a dispersed storage network (DSN) format. The method continues with the processing module retrieving the data from a RAID memory that is stored in the RAID format to produce retrieved RAID data. The method continues with the processing module converting stripe-block data of the retrieved RAID data into a plurality of sets of encoded data slices and reprovisioning the RAID memory for storing DSN formatted data to produce reprovisioned memory. The method continues with the processing module outputting the plurality of sets of encoded data slices to at least one of the RAID memory and a DSN memory for storage therein. | 12-25-2014 |
20150026539 | UTILIZING A LOCAL AREA NETWORK MEMORY AND A DISPERSED STORAGE NETWORK MEMORY TO ACCESS DATA - A method begins by a processing module encoding data based on a decode threshold parameter and a pillar width parameter to produce a set of encoded data slices and selecting a local area network (LAN) pillar width value of encoded data slices of the set of encoded data slices for storage in LAN available memories, wherein the LAN pillar width value is based on the decode threshold parameter, the pillar width parameter, and quantities of the LAN available memories. The method continues with the processing module selecting a wide area network (WAN) pillar width value of encoded data slices of the set of encode data slices for storage in a dispersed storage network (DSN) memory of a wide area network, wherein the WAN pillar width value is based on the decode threshold parameter and the pillar width parameter. | 01-22-2015 |
20150039660 | CO-LOCATE OBJECTS REQUEST - A method begins by a dispersed storage (DS) processing module receiving a data object co-locate write request. The method continues with the DS processing module obtaining a plurality of sets of encoded data slices for a data object to co-locate. The method continues with the DS processing module generating a plurality of sets of slice names for the data object to co-locate based on another plurality of sets of slice names associated with a data object to be co-located with. The method continues with the DS processing module storing the plurality of sets of encoded data slices in the DSN using the generated plurality of sets of slice names for the data object co-locate. | 02-05-2015 |
20150039934 | ACCOUNTING FOR DATA THAT NEEDS TO BE REBUILT OR DELETED - A method begins by a dispersed storage (DS) processing module identifying a plurality of encoded data slices requiring rebuilding. The method continues with the DS processing module determining an amount of reserve memory required for storage of rebuilt slices for the identified plurality of encoded data slices requiring rebuilding. The method continues with the DS processing module updating memory utilization information to include the amount of reserve memory required. The method continues with the DS processing module indicating the memory utilization. The method continues with the DS processing module obtaining rebuilt slices. The method continues with the DS processing module storing the rebuilt slices in the memory and updating the memory utilization information. | 02-05-2015 |
20150039936 | DISTRIBUTED STORAGE NETWORK WITH ALTERNATIVE FOSTER STORAGE APPROACHES AND METHODS FOR USE THEREWITH - A method includes encoding input data into a plurality of slices. The plurality of slices are sent to a plurality of distributed storage and task execution units for storage, the plurality of distributed storage and task execution units being located at a corresponding plurality of sites A storage failure is detected corresponding to at least one of the plurality of slices corresponding to at least one of the plurality of the distributed storage and task execution units and at least one of the corresponding plurality of sites A foster storage approach is determined. At least one alternative distributed storage and task execution unit is selected in accordance with the foster storage approach. At least one foster slice is generated corresponding to the at least one of the plurality of slices. The at least one foster slice is sent to the at least one alternative distributed storage and task execution unit. | 02-05-2015 |
20150040134 | DISTRIBUTED STORAGE NETWORK WITH COORDINATED PARTIAL TASK EXECUTION AND METHODS FOR USE THEREWITH - A method includes receiving a task for execution by a plurality of distributed storage and task execution units A priority level is determined for the task. A plurality of coordinated partial task requests are generated and sent to the plurality of distributed storage and task execution units, wherein the plurality coordinated partial task requests indicate a plurality of coordinated partial tasks and the priority level. A plurality of partial task results are received in response to performance of the plurality of coordinated partial tasks by the plurality of distributed storage and task execution units. A task result for the task is generated based on the plurality of partial task results. | 02-05-2015 |
20150043732 | STORAGE OF SENSITIVE DATA IN A DISPERSED STORAGE NETWORK - A method begins by a processing module applying a share encoding function on data to produce a plurality of encoded shares and generating a corresponding plurality of random numbers for the plurality of encoded shares. The method continues with the processing module generating an encryption key based on a common password and a corresponding one of the corresponding plurality of random numbers and encrypting the encoded share utilizing the encryption key to produce an encrypted share for each encoded share of the plurality of encoded shares. The method continues with the processing module facilitating storage of the corresponding plurality of random numbers and each of the encrypted shares. | 02-12-2015 |
20150046769 | PRE-FETCHING DATA SEGMENTS STORED IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data segment retrieval request regarding a data segment, which is stored in a dispersed storage network (DSN) memory. The method continues with the processing module processing the data segment retrieval request, determining pre-fetch segment buffering information, and when the pre-fetch segment buffering information indicates pre-fetching one or more other data segments, generating one or more pre-fetch segment retrieval requests for the one or more other data segments, receiving, one or more sets of at least a decode threshold number of encoded data slices, decoding, in accordance with a dispersed storage error coding function, the one or more sets of at least a decode threshold number of encoded data slices to reproduce the one or more other data segments, and updating a pre-fetch segment buffer with the one or more other data segments. | 02-12-2015 |
20150066879 | DEFRAGMENTING SLICES IN DISPERSED STORAGE NETWORK MEMORY - A method begins by a dispersed storage (DS) processing module receiving access requests, processing data set requests and issuing access responses. The method continues by monitoring slice access requests to generate access records by either storing time stamped access records indicating identities of slices requested by a timestamp or by commonality of slice names. The method continues with determining a correlation of two or more slice access based on the access records when a correlation is greater than a correlation threshold and identifying two or more slices for co-location. The method continues when the two or more slices are not co-located by selecting one or more of the two or more slices for migration to a common memory device. | 03-05-2015 |
20150067090 | STORING LOW RETENTION PRIORITY DATA IN A DISPERSED STORAGE NETWORK - A method begins by a processing module of a dispersed storage network (DSN) sending a set of low retention priority write requests to storage units of the DSN, where each low retention priority write request includes a low retention priority query. For each storage unit of the storage units that receives a low retention priority write request of the set of low retention priority write requests, the method continues with the processing module determining a low retention priority response regarding availability for storing low retention priority data based on current storage of low priority data objects and available memory for storing the low retention priority data. The method continues with the processing module sending the low retention priority response. When a threshold number of favorable low retention priority responses have been received, the method continues at the processing module facilitating storage of a low retention priority data object. | 03-05-2015 |
20150067100 | DISPERSED STORAGE BASED ON RANGE AVAILABILITY AND METHODS FOR USE THEREWITH - A dispersed storage and task (DST) processing unit receives a data access request corresponding to a data segment. Range availability information is obtained for a plurality of DST execution units of the DST network. A subset of the plurality of DST execution units is selected based on the range availability information and a threshold number corresponding to the data access request. Execution unit access requests are generated and sent to the subset of the plurality of DST execution units corresponding to a plurality of slices of the data segment, wherein the execution unit access requests include address information that is based on the range availability information. | 03-05-2015 |
20150067164 | DISPERSED STORAGE WITH COORDINATED EXECUTION AND METHODS FOR USE THEREWITH - A dispersed storage and task (DST) processing unit receives an access request. An estimated processing load, associated with the access request, is determined. A processing resource is selected based on the estimated processing load. A coordinated execution schedule is determined for a plurality of DST execution units. The access request is assigned to the processing resource in accordance with the coordinated execution schedule. | 03-05-2015 |
20150067421 | DISPERSED STORAGE WITH VARIABLE SLICE LENGTH AND METHODS FOR USE THEREWITH - A dispersed storage processing unit selects a slice length for a data segment to be stored in a dispersed storage network (DSN). The data segment is encoded using a dispersed storage error coding function to produce a set of data slices in accordance with the slice length. A storage file is selected based on the slice length. A storage file identifier (ID) is generated that indicates the storage file. A set of DSN addresses are generated corresponding to the set of data slices, wherein the set of DSN addresses each include the storage file ID and a corresponding one of a plurality of offset identifiers (IDs). The set of data slices are written in accordance with the set of DSN addresses. A directory is updated to associate the set of DSN addresses with an identifier of the data segment. | 03-05-2015 |
20150067445 | ADJUSTING A DISPERSAL PARAMETER OF DISPERSEDLY STORED DATA - A method begins by a processing module storing data files utilizing a dispersed storage error coding function that includes a pillar width parameter and a decode threshold parameter. The method continues with the processing module determining whether to adjust redundancy of the dispersed storage error coding function based on performance of the DSN. When the redundancy of the dispersed storage error coding function is to be adjusted, changing a ratio between the pillar width parameter and the decode threshold parameter and adjusting storage of one or more sets of the plurality of sets of encoded data slices based on the changing of the ratio. | 03-05-2015 |