Patent application number | Description | Published |
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 |
20130013958 | STORING DATA AND METADATA IN A DISTRIBUTED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module generating a set of encoded data slices based on a data segment of data and dispersed storage network (DSN) addressing information regarding metadata of the data. The method continues with the DS processing module generating a set of encoded metadata slices based on the metadata and DSN addressing information regarding the data. The method continues with the DS processing module generating a set of metadata write commands regarding storing the set of encoded metadata in a first set of DS units of DSN memory. The method continues with the DS processing module generating a set of data segment write commands regarding storing the set of encoded data slices in a second set of DS units of the DSN memory. | 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 |
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 |
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 |
20130117529 | DISPERSED STORAGE UNIT AND METHOD FOR CONFIGURATION THEREOF - A dispersed storage (DS) unit for use within a dispersed storage network is capable of self-configuring using registry information provided to the DS unit. The registry information includes a slice name assignment indicating a range of slice names corresponding to a plurality of potential data slices of potential data objects to be stored in the DS unit. Based on the registry information, the DS unit allocates a portion of physical memory to store the potential data slices. | 05-09-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 |
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 |
20130198226 | RETRIEVING DATA UTILIZING A DISTRIBUTED INDEX - A method begins by a dispersed storage (DS) processing module receiving a request to retrieve a data object based on a search attribute. The method continues with the DS processing module retrieving and decoding a set of encoded index data slices to reconstruct an index file. The method continues with the DS processing module identifying a child index file, retrieving and decoding a set of encoded child index data slices to reconstruct the child index file, and determining whether the child index file includes a dispersed storage network (DSN) address for the data object. When the child index file includes the DSN address for the data object, the method continues with the DS processing module retrieving a plurality of sets of encoded data slices based on the DSN address and decoding the plurality of sets of encoded data slices to recapture the data object. | 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 |
20130232152 | LISTING DATA OBJECTS USING A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module receiving a request for a data index list that identifies data objects having one or more common attributes, searching a hierarchical ordered index structure to identify a data object level index node corresponding to a first data object boundary match, and determining whether the data object level index node corresponds to a second data object boundary match. When the data object level index node does not correspond to the second data object boundary match, the method continues with the DS processing module searching an adjacent data object level index node to determine whether the adjacent data object level index node corresponds to the second data object boundary match. When the adjacent data object level index node corresponds to the second data object boundary match, the method continues with the DS processing module generating the data index list. | 09-05-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 |
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 |
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 |
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 |
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 |
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 |
20130283125 | DISTRIBUTED STORAGE NETWORK MEMORY ACCESS BASED ON MEMORY STATE - A storage device of a DSN includes a plurality of memory devices, an interface, and a processing module. The storage device receives an encoded data slice of a set of encoded data slices, wherein a data segment is dispersed storage error encoded to produce the set of encoded data slices. The dispersed storage error encoding includes arranging the data segment into a data matrix of data blocks, generating an encoded data matrix from the data matrix and an encoding matrix, and arranging encoded data blocks of the encoded data matrix into the set of encoded data slices. The storage unit then divides the encoded data slice into encoded data slice partitions and generates a parity data partition therefrom. The storage device then stores the encoded data slice partitions and the parity data partition in separate memory devices. | 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 |
20130283394 | AUTHENTICATING USE OF A DISPERSED STORAGE NETWORK - A method begins with a managing unit authenticating an access request regarding a set of encoded data slices, which represents an encoded data segment. The method continues, when the access request is authenticated, by generating storage unit access requests based on the access request regarding the set of encoded data slices. The method continues with the managing unit authenticating the storage unit access requests. When the storage unit access requests are authenticated, the method continues with the storage units executing the storage unit access requests to fulfill the access request regarding the set of encoded data slices. | 10-24-2013 |
20130290482 | RETRIEVING DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module interpreting a data retrieval request to identify a dispersed storage network (DSN) address to retrieve a DS error encoded data object. The method continues with the DS processing module DS error decoding the DS error encoded data object to recover the data object and determining whether the data object corresponds to a segment allocation table or to one of a plurality of data segments. When the data object corresponds to the segment allocation table, the method continues with the DS processing module utilizing the segment allocation table to retrieve a plurality of DS error encoded data segments. When the data object corresponds to the one of the plurality of data segments, the method continues with the DS processing module utilizing information in the one of the plurality of data segments to identify other DS error encoded data segments. | 10-31-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 |
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 |
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 |
20140019711 | DISPERSED STORAGE NETWORK VIRTUAL ADDRESS SPACE - A dispersed storage network utilizes a virtual address space to store data. The dispersed storage network includes a dispersed storage device for receiving a request relating to a data object stored in the dispersed storage network and determining a virtual memory address assigned to the data object. The virtual memory address is within a virtual memory address range of the virtual address space that is allocated to a vault associated with a user of the data object. The virtual memory address is further assigned to a data slice of a plurality of data slices of the data object. The dispersed storage device uses the virtual memory address to determine an identifier of a storage unit within the dispersed storage network that has the data slice stored therein. | 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 |
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 |
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 |
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 |
20140074786 | UPDATING LOCAL DATA UTILIZING A DISTRIBUTED STORAGE NETWORK - A method begins by a device of a distributed storage network (DSN) sending read-if-revised requests to storage units of the DSN with regards to data cached in local memory with one or more local memory revision numbers. The method continues with a storage unit determining whether a revision number of one portion of the data stored by the storage unit is a more recent revision number than the one or more local memory revision numbers. When the revision number is the more recent revision number, the method continues with the storage unit sending a read response that includes the portion of the data to the device. When the revision number is not the more recent revision number, the method continues with the storage unit sending a read response that includes an indication that the data cached in the local memory is a current revision level of the data. | 03-13-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 |
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 |
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 |
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 |
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 |
20140208396 | ACCESS CONTROL IN A DISPERSED STORAGE NETWORK - A method begins dispersed storage error encoding data in accordance with dispersed storage error encoding parameters to produce a plurality of set of encoded data slices. The method continues by determining access control information for the plurality of sets of encoded data slices. The method continues by determining whether one or more encoded data slices of the plurality of sets of encoded data slices has individual access control information. The method continues when the one or more encoded data slices has individual access control information by creating a plurality of sets of appended slices, which is done by appending corresponding individual access control information to each of the one or more encoded data slices and appending a representation of the access control information to remaining encoded data slices of the plurality of sets of encoded data slices. The method continues by outputting the appended slices. | 07-24-2014 |
20140222827 | STORING DATA AND METADATA IN A DISTRIBUTED STORAGE NETWORK - A method begins with receiving a data search criteria. The method continues by accessing a master database that includes a plurality of entries, wherein an entry includes a data name field, a metadata field, a data DSN address, and a metadata DSN address. The method continues by indexing the database based on a comparison of the data search criteria with metadata contained in the metadata field of the entries. The method continues by, when one or more entries of the database have the metadata that substantially matches the data search criteria, utilizing the data DSN address of the one or more entries to retrieve one or more sets of encode data slices. The method continues by decoding the one or more sets of encoded data slices to retrieve one or more data segments corresponding to the data search criteria. | 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
20140325260 | SLICE MIGRATION IN A DISPERSED STORAGE NETWORK - A dispersed storage unit includes a physical memory and a storage unit control module. The physical memory is transferred to a receiving dispersed storage unit from a transferring dispersed storage unit, which used the transferred physical memory to store encoded data slices prior to the at least one physical memory being transferred. The encoded data slices stored on the transferred physical memory have addresses falling within a first address range. The storage control unit is configured to detect installation of the transferred physical memory, and to notify a dispersed storage network that data slices within the first address range are to be received by and retrieved from the receiving dispersed storage unit. | 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 |
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 |
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 |
20140337685 | DISPERSED STORAGE HAVING A PLURALITY OF SNAPSHOT PATHS AND METHODS FOR USE THEREWITH - A directory file includes a plurality of entries, wherein an entry of the plurality of entries includes a file or directory name field, and a snapshot list field that includes a snapshot list in accordance with one of a plurality of snapshot paths of a snapshot tree. A new snapshot identifier (ID) is determined for a data file. The directory file is updated to produce an updated directory file, wherein the updating includes updating the snapshot list field associated with the data file to include the new snapshot ID in the snapshot list in accordance with the one of a plurality of snapshot paths of the snapshot tree. | 11-13-2014 |
20140337686 | DISPERSED STORAGE HAVING SNAPSHOT CLONES AND METHODS FOR USE THEREWITH - A directory file includes a plurality of entries, wherein an entry of the plurality of entries includes a file or directory name field, and a snapshot list field that includes a snapshot list. A clone snapshot identifier (ID) is determined for a data file. The directory file is updated to produce an updated directory file, wherein the updating includes updating the snapshot list field associated with the data file to include the clone snapshot ID in the snapshot list. | 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 |
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 |
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 |
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 |
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 |
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 |
20150039828 | TIME-BASED STORAGE WITHIN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing obtaining estimated future availability information for storage units and organizing a plurality of sets of encoded data slices into a plurality of group-sets of encoded data slices. For each of the plurality of group-sets of encoded data slices, the method continues with the DS processing module estimating an approximate storage completion time to produce a plurality of approximate storage completion times. The method continues with the DS processing module establishing a time-availability pattern for writing the plurality of group-sets of encoded data slices to the storage units based on the estimated future availability information and the plurality of approximate storage completion times. The method continues with the DS processing module sending the plurality of group-sets of encoded data slices to at least some of the storage units for storage therein in accordance with the time-availability pattern. | 02-05-2015 |
20150039969 | STORING DATA IN A DIRECTORY-LESS DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) sending a plurality of sets of encoded data slices to DSN memory for storage in accordance with a plurality of sets of DSN data addresses. The method continues with the DS processing module generating retrieval data that is based on a data object number and data storage information. The method continues with the DS processing module dispersed storage error encoding the retrieval data to produce a set of encoded retrieval data slices and generating a set of DSN retrieval data addresses based on the data name and on retrieval data storage information. The method continues with the DS processing module sending the set of encoded retrieval data slices to the DSN memory for storage in accordance with the set of DSN retrieval data addresses. | 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 |
20150067295 | STORAGE POOLS FOR A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module selecting storage pools within the DSN with available capacity for storing data of a storage group. The method continues by selecting one or more dispersed storage (DS) units within each of the selected storage pools based on a selection criteria and mapping the one or more DS units to the storage group. The method continues by receiving a write request to store a data object to the storage group and by storing the data object in at least one of the mapped one or more DS units. The method continues with the DS processing module issuing an indication unutilized storage space calculated on a proportionate basis based on storage utilized for the storage group as a percentage of total storage utilized and updating a write proportion value based on received storage utilization responses. | 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 |