Patent application number | Description | Published |
20090094251 | Virtualized data storage vaults on a dispersed data storage network - A system, method, and apparatus for implementing a plurality of dispersed data storage networks using a set of slice servers are disclosed. A plurality of information records are maintained, with each information record corresponding to a dispersed data storage network. The information record maintains what slice servers are used to implement the dispersed data storage network, as well as other information needed to administer a DDSN, such as the information dispersal algorithm used, how data is stored, and whether data is compressed or encrypted. | 04-09-2009 |
20090094318 | Smart access to a dispersed data storage network - An improved system for accessing data within a distributed data storage network (“DDSN”) is disclosed. In a system implementing the disclosed invention, traffic is routed to individual slice servers within the DDSN in accordance with objective criteria as well as user-defined policies. In accordance with one aspect of the disclosed invention, when a data segment is written to a DDSN, the segment is divided into multiple data slices, which are simultaneously transmitted to different slice servers. In accordance with another aspect of the disclosed invention, when a data segment is read from a DDSN, a list of slice servers, each containing a data slice that could be used to reconstruct the requested data segment, is assembled, and sorted in accordance with a preference rating assigned to each of the slice servers. Sufficient data slices to reconstruct the data segment are then read in accordance with the preference ranking of the slice servers. | 04-09-2009 |
20090094320 | File system adapted for use with a dispersed data storage network - A file system interface to a dispersed data storage network is disclosed. The disclosed interface accepts read and write commands from a file system resident on a user's 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. | 04-09-2009 |
20090254720 | SYSTEM FOR REBUILDING DISPERSED DATA - A digital data file storage system is disclosed in which original data files to be stored are dispersed using some form of information dispersal algorithm into a number of file “slices” or subsets in such a manner that the data in each file share is less usable or less recognizable or completely unusable or completely unrecognizable by itself except when combined with some or all of the other file shares. These file shares are stored on separate digital data storage devices as a way of increasing privacy and security. As dispersed file shares are being transferred to or stored on a grid of distributed storage locations, various grid resources may become non-operational or may operate below at a less than optimal level. When dispersed file shares are being written to a dispersed storage grid which not available, the grid clients designates the dispersed data shares that could not be written at that time on a Rebuild List. In addition when grid resources already storing dispersed data become non-available, a process within the dispersed storage grid designates the dispersed data shares that need to be recreated on the Rebuild List. At other points in time a separate process reads the set of Rebuild Lists used to create the corresponding dispersed data and stores that data on available grid resources. | 10-08-2009 |
20100017531 | 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. | 01-21-2010 |
20100023524 | Block based access to a dispersed data storage network - A block-based interface to a dispersed data storage network is disclosed. The disclosed interface accepts read and write commands from a file system resident on a user's 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. | 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
20110107180 | INTENTIONALLY INTRODUCED STORAGE DEVIATIONS IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a first request to store a program. The method continues with the processing module determining first error coding dispersal storage function parameters and encoding a data segment of the program. The method continues with the processing module determining whether a second request to store the program is received. The method continues with the processing module encoding a second data segment of the program in accordance with the first error coding dispersal storage function parameters when the second request is not received. The method continues with the processing module changing the first error coding dispersal storage function parameters based on the another request to produce second error coding dispersal storage function parameters when the second request is received. The method continues with the processing module encoding the second data segment in accordance with the second error coding dispersal storage function parameters. | 05-05-2011 |
20110107380 | MEDIA DISTRIBUTION TO A PLURALITY OF DEVICES UTILIZING BUFFERED DISPERSED STORAGE - A method begins by a processing module receiving a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as a plurality of groups of sets of encoded data slices. For each of the plurality of playback requests, the method continues with the processing module storing a first group of the plurality of groups of sets of encoded data slices in a playback DSN memory to produce a first buffered group, outputting the first buffered group to a requesting device corresponding to the each of the plurality of playback requests, storing a second group of the plurality of groups of sets of encoded data slices in the playback DSN memory to produce a second buffered group, and outputting the second buffered group to the requesting device. | 05-05-2011 |
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 |
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 |
20110125916 | 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. | 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 |
20110161655 | DATA ENCRYPTION PARAMETER DISPERSAL - A method begins with a processing module obtaining encoded key slices from a plurality of user devices and decoding a threshold number of the encoded key slices utilizing a first error coding dispersal storage function to produce a key when the threshold number of the encoded key slices has been obtained. The method continues with the processing module receiving encoded data slices and decoding a threshold number of encoded data slices utilizing a second error coding dispersal storage function to produce encrypted data when the threshold number of the encoded data slices has been received. The method continues with the processing module decrypting the encrypted data utilizing the key and an encryption function to produce data. | 06-30-2011 |
20110161666 | DIGITAL CONTENT RETRIEVAL UTILIZING DISPERSED STORAGE - A method begins by a processing module obtaining a unique retrieval matrix based on an identity of the playback device and sending a request for retrieval of a set of encoded broadcast data slices to a dispersed storage network (DSN) memory, wherein the request includes the unique retrieval matrix and identity of the set of encoded broadcast data slices. The method continues with the processing module receiving a subset of the set of encoded broadcast data slices from the DSN memory, wherein the subset of the set of encoded broadcast data slices is based on the unique retrieval matrix. The method continues with the processing module storing the subset of the sets of encoded broadcast data slices. | 06-30-2011 |
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 |
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 |
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 |
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 |
20110225361 | DISPERSED STORAGE NETWORK FOR MANAGING DATA DELETION - A dispersed storage device manages deletion of data objects stored within a dispersed storage network by receiving a data delete request to delete a data object stored throughout a set of dispersed storage units within a dispersed network memory of the dispersed storage network, determining a deletion policy for the data object and selectively generating and transmitting, based on the deletion policy, a delete command to the set of dispersed storage units. | 09-15-2011 |
20110225450 | FAILSAFE DIRECTORY FILE SYSTEM IN A DISPERSED STORAGE NETWORK - A file directory system comprises a directory file, a directory address for the directory file, and a directory address failsafe mechanism. The directory file includes one or more directory entries and one or more corresponding addresses for the one or more directory entries. The directory address failsafe mechanism functions to dispersed storage error encode the directory address to produce a plurality of encoded components of the directory address and transmit the plurality of encoded components of the directory address to a plurality of agent modules. | 09-15-2011 |
20110225466 | DISPERSED STORAGE UNIT SELECTION - A dispersed storage device for use within a dispersed storage network operates to select a set of dispersed storage units for storage of a data object by slicing an encoded data segment of a data object into error coded data slices, determining slice metadata for the error coded data slices, determining memory characteristics of dispersed storage units capable of storing the error coded data slices and selecting the set of dispersed storage units for storing the error coded data slices based on the slice metadata and the memory characteristics. | 09-15-2011 |
20110231699 | TEMPORARILY CACHING AN ENCODED DATA SLICE - A method begins by a processing module obtaining an encoded data slice and an associated slice name. The method continues with the processing module determining a dispersed storage (DS) unit for storing the encoded data slice based on at least one of the encoded data slice and the associated slice name and estimating a performance level of the DS unit to produce an estimated DS unit performance level. The method continues with the processing module sending the encoded data slice to the DS unit for storage therein and when the estimated DS unit performance level compares unfavorably with a performance threshold, facilitating storage of the encoded data slice in temporary memory to produce a temporarily stored encoded data slice, wherein the temporarily stored encoded data slice is retrieved in response to a retrieval request when confirmation of the DS unit storing the encoded data slice has not been received. | 09-22-2011 |
20110231733 | ADJUSTING DATA DISPERSAL IN A DISPERSED STORAGE NETWORK - A method begins by a processing module determining a performance based indication regarding storage of a data segment as a set of encoded data slices and comparing the performance based indication with a performance threshold. When the performance based indication compares unfavorably with the performance threshold, the method continues with the processing module decoding the set of encoded data slices to reproduce the data segment, adjusting error coding dispersal storage function parameters based on the unfavorable comparison of the performance based indication with the performance threshold to produce performance adjusted error coding dispersal storage function parameters, encoding the reproduced data segment in accordance with the performance adjusted error coding dispersal storage function parameters to produce a second set of encoded data slices, and selecting a storage set of encoded data slices from the set of encoded data slices and the second set of encoded data slices. | 09-22-2011 |
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 |
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 |
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 |
20120089885 | DATA TRANSMISSION UTILIZING ROUTE SELECTION AND DISPERSED STORAGE ERROR ENCODING - A method begins by a processing module obtaining a set of encoded data slices for transmission to a receiving entity via a network, wherein the set of encoded data slices represents data that has been dispersed storage error encoded. The method continues with the processing module dividing the set into a plurality of sub-sets of encoded data slices in accordance with an error coding distributed routing protocol. The method continues with the processing module determining a plurality of routing paths within the network in accordance with the error coding distributed routing protocol. The method continues with the processing module transmitting the plurality of sub-sets of encoded data slices via the plurality of routing paths to the receiving entity in accordance with the error coding distributed routing protocol. | 04-12-2012 |
20120089886 | RELAYING DATA TRANSMITTED AS ENCODED DATA SLICES - A method begins by a first device determining an error coding distributed routing protocol and transmitting a set of encoded data slices, identity of a second device, and the error coding distributed routing protocol to a network, wherein the set of encoded data slices represents data that has been dispersed storage error encoded. The method continues with the network routing a plurality of sub-sets of the set of encoded data slices via an initial plurality of routing paths towards the second, comparing anticipated routing performance with a desired routing performance, and altering the routing path to obtain a favorable comparison. The method continues with the second device receiving at least some of the set of encoded data slices from the network and decoding at least a threshold number of encoded data slices to reproduce the data when at least the threshold number of encoded data slices have been received. | 04-12-2012 |
20120089887 | DATA TRANSMISSION UTILIZING DATA PROCESSING AND DISPERSED STORAGE ERROR ENCODING - A method begins by a processing module dispersed storage error encoding fundamental component data of data in accordance with dispersed storage error coding parameters to produce a plurality of sets of encoded data slices, wherein the data includes the fundamental component data and enhancement component data. The method continues with the processing module transmitting a set of the plurality of sets of encoded data slices and transmitting a corresponding portion of the enhancement component data substantially concurrently with the transmitting of the set of the plurality of sets of encoded data slices. | 04-12-2012 |
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 |
20120198197 | TRANSFERRING DATA IN RESPONSE TO DETECTION OF A MEMORY SYSTEM IMBALANCE - A method begins by a processing module determining an imbalance between inode utilization and data storage utilization. When the imbalance compares unfavorably to an imbalance threshold, the method continues with the processing module determining whether utilization of another inode memory and utilization of another corresponding data storage memory are not imbalanced. When the utilization of the other inode memory and the utilization of the other corresponding data storage memory are not imbalanced, determining whether the inode utilization is out of balance with respect to the data storage utilization. When the inode utilization is out of balance, the method continues with the processing module transferring data objects from a data storage memory to the other corresponding data storage memory and transferring mapping information of data objects from a inode memory to the other inode memory. | 08-02-2012 |
20120198203 | MODIFYING DATA STORAGE IN RESPONSE TO DETECTION OF A MEMORY SYSTEM IMBALANCE - A method begins by a processing module determining an imbalance between inode memory utilization and data storage memory utilization. When the imbalance compares unfavorably to an imbalance threshold, the method continues with the processing module determining whether the inode memory utilization is out of balance with respect to the data storage memory utilization or whether the data storage memory utilization is out of balance with respect to the inode memory utilization. When the inode memory utilization is out of balance with respect to the data storage memory utilization, the method continues with the processing module transferring a set of data objects from a data object section to a data block section and transferring object mapping information of the set of data objects into block mapping information for the set of data objects. | 08-02-2012 |
20120206418 | WIRELESS FILE TRANSMISSION - A computer system which includes one or more wireless interface devices that are adapted to communicate with a remote host over a radio link. Each of the wireless interface devices is a pen-based device which includes an ink field in which pen events are translated into pen data packets and transmitted to the remote host over the radio link. Local inking is provided at the wireless interface device in order to maintain the pen paradigm in essentially real time. | 08-16-2012 |
20120246421 | System, 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. | 09-27-2012 |
20120265937 | DISTRIBUTED STORAGE NETWORK INCLUDING MEMORY DIVERSITY - A dispersed storage (DS) unit a processing module and a plurality of hard drives. The processing module is operable to maintain states for at least some of the plurality of hard drives. The processing module is further operable to receive a memory access request regarding an encoded data slice and identify a hard drive of the plurality of hard drives based on the memory access request. The processing module is further operable to determine a state of the hard drive. When the hard drive is in a read state and the memory access request is a write request, the processing module is operable to queue the write request, change from the read state to a write state in accordance with a state transition process, and, when in the write state, perform the write request to store the encoded data slice in the hard drive. | 10-18-2012 |
20120290868 | ASSIGNING A DISPERSED STORAGE NETWORK ADDRESS RANGE IN A MAINTENANCE FREE STORAGE CONTAINER - A method begins by a dispersed storage (DS) processing module determining storage device failure information for a plurality of storage devices within a maintenance free storage container, wherein the maintenance free storage container allows for multiple storage devices of the plurality of storage devices to be in a failure mode without replacement and wherein the storage device failure information indicates storage devices of the plurality of storage devices that are in the failure mode. The method continues with the DS processing module maintaining a dynamic container address space of the maintenance free storage container based on the storage device failure information. The method continues with the DS processing module managing mapping of container addresses of the dynamic container address space to dispersed storage network (DSN) addresses of an assigned DSN address range. | 11-15-2012 |
20120290878 | ESTABLISHING TRUST IN A MAINTENANCE FREE STORAGE CONTAINER - A maintenance free storage container includes a plurality of storage servers, wherein the maintenance free storage container allows for multiple storage servers of the plurality of storage servers to be in a failure mode without replacement. The maintenance free storage container further includes a container controller operable to manage failure mode information of the plurality of storage servers, manage mapping of a plurality of virtual storage servers to at least some of the plurality of storage servers based on the failure mode information, communicate storage server access requests with a device external to the maintenance free storage container using addressing of the plurality of virtual storage servers, and communicate the storage server access requests within the maintenance free storage container using addressing of the plurality of storage servers. | 11-15-2012 |
20120311068 | DISTRIBUTING MULTI-MEDIA CONTENT TO A PLURALITY OF POTENTIAL ACCESSING DEVICES - A method begins by a dispersed storage (DS) processing module encoding a data segment of multi-media content using a dispersed storage error coding function to produce a set of encoded data slices and partitioning the set of encoded data slices into a first sub-set of encoded data slices and a second sub-set of encoded data slices, wherein the first sub-set of encoded data slices include less than a decode threshold number of encoded data slices. The method continues with the DS processing module distributing the first sub-set of encoded data slices to a plurality of potential accessing devices and when accessing information from a device of the plurality of potential accessing devices is received, sending at least one of the encoded data slices of the second sub-set of encoded data slices to the device such that the device has the decode threshold number of encoded data slices. | 12-06-2012 |
20120311296 | ACQUIRING MULTI-MEDIA CONTENT - A method begins by a dispersed storage (DS) processing module receiving a first sub-set of encoded data slices, wherein a data segment of multi-media content was encoded using a dispersed storage error coding function to produce a set of encoded data slices, wherein the set of encoded data slices is partitioned into the first sub-set of encoded data slices and a second sub-set of encoded data slices. The method continues with the DS processing module sending accessing information when the second sub-set of encoded data slices is to be requested. The method continues with the DS processing module receiving, in response to the accessing information, at least one of the encoded data slices of the second sub-set of encoded data slices such that a decode threshold number of encoded data slices have been received. | 12-06-2012 |
20120311403 | PRIORITIZED DELETING OF SLICES STORED IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module monitoring storage of data, wherein the data is encoded using a dispersed storage error coding function to produce a plurality of sets of encoded data slices and is stored as the plurality of sets of encoded data slices. The method continues with the DS processing module determining analysis priority of the data in accordance with an analysis prioritization protocol. When the analysis priority of the data compares unfavorably to a first priority threshold, the method continues with the DS processing module issuing a command to delete an encoded data slice from each set of at least some of the plurality of sets of encoded data slices. | 12-06-2012 |
20120324275 | DISPERSED STORAGE UNIT SELECTION - A dispersed storage device for use within a dispersed storage network operates to select a set of dispersed storage units for storage of a data object by slicing an encoded data segment of a data object into error coded data slices, determining slice metadata for the error coded data slices, determining memory characteristics of dispersed storage units capable of storing the error coded data slices and selecting the set of dispersed storage units for storing the error coded data slices based on the slice metadata and the memory characteristics. | 12-20-2012 |
20130013761 | COMPLETING DISTRIBUTION OF MULTI-MEDIA CONTENT TO AN ACCESSING DEVICE - A method begins by a dispersed storage (DS) processing module determining whether to complete downloading of a data segment of multi-media content to an accessing device that possess a partial set of encoded data slices. When the downloading is to be completed, the method continues with the DS processing module determining a user set of encoded data slices, wherein the user set of encoded data slices includes first and second sub-sets of encoded data slices of the set of encoded data slices, determining whether encoded data slices of the partial set of encoded data slices substantially matches encoded data slices of the first sub-set of encoded data slices, and when the encoded data slices of the partial set of encoded data slices substantially matches encoded data slices of the first sub-set of encoded data slices, sending the second sub-set of encoded data slices to the accessing device. | 01-10-2013 |
20130013798 | DISTRIBUTION OF MULTI-MEDIA CONTENT TO A USER DEVICE - A method begins by a dispersed storage (DS) processing module determining, for multi-media content that has not been released, access priority for a user device and selecting a pre-release data distribution protocol and a post-release data distribution protocol. The method continues with the DS processing module distributing a plurality of pre-release sub-sets of a plurality of sets of encoded data slices to the user device in accordance with the selected pre-release data distribution protocol, wherein the multi-media content is dispersed storage error encoded to produce the plurality of sets of encoded data slices. The method continues with the DS processing module distributing a plurality of second sub-sets of the plurality of sets of encoded data slices to the user device in accordance with the selected post-release data distribution protocol. | 01-10-2013 |
20130013959 | DISTRIBUTION OF A CUSTOMIZED PREVIEW OF MULTI-MEDIA CONTENT - A method begins by a dispersed storage (DS) processing module receiving an access request for a customized preview of multi-media content from an accessing device that possesses first sub-sets of encoded data slices, wherein the multi-media content is segmented into data segments, wherein each data segment is encoded to produce a plurality of sets of encoded data slices and wherein the plurality of sets of encoded data slices includes the plurality of first sub-sets of encoded data slices and a plurality of second sub-sets of encoded data. The method continues with the DS processing module identifying a set of data segments corresponding to the customized preview of the multi-media content. The method continues with the DS processing module sending, to the accessing device, at least one encoded data slice of a second sub-set of encoded data slices that corresponds to a data segment of the set of data segments. | 01-10-2013 |
20130013960 | MAINTENANCE FREE STORAGE CONTAINER STORAGE MODULE ACCESS - A method begins by a processing module determining failure mode information for a plurality of storage modules of a maintenance-free storage container. The method continues with the processing module managing storage mapping information of data content within the plurality of storage modules based on the failure mode information and receiving a data access request. The method continues with the processing module interpreting the data access request based on the storage mapping information to identify one or more of the plurality of storage modules to produce one or more identified storage modules and generating an in-container data access request based on the data access request and the one or more identified storage modules. The method continues with the processing module sending the in-container data access request to the one or more identified storage modules. | 01-10-2013 |
20130013961 | REBUILDING A DATA SLICE OF A MAINTENANCE FREE STORAGE CONTAINER - A method begins by a dispersed storage (DS) processing module detecting a storage error of an encoded data slice associated with a storage server within a maintenance free storage container. The method continues with the DS processing module determining failure mode information for the storage server and other storage servers and determining a rebuilding protocol for the encoded data. When the determined rebuilding protocol is a zero information gain (ZIG) protocol, the method continues with the DS processing module identifying a decode threshold number of storage servers from the other storage servers of the maintenance free storage container and from storage servers of another maintenance free storage container, retrieving zero information gain (ZIG) partial encoded data slices from the decode threshold number of storage servers, and decoding the ZIG partial encoded data slices utilizing a ZIG dispersed storage error coding function to reproduce the encoded data slice. | 01-10-2013 |
20130014254 | RESPONDING TO A MAINTENANCE FREE STORAGE CONTAINER SECURITY THREAT - A method for responding to a security threat for a maintenance free storage container begins by a dispersed storage (DS) processing module identifying a security threat for the maintenance free storage container, wherein the maintenance free storage container allows for multiple storage servers of a plurality of storage servers to be in a failure mode without replacement. The method continues with the DS processing module determining a failure mode level that is indicative of whether one or more of the multiple storage servers are in the failure mode. The method continues with the DS processing module selecting a security threat countermeasure based on the security threat and the failure mode level. The method continues with the DS processing module implementing the security threat countermeasure. | 01-10-2013 |
20130046992 | STORAGE AND RETRIEVAL OF DISPERSED STORAGE NETWORK ACCESS INFORMATION - A method begins by a dispersed storage (DS) processing module receiving a certificate signing request (CSR) from a user device. The method continues with the DS processing module generating a set of hidden passwords based on the CSR and accessing a set of authenticating units to obtain a set of passkeys. The method continues with the DS processing module retrieving a set of encrypted shares and decrypting the set of encrypted shares to produce a set of encoded shares. The method continues with the DS processing module decoding the set of encoded shares to recapture a private key and generating a user signed certificate based on the private key. The method continues with the DS processing module discarding the private key to substantially protect the private key from the user device and outputting the user signed certificate to the user device. | 02-21-2013 |
20130111293 | Storing data in a dispersed storage network | 05-02-2013 |
20130125190 | DIGITAL CONTENT DISTRIBUTION UTILIZING DISPERSED STORAGE - A computer includes an interface and a processing module. The processing module receives, over time and via the interface, requests to playback recorded broadcast data, wherein a single copy of the recorded broadcast data is dispersed error encoded to produce a plurality of sets of encoded data slices that is stored in a dispersed storage network (DSN). In response to the playback requests, the processing module identifies unique combinations of at least a threshold number of encoded data slices for sets of the plurality of sets of encoded data slices to produce unique copies of the recorded broadcast data. For a particular playback request, the processing module retrieves a unique copy of the unique copies of the recorded broadcast data from the DSN and outputs, via the interface, the retrieved unique copy to a device associated with the particular playback request. | 05-16-2013 |
20130151581 | Analyzing Found Data in a Distributed Storage and Task Network - A method begins by a dispersed storage (DS) processing module establishing data identifying criteria for searching data on a network, establishing data analyzing criteria for analyzing found data of the data on the network, and establishing distributed computing criteria. The method continues with the DS processing module distributing the data identifying criteria and the data analyzing criteria to a set of distributed storage and task (DST) units. The method continues with the DS processing module receiving a set of network data partial resultants from the set of DST units, wherein the set of DST units generates the set of network data partial results in accordance with the data identifying criteria to produce found data and analyzing the found data in accordance with the data analyzing criteria. The method continues with the DS processing module processing the set of network data partial resultants to produce a network data resultant. | 06-13-2013 |
20130151925 | Distributed Computing in a Distributed Storage and Task Network - A method begins by a dispersed storage (DS) processing module selecting a set of distributed storage and task (DST) execution units for executing a task and determining dispersed storage error coding parameters for data. The method continues with the DS processing module dispersed storage error encoding the data in accordance with the parameters to produce a plurality of encoded data blocks and grouping the plurality of encoded data blocks into a plurality of encoded data block groupings. The method continues with the DS processing module partitioning the task into a set of partial tasks, outputting at least some of the plurality of encoded data block groupings to the set of DST execution units, and outputting the set of partial tasks to the set of DST execution units for execution of the set of partial tasks on the at least some of plurality of encoded data block groupings. | 06-13-2013 |
20130151927 | Executing Partial Tasks in a Distributed Storage and Task Network - A method begins by a dispersed storage (DS) processing module receiving a partial task regarding an encoded data block grouping. The method continues with the DS processing module performing the partial task on the encoded data block grouping to produce a partial task result and determining subsequent treatment of the partial task result. When the subsequent treatment includes storage of the partial task result, the method continues with the DS processing module determining a manner in which the partial task result is to be stored. When the manner in which the partial task result is to be stored is dispersed storage, the method continues with the DS processing module dispersed storage error encoding the partial task result to produce one or more sets of encoded partial task result blocks and outputting the one or more sets of encoded partial task result blocks to a set of DST execution units. | 06-13-2013 |
20130151928 | Transforming Data in a Distributed Storage and Task Network - A method begins by a dispersed storage (DS) processing module determining whether at least a portion of temporarily stored data is to be stored long-term, wherein the temporarily stored data is stored in a set of distributed storage and task (DST) units in accordance with a computational-orientated dispersed storage error coding function. When the at least a portion of the temporarily stored data is to be stored long-term, the method continues with the DS processing module identifying one or more DST storing the at least a portion of the temporarily stored data, recovering the at least a portion of the temporarily stored data, dispersed storage error encoding the at least a portion of the temporarily stored data in a pre-dispersed storage error encoded format into a plurality of sets of encoded data slices, and storing the plurality of sets of encoded data slices in the set of DST units. | 06-13-2013 |
20130170062 | 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. | 07-04-2013 |
20130262854 | DATA DE-DUPLICATION IN A DISPERSED STORAGE NETWORK UTILIZING DATA CHARACTERIZATION - A computing device includes a processing module and an interface. The processing module is operable to receive, from a requesting device via the interface, a data storage request that includes data for storage. The processing module then determines whether substantially identical data is currently stored in a dispersed storage network (DSN) memory. When the substantially identical data is stored in the DSN memory, the processing module generates, for the requesting device, a second unique retrieval matrix of a plurality of sets of encoded data slices corresponding to the already stored substantially identical data, wherein the requesting device can recover at least a portion of the data based on the second unique retrieval matrix of the plurality of sets of encoded data slices. | 10-03-2013 |
20130275746 | DATA ENCRYPTION PARAMETER DISPERSAL - A method for securely distributing a profile within a dispersed storage network (DSN) that begins by encrypting a profile using a key. The method continues by encoding the encrypted profile in accordance with a dispersed storage error encoding function. The method continues by outputting the set of encoded profile slices to the DSN for storage therein. The method continues by encoding the key in accordance with an error encoding function and outputting the set of secure key portions to a set of devices of the DSN for storage therein. A device obtains the profile by retrieving secure key portions from the set of devices and recovering the key therefrom. The device then retrieves encoded profile slices from the DSN and decodes them to recover the encrypted profile. The device then decrypts the encrypted profile using the key to recover the profile. | 10-17-2013 |
20130283125 | DISTRIBUTED STORAGE NETWORK MEMORY ACCESS BASED ON MEMORY STATE - A storage device of a DSN includes a plurality of memory devices, an interface, and a processing module. The storage device receives an encoded data slice of a set of encoded data slices, wherein a data segment is dispersed storage error encoded to produce the set of encoded data slices. The dispersed storage error encoding includes arranging the data segment into a data matrix of data blocks, generating an encoded data matrix from the data matrix and an encoding matrix, and arranging encoded data blocks of the encoded data matrix into the set of encoded data slices. The storage unit then divides the encoded data slice into encoded data slice partitions and generates a parity data partition therefrom. The storage device then stores the encoded data slice partitions and the parity data partition in separate memory devices. | 10-24-2013 |
20130283326 | MEDIA DISTRIBUTION TO A PLURALITY OF DEVICES UTILIZING BUFFERED DISPERSED STORAGE - A method begins by a processing module receiving a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as sets of encoded data slices. In response to the playback requests, the method continues with the processing module entering a loop that begins with retrieving a group of sets of encoded data slices, generating copies therefrom, and storing the copies. The loop continues with the processing module sending a unique copy of the copies to a requesting device. The method continues with the processing module existing the loop when the last group of the request has been retrieved and repeating the loop when it has not. | 10-24-2013 |
20130311851 | ADJUSTING DATA DISPERSAL IN A DISPERSED STORAGE NETWORK - A method begins with a processing module determining that storage of data requires updating, wherein the data is stored as a plurality of sets of encoded data slices in DSN memory. For a first type of updating, the processing module increases the total number while maintaining the decode threshold number. The processing module then, for each set of encoded data slices, creates another encoded data slice in accordance with the dispersed storage error encoding function and the increased total number and sends the new encoded data slices to the DSN memory. For a second type of updating, the processing module increases the total number and the decode threshold number. The processing module then recovers the data and encodes it in accordance with the dispersed storage error encoding function using the increased total number and the increased decode threshold number to produce an updated plurality of sets of encoded data slices. | 11-21-2013 |
20130346795 | NON-TEMPORARILY STORING TEMPORARILY STORED DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving data from a plurality of sources and queuing the data for storage in a dispersed storage network (DSN). The method continues with the DS processing module utilizing temporary dispersed storage error encoding parameters for efficient and reliable error encoded temporary storage of the data in the DSN. For a data object of the data temporarily stored in the DSN, the method continues with the DS processing module determining non-temporary storage parameters for the data object, retrieving first encoded data slices regarding the data object from the DSN, reconstructing the data object from the first encoded data slices in accordance with the temporary dispersed storage error encoding parameters, encoding the reconstructed data object in accordance with the non-temporary storage parameters for the data object to produce second encoded data slices, and storing the second encoded data slices in the DSN. | 12-26-2013 |
20130347079 | ACCESSING STORAGE NODES IN AN ON-LINE MEDIA STORAGE SYSTEM - A method begins by a dispersed storage (DS) processing module receiving data objects from a plurality of authorized users and determining a system level storage efficiency preference for a data object. The method continues with the DS processing module selecting a set of storage nodes of an on-line media storage system based on the system level storage efficiency preference and determining dispersed storage error encoding parameters. The method continues with the DS processing module encoding the data object in accordance with the dispersed storage error encoding parameters to produce encoded data slices and generating system addressing information. The method continues with the DS processing module storing the encoded data slices in the set of storage nodes using the system addressing information and updating a user profile for the authorized user to include the system addressing information. | 12-26-2013 |
20140012825 | DISPERSED STORAGE NETWORK FOR MANAGING DATA DELETION - A dispersed storage device manages deletion of data objects stored within a dispersed storage network by receiving a data delete request to delete a data object stored throughout a set of dispersed storage units within a dispersed network memory of the dispersed storage network, determining a deletion policy for the data object and selectively generating and transmitting, based on the deletion policy, a delete command to the set of dispersed storage units. | 01-09-2014 |
20140012899 | 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. | 01-09-2014 |
20140019711 | DISPERSED STORAGE NETWORK VIRTUAL ADDRESS SPACE - A dispersed storage network utilizes a virtual address space to store data. The dispersed storage network includes a dispersed storage device for receiving a request relating to a data object stored in the dispersed storage network and determining a virtual memory address assigned to the data object. The virtual memory address is within a virtual memory address range of the virtual address space that is allocated to a vault associated with a user of the data object. The virtual memory address is further assigned to a data slice of a plurality of data slices of the data object. The dispersed storage device uses the virtual memory address to determine an identifier of a storage unit within the dispersed storage network that has the data slice stored therein. | 01-16-2014 |
20140040417 | STORING A STREAM OF DATA IN A DISPERSED STORAGE NETWORK - A processing module of a computing device alternatingly sends a stream of data to a first or second processing device. When receiving the stream of data, the first processing device performs a first portion of a dispersed storage error encoding function on the received stream of data to produce a plurality of sets of a threshold number of slices and writes the plurality of sets of the threshold number of slices into first memory of a dispersed storage network (DSN). When not receiving the stream of data, the first processing device reads the plurality of sets of the threshold number of slices from the first memory, performs a second portion of the dispersed storage error encoding function using the plurality of sets of the threshold number of slices to produce a plurality of sets of redundancy slices, and writes the plurality of sets of redundancy slices into second DSN memory. | 02-06-2014 |
20140040660 | STORING A DATA STREAM IN A SET OF STORAGE DEVICES - A set of storage devices coordinates selection of dispersed storage error encoding parameters for storing a stream of data and coordinates selection of encoded data storage devices and redundancy encoded data storage devices of the set of storage devices. The encoded data storage devices coordinates storage of a decode threshold amount of encoded data of the stream of data in accordance with the dispersed storage error encoding parameters. The encoded data storage devices send information regarding the decode threshold amount of encoded data to the redundancy encoded data storage devices. The redundancy encoded data storage devices generates redundancy encoded data based on the information regarding the decode threshold amount of encoded data and in accordance with the dispersed storage error encoding parameters. The redundancy encoded data storage devices store the redundancy encoded data to provide error encoded reliable storage of the stream of data. | 02-06-2014 |
20140101184 | FILE SYSTEM ADAPTED FOR USE WITH A DISPERSED DATA STORAGE NETWORK - A computer a network interface and a central processing unit. The network interface communicates with a network. The central processing unit (CPU) is operable to receive a networked file system access request packet and to identify a root directory based on the networked file system access request packet. The CPU then identifies a file directory based on the root directory and the networked file system access request packet. The CPU then identifies file object metadata based on the file directory and identifies a set of slice servers based on the file object metadata and the networked file system access request packet. The CPU then issues, via the network interface, a set of commands to a set of slice servers regarding the networked file system access request packet. | 04-10-2014 |
20140108882 | DATA TRANSMISSION UTILIZING ROUTE SELECTION AND DISPERSED STORAGE ERROR ENCODING - A method begins by a processing module obtaining a set of encoded data slices for transmission to a receiving entity via a network, wherein the set of encoded data slices represents data that has been dispersed storage error encoded. The method continues with the processing module dividing the set into a plurality of sub-sets of encoded data slices in accordance with an error coding distributed routing protocol. The method continues with the processing module determining a plurality of routing paths within the network in accordance with the error coding distributed routing protocol. The method continues with the processing module transmitting the plurality of sub-sets of encoded data slices via the plurality of routing paths to the receiving entity in accordance with the error coding distributed routing protocol. | 04-17-2014 |
20140115334 | RETRIEVING ACCESS INFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module obtaining a set of recovered random numbers, decoding encrypted share slices to produce a set of encrypted shares, and obtaining a set of personalized authenticating values regarding user access to data. The method continues with the processing module generating a set of hidden passwords based on the set of personalized authenticating values, generating a set of blinded passwords based on the set of hidden passwords and a set of blinded random numbers, and generating a set of passkeys based on the set of blinded passwords and the set of recovered random numbers. The method continues with the processing module generating a set of decryption keys based on the set of blinded random numbers and the set of passkeys, decrypting the set of encrypted shares to produce a set of shares, and decoding the set of shares to reproduce the data. | 04-24-2014 |
20140122969 | ADJUSTING DATA DISPERSAL IN A DISPERSED STORAGE NETWORK - A method begins with a processing module determining that storage of data requires updating, wherein the data is stored as a plurality of sets of encoded data slices in DSN memory. For a first type of updating, the processing module increases the total number while maintaining the decode threshold number. The processing module then, for each set of encoded data slices, creates another encoded data slice in accordance with the dispersed storage error encoding function and the increased total number and sends the new encoded data slices to the DSN memory. For a second type of updating, the processing module increases the total number and the decode threshold number. The processing module then recovers the data and encodes it in accordance with the dispersed storage error encoding function using the increased total number and the increased decode threshold number to produce an updated plurality of sets of encoded data slices. | 05-01-2014 |
20140208154 | STORING DATA IN A DISPERSED STORAGE NETWORK - A method begins by creating a vault as a virtual memory block within memory of a dispersed storage network (DSN). A segment of data is encoded into a set of encoded data slices and stored in the vault. The method continues by dividing the virtual memory block into a set of vault regions. The method continues by determining, for each vault region of the set of vault regions, vault parameters to produce a set of vault parameters. Vault parameters include a decode threshold number of encoded data slices and a total number of encoded data slices for encoding the segment of data. The method continues by facilitating data access to the vault in accordance with the set of vault parameters. | 07-24-2014 |
20140214909 | MODIFYING DATA STORAGE IN RESPONSE TO DETECTION OF A MEMORY SYSTEM IMBALANCE - A computing device includes an interface, memory, and a processing module. The memory stores a directory and inode tables. The directory stores a file identifier and a corresponding inumber for each file that is stored in storage units. An inode table stores an inumber, metadata, and a DSN address for each file stored in a corresponding storage unit. The processing module is operable to monitor, for each of the inode tables, utilization of the memory. The processing module is further operable to monitor, for each of the storage units, utilization of memory of the storage units. The processing module is further operable to process, for the inode table and/or the corresponding storage unit, per inode table memory utilization data and per storage unit memory utilization data to adjust memory utilization of the inode table and/or memory utilization of the corresponding storage unit. | 07-31-2014 |
20140222753 | UPDATING SHARED GROUP INFORMATION IN A DISPERSED STORAGE NETWORK - A method begins by a device of an affiliated group of devices establishing a desired change to shared group information and requesting a current version of the shared group information from devices in the affiliated group of devices. The method continues with the device interpreting the current version of the shared group information to determine whether the desired change to the shared group information is permissible. When the desired change to the shared group information is permissible, the method continues with the device sending to devices, a request to update the shared group information to include the desired change. Upon receipt of successfully updating the shared group information from the devices, the method continues with the device performing an operation corresponding to the desired change. | 08-07-2014 |
20140247516 | LOCALIZED DISPERSED STORAGE MEMORY SYSTEM - A method includes a processing module receiving data to store and determining error coding dispersal storage function parameters based on an error profile of one or more hard drives. 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 one or more hard drives 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. | 09-04-2014 |
20140282763 | DISTRIBUTION OF UNIQUE COPIES OF BROADCAST DATA UTILIZING FAULT-TOLERANT RETRIEVAL FROM DISPERSED STORAGE - A broadcast of data is stored as a plurality of sets of encoded data slices stored using an error coding dispersal storage function. In response to receiving a playback request, a centralized digital video recorder (DVR) identifies a first unique combination of encoded data slices, and determines whether that combination of data slices is available for retrieval. If the data slices are available, they are retrieved. If the data slices are not available, another unique combination of encoded data slices of the plurality of sets of encoded data slices is identified and retrieved, instead. Both combinations of data slices can be used to recreate a unique copy of broadcast data. | 09-18-2014 |
20140282764 | MEDIA DISTRIBUTION TO A PLURALITY OF DEVICES UTILIZING BUFFERED DISPERSED STORAGE - A method begins by a processing module receiving a plurality of playback requests for a stored program, wherein the stored program is stored in a dispersed storage network (DSN) memory as sets of encoded data slices. In response to the playback requests, the method continues with the processing module entering a loop that begins with retrieving a group of sets of encoded data slices, generating copies therefrom, and storing the copies. The loop continues with the processing module sending a representation of the copies to a requesting device. The method continues with the processing module exiting the loop when the last group of the request has been retrieved and repeating the loop when it has not. | 09-18-2014 |
20140297776 | EFFICIENT STORAGE OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving data for storage and generating a dispersed storage network (DSN) source name for the data. The method continues with the DS processing module determining whether substantially identical data to the data has been previously stored in memory of the DSN. When the substantially identical data has been previously stored in the memory of the DSN, the method continues with the DS processing module generating an object linking file that links the data to the substantially identical data, dispersed storage error encoding the object linking file to produce a set of encoded link file slices, and outputting the set of encoded link file slices for storage in the memory of the DSN. | 10-02-2014 |
20140298061 | POWER CONTROL IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) receiving a plurality of data access requests regarding a plurality of data objects. As individual data access requests of the plurality of data access requests are received, the method continues with the DS processing module, for each of the individual data access requests identifying a corresponding one of a plurality of logical storage pools of the DSN and determining power based access status of the corresponding one of the plurality of logical storage pools. When the power based access status is power saving mode, the method continues with the DS processing module queuing the individual data access request. When the power based access status is not in the power saving mode, the method continues with the DS processing module executing the individual data access request. | 10-02-2014 |
20140298138 | PRIORITIZED DELETING OF SLICES STORED IN A DISPERSED STORAGE NETWORK - A method begins, as data objects are ingested, by determining, for each of some of the data objects, a priority indicator to produce a listing of priority indicators. The method continues for a data object by determining encoding parameters based on a corresponding priority indicator. The method continues by encoding the data object in accordance with the encoding parameters to produce a plurality of sets of encoded data slices and storing them. The method continues by identifying a first data object for analysis based on a corresponding priority indicator and an analysis priority. The method continues by decoding a plurality of sets of encoded data slices to recover the first data object and analyzing it in accordance with analysis criteria to determine its relevancy. The method continues by issuing a command to delete the plurality of sets of encoded data slices when the relevancy is below a threshold. | 10-02-2014 |
20140304360 | DISTRIBUTING MULTI-MEDIA CONTENT TO A PLURALITY OF POTENTIAL ACCESSING DEVICES - A method begins by receiving a first sub-set of encoded data slices of a set of encoded data slices. The first sub-set of encoded data slices includes less than a decode threshold number of encoded data slices. The method continues by sending accessing information regarding access to the multi-media content subsequent to receiving the first sub-set of encoded data slices. The method continues by receiving, as a favorable response to the accessing information, at least one of the encoded data slices of the second sub-set of encoded data slices such that at least the decode threshold number of encoded data slices have been received from the set of encoded data slices. The method continues by decoding the at least the decode threshold number of encoded data slices to recover the data segment. | 10-09-2014 |
20140304526 | DATA DEDUPLICATION IN A DISPERSED STORAGE SYSTEM - An efficient data deduplication method for use in a dispersed storage network (DSN). After a data object is received for storage in the DSN, it is determined whether a substantially identical data object has previously been encrypted and stored. The determination may be made, for example, by comparing an encryption key reference value relating to the data object to key reference information stored in DSN memory. If not detected, the data object is encrypted using an encryption key based on the data object. The encrypted data object is then compressed and stored. The encryption key and a key reference value are also stored as encoded key slices in DSN memory. If the data object was previously stored, it is encrypted using a retrieved encryption key that is substantially identical to the data object. The data object may then be compressed for storage using a pattern based data compression function. | 10-09-2014 |
20140304527 | EFFICIENT MEMORY UTILIZATION IN A DISPERSED STORAGE SYSTEM - A method for improving memory utilization in a dispersed storage network (DSN). After a data object is received for storage in the DSN, it is determined whether a substantially identical data portion of the data object has previously been encrypted and stored. The determination may be made, for example, by comparing a portion reference value relating to the data object to portion reference information stored in DSN memory. If not detected, the data object is encrypted using an encryption pattern sequence and encryption key, at least one of which substantially identical to at least a portion of the data portion. The encrypted data object is then compressed using a pattern based data compression function, and the compressed data object is stored. The portion reference value is also stored in DSN memory. | 10-09-2014 |
20140310572 | EFFICIENT STORAGE OF ENCRYPTED DATA IN A DISPERSED STORAGE NETWORK - A method begins with a processing module obtaining data to store and determining whether substantially similar data to the data is stored. When the substantially similar data is not stored, the method continues with the processing module generating a first encryption key based on the data, encoding the first encryption key into encoded data slices in accordance with an error coding dispersal storage function, and storing the encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module encrypting the data using an encryption key of the substantially similar data in accordance with an encryption function to produce encrypted data, compressing the encrypted data in accordance with a compression function to produce compressed data, storing the compressed data when the substantially similar data is stored. | 10-16-2014 |
20140317224 | DISTRIBUTED STORAGE NETWORK FOR STORING A DATA OBJECT BASED ON STORAGE REQUIREMENTS - A distributed storage network (DSN) includes a user device and a plurality of DSN memories, wherein each of the DSN memories includes a plurality of storage units. The user device includes at least one network interface to the plurality of DSN memories and at least one processing module that is operable to determine one of the plurality of DSN memories for storing a data object based on a comparison of one or more storage requirements of the data object and one or more DSN attributes of the plurality of DSN memories. | 10-23-2014 |
20140325260 | SLICE MIGRATION IN A DISPERSED STORAGE NETWORK - A dispersed storage unit includes a physical memory and a storage unit control module. The physical memory is transferred to a receiving dispersed storage unit from a transferring dispersed storage unit, which used the transferred physical memory to store encoded data slices prior to the at least one physical memory being transferred. The encoded data slices stored on the transferred physical memory have addresses falling within a first address range. The storage control unit is configured to detect installation of the transferred physical memory, and to notify a dispersed storage network that data slices within the first address range are to be received by and retrieved from the receiving dispersed storage unit. | 10-30-2014 |
20140325264 | STORING AN ENCODED DATA SLICE AS A SET OF SUB-SLICES - A method begins by storage units of a dispersed storage network (DSN) receiving a set of encoded data slices for storage. The method continues with a first storage unit determining whether to store a first encoded data slice as a first set of encoded data sub-slices. The method continues with the first storage unit encoding the first encoded data slice in accordance with a first dispersed storage error encoding function to produce the first set of encoded data sub-slices. The method continues by a second storage unit of the storage units determining whether to store a second encoded data slice as a second set of encoded data sub-slices. The method continues with the second storage unit encoding the second encoded data slice in accordance with a second dispersed storage error encoding function to produce the second set of encoded data sub-slices. | 10-30-2014 |
20140325266 | LIKELIHOOD BASED REBUILDING OF MISSING ENCODED DATA SLICES - A method begins by a processing module of a dispersed storage network (DSN) detecting a likelihood of having a missing encoded data slice based on local physical to DSN address mapping information. When the likelihood of having the missing encoded data slice exists, the method continues with the processing module sending a query regarding the missing encoded data slice to another storage unit of the DSN and receiving a response to the query from the other storage unit. When the response includes identity of a related encoded data slice of a set of encoded data slices, the method continues with the processing module commencing execution of a rebuilding function to generate a new encoded data slice to replace the missing encoded data slice. | 10-30-2014 |
20140325307 | DETECTING A UTILIZATION IMBALANCE BETWEEN DISPERSED STORAGE NETWORK STORAGE UNITS - A method begins by a processing module of a dispersed storage network (DSN) obtaining utilization information regarding a plurality of storage units of the DSN, where first and second sets of storage units support a first logical storage vault. The method continues with the processing module detecting a utilization imbalance between a first storage unit of the first set of storage units and a second storage unit of the second set of storage units based on the utilization information, where the first and second storage units are not a common storage unit. The method continues with the processing module executing a data storage function regarding the first logical storage vault based on the utilization imbalance. | 10-30-2014 |
20140328573 | ACCESSING STORED MULTI-MEDIA CONTENT BASED ON A SUBSCRIPTION PRIORITY LEVEL - A method begins with a processing module of a centralized digital video storage (DVS) system storing, for playback, a plurality of sets of encoded data slices in storage units, where multi-media content is encoded to produce the plurality of sets of encoded data slices. The method continues with the processing module monitoring the storage units for a failure mode and monitoring a number of subscriber devices requesting playback of the multi-media content. The method continues with the processing module determining whether a sufficient number of unique combinations of a decode threshold number of encoded data slices per set of slices exists to service playback of the multi-media content. When the sufficient number of the unique combinations do not exist, the method continues with the processing module reassigning unique combinations of the decode threshold number of encoded data slices per set of encoded data slices to some of the subscriber devices. | 11-06-2014 |
20140331103 | ENCODING MULTI-MEDIA CONTENT FOR A CENTRALIZED DIGITAL VIDEO STORAGE SYSTEM - A method begins with a processing module of a centralized digital video storage (DVS) system regarding recording of multi-media content that is to be broadcast at a particular broadcast time, determining a number of subscriber devices that have selected to record the multi-media content. At the particular broadcast time, the method continues with the processing module receiving the multi-media content as it is being broadcast. When the number of subscriber devices is less than a first value, the method continues with the processing module encoding the multi-media content using first level encoding parameters to produce sets of first level encoded data slices for storage. When the number of subscriber devices is equal to or greater than the first value, the method continues with the processing module encoding the multi-media content using second level encoding parameters to produce sets of second level encoded data slices for storage. | 11-06-2014 |
20140331104 | EFFICIENT STORAGE OF ENCRYPTED DATA IN A DISPERSED STORAGE NETWORK - A method begins with a processing module obtaining data to store and determining whether substantially similar data to the data is stored. When the substantially similar data is not stored, the method continues with the processing module generating a first encryption key based on the data, encoding the first encryption key into encoded data slices in accordance with an error coding dispersal storage function, and storing the encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module encrypting the data using an encryption key of the substantially similar data in accordance with an encryption function to produce encrypted data, compressing the encrypted data in accordance with a compression function to produce compressed data, storing the compressed data when the substantially similar data is stored. | 11-06-2014 |
20140331330 | APPLYING DIGITAL RIGHTS MANAGEMENT TO MULTI-MEDIA FILE PLAYBACK - A method begins with a processing module of a centralized digital video storage (DVS) system that supports a plurality of subscriber units, receiving a request for playback of a stored multi-media file from a subscriber unit. The method continues with the processing module determining whether the stored multi-media file is a subscription based file or a publically available file. When the stored multi-media file is the subscription based file, the method continues with the processing module accessing digital rights management data regarding subscription based multi-media files to determine the subscriber unit's digital rights to the stored multi-media file. When the subscriber unit's digital rights include playback of the multi-media file, the method continues with the processing module sending a unique copy of the stored multi-media file to the subscriber unit in accordance with a unique slice retrieval pattern of the subscriber unit. | 11-06-2014 |
20140337684 | CHANGING DISPERSED STORAGE ERROR ENCODING PARAMETERS - A method begins with a processing module of a dispersed storage network (DSN) maintaining, over time, a continuum of time-to-repair information regarding a plurality of storage units of the DSN and maintaining, over time, a continuum of time-to-failure information regarding the plurality of storage units. When the continuum of time-to-repair information and the continuum of time-to-failure information are each below undesired levels, the method continues with the processing module changing dispersed storage error encoding parameters of a logical storage vault of the DSN by lowering a decode threshold number with respect to a current decode threshold number and increasing a pillar width number with respect to a current pillar width number. The method continues with the processing module re-encoding stored encoded data of the logical storage vault based on the increased pillar width number and the decreased decode threshold number. | 11-13-2014 |
20140344284 | 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. | 11-20-2014 |
20140344645 | DISTRIBUTED STORAGE WITH AUXILIARY DATA INTERSPERSAL AND METHOD FOR USE THEREWITH - A data segment is encrypted to produce an encrypted data segment. The encrypted data segment is dispersed storage error encoded to produce a set of encoded data slices. Auxiliary data is dispersed storage error encoded to produce a set of encoded auxiliary data slices. A sequence of output slices is generated to obscure the set of encoded data slices by interspersing the set of encoded auxiliary data slices within the set of encoded data slices. | 11-20-2014 |
20140359348 | ADJUSTING DISPERSED STORAGE NETWORK TRAFFIC DUE TO REBUILDING - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) monitoring network traffic within the DSN. When the network traffic compares unfavorably to a desired network traffic function, the method continues with the DS processing module reducing a portion of the network traffic due to rebuilding flagged encoded data slices by at least one of changing rebuilding criteria for the flagged encoded data slices and changing rebuilding network traffic protocols. | 12-04-2014 |
20140372607 | ADJUSTING ALLOCATION OF DISPERSED STORAGE NETWORK RESOURCES - A method begins by a processing module of a dispersed storage network (DSN) monitoring, over time for a user device, an actual service level in comparison to a subscription service level, where the subscription service level has a range of acceptable service, where the actual service level is a statistical measure of accessing the DSN, where the DSN includes a plurality of DSN resources that, in turn, includes a first performance level dispersed storage processing unit, a second performance level dispersed storage processing unit, a plurality of first performance level storage units, and a plurality of second performance level storage units. When the actual service level is outside of the range of acceptable service, the method continues with the processing module adjusting allocation of one or more DSN resources of the plurality of DSN resources to bring a future service level back inside the range of acceptable service. | 12-18-2014 |
20140372695 | 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. | 12-18-2014 |
20150039666 | DISTRIBUTED STORAGE NETWORK WITH CLIENT SUBSETS AND METHODS FOR USE THEREWITH - A method includes identifying a plurality of DST client modules affiliated with data for storage in the DST network. A corresponding subset of a plurality of DST execution units are identified for each of the plurality of DST client modules. The data is encoded into a plurality of slices based on at least one dispersal parameter, the number of the plurality of slices corresponding to a number of the plurality of DST execution units included in a superset formed from the union of each subset of a plurality of DST execution units corresponding to each of the plurality of DST client modules. The plurality of slices are sent for storage in the superset formed from the union of each subset of a plurality of DST execution units. | 02-05-2015 |
20150067101 | DISPERSED STORAGE BASED ON ESTIMATED LIFE AND METHODS FOR USE THEREWITH - A dispersed storage and task (DST) processing unit receives a data access request. An estimated end of life is determined for a plurality of DST execution units. A subset of the plurality of DST execution units is selected, based on a threshold number associated with the data access request and further based on the estimated end of life for the subset of the plurality of DST execution units. The data access request is executed via the subset of the plurality of DST execution units. | 03-05-2015 |