Patent application number | Description | Published |
20090094250 | Ensuring data integrity on a dispersed storage grid - An improved system is disclosed for ensuring the integrity of data stored on a dispersed data storage network. Checksums are used to ensure integrity of both data segments and data slices. Checksums appended to data slices are checked by receiving slice servers to ensure that no errors occurred during transmission. Slice servers also periodically recalculate checksums for stored data slices to ensure that data slices have not been corrupted during storage. Checksums appended to data segments are checked when data segments are read from the storage network. | 04-09-2009 |
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 |
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 |
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 |
20100161916 | METHOD AND APPARATUS FOR REBUILDING DATA IN A DISPERSED DATA STORAGE NETWORK - A method begins by identifying a data slice requiring rebuilding to produce an identified data slice, wherein the identified data slice is one of a plurality of data slices that constitute a data segment and wherein each of the plurality of data slices is assigned for storage by a corresponding one of a plurality of data slice servers. The method continues by retrieving at least m number of data slices from at least m number of the plurality of data slice servers, wherein m data slices of the plurality of data slices enable reconstruction of the data segment, and wherein the at least m number of data slices does not include the identified data slice. The method continues by reconstructing the identified data slice from the at least m number of data slices to produce a rebuilt data slice. The method continues by writing the rebuilt data slice to the corresponding one of the plurality of data slice servers or to a new slice server. | 06-24-2010 |
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 |
20100306578 | RANGE BASED REBUILDER FOR USE WITH A DISPERSED DATA STORAGE NETWORK - A message is generated by a computer operating on a dispersed data storage network indicating the inaccessibility of a plurality of data slices. A rebuilder application operates on the dispersed data storage grid and rebuilds inaccessible data slices, including those identified by the message. | 12-02-2010 |
20110029711 | METHOD AND APPARATUS FOR SLICE PARTIAL REBUILDING IN A DISPERSED STORAGE NETWORK - A dispersed storage system includes a plurality of storage units that each include a partial rebuild grid module. The partial rebuild grid module includes partial rebuilding functionality to reconstruct one of a plurality of encoded data slices wherein the plurality of encoded data slices are generated from a data segment based on an error encoding dispersal function. In the partial rebuilding process, a data slice is rebuilt by combining in any order slice partials generated from at least a threshold number T of the plurality of data slices. | 02-03-2011 |
20110029731 | DISPERSED STORAGE WRITE PROCESS - A dispersed storage (DS) method begins by issuing a plurality of write commands to a plurality of DS storage units. The method continues by receiving a write acknowledgement from one of the plurality of DS storage units to produce a received write acknowledgement. The method continues by issuing a plurality of commit commands to the plurality of DS storage units when a write threshold number of the received write acknowledgements have been received. The method continues by receiving a commit acknowledgement from a DS storage unit of the plurality of DS storage units to produce a received commit acknowledgement. The method continues by issuing a plurality of finalize commands to the plurality of DS storage units when a write threshold number of the received commit acknowledgements have been received. | 02-03-2011 |
20110029809 | METHOD AND APPARATUS FOR DISTRIBUTED STORAGE INTEGRITY PROCESSING - A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit. | 02-03-2011 |
20110029836 | METHOD AND APPARATUS FOR STORAGE INTEGRITY PROCESSING BASED ON ERROR TYPES IN A DISPERSED STORAGE NETWORK - A storage integrity system in a dispersed storage network scans an address range of data slices to identify errors in one of a plurality of encoded data slices, wherein the plurality of encoded data slices are generated from a data segment using an error encoding dispersal function. When the storage integrity system detects an error, it identifies one of the encoded data slices for rebuilding. The identified data slice is rebuilt in response to the type of error. For example, when the type of the error includes a temporary error, the storage integrity system waits a predetermined time period to determine whether the error still exists prior to rebuilding the identified data slice. | 02-03-2011 |
20110071988 | DATA REVISION SYNCHRONIZATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module determining dispersed storage (DS) units that are storing a set of encoded data slices associated with a data segment and sending a revision level check request message to each of the DS units. The method continues with the processing module receiving revision level check response messages from at least some of the DS units within a time period to produce received revision level check response messages and determining concurrency of a revision level of the set of encoded data slices stored by the DS units based on the received revision level check response messages. The method continues with the processing module initiating a revision concurrency process when less than a threshold number of encoded data slices have concurrency of the revision level. | 03-24-2011 |
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 |
20110102546 | DISPERSED STORAGE CAMERA DEVICE AND METHOD OF OPERATION - A distributed storage network contains a user device that has a computing core, a DSN interface and either an integrated or an externally-connected camera or sensor. The camera or sensor collects data from its surrounding environment and processes the data at least partially through error coding dispersal storage functions that include slicing the data into a plurality of error-coded data slices. The error-coded data slices are output by the user device for one or more of storage within a dispersed storage network (DSN) memory, playing on a destination player, or broadcast consumption over a network. A storage integrity unit manages the storage capacity, use, and/or throughput of the system to ensure that data is processing in a real time or near real time so that data can be accurately processed and perceived by targeted end users. | 05-05-2011 |
20110106769 | DISTRIBUTED STORAGE NETWORK THAT PROCESSES DATA IN EITHER FIXED OR VARIABLE SIZES - A distributed storage network receives a data object and determines a size of the data object. The network then determines whether the data object should be segmented into fixed size segments or variable sizes segments based upon some variable-length algorithm. If the fixed approach is selected, the data object is segmented into two or more fixed size segments with attached header information and the information is further processed using error coding dispersal storage functions within the network. If the variable approach is selected, the data object is segmented into two or more variable-sized segments with attached header information and the information is further processed using error coding dispersal storage functions within the network. Both the variable and fixed approaches enable storage of error-correctable data slices in a distributed storage manner. | 05-05-2011 |
20110107036 | DISTRIBUTED STORAGE REVISION ROLLBACKS - Multiple revisions of an encoded data slice can be stored in a distributed storage unit. Before writing a new revision of an encoded data slice to storage, the distributed storage unit can invoke a write lock for all encoded data slices having the same slice name as the slice being currently written. The slice being currently written can be stored in temporary storage, and a rollback timer started. If a commit command is received before expiration of the rollback timer, the currently written slice can be permanently stored and made accessible for read requests. If the rollback timer expires prior to the storage unit receiving a commit command, however, a previously stored revision will be used. | 05-05-2011 |
20110107113 | DISTRIBUTED STORAGE NETWORK DATA REVISION CONTROL - Multiple revisions of an encoded data slice are generated, with each revision having the same slice name. Each of the data slices represents the same original data portion, but each is encoded so that no single data slice can be used to reconstruct the original data portion. Appropriate revision numbers are associated with each encoded data slice, and the encoded data slices and associated revision numbers are transmitted for storage in selected storage units of a distributed storage network. If write confirmations are received from at least a write threshold number of storage units, a commit command is transmitted so that the most recently written data slices will be available for access. After a commit command is issued, a current directory used to access the encoded data slices can be sliced, encoded, and stored in the same way as the data slices. | 05-05-2011 |
20110161681 | DIRECTORY SYNCHRONIZATION OF A DISPERSED STORAGE NETWORK - A method begins by a processing module dispersed storage error encoding data to produce a set of encoded data slices and generating a transaction identifier regarding storage of the set of encoded data slices. The method continues with the processing module outputting a plurality of write request messages to a plurality of dispersed storage (DS) units, wherein each of the plurality of write request messages includes the transaction identifier and a corresponding one of the set of encoded data slices. The method continues with the processing module receiving write response messages from at least some of the DS units, wherein each of the write response messages includes a reference to the transaction identifier. The method continues with the processing module updating directory information regarding storage of the data to produce updated directory information when at least a write threshold number of the write response messages have been received. | 06-30-2011 |
20110161754 | REVISION SYNCHRONIZATION OF A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a write request message from a dispersed storage (DS) processing module, wherein the write request message includes a slice name, a DS processing module most-recent slice revision, a new slice revision, and an encoded directory slice of directory information regarding storage of data. The method continues with the processing module obtaining, from local memory, a DS unit most-recent slice revision based on the slice name. The method continues with the processing module storing the new slice revision as the DS unit most-recent slice revision and storing the encoded directory slice when the DS unit most-recent slice revision compares favorably to the DS processing module most-recent slice revision. | 06-30-2011 |
20110184912 | DISPERSED STORAGE NETWORK UTILIZING REVISION SNAPSHOTS - A method begins by a processing module obtaining a directory file and determining a new snapshot identifier (ID) for the directory file. The method continues with the processing module identifying a version of a filename to associate with the new snapshot ID and updating the directory file by associating the snapshot ID to the version of the filename to produce an updated directory file. The method continues with the processing module dispersed storage error encoding the updated directory file to produce a set of encoded updated directory file slices and sending the set of encoded updated directory file slices to a dispersed storage network (DSN) memory for storage. | 07-28-2011 |
20110185141 | DATA MIGRATION IN A DISPERSED STORAGE NETWORK - A method begins by processing module determining data to migrate, wherein the data is stored as a plurality of sets of encoded data slices in a first set of dispersed storage (DS) units. The method continues with the processing module retrieving at least a read threshold number of encoded data slices for each set of the plurality of sets of encoded data slices and dispersed storage error decoding the at least the read threshold number of encoded data slices in accordance with error coding dispersal storage function parameters to reproduce the data. The method continues with the processing module dispersed storage error encoding the data in accordance with second error coding dispersal storage function parameters to produce a plurality of sets of second encoded data slices and sending at least a write threshold number of second encoded data slices to a second set of DS units for storage therein. | 07-28-2011 |
20110185253 | DIRECTORY FILE SYSTEM IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data storage request, wherein the data storage request includes data and a data identifier (ID). The method continues with the processing module dispersed storage error encoding the data to produce a set of encoded data slices and determining a data dispersed storage network (DSN) address. The method continues with the processing module sending the set of encoded data slices to a DSN memory for storage at the data DSN address and updating a directory file with path information corresponding to the data ID and the data DSN address to produce an updated directory file. The method continues with the processing module dispersed storage error encoding the updated directory file to produce a set of encoded updated directory slices and sending the set of encoded updated directory slices to the DSN memory for storage at a directory DSN address. | 07-28-2011 |
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 |
20110225209 | DISPERSED STORAGE NETWORK FILE SYSTEM DIRECTORY - A dispersed storage device manages a file system directory of a dispersed storage network by receiving a data object to be stored and a user file name of the data object, calculating a data compression function of the data object, creating a file identifier based on a result of the data compression function, creating a source name for the data object using the file identifier and linking the user file name to the source name in the file system directory. | 09-15-2011 |
20110225360 | DISPERSED STORAGE NETWORK RESOURCE ALLOCATION - A dispersed storage managing unit allocates resources within a dispersed storage network by determining a state of a dispersed storage unit supporting a vault associated with at least one user of the dispersed storage network and provisioning storage within the dispersed storage unit based on the state thereof. | 09-15-2011 |
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 |
20110261813 | LIST RANGE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a list range request operation by generating a start slice name field of the payload section to include a start slice name of a slice name range, generating an end slice name field of the payload section to include an end slice name of the slice name range, and generating a maximum response count field of the payload section to include a maximum slice name response count. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 10-27-2011 |
20110261819 | LIST DIGEST OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a list digest request operation by generating a start slice name field of the payload section to include a start slice name of a slice name range, generating an end slice name field of the payload section to include an end slice name of the slice name range, and generating a maximum response count field of the payload section to include a maximum slice name response count. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section, generating an operation code field to indicate the list digest request operation, and generating remaining fields of the protocol header. | 10-27-2011 |
20110264869 | CONCLUSIVE WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network frame regarding a conclusive write request operation by generating one or more slice name fields of a payload to include one or more slice names corresponding to one or more write commit responses of a write request operation, wherein the conclusive write request operation is a conclusive phase of the write request operation. The method continues with the processing module generating one or more slice revision numbering fields of the payload, wherein each slice revision numbering field includes a slice revision number corresponding to an associated slice name of the one or more slice names. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length and generating remaining fields of the protocol header. | 10-27-2011 |
20110264950 | CHECK OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a check request operation by generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices and generating a transaction number field of the payload section to include a transaction number corresponding to the check request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 10-27-2011 |
20110289383 | RETRIEVING DATA FROM A DISPERSED STORAGE NETWORK IN ACCORDANCE WITH A RETRIEVAL THRESHOLD - A method begins by a processing module determining a retrieval threshold for retrieving a set of encoded data slices from a dispersed storage network (DSN), wherein the set of encoded data slices represents data encoded using a dispersed storage error encoding function having a pillar width of “n”, a decode threshold of “k”, and an encoding ratio of n−k>k and wherein the retrieval threshold is in accordance with the encoding ratio. The method continues with the processing module issuing data retrieval requests to the DSN for the set of encoded data slices and receiving encoded data slices of the set of encoded data slices to produce received encoded data slices. The method continues with the processing module decoding the received encoded data slices to recapture the data when a number of received encoded data slices compares favorably to the retrieval threshold. | 11-24-2011 |
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 |
20120110038 | COMPACTING DISPERSED STORAGE SPACE - A method begins by a processing module receiving an encoded data slice for storage in memory that is organized as a plurality of log files and identifying a log file based on information regarding the encoded data slice to produce an identified log file, wherein the identified log file is storing at least one other encoded data slice. The method continues with the processing module comparing storage parameters of the identified log file with desired storage parameters associated with the encoded data slice. The method continues with the processing module attempting to identify a second log file based on an alternate log file storage protocol when the storage parameters of the identified log file compare unfavorably with the desired storage parameters and when the second log file is identified, storing the encoded data slice in the second log file. | 05-03-2012 |
20120166757 | RETRIEVING DATA SEGMENTS FROM A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a file retrieval request for a file, wherein the file includes one or more data regions, and wherein a data region of the one or more data regions is divided into a plurality of data segments and stored as a plurality of sets of encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module retrieving a segment allocation table (SAT), wherein a SAT entry of a plurality of SAT entries includes information regarding storing the data region in the DSN memory and a segmentation scheme regarding the dividing of the data region into the plurality of data segments. The method continues with the processing module identifying the plurality of sets of encoded data slices and retrieving at least a sufficient number of the plurality of sets of encoded data slices to regenerate the data region. | 06-28-2012 |
20120166867 | STORING DIRECTORY METADATA IN A DISPERSED STORAGE NETWORK - A method begins by a processing module dispersed storage error encoding data to produce encoded data slices and updating directory metadata regarding storing the data in a dispersed storage network (DSN) memory to produce updated directory metadata. The method continues with the processing module dispersed storage error encoding the updated directory metadata to produce encoded directory metadata slices and transmitting one or more data slice write requests to the DSN that each include a first transaction number. The method continues with the processing module transmitting one or more directory metadata write requests to the DSN memory, wherein the one or more directory metadata write requests includes a second transaction number, and when a favorable write response condition exists, transmitting a commit request to the DSN memory to commit storage of at least one of: the encoded data slices and the encoded directory metadata slices. | 06-28-2012 |
20120166868 | SEGMENTING DATA FOR STORAGE IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving data of a file for storage in a dispersed storage network (DSN) memory and determining a segmentation scheme for storing the data. The method continues with the processing module determining how to store the data in accordance with the segmentation scheme to produce information for storing the data and generating an entry within a segment allocation table associated with the file, wherein the entry includes the information for storing the data and the segmentation scheme. The method continues with the processing module facilitating storage of the segment allocation table in the DSN memory. The method continues with the processing module segmenting the data in accordance with the segmentation scheme to produce a plurality of data segments and facilitating storage of the plurality of data segments in the DSN memory in accordance with the information for storing the data. | 06-28-2012 |
20120198066 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO ACQUIRE DIGITAL CONTENT FROM A DIGITAL CONTENT PROVIDER - A method begins with a computing device receiving a request to acquire digital content from a digital content provider and forwarding the request to a dispersed storage network (DSN) pre-paid module. The method continues with the DSN pre-paid module validating the request, generating a plurality of sets of at least a threshold number of digital content read requests, and sending the plurality of sets of the at least a threshold number of digital content read requests to the digital content provider via the computing device when the request to acquire the digital content is validated. The method continues with at least one of the DSN pre-paid module and the computing device receiving a plurality of sets of at least a decoded threshold number of encoded data slices and decoding the plurality of sets of the at least a decoded threshold number of encoded data slices to produce the digital content. | 08-02-2012 |
20120198311 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO ACCESS A DISPERSED STORAGE NETWORK MEMORY - A method begins by a computing device determining that dispersed storage network (DSN) memory is to be accessed regarding data. The method continues when the computing device is paired with a DSN access token module with the DSN access token module retrieving a plurality of sets of at least a threshold number of dispersed storage (DS) error coding function slices from the DSN memory via the computing device. The method continues with at least one of the computing device and the DSN access token module decoding the plurality of sets of the at least a threshold number of DS error coding function slices using a default DS error coding function to recapture a DS error coding function and executing, by one or more of the computing device and the DSN access token module, the DS error coding function to access the DSN memory regarding the data. | 08-02-2012 |
20120198536 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO STORE DATA IN A DISPERSED STORAGE NETWORK MEMORY - A method for storing data begins with determining, by a computing device, where to store the data and continues with managing, by a dispersed storage network (DSN) access token module, a pairing between the DSN access token module and the computing device. The method continues with sending, by the computing device, at least a portion of the data to the DSN access token module and encoding, by the DSN access token module, the at least a portion of the data using a dispersed storage error encoding function to produce one or more sets of encoded data slices. The method continues with sending, by the DSN access token module, the one or more sets of encoded data slices and storage information to the computing device and sending, by the computing device, the one or more sets of encoded data slices to the DSN memory for storage therein. | 08-02-2012 |
20120198537 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO RETRIEVE DATA FROM A DISPERSED STORAGE NETWORK MEMORY - A method begins by a computing device determining that data is stored in dispersed storage network (DSN) memory and sending a data retrieval request to a DSN access token module regarding the data. The method continues with the DSN access token module generating a plurality of sets of data slice read requests and sending the plurality of sets of data slices read requests to the computing device. The method continues with, for a set of data slices read requests, the computing device sending the set of data slices read requests to the DSN memory, receiving data slices from the DSN memory, and sending the data slices to the DSN access token module. The method continues with the DSN access token module decoding the data slices to produce a decoded data segment and sending the decoded data segment to the computing device. | 08-02-2012 |
20120226667 | DETERMINING A STALENESS STATE OF A DISPERSED STORAGE NETWORK LOCAL DIRECTORY - A method begins by a processing module determining a state of a dispersed storage network (DSN) local directory to be an unknown staleness state. When in the unknown staleness state, the method continues with the processing module comparing a local revision level of one of one or more local DSN directory files with a global revision level of a corresponding global DSN directory file. When the local revision level compares unfavorably to the global revision level, the method continues with the processing module updating the state of the DSN local directory to a stale state. When the local revision level compares favorably to the global revision level, the method continues with the processing module updating the state of the DSN local directory to a not-stale state. | 09-06-2012 |
20120226772 | TRANSFERRING DATA UTILIZING A TRANSFER TOKEN MODULE - A method for data transfer from a first computing device to a second computing device begins when the first computing device is paired with a transfer token module by the first computing device sending the data to the transfer token module. The method continues with the transfer token module encoding the data utilizing a dispersed storage error encoding function to produce a set of encoded data slices and sending the set of encoded data slices to a target destination. The method continues, when the second computing device is paired with the transfer token module, with the transfer token module retrieving the set of encoded data slices from the target destination and decoding the set of encoded data slices utilizing the dispersed storage error encoding function to recapture the data. The method continues with the second computing device storing the data. | 09-06-2012 |
20120226933 | MAINTAINING DATA CONCURRENCY WITH A DISPERSED STORAGE NETWORK - A method begins by a processing module generating a transaction number and generating at least a threshold number of dispersed storage network (DSN) concurrency requests, wherein each of the at least the threshold number of DSN concurrency requests includes a header section and a payload section; each of the payload sections includes the transaction number, a last known slice revision number, and a slice name section, wherein a first slice name section of a first one of the payload sections includes one or more first slice names that includes a first slice name corresponding to a first encoded data slice of a set of encoded data slices; and a second slice name section of a second one of the payload sections includes one or more second slice names that includes a second slice name corresponding to a second encoded data slice of the set of encoded data slices. | 09-06-2012 |
20120226960 | RETRIEVAL OF ENCODED DATA SLICES AND ENCODED INSTRUCTION SLICES BY A COMPUTING DEVICE - A computing device includes a central processing unit (CPU) and a memory system module. The CPU includes a data dispersed storage error coding (DSEC) module operable to DSEC decode a set of encoded ingress data slices to recapture ingress data and DSEC encode egress data to produce a set of encoded egress data slices, an instruction DSEC module operable to DSEC decode a set of encoded instruction slices to recapture an instruction, and an arithmetic logic unit (ALU) operable to, execute the instruction on the ingress data and execute the instruction to produce the egress data. The memory system module is operable to coordinate retrieval of the set of encoded ingress data slices from memory, coordinate retrieval of the set of encoded instruction slices from the memory, and coordinate storage of the set of encoded egress data slices in the memory. | 09-06-2012 |
20120254687 | PRE-FETCHING DATA SEGMENTS STORED IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data segment retrieval request regarding a data segment, which is stored in a dispersed storage network (DSN) memory. The method continues with the processing module processing the data segment retrieval request, determining pre-fetch segment buffering information, and when the pre-fetch segment buffering information indicates pre-fetching one or more other data segments, generating one or more pre-fetch segment retrieval requests for the one or more other data segments, receiving, one or more sets of at least a decode threshold number of encoded data slices, decoding, in accordance with a dispersed storage error coding function, the one or more sets of at least a decode threshold number of encoded data slices to reproduce the one or more other data segments, and updating a pre-fetch segment buffer with the one or more other data segments. | 10-04-2012 |
20120290873 | METHOD AND APPARATUS FOR REBUILDING DATA IN A DISPERSED DATA STORAGE NETWORK - A method begins by identifying a data slice requiring rebuilding to produce an identified data slice, wherein the identified data slice is one of a plurality of data slices that constitute a data segment. The method continues by retrieving at least m number of data slices, wherein m data slices of the plurality of data slices enable reconstruction of the data segment, and wherein the at least m number of data slices does not include the identified data slice. The method continues by reconstructing the identified data slice from the at least m number of data slices to produce a rebuilt data slice. The method continues by writing the rebuilt data slice to one of a plurality of data slice servers. | 11-15-2012 |
20120324293 | CONFIGURING A GENERIC COMPUTING DEVICE UTILIZING SPECIFIC COMPUTING DEVICE OPERATION INFORMATION - A method begins with the specific computing device token sending a distributed storage network (DSN) access request to DSN memory via the generic computing device. The DSN access request identifies specific computing device operation information that is stored as one or more of-sets of encoded data slices in the DSN memory. The method continues with the specific computing device token receiving the one or more of sets of encoded data slices from the DSN memory via the generic computing device and decoding the one or more of sets of encoded data slices to retrieve the specific computing device operation information. The method continues with enabling the generic computing device to function as a specific computing device in accordance with the specific computing device operation information. | 12-20-2012 |
20130086442 | STORING ENCODED DATA SLICES IN A DISPERSED STORAGE UNIT - A method begins by a processing module receiving a write request that includes a batch of encoded data slices and a corresponding batch of slice names, wherein the batch of encoded data slices includes encoded data slices that have slices names that have a common data object storage name, a common slice storage name, and a different data segment storage name. The method continues with the processing module determining whether a storage file exists based on the common data object storage name. The method continues with the processing module creating the storage file based on the common data object storage name when the storage file does not exist. The method continues with the processing module storing the batch of encoded data slices in the storage file based on the corresponding batch of slice names. | 04-04-2013 |
20130086448 | ACCESSING LARGE AMOUNTS OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module obtaining a plurality of data objects for storage in a dispersed storage network (DSN) and determining one or more common data object aspects of a data object of the plurality of data objects. The method continues with the DS processing module disperse storage error encoding at least a portion of the data object to produce a set of encoded data slices and generating a set of DSN addresses for the set of encoded data slices, wherein each of the set of DSN addresses includes a field referencing the one or more common data object aspects. The method continues with the DS processing module outputting the set of encoded data slices for storage in the DSN based on the set of DSN addresses. | 04-04-2013 |
20130138862 | Transferring Encoded Data Slices in a Distributed Storage Network - A method begins by a distributed storage (DS) processing module identifying encoded data slices of stored encoded data slices to transfer, wherein the stored encoded data slices are assigned addresses within a local distributed storage network (DSN) address range, wherein a global DSN address space is divided into a plurality of address sectors, and wherein the local DSN address range is a portion of an address sector. The method continues with the DS processing module determining whether another local DSN address range in the address sector exists and when the other local DSN address range in the address sector exists, determining whether to transfer identified encoded data slices into the other local DSN address range. When the at least some of the identified encoded data slices are to be transferred, the method continues with the DS processing module initiating a data transfer protocol to transfer the identified encoded data slices. | 05-30-2013 |
20130145116 | COMPACTING DISPERSED STORAGE SPACE - A method begins by a processing module identifying a first storage space zone that includes a plurality of deleted encoded data slices and a plurality of active encoded data slices. The method continues with the processing module determining to compact the first storage space zone based on a function of the plurality of deleted encoded data slices and the plurality of active encoded data slices. The method continues with the processing module retrieving the plurality of active encoded data slices from the first storage space zone, identifying a second storage space zone, storing the plurality of active encoded data slices in the second storage space zone, and erasing the plurality of deleted encoded data slices and the plurality of active encoded data slices from the first storage space zone when the first storage space zone is to be compacted. | 06-06-2013 |
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 |
20130198226 | RETRIEVING DATA UTILIZING A DISTRIBUTED INDEX - A method begins by a dispersed storage (DS) processing module receiving a request to retrieve a data object based on a search attribute. The method continues with the DS processing module retrieving and decoding a set of encoded index data slices to reconstruct an index file. The method continues with the DS processing module identifying a child index file, retrieving and decoding a set of encoded child index data slices to reconstruct the child index file, and determining whether the child index file includes a dispersed storage network (DSN) address for the data object. When the child index file includes the DSN address for the data object, the method continues with the DS processing module retrieving a plurality of sets of encoded data slices based on the DSN address and decoding the plurality of sets of encoded data slices to recapture the data object. | 08-01-2013 |
20130232152 | LISTING DATA OBJECTS USING A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module receiving a request for a data index list that identifies data objects having one or more common attributes, searching a hierarchical ordered index structure to identify a data object level index node corresponding to a first data object boundary match, and determining whether the data object level index node corresponds to a second data object boundary match. When the data object level index node does not correspond to the second data object boundary match, the method continues with the DS processing module searching an adjacent data object level index node to determine whether the adjacent data object level index node corresponds to the second data object boundary match. When the adjacent data object level index node corresponds to the second data object boundary match, the method continues with the DS processing module generating the data index list. | 09-05-2013 |
20130232153 | MODIFYING AN INDEX NODE OF A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module determining to create or modify a data object index key of a data object regarding an attribute of a plurality of attribute categories. The method continues with the DS processing module entering a process to update a data object level index node by retrieving the data object level index node from a set of dispersed storage (DS) units. The method continues with the DS processing module updating and encoding the data object level index node to produce a set of slices. The method continues with the DS processing module generating a set of write commands to write the set of slices to the set of DS units. When less than a threshold number of the set of write commands are successfully executed by the set of DS units, repeating the process to update the data object level index node. | 09-05-2013 |
20130232306 | MERGING INDEX NODES OF A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module determining to merge two data object level index nodes and merging the two nodes into a temporarily merged data object level index node. The method continues with the DS processing module initiating updating of a hierarchical ordered index structure by identifying an address for storing the temporarily merged data object level index node, setting up deletion of the two data object level index nodes, setting up linking the temporarily merged data object level index node to a next level node of the hierarchical ordered index structure, and determining whether a change has occurred to at least one of one or more of the two data object level index nodes and the next level node. When the change has not occurred, the method continues with the DS processing module commencing the updating of the hierarchical ordered index structure. | 09-05-2013 |
20130232307 | DISPERSED STORAGE WRITE PROCESS - A dispersed storage (DS) method begins by issuing a plurality of write commands to a plurality of DS storage units. The method continues by receiving a write acknowledgement from one of the plurality of DS storage units to produce a received write acknowledgement. The method continues by issuing a plurality of commit commands to the plurality of DS storage units when a write threshold number of the received write acknowledgements have been received. The method continues by receiving a commit acknowledgement from a DS storage unit of the plurality of DS storage units to produce a received commit acknowledgement. The method continues by issuing a plurality of finalize commands to the plurality of DS storage units when a write threshold number of the received commit acknowledgements have been received. | 09-05-2013 |
20130232503 | AUTHORIZING DISTRIBUTED TASK PROCESSING IN A DISTRIBUTED STORAGE NETWORK - A method begins by a distributed storage (DS) processing module transmitting a set of requests to a set of DS units regarding a set of data elements and receiving a set of respective requests from the set of DS units. When the set of respective requests is in accordance with a current distributed task/data responsibility allocation period, the method continues with the DS processing module issuing a set of responses to the set of DS units. The method continues with the DS processing module receiving a set of respective responses from the set of DS units. When the set of received respective responses is in accordance with the current distributed task/data responsibility allocation period, the method continues with the DS processing module processing the set of received respective responses in accordance with the current distributed task/data responsibility allocation period to produce one of a set of results. | 09-05-2013 |
20130238630 | SPLITTING AN INDEX NODE OF A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module determining to remove data object index entries from a data object level index node, identifying data object index entries to extract, and creating a temporary sibling data object level index node to include the identified data object index entries. The method continues with the DS processing module initiating updating of an hierarchical ordered index structure by identifying an address for storing the temporary sibling data object level index node, setting up linking the temporary sibling data object level index node to a next level node and to an adjacent data object level index node, and determining whether a change has occurred. When the change has not occurred, the method continues with the DS processing module removing the data object index entries from the data object level index node and commencing the updating of the hierarchical ordered index structure. | 09-12-2013 |
20130254624 | RETRIEVING DATA FROM A DISPERSED STORAGE NETWORK IN ACCORDANCE WITH A RETRIEVAL THRESHOLD - A method begins with a processing module determining a retrieval threshold for retrieving a set of encoded data slices from a dispersed storage network (DSN). The set of encoded data slices represents data encoded using a dispersed storage error encoding function having a number of encoded data slices in the set of encoded data slices equal to or greater than a decode threshold and the retrieval threshold is equal to or greater than the decode threshold. The method continues with the processing module issuing data retrieval requests to the DSN for the set of encoded data slices and receiving encoded data slices of the set of encoded data slices to produce received encoded data slices. The method continues with the processing module decoding the received encoded data slices to recapture the data when a number of received encoded data slices compares favorably to the retrieval threshold. | 09-26-2013 |
20130275480 | EXPANDING A HIERARCHICAL DISPERSED STORAGE INDEX - A method begins by a dispersed storage (DS) processing module determining to expand a hierarchical ordered index structure and retrieving a root index node. The method continues with the DS processing module identifying immediate children index nodes, dividing the immediate children index nodes into sets of children index nodes, creating, for each of the sets of children index nodes, a sub-root index node to produce a set of sub-root index nodes, creating a new root index node to include entries for each of the sub-root index nodes of the set of sub-root index nodes, and temporarily storing the new root index node and the set of sub-root index nodes in a dispersed storage network (DSN). When the root index node has not changed, the method continues with the DS processing module updating the hierarchical ordered index structure with the new root index node and the set of sub-root index nodes. | 10-17-2013 |
20130275833 | METHOD AND APPARATUS FOR REBUILDING DATA IN A DISPERSED DATA STORAGE NETWORK - A method begins a first rebuilder application identifying a data slice having a storage error. The method continues with the first rebuilder application or a second rebuilder application identifying a data segment based on the identified data slice. The method continues with the second rebuilder application identifying one or more other slice servers that are storing other data slices of the encoded data segment. The method continues with the second rebuilder application receiving a sufficient number of the other data slices to reconstruct the data segment and decoding them to reconstruct the data segment. The method continues with the second rebuilder application encoding the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices and selecting one of them as the rebuild data slice. | 10-17-2013 |
20130275834 | METHOD AND APPARATUS FOR STORAGE INTEGRITY PROCESSING BASED ON ERROR TYPES IN A DISPERSED STORAGE NETWORK - A storage integrity system in a dispersed storage network scans an address range of data slices to identify errors in one of a plurality of encoded data slices, wherein the plurality of encoded data slices are generated from a data segment using an error encoding dispersal function. When the storage integrity system detects an error, it identifies one of the encoded data slices for rebuilding. The identified data slice is rebuilt in response to the type of error. For example, when the type of the error includes a temporary error, the storage integrity system waits a predetermined time period to determine whether the error still exists prior to rebuilding the identified data slice. | 10-17-2013 |
20130275844 | METHOD AND APPARATUS FOR REBUILDING DATA IN A DISPERSED DATA STORAGE NETWORK - A method begins by determining that a disk drive of a slice server has been replaced with a new disk drive. The method continues by identifying a data slice that was stored on the disk drive and identifying a data segment based on the identified data slice. The method continues by identifying other slice servers that are storing other data slices of the encoded data segment. The method continues by retrieving, from the other slice servers, a sufficient number of the other data slices to reconstruct the data segment and decoding the sufficient number of the other data slices to reconstruct the data segment. The method continues by encoding the reconstructed data segment in accordance with the information dispersal algorithm to produce a new set of data slices. The method continues by selecting a data slice of the new set of data slices as a rebuilt data slice. | 10-17-2013 |
20130283095 | REBUILDING A DATA REVISION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module identifying a set of encoded data slices that have been created in accordance with a dispersed storage error encoding function having a decode threshold equal to or less than half of a number encoded data slices in the set of encoded data slices. The method continues with the processing module identifying a first sub-set of encoded data slices having a non-current revision level and identifying a second sub-set of encoded data slices having a more-current revision level. When a number of encoded data slices of the second sub-set of encoded data slices is greater than or equal to the decode threshold and when a number of encoded data slices of the first sub-set of encoded data slices is less than the decode threshold, the method continues with the processing module facilitating rebuilding of the first sub-set of encoded data slices. | 10-24-2013 |
20130304745 | STORING INDEXED DATA TO A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module storing a data portion in a dispersed storage network (DSN), where the data portion is associated with a set of data index keys, a version index key, and with a set of portion index keys. The method continues with the DS processing module traversing, based on the set of data index keys, a plurality of index structures to determine whether an object retrieval structure exists for the data portion. When the object retrieval structure exists, the method continues with the DS processing module updating the object retrieval structure by determining whether a version record exists that corresponds to the version index key and when the version record exists, creating, within the version record, a new data portion record for the data portion to include an identifier of the data portion and the set of portion index keys. | 11-14-2013 |
20130304746 | RETRIEVING INDEXED DATA FROM A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module traversing multiple index structures based on search criteria to identify an object retrieval structure. The method continues with the DS processing module retrieving a set of encoded data slices corresponding to the object retrieval structure from a dispersed storage network (DSN) and decoding the set of encoded data slices in accordance with a dispersed storage error coding function to recover the object retrieval structure. The method continues with the DS processing module identifying one of one or more data version records of the recovered object retrieval structure based on the search criteria to produce an identified data version record and determining DSN addressing information for at least a portion of data based on information of the identified data version record. | 11-14-2013 |
20130305060 | DISTRIBUTED STORAGE NETWORK DATA REVISION CONTROL - Multiple revisions of an encoded data slice are generated, with each revision having the same slice name. Each of the data slices represents the same original data portion, but each is encoded so that no single data slice can be used to reconstruct the original data portion. Appropriate revision numbers are associated with each encoded data slice, and the encoded data slices and associated revision numbers are transmitted for storage in selected storage units of a distributed storage network. If write confirmations are received from at least a write threshold number of storage units, a commit command is transmitted so that the most recently written data slices will be available for access. After a commit command is issued, a current directory used to access the encoded data slices can be sliced, encoded, and stored in the same way as the data slices. | 11-14-2013 |
20130326167 | REPRIORITIZING PENDING DISPERSED STORAGE NETWORK REQUESTS - A method begins by a dispersed storage (DS) processing module monitoring processing status of a plurality of pending dispersed storage network (DSN) access requests, where less than a desired number of DS units have favorably responded to a set of access requests. The method continues with the DS processing module interpreting the processing status of the plurality of pending DSN access requests to detect a processing anomaly. The method continues with the DS processing module reprioritizing further processing of at least one of the plurality of pending DSN access requests having the processing anomaly and another one or more of the plurality of pending DSN access requests. The method continues with the DS processing module sending notice of the reprioritized further processing to one or more DS units. | 12-05-2013 |
20140019579 | TRANSFERRING DATA OF A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing detecting unavailability of a storage device of a site of dispersed storage network (DSN) memory to produce an unavailable storage device. The method continues with the DS processing module reassigning a fraction of a logical address sub-range of the unavailable storage device to one or more other storage devices, rebuilding one or more logically addressable data objects to produce one or more rebuilt data objects and storing the one or more rebuilt data objects in the one or more other storage devices. When the unavailable storage device becomes available, the method continues with the DS processing module reallocating the fraction of the logical address sub-range from the one or more other storage devices to the storage device and transferring the one or more rebuilt data objects from the one or more other storage devices to the storage device. | 01-16-2014 |
20140025773 | DISPERSED STORAGE NETWORK RESOURCE ALLOCATION - A dispersed storage unit within a dispersed storage network is configured with registry information including a slice name assignment indicating a range of slice names assigned to a vault associated with at least one user of the dispersed storage network. The slice names further corresponding to a plurality of potential data slices to be subsequently created and received for a pillar of the vault. The dispersed storage unit allocates a portion of physical memory therein to store the potential data slices based on the slice name assignment. | 01-23-2014 |
20140040662 | METHOD AND APPARATUS FOR DISTRIBUTED STORAGE INTEGRITY PROCESSING - A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit. | 02-06-2014 |
20140040703 | STORING ENCODED DATA SLICES IN A DISPERSED STORAGE UNIT - A method begins with a processing module receiving an access request for the data object. The method continues by ascertaining that the data object is divided into a plurality of data segments and that plurality of data segments are dispersed storage error encoded to produce a plurality of sets of encoded data slices. The method continues by ascertaining batching of the plurality of sets of encoded data slices, wherein the plurality of sets of encoded data slices are arranged into a set of batched encoded data slices. The method continues by outputting a set of access requests for the set of batched encoded data slices to storage units of the DSN. | 02-06-2014 |
20140074786 | UPDATING LOCAL DATA UTILIZING A DISTRIBUTED STORAGE NETWORK - A method begins by a device of a distributed storage network (DSN) sending read-if-revised requests to storage units of the DSN with regards to data cached in local memory with one or more local memory revision numbers. The method continues with a storage unit determining whether a revision number of one portion of the data stored by the storage unit is a more recent revision number than the one or more local memory revision numbers. When the revision number is the more recent revision number, the method continues with the storage unit sending a read response that includes the portion of the data to the device. When the revision number is not the more recent revision number, the method continues with the storage unit sending a read response that includes an indication that the data cached in the local memory is a current revision level of the data. | 03-13-2014 |
20140075112 | WRITING DATA AVOIDING WRITE CONFLICTS IN A DISPERSED STORAGE NETWORK - A method begins by a by a first device of a dispersed storage network (DSN) sending a set of write revision requests to storage units of the DSN. The method continues with one of the storage units generating a write revision response regarding a potential write conflict issue. The method continues with the first device receiving the write revision responses to produce a set of received write revision responses and interpreting the set of received write revision responses to determine whether a write conflict issue exists. When the write conflict issue exists, the method continues with the first device issuing a set of write roll back requests to the storage units. When the write conflict issue does not exist, the method continues with the first device issuing a set of next phase write requests to the storage units regarding storing revised encoded data slices. | 03-13-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 |
20140122639 | CONCLUSIVE WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload of a dispersed storage network frame regarding a conclusive write request operation by generating one or more slice name fields of a payload to include one or more slice names corresponding to one or more write commit responses of a write request operation, wherein the conclusive write request operation is a conclusive phase of the write request operation. The method continues with the processing module generating one or more slice revision numbering fields of the payload, wherein each slice revision numbering field includes a slice revision number corresponding to an associated slice name of the one or more slice names. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length and generating remaining fields of the protocol header. | 05-01-2014 |
20140122925 | VERIFYING DATA OF A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a storage unit receiving, over time, access requests regarding reading or writing of various data blocks. The method continues with the DS processing module establishing an internal verification access rate for verifying data blocks stored in a memory device of the storage unit based on a rate of the access requests and a maximum access rate of the memory device. The method continues with the DS processing module generating internal verification requests in accordance with the internal verification access rate, coordinating the internal verification requests and the access requests for accessing the memory device, and accessing the memory device based on the internal verification requests to verify the data blocks. | 05-01-2014 |
20140153586 | CHECK OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a check request operation by generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices and generating a transaction number field of the payload section to include a transaction number corresponding to the check request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 06-05-2014 |
20140181578 | METHOD AND APPARATUS FOR SLICE PARTIAL REBUILDING IN A DISPERSED STORAGE NETWORK - A dispersed storage system includes a plurality of storage units that each include a partial rebuild grid module. The partial rebuild grid module includes partial rebuilding functionality to reconstruct one of a plurality of encoded data slices wherein the plurality of encoded data slices are generated from a data segment based on an error encoding dispersal function. In the partial rebuilding process, a data slice is rebuilt by combining in any order slice partials generated from at least a threshold number T of the plurality of data slices. | 06-26-2014 |
20140207899 | LIST DIGEST OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins generating a plurality of list digest request frames. Each list digest request frames includes a payload section and a protocol header. The payload section includes a start slice name field, an end slice name, and a response count field. The protocol header includes a payload length field and an operation code field to indicate the list digest request operation. The method continues by outputting the list digest request frames to storage units of a dispersed storage network. | 07-24-2014 |
20140250347 | UTILIZING A DISPERSED STORAGE NETWORK ACCESS TOKEN MODULE TO ACCESS A DISPERSED STORAGE NETWORK MEMORY - A method includes a DSN access token module retrieving one or more sets of at least a threshold number of dispersed storage (DS) error coding function slices from the DSN memory via the computing device. The method continues with the computing device and/or the DSN access token module decoding the one or more sets of the at least a threshold number of DS error coding function slices using a default DS error coding function to recapture a DS error coding function. The method continues with the computing device and/or the DSN access token module generating a plurality of sets of data access requests in accordance with the DS error coding function. The method continues with the computing device sending the plurality of sets of data access requests to the DSN memory. | 09-04-2014 |
20140297776 | EFFICIENT STORAGE OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving data for storage and generating a dispersed storage network (DSN) source name for the data. The method continues with the DS processing module determining whether substantially identical data to the data has been previously stored in memory of the DSN. When the substantially identical data has been previously stored in the memory of the DSN, the method continues with the DS processing module generating an object linking file that links the data to the substantially identical data, dispersed storage error encoding the object linking file to produce a set of encoded link file slices, and outputting the set of encoded link file slices for storage in the memory of the DSN. | 10-02-2014 |
20140298061 | POWER CONTROL IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) receiving a plurality of data access requests regarding a plurality of data objects. As individual data access requests of the plurality of data access requests are received, the method continues with the DS processing module, for each of the individual data access requests identifying a corresponding one of a plurality of logical storage pools of the DSN and determining power based access status of the corresponding one of the plurality of logical storage pools. When the power based access status is power saving mode, the method continues with the DS processing module queuing the individual data access request. When the power based access status is not in the power saving mode, the method continues with the DS processing module executing the individual data access request. | 10-02-2014 |
20140298136 | STORING DATA AND DIRECTORY INFORMATION IN A DISTRIBUTED STORAGE NETWORK - A method begins with a processing module issuing a set of write requests regarding storing a set of encoded data slices in dispersed storage network (DSN) memory and confirming that at least a write threshold number of encoded data slices have been temporarily stored in the DSN memory. When confirmed, the method continues with the processing module issuing a second set of write requests regarding storing a set of encoded directory slices in the DSN memory and confirming that at least a second write threshold number of encoded directory slices have been temporarily stored in the DSN memory. When confirmed, the method continues with the processing module issuing write commit requests regarding the at least a write threshold number of encoded data slices and the at least a second write threshold number of encoded directory slices. | 10-02-2014 |
20140301410 | LIST RANGE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by generating list range requests. A list range request includes a payload section and a protocol header section. The payload section includes a start slice name field regarding a start slice name of a slice name range; an end slice name field regarding an end slice name of the slice name range; and a maximum response count field regarding a maximum slice name response count. The protocol header includes a payload length field that represents a length of the payload section and an operation code field to indicate the list range request operation. The list range request includes a request to provide a list of slices names corresponding to stored encoded data slices associated with slice names within the slice name range. The method continues by sending the range requests to storage units of the DSN. | 10-09-2014 |
20140304486 | MIGRATING ENCODED DATA SLICES FROM A RE-PROVISIONED MEMORY DEVICE OF A DISPERSED STORAGE NETWORK MEMORY - A method begins by maintaining a memory assignment table for memory devices within the storage unit. The memory assignment table includes a field for memory identifier, a field for memory allocation, and a field for memory usability status. The method continues by utilizing the memory assignment table to perform one or more functions. One function includes selecting a first memory device to store incoming data. Another function includes determining when to decommission a second memory device based on memory usability status of the second memory device. A further function includes determining when to migrate data stored on a third memory device to another memory device. A still further function includes changing a storage protocol of data stored on a fourth memory device. | 10-09-2014 |
20140325305 | CACHE FOR FILE-BASED DISPERSED STORAGE - A method obtains at least part of a file from a dispersed storage network (DSN) memory, and stores it in a data object cache. When the file is changed, a determination is made about where to store the changed file portions: in the data object cache or in the DSN. The changed file portions, for example a new copy of the part of the file obtained from the DSN, are encoded utilizing an error coding dispersal storage function, and stored in either the data object cache, or in the DSN memory. | 10-30-2014 |
20140330923 | MULTI-WRITER REVISION SYNCHRONIZATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module of a computing device receiving a most current revision value for a data element, where a revision value for the data element is generated based on a current time of a storing device. The method continues with the processing module generating a new revision value for a currently revised version of the data element based on a current time of the computing device and comparing the current time of the new revision value with the current time of the most current revision value. When the current time of the new revision value precedes the current time of the most current revision value, the method continues with the processing module adjusting the new revision value to produce an adjusted revision value and facilitating storage of the currently revised version of the data element having the adjusted revision value. | 11-06-2014 |
20140331085 | METHOD AND APPARATUS FOR DISTRIBUTED STORAGE INTEGRITY PROCESSING - A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit. | 11-06-2014 |
20140337394 | DISPERSED STORAGE WITH PARTIAL DATA OBJECT STORAGE AND METHODS FOR USE THEREWITH - A first section of the data object is received that contains less than a full amount of the data object. A processing module of a distributed storage (DS) processing unit determines that communication of the data object has been interrupted and whether to store the first section of the data object. The first section of the data object is stored in a DS network when determined to store the first section of the data object. | 11-13-2014 |
20140337685 | DISPERSED STORAGE HAVING A PLURALITY OF SNAPSHOT PATHS AND METHODS FOR USE THEREWITH - A directory file includes a plurality of entries, wherein an entry of the plurality of entries includes a file or directory name field, and a snapshot list field that includes a snapshot list in accordance with one of a plurality of snapshot paths of a snapshot tree. A new snapshot identifier (ID) is determined for a data file. The directory file is updated to produce an updated directory file, wherein the updating includes updating the snapshot list field associated with the data file to include the new snapshot ID in the snapshot list in accordance with the one of a plurality of snapshot paths of the snapshot tree. | 11-13-2014 |
20140337686 | DISPERSED STORAGE HAVING SNAPSHOT CLONES AND METHODS FOR USE THEREWITH - A directory file includes a plurality of entries, wherein an entry of the plurality of entries includes a file or directory name field, and a snapshot list field that includes a snapshot list. A clone snapshot identifier (ID) is determined for a data file. The directory file is updated to produce an updated directory file, wherein the updating includes updating the snapshot list field associated with the data file to include the clone snapshot ID in the snapshot list. | 11-13-2014 |
20140344228 | Multiple Revision Mailbox - A method begins by determining slice names of encoded data slices stored within a dispersed storage network (DSN). The method continues by determining dispersed storage (DS) units within the DSN storing a set of the encoded data slices associated with the slice names. The method continues by determining one or more revision numbers associated with the slice names. The method continues by determining if same slice names have different associated revision numbers and, when the same slice names have different associated revision numbers, adding the slice names to a revision mailbox for subsequent correction. | 11-20-2014 |
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 |
20140379675 | DIRECTORY SYNCHRONIZATION OF A DISPERSED STORAGE NETWORK - A method begins by independently executing a first write transaction in a dispersed storage network (DSN) to a particular write verification step of a multiple step write process, wherein the first write transaction has a first transaction identifier. The method continues by independently executing a second write transaction in the DSN to the particular write verification step, wherein the second write transaction has a second transaction identifier, and wherein subject matter of the first write transaction is related to subject matter of the second write transaction. The method continues by dependently finalizing the multiple step write process for each of the first and second write transactions utilizing the first and second transaction identifiers when each of the first and second write transactions have reached the particular write verification step. | 12-25-2014 |
20140380121 | CONFIGURING A GENERIC COMPUTING DEVICE UTILIZING SPECIFIC COMPUTING DEVICE OPERATION INFORMATION - A method for execution, when a generic computing device is paired with a specific computing device (SCD) token, begins with the SCD token sending distributed storage network (DSN) access request to DSN memory via the generic computing device, wherein the DSN access request identifies SCD operation information that is stored as one or more of sets of encoded data slices in the DSN memory and wherein the SCD operation information was encoded using a dispersed storage error encoding function to produce the plurality of sets of encoded data slices. Then, the SCD token receives the one or more of sets of encoded data slices from the DSN memory via the generic computing device and decodes the one or more of sets of encoded data slices to retrieve the SCD operation information and enables the generic computing device to function as an SCD in accordance with the SCD operation information. | 12-25-2014 |
20150039969 | STORING DATA IN A DIRECTORY-LESS DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) sending a plurality of sets of encoded data slices to DSN memory for storage in accordance with a plurality of sets of DSN data addresses. The method continues with the DS processing module generating retrieval data that is based on a data object number and data storage information. The method continues with the DS processing module dispersed storage error encoding the retrieval data to produce a set of encoded retrieval data slices and generating a set of DSN retrieval data addresses based on the data name and on retrieval data storage information. The method continues with the DS processing module sending the set of encoded retrieval data slices to the DSN memory for storage in accordance with the set of DSN retrieval data addresses. | 02-05-2015 |
20150046769 | PRE-FETCHING DATA SEGMENTS STORED IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data segment retrieval request regarding a data segment, which is stored in a dispersed storage network (DSN) memory. The method continues with the processing module processing the data segment retrieval request, determining pre-fetch segment buffering information, and when the pre-fetch segment buffering information indicates pre-fetching one or more other data segments, generating one or more pre-fetch segment retrieval requests for the one or more other data segments, receiving, one or more sets of at least a decode threshold number of encoded data slices, decoding, in accordance with a dispersed storage error coding function, the one or more sets of at least a decode threshold number of encoded data slices to reproduce the one or more other data segments, and updating a pre-fetch segment buffer with the one or more other data segments. | 02-12-2015 |
20150067421 | DISPERSED STORAGE WITH VARIABLE SLICE LENGTH AND METHODS FOR USE THEREWITH - A dispersed storage processing unit selects a slice length for a data segment to be stored in a dispersed storage network (DSN). The data segment is encoded using a dispersed storage error coding function to produce a set of data slices in accordance with the slice length. A storage file is selected based on the slice length. A storage file identifier (ID) is generated that indicates the storage file. A set of DSN addresses are generated corresponding to the set of data slices, wherein the set of DSN addresses each include the storage file ID and a corresponding one of a plurality of offset identifiers (IDs). The set of data slices are written in accordance with the set of DSN addresses. A directory is updated to associate the set of DSN addresses with an identifier of the data segment. | 03-05-2015 |