| CLEVERSAFE, INC. Patent applications |
| Patent application number | Title | Published |
| 20120117351 | BALANCING MEMORY UTILIZATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module storing a plurality of encoded data slices in a plurality of memory devices of a dispersed storage (DS) unit of a dispersed storage network (DSN) memory using a quantity load balancing function to substantially balance a quantity of encoded data slices stored within each of the plurality of memory devices, wherein data size of at least some of the plurality of encoded data slices is different. The method continues with the processing module determining whether an available memory imbalance exists between a first memory device of the plurality of memory devices and a second memory device of the plurality of memory devices. The method continues with the processing module migrating one or more encoded data slices between the first and second memory devices to reduce the available memory imbalance when the available memory imbalance exists. | 05-10-2012 |
| 20120110390 | UPDATING A SET OF MEMORY DEVICES IN A DISPERSED STORAGE NETWORK - A method begins by a processing module determining a memory usability indication for a set of memory devices, wherein the set of memory devices stores data as first dispersed storage error coded data using first dispersed storage error coding parameters. The method continues with the processing module comparing the memory usability indication to a memory usability level threshold. The method continues with the processing module adding one or more memory devices to the set of memory devices to produce an updated set of memory devices when the memory usability indication compares unfavorably to the memory usability level threshold. The method continues with the processing module storing the data as second dispersed storage error coded data using second dispersed storage error coding parameters in the updated set of memory devices. | 05-03-2012 |
| 20120110346 | STORING DATA INTEGRITY INFORMATION UTILIZING DISPERSED STORAGE - A method begins by a processing module generating an integrity check value for each encoded data slice of a set of encoded data slices to produce a set of integrity check values. The method continues with the processing module encoding the set of integrity check values to produce encoded integrity check values. The method continues with the processing module sending the encoded integrity check values for storage in a memory system. | 05-03-2012 |
| 20120110038 | COMPACTING DISPERSED STORAGE SPACE - A method begins by a processing module receiving an encoded data slice for storage in memory that is organized as a plurality of log files and identifying a log file based on information regarding the encoded data slice to produce an identified log file, wherein the identified log file is storing at least one other encoded data slice. The method continues with the processing module comparing storage parameters of the identified log file with desired storage parameters associated with the encoded data slice. The method continues with the processing module attempting to identify a second log file based on an alternate log file storage protocol when the storage parameters of the identified log file compare unfavorably with the desired storage parameters and when the second log file is identified, storing the encoded data slice in the second log file. | 05-03-2012 |
| 20120109885 | FILE RETRIEVAL DURING A LEGACY STORAGE SYSTEM TO DISPERSED STORAGE NETWORK MIGRATION - A method begins by a processing module receiving a retrieval request for a file and determining whether the file is being migrated from a legacy storage system to a dispersed error coding storage system. The method continues with the processing module determining a retrieval option for the file when the file is being migrated from the legacy storage system to the dispersed error coding storage system. The method continues with the processing module retrieving the file, based on the retrieval option, in at least one of a legacy format from the legacy storage system and a plurality of sets of encoded data slices from the dispersed error coding storage system. | 05-03-2012 |
| 20120102316 | STORING ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage network (DSN) access module encoding a data segment to produce slices and sending temporary write requests to DSN storage modules, wherein the temporary write requests includes slices. In response to one of the temporary write requests, the method continues with a DSN storage module temporarily storing a slice to produce a temporarily stored slice and sending an indication of temporary storage of the slice. When a write threshold number of indications of temporary storage has been received by the DSN access module, the method continues with the DSN access module sending permanent write requests to DSN storage modules. In response to one of the permanent write requests, the method continues with the DSN storage module storing the temporarily stored slice in permanent memory and sending an indication of permanent storage of the slice. | 04-26-2012 |
| 20120089889 | DATA TRANSMISSION UTILIZING PARTITIONING AND DISPERSED STORAGE ERROR ENCODING - A method begins by a first device obtaining data for transmission to a second device and partitioning the data to produce a plurality of data portions. The method continues with the first device dispersed storage error encoding the plurality of data portions using a plurality of sets of error coding dispersal storage function parameters to produce a plurality of sets of encoded data slices and transmitting the plurality of sets of encoded data slices to the second device via a network. The method continues with a second device receiving at least a decode threshold number of encoded data slices and dispersed storage error decoding the at least a decode threshold number of encoded data slices to produce a decoded data portion for each set of the plurality of sets of encoded data slices. The method continues with the second device recapturing the data from a plurality of decoded data portions. | 04-12-2012 |
| 20120089887 | DATA TRANSMISSION UTILIZING DATA PROCESSING AND DISPERSED STORAGE ERROR ENCODING - A method begins by a processing module dispersed storage error encoding fundamental component data of data in accordance with dispersed storage error coding parameters to produce a plurality of sets of encoded data slices, wherein the data includes the fundamental component data and enhancement component data. The method continues with the processing module transmitting a set of the plurality of sets of encoded data slices and transmitting a corresponding portion of the enhancement component data substantially concurrently with the transmitting of the set of the plurality of sets of encoded data slices. | 04-12-2012 |
| 20120089886 | RELAYING DATA TRANSMITTED AS ENCODED DATA SLICES - A method begins by a first device determining an error coding distributed routing protocol and transmitting a set of encoded data slices, identity of a second device, and the error coding distributed routing protocol to a network, wherein the set of encoded data slices represents data that has been dispersed storage error encoded. The method continues with the network routing a plurality of sub-sets of the set of encoded data slices via an initial plurality of routing paths towards the second, comparing anticipated routing performance with a desired routing performance, and altering the routing path to obtain a favorable comparison. The method continues with the second device receiving at least some of the set of encoded data slices from the network and decoding at least a threshold number of encoded data slices to reproduce the data when at least the threshold number of encoded data slices have been received. | 04-12-2012 |
| 20120089885 | DATA TRANSMISSION UTILIZING ROUTE SELECTION AND DISPERSED STORAGE ERROR ENCODING - A method begins by a processing module obtaining a set of encoded data slices for transmission to a receiving entity via a network, wherein the set of encoded data slices represents data that has been dispersed storage error encoded. The method continues with the processing module dividing the set into a plurality of sub-sets of encoded data slices in accordance with an error coding distributed routing protocol. The method continues with the processing module determining a plurality of routing paths within the network in accordance with the error coding distributed routing protocol. The method continues with the processing module transmitting the plurality of sub-sets of encoded data slices via the plurality of routing paths to the receiving entity in accordance with the error coding distributed routing protocol. | 04-12-2012 |
| 20120089865 | CORRECTING AN ERRANT ENCODED DATA SLICE - A method begins by a processing module decoding a set of encoded data slices to produce a decoded data segment and determining whether the decoded data segment includes an error. When the decoded data segments includes the error, the processing module identifies one or more errant encoded data slices by decoding another set of encoded data slices to produce another decoded data segment. The method continues with the processing module determining whether the other decoded data segment includes the error. When the other decoded data segment does not include the error, the processing module identifies the one or more errant encoded data slices and corrects the one or more errant encoded data slices. When the other decoded data segment includes the error, the processing module repeats, for yet another set of encoded data slices, the decoding step, the determining step, and the identifying and correcting step or the repeating steps. | 04-12-2012 |
| 20120089809 | ACCESSING AN ENCODED DATA SLICE UTILIZING A MEMORY BIN - A method begins by a processing module receiving an encoded data slice to store and determining a slice length of the encoded data slice. The method continues with the processing module comparing the slice length to a plurality of bin widths, wherein each of the plurality of bin widths represents a fixed storage width of a plurality of memory bins within each of a plurality of memory containers, wherein a storage unit includes the plurality of memory containers. The method continues with the processing module selecting one of the plurality of memory containers based on the comparing to produce a selected memory container, identifying an available bin of the plurality of bins of the selected memory container, and storing the encoded data slice in the available bin. | 04-12-2012 |
| 20120030740 | AUTHENTICATION OF DEVICES OF A DISPERSED STORAGE NETWORK - A method begins by a first processing module generating a dispersed storage network (DSN) authentication request frame that includes authenticating data and an authenticating code, wherein the authenticating code references a valid authenticating process. The method continues with the first processing module transmitting the DSN authentication request frame to a second processing module. The method continues with the second processing module determining whether the second processing module includes the valid authentication process referenced by the authentication code. When the second processing module includes the valid authentication process, processing, by the second processing module, the authenticating data in accordance with the valid authentication process to produce processed authenticating data. The method continues with the second processing module generating a DSN authentication response frame that includes the processed authenticating data and transmitting the DSN authentication response frame to the first processing module. | 02-02-2012 |
| 20120030736 | AUTHENTICATING A DATA ACCESS REQUEST TO A DISPERSED STORAGE NETWORK - A method begins by a data accessing module of a dispersed storage network (DSN) sending a data access request to a data storage module. The method continues with the data storage module sending an authentication request to an authenticating module. The method continues with the authenticating module outputting a verification request destined for the data accessing module, wherein the verification request includes a verification code that is generated based on the authentication request. The method continues with the data accessing module outputting a verification response that includes a modified verification code that is generated based on the verification code and a credential. The method continues with the authenticating module outputting an authentication response to the data storage module, wherein the authentication response is generated based on the verification response. The method continues with the data storage module facilitating the data access request when the authentication response is favorable. | 02-02-2012 |
| 20120030437 | PROCESSING A WRITE REQUEST IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a write request regarding an encoded data slice and determining whether the write request pertains to deleting the encoded data slice from a memory space. The method continues with the processing module storing a deletion marker regarding the encoded data slice when the write request pertains to deleting the encoded data slice. The method continues with the processing module determining when to delete the encoded data slice based on the deletion marker and in accordance with the deletion scheme. | 02-02-2012 |
| 20120030371 | RESOLVING A PROTOCOL ISSUE WITHIN A DISPERSED STORAGE NETWORK - A method begins by a processing module detecting a potential dispersed storage network (DSN) protocol issue that effects access of dispersed storage error encoded data within a DSN. The method continues with the processing module identifying a DSN entity based on the DSN protocol issue and generating a DSN protocol inquiry frame. The method continues with the processing module transmitting the DSN protocol inquiry frame to the DSN entity. The method continues with the processing module receiving a DSN protocol response frame from the DSN entity and resolving the DSN protocol issue based on the DSN protocol response frame. | 02-02-2012 |
| 20120027134 | RECEIVING ENCODED DATA SLICES VIA WIRELESS COMMUNICATION - A method begins by a processing module determining a mapping of encoded data slices to wireless channels for wireless communication of data, wherein a data segment of the data is encoded in accordance with a dispersed storage error encoding protocol to produce a set of encoded data slices. The method continues with the processing module configuring, in accordance with the mapping, receivers of a wireless communication device to receive, via a set of wireless channels, at least some of the set of encoded data slices to produce configured receivers. The method continues with the processing module facilitating the configured receivers to receive encoded data slices of the set of encoded data slices to produce received encoded data slices and when at least a decode threshold number of received encoded data slices have been received, decoding the received encoded data slices to recapture the data segment. | 02-02-2012 |
| 20110314356 | VERIFYING INTEGRITY OF DATA STORED IN A DISPERSED STORAGE MEMORY - A method for verifying integrity of data stored in dispersed storage memory begins by a processing module retrieving integrity information of the data that is stored as a set of forward error correction (FEC) encoded words in the dispersed storage memory and continues with the processing module receiving FEC encoded words of the set of FEC encoded words from the dispersed storage memory to produce received FEC encoded words and decoding a unique subset of the received FEC encoded words to produce recovered data. The method continues with the processing module generating recovered integrity information from the recovered data and comparing the recovered integrity information with the integrity information. The method continues with the processing module indicating that at least one of the received FEC encoded words of the unique subset of the received FEC encoded words is corrupt when the recovered integrity information compares unfavorably with the integrity information. | 12-22-2011 |
| 20110314355 | ACCESSING DATA STORED IN A DISPERSED STORAGE MEMORY - A method begins by a processing module forward error correction (FEC) encoding data to produce FEC encoded data and dividing the FEC encoded data into a set of FEC encoded words. The method continues with the processing module generating integrity information based on the data and generating a word name for an FEC encoded word of the set of FEC encoded words. The method continues with the processing module affiliating an address of allocated address space of a dispersed storage memory with the word name and storing the integrity information, the word name, and the address. The method continues with the processing module creating a write command to store the FEC encoded word at the address in the dispersed storage memory. | 12-22-2011 |
| 20110314346 | IDENTIFYING A SLICE NAME INFORMATION ERROR IN A DISPERSED STORAGE NETWORK - A method begins by a processing module sending list digest requests to a set of dispersed storage (DS) units. The method continues with the processing module receiving list digest responses from at least some of the set of DS units and determining whether an inconsistency exists between first and second list digest responses of the list digest responses. The method continues with the processing module requesting at least a portion of each of the slice name information lists from first and second DS units of the set of DS units and identifying a slice name information error associated with the inconsistency based on the at least a portion of each of the slices name information lists of the first and second DS units when the inconsistency exists between first and second list digest responses of the list digest responses. | 12-22-2011 |
| 20110314154 | IDENTIFYING AND CORRECTING AN UNDESIRED CONDITION OF A DISPERSED STORAGE NETWORK ACCESS REQUEST - A method begins by a processing module sending a transaction verification request to the set of dispersed storage (DS) units, wherein the transaction verification request includes a transaction number that corresponds to a particular dispersed storage network (DSN) access request. The method continues with the processing module receiving transaction verification responses from at least some of the set of DS units to produce received transaction verification responses. The method continues with the processing module identifying an undesired condition with processing the DSN access request and initiating a corrective remedy for the undesired condition when a DS unit of the set of DS units does not provide a desired transaction verification response. | 12-22-2011 |
| 20110314072 | METADATA ACCESS IN A DISPERSED STORAGE NETWORK - A method begins by a processing module dispersed storage error encoding a data segment to produce a set of encoded data slices and dispersed storage error encoding metadata associated with the data segment to produce a set of encoded metadata slices. The method continues with the processing module creating a set of data slice names for the set of encoded data slices and creating a set of metadata slice names based on the set of data slice names. The method continues with the processing module sending the set of encoded data slices and the set of data slice names to a dispersed storage network (DSN) memory for storage therein. The method continues with the processing module sending the set of encoded metadata slices and the set of metadata slice names to the DSN memory for storage therein. | 12-22-2011 |
| 20110314058 | COORDINATED RETRIEVAL OF DATA FROM A DISPERSED STORAGE NETWORK - A method begins by a processing module determining to retrieve a dispersed error encoded file from a dispersed storage network wherein the dispersed error encoded file is stored as a plurality of sets of encoded data slices. The method continues with the processing module determining whether a neighboring device has a desire to retrieve the dispersed error encoded file and when the neighboring device has a desire to retrieve the dispersed error encoded file, coordinating retrieving of the dispersed error encoded file such that, collectively, the device and the neighboring device receive at least a decode threshold number of encoded data slices of a first set of encoded data slices and at least the decode threshold number of encoded data slices of a second set of encoded data slices. | 12-22-2011 |
| 20110311051 | UTILIZING A DETERMINISTIC ALL OR NOTHING TRANSFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module generating a deterministic key from data and encrypting the data using the deterministic key to produce encrypted data. The method continues with the processing module generating transformed data from the encrypted data and generating a masked key from the deterministic key and the transformed data. The method continues with the processing module combining the masked key and the encrypted data to produce a secure package. | 12-22-2011 |
| 20110289577 | ACCESSING DATA UTILIZING ENTITY REGISTRATION IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module determining whether a data access request is requesting access to data stored in a plurality of dispersed storage networks (DSNs). The method continues with the processing module determining whether one of the plurality of DSNs is a home DSN to a requesting entity when the data access request is requesting access to data stored in the plurality of DSNs. The method continues with the processing module utilizing a local signed certificate to access one or more dispersed storage (DS) units of the home DSN, validating a global signed certificate with one or more DS units of a non-home DSN of the plurality of DSNs to produce a valid global signed certificate, and utilizing the valid signed certificate to access the one or more DS units of the non-home DSN when the plurality of DSNs includes the home DSN. | 11-24-2011 |
| 20110289566 | ENTITY REGISTRATION IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module outputting a registration request message that includes requesting access to a local dispersed storage network (DSN) and requesting access to a global DSN. The method continues with the processing module receiving a registration response message that includes a global universal unique identifier (UUID) and a local UUID. The method continues with the processing module generating a global public-private key pair and a local public-private key pair and generating a global certificate signing request (CSR) based on the global UUID and a private key of the global public-private key pair. The method continues with the processing module generating a local CSR based on the local UUID and a private key of the local public-private key pair, sending the global and local CSRs to a certificate authority (CA), and receiving a signed global certificate and a signed local certificate. | 11-24-2011 |
| 20110289565 | RETRIEVING ACCESS INFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module obtaining a set of recovered random numbers, decoding encrypted share slices to produce a set of encrypted shares, and obtaining a set of personalized authenticating values regarding user access to data. The method continues with the processing module generating a set of hidden passwords based on the set of personalized authenticating values, generating a set of blinded passwords based on the set of hidden passwords and a set of blinded random numbers, and generating a set of passkeys based on the set of blinded passwords and the set of recovered random numbers. The method continues with the processing module generating a set of decryption keys based on the set of blinded random numbers and the set of passkeys, decrypting the set of encrypted shares to produce a set of shares, and decoding the set of shares to reproduce the data. | 11-24-2011 |
| 20110289383 | RETRIEVING DATA FROM A DISPERSED STORAGE NETWORK IN ACCORDANCE WITH A RETRIEVAL THRESHOLD - A method begins by a processing module determining a retrieval threshold for retrieving a set of encoded data slices from a dispersed storage network (DSN), wherein the set of encoded data slices represents data encoded using a dispersed storage error encoding function having a pillar width of “n”, a decode threshold of “k”, and an encoding ratio of n−k>k and wherein the retrieval threshold is in accordance with the encoding ratio. The method continues with the processing module issuing data retrieval requests to the DSN for the set of encoded data slices and receiving encoded data slices of the set of encoded data slices to produce received encoded data slices. The method continues with the processing module decoding the received encoded data slices to recapture the data when a number of received encoded data slices compares favorably to the retrieval threshold. | 11-24-2011 |
| 20110289378 | ACCESSING DATA IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module identifying sets of dispersed storage (DS) units for each of a plurality of dispersed storage networks (DSNs) in a computing system network, wherein a set of the sets of DS unit stores an error coded data file. The method continues with the processing module identifying a reference entity within the computing system network. The method continues with the processing module determining first data access performance information between the reference entity and a first one of the sets of DS units and determining second data access performance information between the reference entity and a second one of the sets of DS units for each of the plurality of DSNs. The method continues with the processing module storing the first and second data access performance information for each of the plurality of DSNs to produce system data access performance information. | 11-24-2011 |
| 20110289366 | MEMORY UTILIZATION BALANCING IN A DISPERSED STORAGE NETWORK - A method begins by a processing module identifying a memory loading mismatch between a first memory device and a second memory device of a dispersed storage unit, wherein the first memory device is assigned a first range of slice names and the second memory device is assigned a second range of slice names. The method continues with the processing module determining an estimated impact to reduce the memory loading mismatch and when the estimated impact compares favorably to an impact threshold, modifying the first and second ranges of slices names to produce a first modified range of slice names for the first memory device and a second modified range of slice names for the second memory device based on the memory loading mismatch and transferring one or more encoded data slices between the first and second memory devices in accordance with the first and second modified ranges of slice names. | 11-24-2011 |
| 20110289359 | RECONFIGURING DATA STORAGE IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module determining access performance to copies of dispersed storage encoded data, wherein the copies of the dispersed storage encoded data are stored in a set of a plurality of dispersed storage networks (DSNs). The method continues with the processing module modifying the set of the plurality of DSNs based on the access performance and the desired access performance level to produce a modified set of the plurality of DSNs when the access performance is not at a desired access performance level. The method continues with the processing module, for a new DSN of the modified set of the plurality of DSNs, determining error coding dispersal storage parameters based on local data retrieval accesses allocated to the new DSN and facilitating the new DSN storing another copy of the dispersed storage encoded data. | 11-24-2011 |
| 20110289358 | STORING DATA IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module identifying a plurality of dispersed storage networks (DSNs) for storing copies of dispersed storage encoded data based on global data retrieval accesses of the copies of the dispersed storage encoded data. The method continues with the processing module determining a set of error coding dispersal storage parameters for at least one of the plurality of DSNs based on local data retrieval accesses allocated to the at least one of the plurality of DSNs. The method continues with the processing module encoding data in accordance with the set of error coding dispersal storage parameters to produce a copy of the copies of the dispersed storage encoded data and outputting the copy of the copies of the dispersed storage encoded data to the at least one of the plurality of DSNs. | 11-24-2011 |
| 20110289283 | MEMORY DEVICE UTILIZATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module determining whether a memory device of a dispersed storage (DS) unit is unavailable to produce an unavailable memory device. The method continues with the processing module determining a methodology regarding DS encoded data stored in the unavailable memory device based on one or more dispersed storage network (DSN) conditions to produce a determined methodology when the memory device is unavailable. The method continues with the processing module initiating, in accordance with the determined methodology, a rebuilding function to rebuild the DS encoded data to produce rebuilt DS encoded data when the determined methodology includes a rebuilding component. The method continues with the processing module storing the rebuilt DS encoded data within available memory of the DS unit. | 11-24-2011 |
| 20110289215 | ACCESSING A GLOBAL VAULT IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module receiving a dispersed storage network (DSN) access request and determining whether the DSN access request is associated with a local DSN vault or a global DSN vault, wherein the local DSN vault is contained within a DSN of a plurality of DSNs and the global DSN vault is contained within at least some of the plurality of DSNs. The method continues with the processing module identifying a primary DSN of the plurality of DSNs and facilitating processing of the DSN access request by the primary DSN when the DSN access request is associated with the global DSN vault. | 11-24-2011 |
| 20110289122 | REBUILDING DATA IN MULTIPLE DISPERSED STORAGE NETWORKS - A method begins by a processing module determining a slice name of an encoded slice to be rebuilt within a first dispersed storage network (DSN). The method continues with the processing module determining whether a corresponding copy of the encoded slice is stored in a second DSN. The method continues with the processing module retrieving the corresponding copy of the encoded slice from the second DSN and storing the corresponding copy of the encoded slice as a rebuilt encoded slice within the first DSN when the corresponding copy of the encoded slice is stored in the second DSN. | 11-24-2011 |
| 20110286595 | STORING ACCESS INFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module applying a share encoding function on data to produce a plurality of encoded shares and generating a plurality of random numbers. The method continues with the processing module obtaining a set of personalized authenticating values regarding user access to the data and generating a plurality of hidden passwords based on the set of personalized authenticating values. The method continues with the processing module generating an encryption key based on a corresponding one of the plurality of hidden passwords and a corresponding one of the plurality of random numbers and encrypting the encoded share utilizing the encryption key to produce an encrypted share for each encoded share of the plurality of encoded shares. The method continues with the processing module facilitating storage of the plurality of random numbers and each of the encrypted shares. | 11-24-2011 |
| 20110286594 | STORAGE OF SENSITIVE DATA IN A DISPERSED STORAGE NETWORK - A method begins by a processing module applying a share encoding function on data to produce a plurality of encoded shares and generating a corresponding plurality of random numbers for the plurality of encoded shares. The method continues with the processing module generating an encryption key based on a common password and a corresponding one of the corresponding plurality of random numbers and encrypting the encoded share utilizing the encryption key to produce an encrypted share for each encoded share of the plurality of encoded shares. The method continues with the processing module facilitating storage of the corresponding plurality of random numbers and each of the encrypted shares. | 11-24-2011 |
| 20110265143 | SLICE RETRIEVAL IN ACCORDANCE WITH AN ACCESS SEQUENCE IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data retrieval request to retrieve data stored as a plurality of sets of encoded data slices in a dispersed storage network memory. The method continues with the processing module determining an access sequence for retrieving the plurality of sets of encoded data slices in accordance with the access sequence, entering a loop to produce recovered decoded data that includes sending a slice retrieval message for a set of encoded data slices of the plurality of sets of encoded data slices, receiving at least a decode threshold number of encoded data slices of the set to produce received encoded data slices, dispersed storage error decoding the received encoded data slices to produce the recovered decoded data, and exiting the loop when a set of encoded data slices is not requested in accordance with a system maintained access sequence. | 10-27-2011 |
| 20110264989 | DISPERSED STORAGE NETWORK SLICE NAME VERIFICATION - A method begins by a processing module dispersed storage error encoding data to produce a plurality of sets of encoded data slices in accordance with dispersed storage error coding parameters. The method continues with the processing module determining a plurality of sets of slice names corresponding to the plurality of sets of encoded data slices. The method continues with the processing module determining integrity information for the plurality of sets of slice names and sending the plurality of sets of encoded data slices, the plurality of sets of slice names, and the integrity information to a dispersed storage network memory for storage therein. | 10-27-2011 |
| 20110264962 | CHECKED WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network frame by generating a transaction number field including a transaction number and generating one or more slice payload sections, wherein each slice payload section includes a slice name field to include a slice name corresponding to an encoded data slice, a last known slice revision numbering field including a last known revision number of the slice name, a new slice revision numbering field including a new revision number of the slice name, a slice length field including a length of the encoded data slice, and a slice payload field including the encoded data slice. The method continues with the processing module generating a protocol header including a payload length field and remaining fields of the protocol header. | 10-27-2011 |
| 20110264950 | CHECK OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a check request operation by generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices and generating a transaction number field of the payload section to include a transaction number corresponding to the check request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 10-27-2011 |
| 20110264869 | CONCLUSIVE WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network frame regarding a conclusive write request operation by generating one or more slice name fields of a payload to include one or more slice names corresponding to one or more write commit responses of a write request operation, wherein the conclusive write request operation is a conclusive phase of the write request operation. The method continues with the processing module generating one or more slice revision numbering fields of the payload, wherein each slice revision numbering field includes a slice revision number corresponding to an associated slice name of the one or more slice names. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length and generating remaining fields of the protocol header. | 10-27-2011 |
| 20110264823 | READ OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a read request operation by generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices and generating a transaction number field of the payload section to include a transaction number corresponding to the read request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 10-27-2011 |
| 20110264717 | STORAGE AND RETRIEVAL OF REQUIRED SLICES IN A DISPERSED STORAGE NETWORK - A method begins by a processing module determining whether one or more encoded data slices of a set of encoded data slices of a plurality of sets of encoded data slices are required encoded data slices to produce one or more required encoded data slices. When the one or more of the encoded data slices are required, the method continues with the processing module generating specific dispersed storage network (DSN) storage information for each of the one or more required encoded data slices, generating general DSN storage information for remaining encoded data slices of the set of encoded data slices, and sending the set of encoded data slices to a dispersed storage network in accordance with the specific DSN storage information and the general DSN storage information. | 10-27-2011 |
| 20110261840 | INTERMEDIATE WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network (DSN) frame regarding an intermediate write request operation by generating one or more transaction number fields of the payload to include one or more transaction numbers corresponding to a write request operation, wherein the intermediate write request operation is associated with the write request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the one or more transaction number fields and generating remaining fields of the protocol header. | 10-27-2011 |
| 20110261839 | WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network frame by generating a transaction number field to include a transaction number corresponding to a write request operation and generating one or more slice payload sections, wherein each slice payload section includes generating a slice name field to include a slice name corresponding to an encoded data slice, generating a slice revision numbering field to include a revision number of the slice name, generating a slice length field to include a length of the encoded data slice, and generating a slice payload field to include the encoded data slice. The method continues with the processing module generating a protocol header by generating a payload length field including a payload length representing length of the transaction number field and length of the one or more slice payload sections and generating remaining fields of the protocol header. | 10-27-2011 |
| 20110261838 | DISPERSED STORAGE NETWORK FRAME PROTOCOL HEADER - A method to generate a protocol header of a dispersed storage network (DSN) frame begins by a processing module generating a protocol class field and generating a protocol class version field. The method continues with the processing module generating an operation code (opcode) field and generating a request/response field. The method continues with the processing module generating a request number field and generating a payload length field. The method continues with the processing module outputting, in order, the protocol class field, the protocol class version field, the opcode field, the request/response field, the request number field, and the payload length field. | 10-27-2011 |
| 20110261819 | LIST DIGEST OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a list digest request operation by generating a start slice name field of the payload section to include a start slice name of a slice name range, generating an end slice name field of the payload section to include an end slice name of the slice name range, and generating a maximum response count field of the payload section to include a maximum slice name response count. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section, generating an operation code field to indicate the list digest request operation, and generating remaining fields of the protocol header. | 10-27-2011 |
| 20110261813 | LIST RANGE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a list range request operation by generating a start slice name field of the payload section to include a start slice name of a slice name range, generating an end slice name field of the payload section to include an end slice name of the slice name range, and generating a maximum response count field of the payload section to include a maximum slice name response count. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 10-27-2011 |
| 20110231733 | ADJUSTING DATA DISPERSAL IN A DISPERSED STORAGE NETWORK - A method begins by a processing module determining a performance based indication regarding storage of a data segment as a set of encoded data slices and comparing the performance based indication with a performance threshold. When the performance based indication compares unfavorably with the performance threshold, the method continues with the processing module decoding the set of encoded data slices to reproduce the data segment, adjusting error coding dispersal storage function parameters based on the unfavorable comparison of the performance based indication with the performance threshold to produce performance adjusted error coding dispersal storage function parameters, encoding the reproduced data segment in accordance with the performance adjusted error coding dispersal storage function parameters to produce a second set of encoded data slices, and selecting a storage set of encoded data slices from the set of encoded data slices and the second set of encoded data slices. | 09-22-2011 |
| 20110231699 | TEMPORARILY CACHING AN ENCODED DATA SLICE - A method begins by a processing module obtaining an encoded data slice and an associated slice name. The method continues with the processing module determining a dispersed storage (DS) unit for storing the encoded data slice based on at least one of the encoded data slice and the associated slice name and estimating a performance level of the DS unit to produce an estimated DS unit performance level. The method continues with the processing module sending the encoded data slice to the DS unit for storage therein and when the estimated DS unit performance level compares unfavorably with a performance threshold, facilitating storage of the encoded data slice in temporary memory to produce a temporarily stored encoded data slice, wherein the temporarily stored encoded data slice is retrieved in response to a retrieval request when confirmation of the DS unit storing the encoded data slice has not been received. | 09-22-2011 |
| 20110228931 | DISPERSAL OF PRIORITY DATA IN A DISPERSED STORAGE NETWORK - A method begins by a processing module encoding data into a plurality of sets of encoded data slices in accordance with first error coding dispersal storage function parameters and determining priority data segments of the data. The method continues with the processing module encoding the priority data segments in accordance with second error coding dispersal storage function parameters to produce a plurality of sets of priority encoded data slices. The method continues with the processing module outputting the plurality of sets of encoded data slices and the plurality of sets of priority encoded data slices to a dispersed storage network memory for storage therein. | 09-22-2011 |
| 20110225466 | DISPERSED STORAGE UNIT SELECTION - A dispersed storage device for use within a dispersed storage network operates to select a set of dispersed storage units for storage of a data object by slicing an encoded data segment of a data object into error coded data slices, determining slice metadata for the error coded data slices, determining memory characteristics of dispersed storage units capable of storing the error coded data slices and selecting the set of dispersed storage units for storing the error coded data slices based on the slice metadata and the memory characteristics. | 09-15-2011 |
| 20110225451 | REQUESTING CLOUD DATA STORAGE - A method begins by a processing module determining that a data storage request is a cloud data storage request. The method continues with the processing module determining at least one of a cloud storage access reliability indication and a cloud storage data reliability indication for the data storage request. The method continues with the processing module sending the data storage request and the at least one of cloud storage access reliability indication and cloud storage data reliability indication to a cloud storage system. | 09-15-2011 |
| 20110225450 | FAILSAFE DIRECTORY FILE SYSTEM IN A DISPERSED STORAGE NETWORK - A file directory system comprises a directory file, a directory address for the directory file, and a directory address failsafe mechanism. The directory file includes one or more directory entries and one or more corresponding addresses for the one or more directory entries. The directory address failsafe mechanism functions to dispersed storage error encode the directory address to produce a plurality of encoded components of the directory address and transmit the plurality of encoded components of the directory address to a plurality of agent modules. | 09-15-2011 |
| 20110225386 | DISPERSED STORAGE UNIT CONFIGURATION - 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. | 09-15-2011 |
| 20110225362 | ACCESS CONTROL IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data storage request that includes data and determining dispersed storage error encoding parameters for dispersed error encoding storage of data. The method continues with the processing module dispersed storage error encoding the data in accordance with the dispersed storage error encoding parameters to produce a set of encoded data slices and establishing access control information for each encoded data slice of the set encoded data slices in accordance with the dispersed storage error encoding parameters to produce a set of access control information. The method continues with the processing module appending a corresponding one of the set of access control information to each of the set of encoded data slices to produce a set of appended slices and outputting the set of appended slices to a set of dispersed storage units. | 09-15-2011 |
| 20110225361 | DISPERSED STORAGE NETWORK FOR MANAGING DATA DELETION - A dispersed storage device manages deletion of data objects stored within a dispersed storage network by receiving a data delete request to delete a data object stored throughout a set of dispersed storage units within a dispersed network memory of the dispersed storage network, determining a deletion policy for the data object and selectively generating and transmitting, based on the deletion policy, a delete command to the set of dispersed storage units. | 09-15-2011 |
| 20110225360 | DISPERSED STORAGE NETWORK RESOURCE ALLOCATION - A dispersed storage managing unit allocates resources within a dispersed storage network by determining a state of a dispersed storage unit supporting a vault associated with at least one user of the dispersed storage network and provisioning storage within the dispersed storage unit based on the state thereof. | 09-15-2011 |
| 20110225209 | DISPERSED STORAGE NETWORK FILE SYSTEM DIRECTORY - A dispersed storage device manages a file system directory of a dispersed storage network by receiving a data object to be stored and a user file name of the data object, calculating a data compression function of the data object, creating a file identifier based on a result of the data compression function, creating a source name for the data object using the file identifier and linking the user file name to the source name in the file system directory. | 09-15-2011 |
| 20110219100 | STREAMING MEDIA SOFTWARE INTERFACE TO A DISPERSED DATA STORAGE NETWORK - A client computer streams a digital media presentation from a dispersed data storage network including a plurality of slice servers. A dispersed data storage network access component streams data directly from the dispersed data storage network and passes data to a media player, also residing on the client computer. | 09-08-2011 |
| 20110214011 | STORING RAID DATA AS ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving data for storage and interpreting the data to identify the data as redundant array of independent disks (RAID) data. The method continues with the processing module interpreting the RAID data to identify at least one of RAID block data and RAID parity data. When the RAID data includes RAID block data and RAID parity data the method continues with the processing module encoding the RAID block data in accordance with error coding dispersal storage function parameters to produce at least one set of encoded data slices and outputting the at least one set of encoded data slices to a dispersed storage network memory. | 09-01-2011 |
| 20110213940 | VIRTUALIZED DATA STORAGE VAULTS ON A DISPERSED DATA STORAGE NETWORK - A method begins with a slice server receiving a request to access a virtual digital data storage vault. The method continues by determining whether the virtual digital data storage vault is a first virtual digital data storage vault or a second virtual digital data storage vault. The slice server supports a portion of each of the first and the second virtual digital data storage vaults. When the virtual digital data storage vault is the first or the second virtual digital data storage vault, the method continues by determining whether the request is valid. When the request is valid, the method continues by executing the request to generate a response. | 09-01-2011 |
| 20110213929 | DATA MIGRATION BETWEEN A RAID MEMORY AND A DISPERSED STORAGE NETWORK MEMORY - A method begins by a processing module determining whether to convert data between a redundant array of independent disks (RAID) format and a dispersed storage network (DSN) format. The method continues with the processing module retrieving the data from a RAID memory to produce retrieved RAID data when the data is to be converted from the RAID format to the DSN format. The method continues with the processing module converting stripe-block data of the retrieved RAID data into a plurality of sets of encoded data slices and outputting the plurality of sets of encoded data slices to at least one of the RAID memory and a DSN memory for storage therein. | 09-01-2011 |
| 20110213928 | DISTRIBUTEDLY STORING RAID DATA IN A RAID MEMORY AND A DISPERSED STORAGE NETWORK MEMORY - A method begins by a processing module receiving redundant array of independent disks (RAID) data and determining whether to store the RAID data in at least one of a RAID format and in a dispersed storage network (DSN) format. The method continues with the processing module converting at least a portion of the RAID data into at least one set of encoded data slices when the at least a portion of the RAID data is to be stored in the DSN format. The method continues with the processing module outputting the at least one set of encoded data slices to a DSN memory. | 09-01-2011 |
| 20110202568 | VIRTUALIZED DATA STORAGE VAULTS ON A DISPERSED DATA STORAGE NETWORK - A slice server includes a network port, a central processing unit, and memory. The central processing unit (CPU) is operable to receive, via the network port, a request to access a virtual digital data storage vault. The CPU then determines whether the slice server supports the virtual digital data storage vault. When the slice server supports the virtual digital data storage vault, the CPU determines whether the request is valid. When the request is valid, the CPU executes the request to generate a response. | 08-18-2011 |
| 20110185258 | SELECTING STORAGE FACILITIES AND DISPERSAL PARAMETERS IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data storage request that includes metadata and data. The method continues with the processing module determining a base-line set of error coding dispersal storage function parameters based on the metadata. The method continues with the processing module identifying candidate dispersed storage (DS) units based on the base-line set of error coding dispersal storage function parameters. The method continues with the processing module selecting DS units of the candidate DS units based on the metadata to produce selected DS units. The method continues with the processing module dispersed storage error encoding the data in accordance with at least a representation of the base-line set of error coding dispersal storage function parameters to produce a set of encoded data slices. The method continues with the processing module sending the set of encoded data slices to the selected DS units for storage therein. | 07-28-2011 |
| 20110185253 | DIRECTORY FILE SYSTEM IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data storage request, wherein the data storage request includes data and a data identifier (ID). The method continues with the processing module dispersed storage error encoding the data to produce a set of encoded data slices and determining a data dispersed storage network (DSN) address. The method continues with the processing module sending the set of encoded data slices to a DSN memory for storage at the data DSN address and updating a directory file with path information corresponding to the data ID and the data DSN address to produce an updated directory file. The method continues with the processing module dispersed storage error encoding the updated directory file to produce a set of encoded updated directory slices and sending the set of encoded updated directory slices to the DSN memory for storage at a directory DSN address. | 07-28-2011 |
| 20110185193 | DE-SEQUENCING ENCODED DATA SLICES - A method begins by a processing module obtaining at least an ordering threshold number of encoded data slices to produce obtained encoded data slices. The method continues with the processing module ordering the obtained encoded data slices based on a pseudo-random de-sequencing order to produce a plurality of sets of encoded data slices. The method continues with the processing module dispersed storage error decoding the plurality of sets of encoded data slices to produce a plurality of encrypted data segments. The method continues with the processing module decrypting the plurality of encrypted data segments to produce a plurality of data segments. The method continues with the processing module aggregating the plurality of data segments to produce a data stream. | 07-28-2011 |
| 20110185141 | DATA MIGRATION IN A DISPERSED STORAGE NETWORK - A method begins by processing module determining data to migrate, wherein the data is stored as a plurality of sets of encoded data slices in a first set of dispersed storage (DS) units. The method continues with the processing module retrieving at least a read threshold number of encoded data slices for each set of the plurality of sets of encoded data slices and dispersed storage error decoding the at least the read threshold number of encoded data slices in accordance with error coding dispersal storage function parameters to reproduce the data. The method continues with the processing module dispersed storage error encoding the data in accordance with second error coding dispersal storage function parameters to produce a plurality of sets of second encoded data slices and sending at least a write threshold number of second encoded data slices to a second set of DS units for storage therein. | 07-28-2011 |
| 20110184997 | SELECTING STORAGE FACILITIES IN A PLURALITY OF DISPERSED STORAGE NETWORKS - A method begins by a processing module receiving a data storage request and accessing a file directory to identify dispersed storage network (DSN) systems. The method continues with the processing module identifying dispersed storage (DS) units to produce identified DS units for each of the DSN systems and selecting one of the DSN systems to produce a selected DSN system. The method continues with the processing module selecting a set of DS units from the identified DS units of the selected DSN system to produce selected DS units, wherein the selected DS units store a set of encoded data slices. The method continues with the processing module updating the file directory to include an identity of the selected DS units and an identity of the set of encoded data slices. | 07-28-2011 |
| 20110184912 | DISPERSED STORAGE NETWORK UTILIZING REVISION SNAPSHOTS - A method begins by a processing module obtaining a directory file and determining a new snapshot identifier (ID) for the directory file. The method continues with the processing module identifying a version of a filename to associate with the new snapshot ID and updating the directory file by associating the snapshot ID to the version of the filename to produce an updated directory file. The method continues with the processing module dispersed storage error encoding the updated directory file to produce a set of encoded updated directory file slices and sending the set of encoded updated directory file slices to a dispersed storage network (DSN) memory for storage. | 07-28-2011 |
| 20110182429 | OBFUSCATION OF SEQUENCED ENCODED DATA SLICES - A method begins by a processing module receiving data to produce received data segments. The method continues with the processing module, in order of receiving the data segments, encrypting a data segment to produce an encrypted data segment, dispersed storage error encoding the encrypted data segment to produce a set of encoded data slices, buffering at least a number of encoded data slices of the set of encoded data slices to produce first buffered encoded data slices, and buffering remaining encoded data slices of the set of encoded data slices to produce second buffered encoded data slices. The method continues with the processing module outputting the first buffered encoded data slices and, at most, some of the second buffered encoded data slices in accordance with a pseudo random output sequencing order when a number of first buffered encoded data slices compares favorably to an outputting threshold. | 07-28-2011 |
| 20110182424 | SEQUENCING ENCODED DATA SLICES - A method begins by a processing module receiving data segments of a data stream to produce received data segments. The method continues with the processing module encrypting a data segment of the received data segments to produce an encrypted data segment and dispersed storage error encoding the encrypted data segment to produce a set of encoded data slices in order of receiving the data segments. The method continues with the processing module buffering encoded data slices of sets of the encoded data slices unit to produce buffered encoded data slices and comparing a number of buffered encoded data slices to a threshold. The method continues with the processing module outputting the encoded data slices of the buffered encoded data slices based on a pseudo-random sequencing order when the number of buffered encoded data slices compares favorably to the threshold. | 07-28-2011 |
| 20110161781 | DIGITAL CONTENT DISTRIBUTION UTILIZING DISPERSED STORAGE - A method begins by a processing module determining whether to error encode broadcast data. The method continues with the processing module encoding a portion of the broadcast data using an error coding storage dispersal function to produce a set of encoded broadcast data slices, determining whether to compress the set of encoded broadcast data slices for the set of encoded broadcast data slices, and when the set of encoded broadcast data slices is to be compressed, selecting a subset of encoded broadcast data slices of the set of encoded broadcast data slices, when the broadcast data is to be error encoded. | 06-30-2011 |
| 20110161754 | REVISION SYNCHRONIZATION OF A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a write request message from a dispersed storage (DS) processing module, wherein the write request message includes a slice name, a DS processing module most-recent slice revision, a new slice revision, and an encoded directory slice of directory information regarding storage of data. The method continues with the processing module obtaining, from local memory, a DS unit most-recent slice revision based on the slice name. The method continues with the processing module storing the new slice revision as the DS unit most-recent slice revision and storing the encoded directory slice when the DS unit most-recent slice revision compares favorably to the DS processing module most-recent slice revision. | 06-30-2011 |
| 20110161681 | DIRECTORY SYNCHRONIZATION OF A DISPERSED STORAGE NETWORK - A method begins by a processing module dispersed storage error encoding data to produce a set of encoded data slices and generating a transaction identifier regarding storage of the set of encoded data slices. The method continues with the processing module outputting a plurality of write request messages to a plurality of dispersed storage (DS) units, wherein each of the plurality of write request messages includes the transaction identifier and a corresponding one of the set of encoded data slices. The method continues with the processing module receiving write response messages from at least some of the DS units, wherein each of the write response messages includes a reference to the transaction identifier. The method continues with the processing module updating directory information regarding storage of the data to produce updated directory information when at least a write threshold number of the write response messages have been received. | 06-30-2011 |
| 20110161680 | DISPERSED STORAGE OF SOFTWARE - A data de-duplication method begins by a processing module receiving a plurality of data storage requests from a plurality of requesting devices wherein a data storage request includes the data and a requester identifier (ID). The method continues with the processing module obtaining a data identifier (ID) for the data. For each of the plurality of data storage requests, the method continues with the processing module producing a requester storage record, dispersed storage error encoding the requester storage record to produce a set of encoded requester storage record slices, and sending the set of encoded requester storage record slices to a dispersed storage network (DSN) memory for storage therein. The method continues with the processing module dispersed storage error encoding at least a portion of the data to produce a set of encoded data slices and sending the set of encoded data slices to the DSN memory for storage therein. | 06-30-2011 |
| 20110161679 | TIME BASED DISPERSED STORAGE ACCESS - A method begins with a processing module receiving a data retrieval request and obtaining a real-time indicator corresponding to when the data retrieval request was received. The method continues with the processing module determining a time-based data access policy based on the data retrieval request and the real-time indicator and accessing a plurality of dispersed storage (DS) units in accordance with the time-based data access policy to retrieve encoded data slices. The method continues with the processing module decoding the threshold number of encoded data slices in accordance with an error coding dispersal storage function when a threshold number of the encoded data slices have been retrieved. | 06-30-2011 |
| 20110161666 | DIGITAL CONTENT RETRIEVAL UTILIZING DISPERSED STORAGE - A method begins by a processing module obtaining a unique retrieval matrix based on an identity of the playback device and sending a request for retrieval of a set of encoded broadcast data slices to a dispersed storage network (DSN) memory, wherein the request includes the unique retrieval matrix and identity of the set of encoded broadcast data slices. The method continues with the processing module receiving a subset of the set of encoded broadcast data slices from the DSN memory, wherein the subset of the set of encoded broadcast data slices is based on the unique retrieval matrix. The method continues with the processing module storing the subset of the sets of encoded broadcast data slices. | 06-30-2011 |
| 20110161655 | DATA ENCRYPTION PARAMETER DISPERSAL - A method begins with a processing module obtaining encoded key slices from a plurality of user devices and decoding a threshold number of the encoded key slices utilizing a first error coding dispersal storage function to produce a key when the threshold number of the encoded key slices has been obtained. The method continues with the processing module receiving encoded data slices and decoding a threshold number of encoded data slices utilizing a second error coding dispersal storage function to produce encrypted data when the threshold number of the encoded data slices has been received. The method continues with the processing module decrypting the encrypted data utilizing the key and an encryption function to produce data. | 06-30-2011 |
| 20110126295 | DISPERSED STORAGE NETWORK DATA SLICE INTEGRITY VERIFICATION - A method begins with a processing module issuing a retrieval request, receiving secret shares of a set of secret shares to produce received secret shares, and receiving encoded data slices of a set of encoded data slices. The method continues with the processing module decoding the received secret shares to recapture a message authentication key when a threshold number of the secret shares is received. The method continues with the processing module identifying a received encoded data slice of the received encoded data slices having an authentication code associated therewith when a threshold number of the encoded data slices is received. The method continues with the processing module verifying the authentication code based on the message authentication key and the received encoded data slice. The method continues with the processing module decoding the received encoded data slices to recapture a data segment when the authentication code is verified. | 05-26-2011 |
| 20110126060 | LARGE SCALE SUBSCRIPTION BASED DISPERSED STORAGE NETWORK - A method begins with a processing module identifying data for storage and sending a subscription request message regarding the data for storage. The method continues with the processing module receiving a subscription response message. The method continues with the processing module obtaining error coding dispersal storage function parameters when a dispersal method of the subscription response message indicates direct dispersal. The method continues with the processing module encoding at least a portion of the data in accordance with the error coding dispersal storage function parameters to produce a set of encoded data slices. The method continues with the processing module determining a plurality of storage locations and performing a dispersed storage write function to store the set of encoded data slices in the plurality of storage locations. | 05-26-2011 |
| 20110126042 | WRITE THRESHOLD UTILIZATION IN A DISPERSED STORAGE SYSTEM - A method begins with a processing module sending a plurality of dispersed storage write commands to plurality of dispersed storage (DS) units for storing a plurality of encoded data slices. The method continues with the processing module receiving, within a time period, acknowledgements from at least some of the plurality of DS units to produce received acknowledgements. The method continues with the processing module determining whether a number of received acknowledgements compares favorably to a write threshold. The method continues with the processing module changing at least one of the write threshold and at least one of the plurality of DS units when the number of received acknowledgements does not compare favorably to the write threshold. | 05-26-2011 |
| 20110126026 | EFFICIENT STORAGE OF ENCRYPTED DATA IN A DISPERSED STORAGE NETWORK - A method begins with a processing module obtaining data to store and determining whether substantially similar data to the data is stored. When the substantially similar data is not stored, the method continues with the processing module generating a first encryption key based on the data, encoding the first encryption key into encoded data slices in accordance with an error coding dispersal storage function, and storing the encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module encrypting the data using an encryption key of the substantially similar data in accordance with an encryption function to produce encrypted data, compressing the encrypted data in accordance with a compression function to produce compressed data, storing the compressed data when the substantially similar data is stored. | 05-26-2011 |
| 20110125999 | PROXY ACCESS TO A DISPERSED STORAGE NETWORK - A method begins with a processing module selecting one of a plurality of dispersed storage (DS) processing modules for facilitating access to a dispersed storage network (DSN) memory. The method continues with the processing module sending a DSN memory access request to the one of the plurality of DS processing modules. The method continues with the processing module selecting another one of the plurality of DS processing modules when no response is received within a given time frame or when the response to the access request does not include an access indication. The method continues with the processing module sending the DSN memory access request to the another one of the plurality of DS processing modules. | 05-26-2011 |
| 20110125771 | DATA DE-DUPLICATION IN A DISPERSED STORAGE NETWORK UTILIZING DATA CHARACTERIZATION - A method begins with a processing module receiving, from a requesting device, a data storage request that includes data for storage. The method continues with the processing module determining whether substantially identical data is currently stored in a dispersed storage network (DSN) memory. The method continues with the processing module encoding at least a portion of the data using an error coding dispersal storage function to produce a set of encoded data slices, sending the set of encoded data slices to the DSN memory for storage therein, and generating a unique retrieval matrix for the requesting device, wherein the unique retrieval matrix identifies a sub-set of encoded data slices of the set of encoded data slices for subsequent retrieval of the at least a portion of the data, when the substantially identical data is not stored in the DSN memory. | 05-26-2011 |
| 20110122523 | LOCALIZED DISPERSED STORAGE MEMORY SYSTEM - A method begins by a processing module receiving data to store and determining error coding dispersal storage function parameters. The method continues with the processing module encoding at least a portion of the data in accordance with the error coding dispersal storage function parameters to produce a set of data slices. The method continues with the processing module defining addressable storage sectors within the single hard drive based on a number of data slices within the set of data slices to produce a set of addressable storage sectors. The method continues with the processing module storing data slices of the set of data slices in corresponding addressable storage sectors of the set of addressable storage sectors. | 05-26-2011 |
| 20110107380 | MEDIA DISTRIBUTION TO A PLURALITY OF DEVICES UTILIZING BUFFERED DISPERSED STORAGE - A method begins by a processing module receiving a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as a plurality of groups of sets of encoded data slices. For each of the plurality of playback requests, the method continues with the processing module storing a first group of the plurality of groups of sets of encoded data slices in a playback DSN memory to produce a first buffered group, outputting the first buffered group to a requesting device corresponding to the each of the plurality of playback requests, storing a second group of the plurality of groups of sets of encoded data slices in the playback DSN memory to produce a second buffered group, and outputting the second buffered group to the requesting device. | 05-05-2011 |
| 20110107185 | MEDIA CONTENT DISTRIBUTION IN A SOCIAL NETWORK UTILIZING DISPERSED STORAGE - A method begins by a dispersed storage processing module receiving media content determining social media metadata regarding the media content. The method continues with the dispersed storage processing module encoding the media content in accordance with an error coding dispersal storage function to produce a plurality of sets of encoded data slices, identifying a plurality of memories to store the plurality of sets of encoded data slices, and sending the plurality of sets of encoded data slices to the plurality of memories when the social media metadata indicates that the media content is to be available for a local social network. | 05-05-2011 |
| 20110107184 | DATA DISTRIBUTION UTILIZING UNIQUE READ PARAMETERS IN A DISPERSED STORAGE SYSTEM - A method begins by a processing module receiving a plurality of requests to record a broadcast of data. The method continues with the processing module encoding the data using an error coding dispersal storage function to produce a plurality of sets of encoded data slices when the data is broadcast and in response to a request of the plurality of requests. The method continues with the processing module generating a unique retrieval matrix for each of the plurality of requests based on an identity of a requesting device and the error coding dispersal storage function to produce a plurality of unique retrieval matrixes. The method continues with the processing module storing the plurality of sets of encoded data slices and the plurality of unique retrieval matrixes in a dispersed storage network memory as a plurality of unique copies of the data. | 05-05-2011 |
| 20110107182 | DISPERSED STORAGE UNIT SOLICITATION METHOD AND APPARATUS - A method begins by a dispersed storage processing module obtaining data for storage. The method continues with the dispersed storage processing module soliciting dispersed storage (DS) units to store encoded data slices of the data. The method continues with the dispersed storage processing module receiving favorable responses from a set of DS units. The method continues with the dispersed storage processing module encoding the data in accordance with an error coding dispersal storage function and in accordance with the favorable responses. | 05-05-2011 |
| 20110107181 | DATA DISTRIBUTION UTILIZING UNIQUE WRITE PARAMETERS IN A DISPERSED STORAGE SYSTEM - A method begins by a processing module receiving a plurality of record requests to record a broadcast of data. The method continues with the processing module encoding the data using an error coding dispersal storage function to produce a plurality of sets of encoded data slices. The method continues with the processing module generating a list of requesting device identities corresponding to the plurality of requests and storing the plurality of sets of encoded data slices and the list of requesting device identities in a dispersed storage network memory. The method continues with the processing module receiving a playback request from a device identified in the list of requesting device identities, generating a unique retrieval matrix for the device, and outputting a unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the unique retrieval matrix. | 05-05-2011 |
| 20110107180 | INTENTIONALLY INTRODUCED STORAGE DEVIATIONS IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a first request to store a program. The method continues with the processing module determining first error coding dispersal storage function parameters and encoding a data segment of the program. The method continues with the processing module determining whether a second request to store the program is received. The method continues with the processing module encoding a second data segment of the program in accordance with the first error coding dispersal storage function parameters when the second request is not received. The method continues with the processing module changing the first error coding dispersal storage function parameters based on the another request to produce second error coding dispersal storage function parameters when the second request is received. The method continues with the processing module encoding the second data segment in accordance with the second error coding dispersal storage function parameters. | 05-05-2011 |
| 20110107165 | DISTRIBUTED STORAGE NETWORK FOR MODIFICATION OF A DATA OBJECT - A distributed storage network generates a plurality of data segments from a data object and stores each of the plurality of data segments as a plurality of encoded data slices generated from an error encoding dispersal function. When the distributed storage network receives a modification request for the data object, it determines a size of the plurality of data segments of the data object from a segment size field and identifies one of the plurality of data segments requiring modification. The identified data segment is reconstructed from the plurality of encoded data slices and modified in accordance with the modification request. | 05-05-2011 |
| 20110107113 | DISTRIBUTED STORAGE NETWORK DATA REVISION CONTROL - Multiple revisions of an encoded data slice are generated, with each revision having the same slice name. Each of the data slices represents the same original data portion, but each is encoded so that no single data slice can be used to reconstruct the original data portion. Appropriate revision numbers are associated with each encoded data slice, and the encoded data slices and associated revision numbers are transmitted for storage in selected storage units of a distributed storage network. If write confirmations are received from at least a write threshold number of storage units, a commit command is transmitted so that the most recently written data slices will be available for access. After a commit command is issued, a current directory used to access the encoded data slices can be sliced, encoded, and stored in the same way as the data slices. | 05-05-2011 |
| 20110107112 | DISTRIBUTED STORAGE NETWORK AND METHOD FOR ENCRYPTING AND DECRYPTING DATA USING HASH FUNCTIONS - A distributed storage network received a data segment. The data segment is partitioned into two or more portions. A first portion hash is calculated from the first portion of data and used to encrypt the second portion of data. A hash of the encrypted second portion of data is then used to either encrypt the next portion of data (in this case, a third portion of data) or to circle back to the beginning and encrypt the first portion of the data if the second portion of data is the last in data segment. This iterative process continues until all portions of the data segment are encrypted in a sequence. In essence, the data portions of the segment are sequentially processed in some order to encrypt the various portions in that progressing order. A reverse order is used to derive the hash values and decrypt the encrypted data portions into decrypted original data to recreate the data segment. | 05-05-2011 |
| 20110107094 | DISTRIBUTED STORAGE NETWORK EMPLOYING MULTIPLE ENCODING LAYERS IN DATA ROUTING - A distributed storage processing unit creates multiple different data slices from the same data object, and generates a message including one or more of the different data slices. The distributed storage processing unit identifies a chain of distributed storage units, and encrypts the message into multiple nested layers using, for example, public keys of public/private key pairs associated with each of the storage units in the chain. The distributed storage processing unit sends the layered, encrypted message to the first storage unit in the chain, which decodes and removes the outermost layer, and forwards the message to the next storage unit in the chain. This process continues until the message reaches the endpoint distributed storage unit, which decodes the innermost layer and stores the data slice encoded in the message. | 05-05-2011 |
| 20110107078 | ENCODED DATA SLICE CACHING IN A DISTRIBUTED STORAGE NETWORK - A distributed storage processing unit encodes data objects into multiple encoded data slices to prevent reconstruction of the original data object using a single encoded data slice, but to allow reconstruction using at least a threshold number of encoded data slices. The distributed storage processing unit can decide to whether and where to cache frequently requested data slices. When retrieving data slices related to a particular data object, a check can be made to determine if the data slices are cached in a temporary memory associated with the distributed storage processing unit, or elsewhere in the distributed storage network. This check can be facilitated by storing data slices and a hash table identifying the location of stored data slices in the same temporary memory. | 05-05-2011 |
| 20110107036 | DISTRIBUTED STORAGE REVISION ROLLBACKS - Multiple revisions of an encoded data slice can be stored in a distributed storage unit. Before writing a new revision of an encoded data slice to storage, the distributed storage unit can invoke a write lock for all encoded data slices having the same slice name as the slice being currently written. The slice being currently written can be stored in temporary storage, and a rollback timer started. If a commit command is received before expiration of the rollback timer, the currently written slice can be permanently stored and made accessible for read requests. If the rollback timer expires prior to the storage unit receiving a commit command, however, a previously stored revision will be used. | 05-05-2011 |
| 20110107027 | INDIRECT STORAGE OF DATA IN A DISPERSED STORAGE SYSTEM - A method begins by a dispersed storage processing module obtaining data for storage. The method continues with the dispersed storage processing module encoding the data in accordance with an error coding dispersal storage function to produce a plurality of sets of encoded data slices. The method continues with the dispersed storage processing module determining a proxy unit. The method continues with the dispersed storage processing module transmitting the plurality of sets of encoded data slices to the proxy unit, wherein the proxy unit disperses the plurality of sets of encoded data slices to a plurality of dispersed storage units. | 05-05-2011 |
| 20110107026 | CONCURRENT SET STORAGE IN DISTRIBUTED STORAGE NETWORK - For each original data segment, a distributed storage processing unit generates encoded slices designed to prevent the original data segment from being reconstructed using fewer than a threshold number of encoded slices. Multiple encoded slices are generated for each of two different data segments, and the slices associated with the first and second data segment are stored substantially concurrently in different storage sets employing different distributed storage units. Encoded slices for even and odd data segments can be stored in different storage sets, or longer sequences of data segments can be stored in alternating storage sets. Storage sets can also be determined by the vault generation of a particular data segment. | 05-05-2011 |
| 20110106973 | ROUTER ASSISTED DISPERSED STORAGE NETWORK METHOD AND APPARATUS - A method begins by a router receiving a data packet and determining a destination of the data packet. The method continues with the router determining whether the router has an affiliation with the destination. The method continues with the router determining whether to temporarily locally store the data packet when the router has the affiliation with the destination. The method continues with the router locally storing the data packet and forwarding the data packet to the destination in accordance with a transfer protocol when the determination to temporarily locally store the data packet is favorable. | 05-05-2011 |
| 20110106972 | ROUTER-BASED DISPERSED STORAGE NETWORK METHOD AND APPARATUS - A method begins by a router receiving data for storage and interpreting the data to determine whether the data is to be forwarded or error encoded. The method continues with the router obtaining a routing table when the data is to be error encoded. Next, the method continues with the router selecting a routing option from the plurality of routing options and determining error coding dispersal storage function parameters based on the routing option. Next, the method continues with the router encoding the data based on the error coding dispersal storage function parameters to produce a plurality of sets of encoded data slices. Next, the method continues with the router outputting at least some of the encoded data slices of a set of the plurality of sets of encoded data slices to an entry point of the routing option. | 05-05-2011 |
| 20110106909 | DISTRIBUTED STORAGE NETWORK AND METHOD FOR COMMUNICATING DATA ACROSS A PLURALITY OF PARALLEL WIRELESS DATA STREAMS - A distributed storage network receives data that is to be transmitted. The data is processed via one or more error-coding dispersed storage functions and sliced into data slices. A certain number of the data slices are selected for wireless communication via a plurality of wireless modules wherein a first wireless module sends a first portion of the data slices, and a second wireless module sends a second portion of the data slices, and so on until the data slices are fully communicated. The wireless modules may be of different hardware, software, protocols, throughputs, bandwidth, speeds, encoding schemes, algorithms, etc. The transmission over several different wireless modules that potentially have different (and potentially changing over time) characteristics may increase both performance and security. | 05-05-2011 |
| 20110106904 | DISTRIBUTED STORAGE NETWORK FOR STORING A DATA OBJECT BASED ON STORAGE REQUIREMENTS - A distributed storage network (DSN) includes a user device and a plurality of DSN memories, wherein each of the DSN memories includes a plurality of storage units. The user device includes at least one network interface to the plurality of DSN memories and at least one processing module that is operable to determine one of the plurality of DSN memories for storing a data object based on a comparison of one or more storage requirements of the data object and one or more DSN attributes of the plurality of DSN memories. | 05-05-2011 |
| 20110106855 | DISTRIBUTED STORAGE TIMESTAMPED REVISIONS - Various revisions of encoded data slices stored in a distributed storage system can be time stamped to assist in retrieving desired data revisions. Each of the multiple revisions of the encoded data slices may have the same name, but different revision numbers. An encoded data slice, which is received at a distributed storage unit along with a write command, slice name, and the revision number, is time stamped. The timestamp and revision number are stored in conjunction with the data slice. A desired encoded data slice can be retrieved by sending a read command, slice name, and timeframe to the distributed storage unit. The appropriate encoded data slice can be retrieved by determining which revision number has a timestamp most closely matching the requested timeframe. | 05-05-2011 |
| 20110106769 | DISTRIBUTED STORAGE NETWORK THAT PROCESSES DATA IN EITHER FIXED OR VARIABLE SIZES - A distributed storage network receives a data object and determines a size of the data object. The network then determines whether the data object should be segmented into fixed size segments or variable sizes segments based upon some variable-length algorithm. If the fixed approach is selected, the data object is segmented into two or more fixed size segments with attached header information and the information is further processed using error coding dispersal storage functions within the network. If the variable approach is selected, the data object is segmented into two or more variable-sized segments with attached header information and the information is further processed using error coding dispersal storage functions within the network. Both the variable and fixed approaches enable storage of error-correctable data slices in a distributed storage manner. | 05-05-2011 |
| 20110102546 | DISPERSED STORAGE CAMERA DEVICE AND METHOD OF OPERATION - A distributed storage network contains a user device that has a computing core, a DSN interface and either an integrated or an externally-connected camera or sensor. The camera or sensor collects data from its surrounding environment and processes the data at least partially through error coding dispersal storage functions that include slicing the data into a plurality of error-coded data slices. The error-coded data slices are output by the user device for one or more of storage within a dispersed storage network (DSN) memory, playing on a destination player, or broadcast consumption over a network. A storage integrity unit manages the storage capacity, use, and/or throughput of the system to ensure that data is processing in a real time or near real time so that data can be accurately processed and perceived by targeted end users. | 05-05-2011 |
| 20110083061 | METHOD AND APPARATUS FOR DISPERSED STORAGE OF STREAMING MULTI-MEDIA DATA - A method begins by a processing module determining dispersed storage preferences for streaming multi-media data. The method continues with the processing module transcoding the streaming multi-media data into transcoded data when the dispersed storage preferences include transcoding. In addition, the method continues with the processing module encoding the transcoded data in accordance with an error coding dispersed storage function of the dispersed storage preferences to produce pluralities of error coded data slices. In addition, the method continues with the processing module outputting the pluralities of error coded data slices to a plurality of data storage units for storage therein. | 04-07-2011 |
| 20110083053 | METHOD AND APPARATUS FOR CONTROLLING DISPERSED STORAGE OF STREAMING DATA - A method begins by a processing module determining properties of streaming data. The method continues with the processing module determining required dispersed storage resources based on the properties of the streaming data, identifying a plurality of sets of dispersed storage resources, and establishing first error coding dispersed storage function parameters for a first set of dispersed storage resources of the plurality of sets of dispersed storage resources when the required dispersed storage resources requires the plurality of sets of dispersed storage resources. In addition, the method continues with the processing module enabling partitioning of the streaming data into a plurality of data streams and enabling routing of a first data stream of the plurality of data streams to the first set of dispersed storage resources, wherein the first set of dispersed storage resources converts the first data stream into pluralities of error coded data slices. | 04-07-2011 |
| 20110083049 | METHOD AND APPARATUS FOR DISPERSED STORAGE OF STREAMING DATA - A method begins by a processing module receiving streaming data and dispersed storage resource configuration information. The method continues with the processing module allocating a plurality of sets of dispersed storage resources, obtaining error coding dispersed storage function parameters, and partitioning the streaming data into a plurality of data streams in accordance with the dispersed storage resource configuration information when the dispersed storage resource configuration information requires a plurality of sets of dispersed storage resources. In addition, the method continues with the processing module converting, via the plurality of sets of dispersed storage resources, the plurality of data streams into pluralities of sets of error coded data slices in accordance with the error coding dispersed storage function parameters. | 04-07-2011 |
| 20110078774 | METHOD AND APPARATUS FOR ACCESSING SECURE DATA IN A DISPERSED STORAGE SYSTEM - A method begins by a processing module receiving, from a user device, a request to access secure data, wherein the request includes a user identification code and at least one object name for the secure data. The method continues with the processing module processing the request to determine a security level associated with the user device and to determine security parameters associated with the secure data. The method continues with the processing module determining a level of access to the secure data based on the security level associated with the user device and the security parameters. The method continues with the processing module retrieving a set of encoded data slices from dispersed storage units, wherein the set of encoded data slices includes less than a reconstruction threshold number of encoded data slices and generating a response that includes the set of encoded data slices when the level of access is a partial access level. | 03-31-2011 |
| 20110078534 | METHOD AND APPARATUS FOR OBFUSCATING SLICE NAMES IN A DISPERSED STORAGE SYSTEM - A method begins by a processing module receiving a data segment for dispersed storage. The method continues with the processing module encoding the data segment in accordance with an error coding dispersed storage function to produce a plurality of error coded data slices. The method continues with the processing module generating a slice name for an error coded data slice of the plurality of error coded data slices, wherein the slice name includes a dispersed storage routing information section and a data identification section. The method continues with the processing module performing a securing function on at least the data identification section to produce a secure data identification section. The method continues with the processing module replacing, within the slice name, the data identification section with the secure data identification section to produce a secure slice name. | 03-31-2011 |
| 20110078512 | METHOD AND APPARATUS FOR DISPERSED STORAGE MEMORY DEVICE UTILIZATION - A method begins by a processing module receiving data for storage. The method continues with the processing module determining storage metadata regarding the data the method continues with the processing module. The method continues with the processing module determining memory device capabilities based on the storage metadata. The method continues with the processing module identifying memory devices based on the memory device capabilities to produce identified memory devices. The method continues with the processing module encoding the data into a plurality of data slices in accordance with an error coding dispersal function. The method continues with the processing module storing the plurality of data slices in the identified memory devices. | 03-31-2011 |
| 20110078503 | METHOD AND APPARATUS FOR SELECTIVELY ACTIVE DISPERSED STORAGE MEMORY DEVICE UTILIZATION - The method begins with a processing unit receiving an encoded slice for storage. The method continues with the processing unit determining whether to store the encoded slice in one of a first set of memory devices or in one of a second set of memory devices based on metadata associated with the encoded slice, wherein the first set of memory devices are continually active and the second set of memory devices are selectively active. The method continues with the processing unit stores the encoded slice in the one of the second set of memory devices when the encoded slice is to be stored in the one of the second set of memory devices. The method continues with the processing unit de-activating the one of the second set of memory devices, in accordance with a deactivation protocol, after storing the encoded slice. | 03-31-2011 |
| 20110078493 | METHOD AND APPARATUS FOR DISPERSED STORAGE DATA TRANSFER - The method begins with a processing module determining whether to reconstruct data corresponding to a plurality of data slices when the plurality of data slices is to be transferred from a first type of memory device to a second type of memory device. The method continues with the processing module retrieving the plurality of data slices from a first set of memory devices that are of the first type of memory, reconstructing at least a portion of the data from the plurality of data slice in accordance with a first error coding dispersal function to produce reconstructed data, encoding the reconstructed data in accordance with a second error coding dispersal function to produce a second plurality of data slices, and storing the second plurality of data slices in a second set of memory devices that are of the second type of memory when the data is to be reconstructed. | 03-31-2011 |
| 20110078377 | SOCIAL NETWORKING UTILIZING A DISPERSED STORAGE NETWORK - Social networking data is received at the dispersed storage processing unit, the social networking data associated with at least one of a plurality of user devices. Dispersed storage metadata associated with the social networking data is generated. A full record and at least one partial record are generated based on the social networking data and further based on the dispersed storage metadata. The full record is stored in a dispersed storage network. The partial record is pushed to at least one other of the plurality of user devices via the data network. | 03-31-2011 |
| 20110078373 | METHOD AND APPARATUS FOR DISPERSED STORAGE MEMORY DEVICE SELECTION - A method begins when a dispersed storage (DS) processing unit of a DS unit has at least one of DS unit operational data and DS unit operating system algorithm to store. The method continues with the DS processing unit encoding at least a portion of the at least one of DS unit operational data and DS unit operating system algorithm in accordance with an error coding dispersal storage function to produce a plurality of data slices. The method continues with the DS processing unit storing at least some of the plurality of data slices in memory devices of the DS unit in accordance with the error coding dispersal storage function. | 03-31-2011 |
| 20110078372 | DISTRIBUTED STORAGE NETWORK MEMORY ACCESS BASED ON MEMORY STATE - A distributed storage unit determines how to handle a read or write request for a data slice based on a state of the memory the data slice is to be read from or written to. When receiving a request to retrieve a data slice, the distributed storage unit, determines a state of the memory in which the data slice is stored. Based on the memory state, one of multiple different methods for obtaining the data slice is selected. The methods include, among others, a direct read from the memory, and reconstructing the data slice using other memories and parity values. In response to a write request, the distributed storage unit can determine whether to use the currently selected memory for writing, or rotate the memory used for writing, based on a state of the memory. | 03-31-2011 |
| 20110078371 | DISTRIBUTED STORAGE NETWORK UTILIZING MEMORY STRIPES - Multiple data slices are generated from an original data segment. The data slices are constructed to prevent recovery of the original data segment using a single related data slice, but to allow recovery of the original data segment using fewer than all of the data slices. Each data slice is stored in the same memory stripe as the other data slices. The memory stripe extends across multiple memory devices and multiple different distributed storage units. The memory device in which each data slice is stored can be determined based on a source name associated with each data slice. | 03-31-2011 |
| 20110078343 | DISTRIBUTED STORAGE NETWORK INCLUDING MEMORY DIVERSITY - A distributed storage processing unit can generate data slices and determine metadata for each of the data slices. The metadata includes information that can be used to determine storage diversity preferences, which can include requirements that data slices generated from a common data segment each be stored in memories of the same (or different) type and model, memories with the same (or different) failure rates, memories having fast read (or write) characteristics, and so on. Decisions about which memory units to use for storing data slices can be made based on how closely the characteristics of the memories match the storage diversity preferences. The decision can be made at a distributed storage processing unit that generates the data slices, at a distributed storage unit receiving the data slices for storage, or elsewhere. | 03-31-2011 |
| 20110078277 | HANDLING UNAVAILABLE MEMORIES IN DISTRIBUTED STORAGE NETWORK - A distributed storage network includes a distributed storage processing unit, which generates multiple data slices from a single data segment, and multiple different storage units to store the data slices. Each data slice is assigned to a particular storage unit for storage. The distributed storage processing unit determines which of the storage units are in a ready state, and sends data slices to the ready storage units. Data slices assigned to storage units that are not in a ready state are temporarily stored in a temporary memory, e.g. cache memory, until the storage unit becomes ready. If the intended storage unit remains in a non-ready status for too long, the slices stored in cache memory can be sent to a substitute storage unit, or discarded and reconstructed at a later time. | 03-31-2011 |
| 20110078080 | METHOD AND APPARATUS TO SECURE AN ELECTRONIC COMMERCE TRANSACTION - A method begins by a processing module receiving data content. The method continues with the processing module embedding the data content into a data stream to produce a stream of data. The method continues with the processing module sequentially encoding data segments of the stream of data in accordance with an error coding dispersed storage function to produce pluralities of encoded data slices. The method continues with the processing module outputting the pluralities of encoded data slices to a plurality of dispersed storage units for storage therein. | 03-31-2011 |
| 20110077086 | INTERACTIVE GAMING UTILIZING A DISPERSED STORAGE NETWORK - Game data is received at a dispersed storage processing unit, the game data associated with at least one of a plurality of user devices. The game data is stored in a cache memory associated with the dispersed storage processing unit. Dispersed storage metadata associated with the cached game data is generated. A data block is generated based on the cached game data and further based on the dispersed storage metadata. The data block is stored in a dispersed storage network. | 03-31-2011 |
| 20110072321 | OPTIMISTIC DATA WRITING IN A DISPERSED STORAGE NETWORK - A method begins by a processing module dispersed storage error encoding data to produce a set of encoded data slices and sending a set of write request messages to a set of dispersed storage (DS) units, wherein each of the set of write request messages includes an encoded data slice of the set of encoded data slices. The method continues with the processing module determining whether a pillar width number of favorable write response messages has been received within a write acknowledgement (ACK) time period. The method continues with the processing module executing a retry write process to at least one DS unit of the set of DS units from which a favorable write response message was not received during the write ACK time period when the pillar width number of favorable write response messages has not been received within the write ACK time period. | 03-24-2011 |
| 20110072210 | PESSIMISTIC DATA READING IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data retrieval request and determining a read threshold number of dispersed storage (DS). The method continues with the processing module sending read request messages to DS units and receiving encoded data slices to produce received encoded data slices. The method continues with the processing module determining an incremental number of encoded data slices based on the number of received encoded data slices, determining an incremental number of DS units, and sending a read request message to each of the incremental number of DS units when the number of received encoded data slices compares unfavorably to a decode threshold number. The method continues with the processing module dispersed storage error decoding the received encoded data slices to produce data when the number of received encoded data slices compares favorably to the decode threshold number of encoded data slices. | 03-24-2011 |
| 20110072115 | BLOCK BASED ACCESS TO A DISPERSED DATA STORAGE NETWORK - A computer includes a data transform algorithm, a data dispersal algorithm, and a network port. The data transform algorithm performs a data transformation on a data block to produce a transformed data block. The data dispersal algorithm performs a data dispersal function on the transformed data block to produce a plurality of data slices, wherein each of the plurality of data slices includes less than all data contained in the transformed data block. The network port is operable to transmit a plurality of write commands to a plurality of slice servers, wherein each of the plurality of write commands includes a corresponding one of the plurality of data slices. The network port is further operable to receive verification of storage of at least some of the plurality of data slices from at least some of the plurality of slice servers. | 03-24-2011 |
| 20110071988 | DATA REVISION SYNCHRONIZATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module determining dispersed storage (DS) units that are storing a set of encoded data slices associated with a data segment and sending a revision level check request message to each of the DS units. The method continues with the processing module receiving revision level check response messages from at least some of the DS units within a time period to produce received revision level check response messages and determining concurrency of a revision level of the set of encoded data slices stored by the DS units based on the received revision level check response messages. The method continues with the processing module initiating a revision concurrency process when less than a threshold number of encoded data slices have concurrency of the revision level. | 03-24-2011 |
| 20110055903 | AUTHENTICATING USE OF A DISPERSED STORAGE NETWORK - At least one dispersed storage (DS) processing unit ( | 03-03-2011 |
| 20110055662 | NESTED DISTRIBUTED STORAGE UNIT AND APPLICATIONS THEREOF - A method for execution by a DS storage unit begins with the DS storage unit receiving an encoded slice of a plurality of encoded slices, wherein the plurality of encoded slices was generated from a data segment using an error encoding function. The method continues with the DS storage unit determining whether the encoded slice is to be sub-sliced using a sub-slicing encoding function. The method continues with the DS storage unit generating a plurality of encoded sub-slices from the encoded slices using the encoded sub-slicing encoding function when the encoded slice is to be sub-sliced. The method continues with the DS storage unit outputting the plurality of encoded sub-slices to a plurality of DS storage units. | 03-03-2011 |
| 20110055661 | METHOD AND APPARATUS FOR NESTED DISBURSED STORAGE - A method begins by a DS processing module generating a plurality of encoded slices from a data segment using an error encoding function. The method continues with the DS processing module identifying a plurality of DS storage units for storing the plurality of encoded slices. The method continues with the DS processing module selecting an encoded slice of the plurality of encoded slices for sub-slicing using a sub-slicing encoding function to produce a selected encoded slice. The method continues with the DS processing module outputting the plurality of encoded slices to the plurality of DS storage units. The method continues with the DS processing module outputting a command to a DS storage unit of the plurality of DS storage units corresponding to the selected encoded slice, wherein the command includes an instruction to sub-slice the selected encoded slice. | 03-03-2011 |
| 20110055578 | VERIFICATION OF DISPERSED STORAGE NETWORK ACCESS CONTROL INFORMATION - In a dispersed storage network access control list information must be occasionally written out to system units across the network. A dispersed storage (DS) managing unit ( | 03-03-2011 |
| 20110055474 | DISPERSED STORAGE PROCESSING UNIT AND METHODS WITH GEOGRAPHICAL DIVERSITY FOR USE IN A DISPERSED STORAGE SYSTEM - A plurality of data slices are generated from a block of data to be stored in the dispersed storage system. A plurality of dispersed storage units are determined for storing the plurality of data slices, based on a geographical location associated with the plurality of dispersed storage units. | 03-03-2011 |
| 20110055473 | DISPERSED STORAGE PROCESSING UNIT AND METHODS WITH DATA AGGREGATION FOR USE IN A DISPERSED STORAGE SYSTEM - A new data block to be stored in the dispersed storage system is received. When it is determined that a previous data segment contains sufficient space for the new data block, the previous data segment is retrieved from a plurality of dispersed storage units. A revised data segment is generated by aggregating the new data block with at least one existing data block of the previous data segment. A plurality of slices are generated for the revised data segment. The plurality of slices are stored in the plurality of dispersed storage units. | 03-03-2011 |
| 20110055277 | UPDATING DISPERSED STORAGE NETWORK ACCESS CONTROL INFORMATION - In a dispersed storage network where slices of secure user data are stored on geographically separated storage units ( | 03-03-2011 |
| 20110055273 | DISPERSED STORAGE PROCESSING UNIT AND METHODS WITH OPERATING SYSTEM DIVERSITY FOR USE IN A DISPERSED STORAGE SYSTEM - A plurality of data slices are generated from a block of data to be stored in the dispersed storage system. A plurality of dispersed storage units are determined for storing the plurality of data slices, based on an operating system associated with the plurality of dispersed storage units. | 03-03-2011 |
| 20110055178 | DISPERSED STORAGE UNIT AND METHODS WITH METADATA SEPARATION FOR USE IN A DISPERSED STORAGE SYSTEM - A data slice to be stored in a dispersed storage unit of the dispersed storage system is received. A plurality of data blocks are generated from the data slice and metadata are generated associated with each of the plurality of data blocks. A data file is generated based on the plurality of data blocks. A metadata file is generated based on the metadata associated with the plurality of data blocks. The metadata file and the data file are stored in at least one memory of the dispersed storage unit. | 03-03-2011 |
| 20110055170 | METHOD AND APPARATUS FOR IDENTIFYING DATA INCONSISTENCY IN A DISPERSED STORAGE NETWORK - A method for execution by a DS processing unit begins with the DS processing unit receiving a plurality of integrity data, which was generated by a plurality of DS storage units regarding one or more data slices of one or more pluralities of data slices. The method continues with the DS processing unit evaluating the received integrity data. The method continues with the DS processing unit requesting naming information of the one or more pluralities of data slices when the evaluation of the received integrity data yields unfavorable results. The method continues with the DS processing unit receiving the naming information from the plurality of DS storage units. The method continues with the DS processing unit evaluating the received naming information to identify at least one data slice of the one or more of pluralities of data slices having a data inconsistency. | 03-03-2011 |
| 20110029842 | MEMORY CONTROLLER UTILIZING DISTRIBUTED STORAGE - A memory controller comprises at least a memory control processing module and/or a distributed storage processing module. A method begins by the memory control processing module receiving a memory access request regarding a data segment. The method continues with the memory control processing module interpreting the memory access request to determine whether an error coding dispersal function of the data segment is applicable. The method continues with the memory control processing module sending the memory access request to the distributed storage processing module when the error coding dispersal function is applicable. The method continues with the distributed storage processing module performing the error coding dispersal function on the data segment to produce an error coded processed data segment. The method continues with the distributed storage processing module sending the error coded processed data segment to the memory control processing module. | 02-03-2011 |
| 20110029836 | METHOD AND APPARATUS FOR STORAGE INTEGRITY PROCESSING BASED ON ERROR TYPES IN A DISPERSED STORAGE NETWORK - A storage integrity system in a dispersed storage network scans an address range of data slices to identify errors in one of a plurality of encoded data slices, wherein the plurality of encoded data slices are generated from a data segment using an error encoding dispersal function. When the storage integrity system detects an error, it identifies one of the encoded data slices for rebuilding. The identified data slice is rebuilt in response to the type of error. For example, when the type of the error includes a temporary error, the storage integrity system waits a predetermined time period to determine whether the error still exists prior to rebuilding the identified data slice. | 02-03-2011 |
| 20110029809 | METHOD AND APPARATUS FOR DISTRIBUTED STORAGE INTEGRITY PROCESSING - A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit. | 02-03-2011 |
| 20110029765 | COMPUTING DEVICE BOOTING UTILIZING DISPERSED STORAGE - A computing device boot-up method begins by a processing module detecting a boot-up of the computing device. The method continues with the processing module addressing a distributed basic input/output system (BIOS) memory to retrieve a plurality of error coded BIOS data slices. The method continues with the processing module reconstructing BIOS data from the plurality of error coded BIOS data slices using an error coding dispersal function. The method continues with the computing device booting up in accordance with the BIOS data. | 02-03-2011 |
| 20110029753 | DISPERSED STORAGE NETWORK VIRTUAL ADDRESS GENERATIONS - A dispersed storage device within a dispersed storage network includes a processing module for determining whether to add a new generation for a vault, in which the vault identifies at least one user having data to be stored. When the new generation is to be added to the vault, the processing module further assigns a vault generation identifier to the new generation, assigns a virtual address range of a virtual memory associated with the dispersed storage network to the new generation and maps the virtual address range to a physical memory for storage of the data therein. | 02-03-2011 |
| 20110029744 | DISPERSED STORAGE NETWORK VIRTUAL ADDRESS SPACE - A dispersed storage network utilizes a virtual address space to store data. The dispersed storage network includes a processing unit operable to slice a data segment of a data object into data slices and create a slice name for each of the data slices. The slice name includes an identifier of the data object and a virtual memory address of a virtual memory associated with the dispersed storage network. The processing unit further outputs each of the data slices and the respective slice names to a corresponding storage unit for storage of the data slices therein. | 02-03-2011 |
| 20110029743 | COMPUTING CORE APPLICATION ACCESS UTILIZING DISPERSED STORAGE - A computing core application access method begins by a processing module detecting selection of an application. The method continues with at least one of a memory controller and the processing module addressing a distributed application memory to retrieve a plurality of error coded program data slices and a plurality of error coded configuration data slices. The method continues with the at least one of a memory controller and the processing module reconstructing a data segment of a program from the plurality of error coded program data slices using an error coding dispersal function. The method continues with the at least one of a memory controller and the processing module reconstructing a data segment of a configuration information from the plurality of error coded configuration data slices using a second error coding dispersal function. The method continues with the at least one of a memory controller and the processing module storing the data segment of the program and the data segment of the configuration information in a main memory of the computing core. | 02-03-2011 |
| 20110029742 | COMPUTING SYSTEM UTILIZING DISPERSED STORAGE - A computing system comprises at least a processing module, a main memory, a memory controller, and a plurality of memory components. A method begins by the memory controller receiving a memory access request regarding a data segment. The method continues with the memory controller interpreting the memory access request to determine whether an error encoding dispersal function of the data segment is applicable. The method continues with the memory controller identifying at least a threshold number of memories based on the memory access request, wherein the threshold number of memories includes at least one of the main memory and/or one or more of the plurality of memory components, when the error encoding dispersal function is applicable. The method continues with the memory controller addressing the at least a threshold number of memories to facilitate the memory access request. | 02-03-2011 |
| 20110029731 | DISPERSED STORAGE WRITE PROCESS - A dispersed storage (DS) method begins by issuing a plurality of write commands to a plurality of DS storage units. The method continues by receiving a write acknowledgement from one of the plurality of DS storage units to produce a received write acknowledgement. The method continues by issuing a plurality of commit commands to the plurality of DS storage units when a write threshold number of the received write acknowledgements have been received. The method continues by receiving a commit acknowledgement from a DS storage unit of the plurality of DS storage units to produce a received commit acknowledgement. The method continues by issuing a plurality of finalize commands to the plurality of DS storage units when a write threshold number of the received commit acknowledgements have been received. | 02-03-2011 |
| 20110029711 | METHOD AND APPARATUS FOR SLICE PARTIAL REBUILDING IN A DISPERSED STORAGE NETWORK - A dispersed storage system includes a plurality of storage units that each include a partial rebuild grid module. The partial rebuild grid module includes partial rebuilding functionality to reconstruct one of a plurality of encoded data slices wherein the plurality of encoded data slices are generated from a data segment based on an error encoding dispersal function. In the partial rebuilding process, a data slice is rebuilt by combining in any order slice partials generated from at least a threshold number T of the plurality of data slices. | 02-03-2011 |
| 20110029524 | DISPERSED STORAGE NETWORK VIRTUAL ADDRESS FIELDS - A dispersed storage network includes a dispersed storage device to store data. The dispersed storage device includes a processing module operable to slice a data segment of a data object into data slices, in which the number of data slices corresponds to a number of pillars for storing the data object. The processing module further creates a slice name for each of the data slices. The slice name includes routing information containing a vault identifier that identifies at least one user of the data object and a slice index based on the vault identifier and a pillar identifier that identifies a pillar associated with the data slice. In addition, the slice name includes a source data name containing an identifier of the data object. | 02-03-2011 |
| 20110026842 | DISPERSED STORAGE NETWORK DATA MANIPULATION - A method begins by a processing module receiving data for dispersed storage, wherein the data has an associated user identification (ID), and obtaining a codec flag based on the associated user ID. The codec flag may indicate one or more codec types and a codec execution order. The codec types may include two or more of: a null data manipulation, one or more versions of a data integrity function, one or more versions of a compression function, and/or one or more versions of an encryption function. The method continues with the processing module manipulating the data to produce manipulated data utilizing the one or more codec types in the codec execution order, encoding the manipulated data using an error coding dispersal storage function to produce a plurality of encoded data slices, and sending the slices and codec flag to a plurality of DS storage units for storage. | 02-03-2011 |
| 20110016122 | COMMAND LINE INTERPRETER FOR ACCESSING A DATA OBJECT STORED IN A DISTRIBUTED STORAGE NETWORK - A user device includes a DSN interface operably coupled with a DSN memory and a DS processing module for storing and retrieving a data object from the DSN memory, wherein the data object is partitioned into a plurality of data segments and wherein each of the plurality of data segments is stored in the DSN memory as a plurality of encoded data slices that are generated based on an error encoding dispersal function. The user device also includes a command line interpreter operable to interpret a file command as a request to display the data object by an application program, determine the data object is stored in the DSN memory and request the DSN processing module to retrieve the data object from the DSN memory and provide the data object to the application program. | 01-20-2011 |
| 20100332751 | DISTRIBUTED STORAGE PROCESSING MODULE - A dispersed storage (DS) processing module may include a gateway module operable to communicate data and/or corresponding information with a user device and may include an access module operable to segment outbound data of the data into one or more outbound data segments and aggregate one or more inbound data segments into inbound data of the data. The DS processing module may include a grid module operable to encode an outbound data segment of the one or more outbound data segments into a plurality of outbound encoded data slices and decode a plurality of inbound encoded data slices into an inbound data segment of the one or more inbound data segments. The DS processing module may include a storage module operable to output the plurality of outbound encoded data slices to a plurality of DS storage units and receive the plurality of inbound encoded data slices from the plurality of DS storage units. | 12-30-2010 |
| 20100306578 | RANGE BASED REBUILDER FOR USE WITH A DISPERSED DATA STORAGE NETWORK - A message is generated by a computer operating on a dispersed data storage network indicating the inaccessibility of a plurality of data slices. A rebuilder application operates on the dispersed data storage grid and rebuilds inaccessible data slices, including those identified by the message. | 12-02-2010 |
| 20100287200 | SYSTEM AND METHOD FOR ACCESSING A DATA OBJECT STORED IN A DISTRIBUTED STORAGE NETWORK - A user device includes a browser module, a DSN interface to a local or external DSN memory and a DS processing module coupled to the DSN interface for storing and retrieving the data object from the DSN memory, wherein the data object is divided into a plurality of data segments and wherein each of the plurality of data segments is stored in the DSN memory as a plurality of encoded data slices that are generated based on an error encoding dispersal function. The browser module is operable to interpret a user input as a request to display a data object, determine the data object is stored in the DSN memory, request the DS processing module to retrieve the data object from the DSN memory and request an application program to open the data object for display. | 11-11-2010 |
| 20100269008 | DISPERSED DATA STORAGE SYSTEM DATA DECODING AND DECRYPTION - A computing system retrieves securely stored encrypted and encoded data from a dispersed data storage system. The computing system includes a processing module and a plurality of storage units. The processing module includes an error decoder and a decryptor and to decode and decrypt the encrypted and encoded data retrieved from the dispersed data storage system utilizing a read command to the storage units. The storage units retrieve the encrypted and encoded data and send the encrypted and encoded data to the processing module when receiving the read command. | 10-21-2010 |
| 20100268938 | SECURING DATA IN A DISPERSED STORAGE NETWORK USING SECURITY SENTINAL VALUE - A sentinel value is combined with a data segment, and encrypted. A digest of the encrypted combined data segment is calculated, and used in conjunction with an encryption key to generate a masked key. This masked key is then appended to the encrypted combined data segment and transmitted to an encoder. When the data segment is retrieved, the original encryption key can be recovered and used to decrypt the data segment. The sentinel value can then be extracted from the data segment and checked for integrity. The data segment can then be delivered, discarded, flagged, or otherwise handled based on the integrity of the sentinel value. | 10-21-2010 |
| 20100268877 | SECURING DATA IN A DISPERSED STORAGE NETWORK USING SHARED SECRET SLICES - A data element can be encoded into multiple encoded data elements using an encoding algorithm that includes an encoding function and one or more encoder constant. The encoded data elements can be organized into multiple pillars, each having a respective pillar number. Each of the pillars is sent to a different storage unit of a distributed storage network. To recover the original data element, the encoded data elements are retrieved from storage, and the encoder constant is recovered using multiple encoded data elements. Recovering the encoder constant allows the encoding algorithm originally used to encode the data elements to be determined, and used to recover the original data element. The security of the stored data is enhanced, because an encoded data element from a single pillar is insufficient to identify the encoder constant. | 10-21-2010 |
| 20100268692 | VERIFYING DATA SECURITY IN A DISPERSED STORAGE NETWORK - An integrity record is appended to data slices prior to being sent to multiple slice storage units. Each of the data slices includes a different encoded version of the same data segment. An integrity indicator of each data slice is computed, and the integrity record is generated based on each of the individual integrity indicators, and may be, for example, list or a hash of the combined integrity indicators. When retrieving data slices from storage, the integrity record can be stripped off, a new integrity indicator of the data slice calculated, and a new integrity record created. The new integrity record can be compared to the original integrity record, and used to verify the integrity of the data slices. | 10-21-2010 |
| 20100266120 | DISPERSED DATA STORAGE SYSTEM DATA ENCRYPTION AND ENCODING - A computing system securely stores data to a dispersed data storage system. The computing system includes a processing module and a plurality of storage units. The processing module includes an encryptor and error encoder to encrypt and encode the data for dispersal utilizing a write command to the storage units. The storage units store the encrypted and encoded data when receiving the write command and the encrypted and encoded data. | 10-21-2010 |
| 20100266119 | DISPERSED STORAGE SECURE DATA DECODING - A method operating on a computer begins by generating a read command to read at least some of a plurality of data slices from a dispersed storage network. The method continues by receiving the at least some of the plurality of data slices. The method continues by performing a reverse information dispersal algorithm on at least some of the plurality of data slices to produce a plurality of transposed data elements. The method continues by reverse transposing the plurality of transposed data elements to recover data elements of a data segment. | 10-21-2010 |
| 20100250751 | SLICE SERVER METHOD AND APPARATUS OF DISPERSED DIGITAL STORAGE VAULTS - A slicer server includes a network port, memory, and a central processing module. The central processing unit functions to obtain, via the network port, an information record regarding a virtual dispersed data storage container. The central processing unit further functions to determine whether its list of virtual dispersed data storage containers includes the virtual dispersed data storage container. The central processing unit further functions to, when the list does not include the virtual dispersed data storage container, update the list to include the virtual dispersed data storage container and allocate a portion of the memory to the virtual dispersed data storage container. | 09-30-2010 |
| 20100217796 | INTEGRATED CLIENT FOR USE WITH A DISPERSED DATA STORAGE NETWORK - An integrated client computer for accessing a dispersed data storage network is disclosed. A client program operating on the client computer accepts commands from a user and in response, issues network messages to a plurality of slice servers implementing a dispersed data storage network. Data slices can be read, written or modified using the disclosed integrated client computer. | 08-26-2010 |
| 20100179966 | VIRTUALIZED DATA STORAGE VAULTS ON A DISPERSED DATA STORAGE NETWORK - A dispersed data storage system includes a plurality of slice servers. In the system, a first set of the slice servers supports a first virtual digital data storage vault and a second set of the slice servers supports a second virtual digital data storage vault. A slice server is in the first and second sets and functions to: receive a request to access a virtual digital data storage vault; determine whether the virtual digital data storage vault is the first or the second virtual digital data storage vault; when the virtual digital data storage vault is the first or the second virtual digital data storage vault, determine whether the request is valid; and when the request is valid, execute the request to generate a response. | 07-15-2010 |
| 20100169500 | SYSTEMS, METHODS, AND APPARATUS FOR MATCHING A CONNECTION REQUEST WITH A NETWORK INTERFACE ADAPTED FOR USE WITH A WITH A DISPERSED DATA STORAGE NETWORK - A gateway module translates access requests from client computers into commands for a plurality of slice servers storing data for a dispersed data storage network. The gateway program maintains a plurality of gateway modules, each providing a different access protocol to the dispersed data storage network, and each also maintaining one or more virtual storage vaults. | 07-01-2010 |
| 20100169415 | SYSTEMS, METHODS, AND APPARATUS FOR IDENTIFYING ACCESSIBLE DISPERSED DIGITAL STORAGE VAULTS UTILIZING A CENTRALIZED REGISTRY - A centralized depository for storing information regarding a collection of servers and other hardware used to implement a plurality of virtual dispersed data storage containers is disclosed. The centralized depository describes each virtual dispersed data storage container as well as the hardware used to provide the plurality of virtual dispersed data storage containers. Computers operating on or seeking to access specific virtual dispersed data storage containers can obtain the information required for access from the centralized depository. | 07-01-2010 |
| 20100169391 | OBJECT INTERFACE TO A DISPERSED DATA STORAGE NETWORK - A data object interface to a dispersed data storage network is disclosed. The disclosed interface accepts read and write commands from a client computer and generates network commands that are forwarded to slice servers that form the storage component of the dispersed data storage network. The slice servers then fulfill the read and write commands. | 07-01-2010 |
| 20100161916 | METHOD AND APPARATUS FOR REBUILDING DATA IN A DISPERSED DATA STORAGE NETWORK - A method begins by identifying a data slice requiring rebuilding to produce an identified data slice, wherein the identified data slice is one of a plurality of data slices that constitute a data segment and wherein each of the plurality of data slices is assigned for storage by a corresponding one of a plurality of data slice servers. The method continues by retrieving at least m number of data slices from at least m number of the plurality of data slice servers, wherein m data slices of the plurality of data slices enable reconstruction of the data segment, and wherein the at least m number of data slices does not include the identified data slice. The method continues by reconstructing the identified data slice from the at least m number of data slices to produce a rebuilt data slice. The method continues by writing the rebuilt data slice to the corresponding one of the plurality of data slice servers or to a new slice server. | 06-24-2010 |
| 20100115063 | SMART ACCESS TO A DISPERSED DATA STORAGE NETWORK - A method for reading data from a dispersed data storage network that includes a plurality of slice servers. The method begins by accessing a list of slice servers of the plurality of slice servers, wherein each slice server on the list stores at least one data slice associated with a data segment of the data. The method continues by transmitting read requests to at least some of the slice servers on the list. The method continues by receiving a data slice from a slice server on the list. The method continues by determining whether a threshold number of data slices has been received. The method continues, when the threshold number of data slices has been received, assembling the data segment from at least the threshold number of data slices. | 05-06-2010 |
| 20100063911 | BILLING SYSTEM FOR INFORMATION DISPERSAL SYSTEM - An apparatus includes a processing module and a network interface. The processing module is operably coupled to: accessing user level metadata based on account identifier to identify a plurality of files associated with a user and retrieve user level metadata for the plurality of files; access file level metadata associated with the plurality of files to retrieve, for each of the plurality of files, file level metadata and determine, for each of the plurality of files, a plurality of file slices associated with a corresponding file of the plurality of files; and generate billing transaction information based on the user level metadata and the file level metadata of the plurality of files. The network interface is operably coupled to: convert the billing transaction information into a network billing transaction information message and transmit it. | 03-11-2010 |
| 20100023710 | SYSTEMS, METHODS, AND APPARATUS FOR SUBDIVIDING DATA FOR STORAGE IN A DISPERSED DATA STORAGE GRID - An efficient method for breaking source data into smaller data subsets and storing those subsets along with coded information about some of the other data subsets on different storage nodes such that the original data can be recreated from a portion of those data subsets in an efficient manner. | 01-28-2010 |
| 20100023529 | METADATA MANAGEMENT SYSTEM FOR AN INFORMATION DISPERSED STORAGE SYSTEM - An apparatus includes a processing module and a network interface. The processing module is operably coupled to obtain; a data storage transaction request regarding a file; determine identity of a user based on the data storage transaction request; access file level metadata based on the identity of the user to determine a plurality of file slices associated with the file; access file slice metadata to identify at least one of a plurality of storage nodes that stores or is to store, a data slice and coded subsets of at least one of the plurality of file slices; and generate a data storage transaction message to facilitate a data storage transaction regarding the at least one of the plurality of file slices. The network interface is operably coupled to convert the data storage transaction message into a network data storage message and transmit it. | 01-28-2010 |