Patent application number | Description | Published |
20130232307 | DISPERSED STORAGE WRITE PROCESS - A dispersed storage (DS) method begins by issuing a plurality of write commands to a plurality of DS storage units. The method continues by receiving a write acknowledgement from one of the plurality of DS storage units to produce a received write acknowledgement. The method continues by issuing a plurality of commit commands to the plurality of DS storage units when a write threshold number of the received write acknowledgements have been received. The method continues by receiving a commit acknowledgement from a DS storage unit of the plurality of DS storage units to produce a received commit acknowledgement. The method continues by issuing a plurality of finalize commands to the plurality of DS storage units when a write threshold number of the received commit acknowledgements have been received. | 09-05-2013 |
20130232378 | REBUILDING A DATA SEGMENT IN A DISPERSED STORAGE NETWORK - A method begins with a processing module storing a set of encoded data slices in memory of a dispersed storage network (DSN), where a data segment is encoded using an error coding dispersal storage function to produce the set of encoded data slices. The method continues with the processing module adding the data segment to a rebuilding list, where encoded data slices of data segments identified in the rebuilding list are checked via a rebuilding process to detect errors and, when one of the encoded data slices has an error, the rebuilding process rebuilds the one of the encoded data slices. The method continues with the processing module, in response to a condition, removing the data segment from the rebuilding list. | 09-05-2013 |
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 |
20130262959 | TEMPORARILY STORING AN ENCODED DATA SLICE - A processing module encodes data using a dispersed storage error coding function to produce a set of encoded data slices and identifies storage units for storage of the set of encoded data slices. The processing module determines that a storage unit of the storage units is unavailable, where the storage unit is targeted to store an encoded data slice of the set of encoded data slices. The processing module selects a foster storage unit of the storage units for temporarily storing the encoded data slice. When the storage unit is available, the processing module transfers the encoded data slice from the foster storage unit to the storage unit. | 10-03-2013 |
20130275545 | DISTRIBUTED STORAGE AND COMPUTING OF INTERIM DATA - A method begins by a set of distributed storage and task (DST) execution units receiving a set of partial tasks and data, where a partial task of the set of partial tasks includes a common task and a unique partial sub-task. The method continues with the set of DST execution units executing the common task on the data to produce a set of preliminary partial results. The method continues with a first DST execution unit of the set of DST execution units generating first interim data based on the at least some of the set of preliminary partial results. The method continues with the first DST execution unit executing a first unique partial sub-task on at least one of a first portion of the data and the first interim data to produce a first partial result. | 10-17-2013 |
20130275776 | ENCRYPTING DISTRIBUTED COMPUTING DATA - A method begins by a dispersed storage (DS) processing module encoding data to produce slices and redundancy slices and selecting primary and redundancy storage and execution units. The method continues with the DS processing module assigning partial tasks to the primary storage and execution units and generating a unique key set for each of the primary storage and execution units. The method continues with the DS processing module encrypting each of the slices with a corresponding one of the unique key sets to produce encrypted slices and sending the encrypted slices and an indication of the assigned partial tasks to the primary storage and execution units for storage and execution of the assigned partial tasks on the encrypted slices. The method continues with the DS processing module sending the redundancy slices to the set of redundancy storage and execution units for storage therein. | 10-17-2013 |
20130275834 | METHOD AND APPARATUS FOR STORAGE INTEGRITY PROCESSING BASED ON ERROR TYPES IN A DISPERSED STORAGE NETWORK - A storage integrity system in a dispersed storage network scans an address range of data slices to identify errors in one of a plurality of encoded data slices, wherein the plurality of encoded data slices are generated from a data segment using an error encoding dispersal function. When the storage integrity system detects an error, it identifies one of the encoded data slices for rebuilding. The identified data slice is rebuilt in response to the type of error. For example, when the type of the error includes a temporary error, the storage integrity system waits a predetermined time period to determine whether the error still exists prior to rebuilding the identified data slice. | 10-17-2013 |
20130282865 | RESOLVING A PERFORMANCE ISSUE WITHIN A DISPERSED STORAGE NETWORK - A method begins by a processing module identifying one or more devices of a dispersed storage network (DSN) potentially contributing to a DSN performance issue. For a device of the identified one or more devices, the method continues where the processing module determines a potential performance issue of the device and determines a performance test based on the potential performance issue. The method continues where the processing module issues a message to the device that includes test information specific for the device to execute the performance test and receives a response message that includes a specific test result data generated based on the test information. The method continues where the processing module determines, based on the specific test result data, whether the device has the potential performance issue and is contributing to the DSN performance issue. | 10-24-2013 |
20130283094 | INDICATING AN ERROR WITHIN A DISPERSED STORAGE NETWORK - A method begins by a processing sending access requests to a threshold number of storage units of a dispersed storage network (DSN) and receiving, from each of at least some of the threshold number of storage units, an access response or an error response. When one error response is received from a storage unit of the at least some of the threshold number of storage units in response to one of the access requests, the method continues with the processing module ascertaining a likely cause for an error corresponding to the error response. The method continues with the processing module determining, based on the likely cause for the error, whether to resend the one of the access requests to the storage unit, issue a modified access request to the storage unit, or send the one of the access requests to another storage unit. | 10-24-2013 |
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 |
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 |
20140012825 | DISPERSED STORAGE NETWORK FOR MANAGING DATA DELETION - A dispersed storage device manages deletion of data objects stored within a dispersed storage network by receiving a data delete request to delete a data object stored throughout a set of dispersed storage units within a dispersed network memory of the dispersed storage network, determining a deletion policy for the data object and selectively generating and transmitting, based on the deletion policy, a delete command to the set of dispersed storage units. | 01-09-2014 |
20140012899 | OBJECT INTERFACE TO A DISPERSED DATA STORAGE NETWORK - A data object interface to a dispersed data storage network is disclosed. The disclosed interface accepts read and write commands from a client computer and generates network commands that are forwarded to slice servers that form the storage component of the dispersed data storage network. The slice servers then fulfill the read and write commands. | 01-09-2014 |
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 |
20140019711 | DISPERSED STORAGE NETWORK VIRTUAL ADDRESS SPACE - A dispersed storage network utilizes a virtual address space to store data. The dispersed storage network includes a dispersed storage device for receiving a request relating to a data object stored in the dispersed storage network and determining a virtual memory address assigned to the data object. The virtual memory address is within a virtual memory address range of the virtual address space that is allocated to a vault associated with a user of the data object. The virtual memory address is further assigned to a data slice of a plurality of data slices of the data object. The dispersed storage device uses the virtual memory address to determine an identifier of a storage unit within the dispersed storage network that has the data slice stored therein. | 01-16-2014 |
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 |
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 |
20140126585 | DISPERSED STORAGE NETWORK FRAME PROTOCOL HEADER - A method to generate a protocol header of a dispersed storage network (DSN) frame begins by a processing module generating a protocol class field and generating a protocol class version field. The method continues with the processing module generating an operation code (opcode) field and generating a request/response field. The method continues with the processing module generating a request number field and generating a payload length field. The method continues with the processing module outputting, in order, the protocol class field, the protocol class version field, the opcode field, the request/response field, the request number field, and the payload length field. | 05-08-2014 |
20140153586 | CHECK OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by a processing module generating a payload section of a dispersed storage network (DSN) frame regarding a check request operation by generating one or more slice name fields of the payload section to include one or more slice names corresponding to one or more encoded data slices and generating a transaction number field of the payload section to include a transaction number corresponding to the check request operation. The method continues with the processing module generating a protocol header of the DSN frame by generating a payload length field of the protocol header to include a payload length that represents a length of the payload section and generating remaining fields of the protocol header. | 06-05-2014 |
20140156716 | ACCESSING DISTRIBUTED COMPUTING FUNCTIONS IN A DISTRIBUTED COMPUTING SYSTEM - A method begins by a processing module identifying, in accordance with an ordered manner, a next distributed computing function, where distributed computing functions are stored in multiple storage units as a set of encoded computing function slices. The method continues with the processing module determining whether ownership of the next distributed computing function can be established and when the ownership of the next distributed computing function can be established, securing ownership of the next distributed computing function. When the ownership of the next distributed computing function cannot be established, the method continues with the processing module requesting another next distributed computing function. | 06-05-2014 |
20140161142 | INTERMEDIATE WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by generating write requests, wherein a write request includes a payload and a protocol header. The payload includes one or more slice payload sections and a transaction number field. The protocol header includes an operation code field that indicates a write operation. The method continues, when responses to the write requests are favorable, by generating write commit requests, wherein a write commit request includes a commit payload and a commit protocol header. The commit payload includes the transaction number and the commit protocol header includes the operation code field that indicates write commit operation. The method continues, when responses to the write requests are unfavorable, by generating write rollback requests, wherein a rollback request includes a rollback payload and a rollback protocol header. The rollback payload includes the transaction number and the rollback protocol header includes the operation code field that indicates write rollback operation. | 06-12-2014 |
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 |
20140207898 | WRITE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by generating a set of write request frames regarding a write request operation for a set of encoded data. Each of the write request frames includes a payload section and a protocol header. The payload section includes a transaction number field and a data payload section, which includes a name field, a revision number field, a length field, and a payload field. The protocol header includes a payload length field and an operation code field to indicate the write request operation. The method continues by outputting the set of write request frames to storage units of a dispersed storage network. | 07-24-2014 |
20140208154 | STORING DATA IN A DISPERSED STORAGE NETWORK - A method begins by creating a vault as a virtual memory block within memory of a dispersed storage network (DSN). A segment of data is encoded into a set of encoded data slices and stored in the vault. The method continues by dividing the virtual memory block into a set of vault regions. The method continues by determining, for each vault region of the set of vault regions, vault parameters to produce a set of vault parameters. Vault parameters include a decode threshold number of encoded data slices and a total number of encoded data slices for encoding the segment of data. The method continues by facilitating data access to the vault in accordance with the set of vault parameters. | 07-24-2014 |
20140245063 | RESOLVING WRITE CONFLICTS IN A DISPERSED STORAGE NETWORK - A method begins by first and second client devices transmitting first and second sets of write requests to storage units. The method continues with a storage unit sending a write response message to the first and second client devices, where the write response message indicates a storage unit score value for one of the client devices. The method continues with the first and second client devices interpreting the storage unit score values from the storage units to determine which client device has write priority. The method continues with the client device that has the write priority sending a set of next-phase write requests to the storage units. The method continues with the other client device that does not have the write priority sending a set of rollback requests to the storage units. | 08-28-2014 |
20140281815 | 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-18-2014 |
20140297776 | EFFICIENT STORAGE OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module receiving data for storage and generating a dispersed storage network (DSN) source name for the data. The method continues with the DS processing module determining whether substantially identical data to the data has been previously stored in memory of the DSN. When the substantially identical data has been previously stored in the memory of the DSN, the method continues with the DS processing module generating an object linking file that links the data to the substantially identical data, dispersed storage error encoding the object linking file to produce a set of encoded link file slices, and outputting the set of encoded link file slices for storage in the memory of the DSN. | 10-02-2014 |
20140297951 | ALLOCATING STORAGE UNITS IN A DISPERSED STORAGE NETWORK - A method begins by a processing module detecting a new storage unit within a dispersed storage network DSN. The method continues with the processing module determining to affiliate the new storage unit with a virtual memory vault, where the virtual memory vault is mapped to a set of storage units of the DSN, where data objects are dispersed storage error encoded into pluralities of sets of encoded data slices that are stored in the set of storage units. The method continues with the processing module determining virtual DSN addresses of the virtual memory vault to allocate the new storage unit. The method continues with the processing module updating vault information regarding the virtual memory vault to include the allocation of the virtual DSN addresses to the new storage unit. | 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 |
20140298085 | DETECTING DATA REQUIRING REBUILDING IN A DISPERSED STORAGE NETWORK - A method begins with a processing module within a dispersed storage network (DSN) determining to perform a rebuild scanning function for a virtual memory vault, where the virtual memory vault has a DSN address range that is divided into multiple DSN address sub-ranges. The method continues with a first rebuild scanning agent module initiating a rebuilding scanning function for a first group of DSN address sub-ranges and processing first rebuild responses to produce a first list of encoded data slices for rebuilding. The method continues with a second rebuild scanning agent module initiating the rebuilding scanning function for a second group of DSN address sub-ranges and processing second rebuild responses to produce a second list of encoded data slices for rebuilding. The method continues with the processing module queuing the first and second lists of encoded data slices for rebuilding. | 10-02-2014 |
20140298135 | REBUILDING DATA STORED IN A DISPERSED STORAGE NETWORK - A method begins where a processing module queues, in a rebuild queue, identifiers of encoded data slices for rebuilding, where an encoded data slice is of a set of encoded data slices. The method continues with the processing module accessing the rebuild queue to retrieve a valid rebuild request and querying a storage unit of the set of storage units regarding a most current revision value of another encoded data slice of a most current dispersed storage error encoded revision level of a data segment. When a revision value of the encoded data slice compares favorably with the most current revision level of the other encoded data slice, the method continues with the processing module retrieving a decode threshold number of encoded data slices, reconstructing the data segment from the decode threshold number of encoded data slices, and generating a rebuilt encoded data slice from the reconstructed data segment. | 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 |
20140298137 | VIRTUAL MEMORY MAPPING IN A DISPERSED STORAGE NETWORK - A method for evolving dispersed storage network (DSN) memory in a DSN begins by a processing module generating tracking information by tracking evolutionary change of storage units of the DSN memory, performance and reliability requirements of the DSN memory, and memory utilization of the DSN memory. The method continues with the processing module, for a given state of evolution of the DSN memory, interpreting the tracking information to produce given state DSN memory data and establishing virtual DSN address boundaries for a set of the storage units for storing data objects in a virtual memory vault of the DSN, where the virtual memory vault is mapped to the set of the storage units, where the data objects are dispersed storage error encoded into pluralities of sets of encoded data slices that are stored in the set of the storage units in accordance with the virtual DSN address boundaries. | 10-02-2014 |
20140301410 | LIST RANGE OPERATION DISPERSED STORAGE NETWORK FRAME - A method begins by generating list range requests. A list range request includes a payload section and a protocol header section. The payload section includes a start slice name field regarding a start slice name of a slice name range; an end slice name field regarding an end slice name of the slice name range; and a maximum response count field regarding a maximum slice name response count. The protocol header includes a payload length field that represents a length of the payload section and an operation code field to indicate the list range request operation. The list range request includes a request to provide a list of slices names corresponding to stored encoded data slices associated with slice names within the slice name range. The method continues by sending the range requests to storage units of the DSN. | 10-09-2014 |
20140304526 | DATA DEDUPLICATION IN A DISPERSED STORAGE SYSTEM - An efficient data deduplication method for use in a dispersed storage network (DSN). After a data object is received for storage in the DSN, it is determined whether a substantially identical data object has previously been encrypted and stored. The determination may be made, for example, by comparing an encryption key reference value relating to the data object to key reference information stored in DSN memory. If not detected, the data object is encrypted using an encryption key based on the data object. The encrypted data object is then compressed and stored. The encryption key and a key reference value are also stored as encoded key slices in DSN memory. If the data object was previously stored, it is encrypted using a retrieved encryption key that is substantially identical to the data object. The data object may then be compressed for storage using a pattern based data compression function. | 10-09-2014 |
20140304527 | EFFICIENT MEMORY UTILIZATION IN A DISPERSED STORAGE SYSTEM - A method for improving memory utilization in a dispersed storage network (DSN). After a data object is received for storage in the DSN, it is determined whether a substantially identical data portion of the data object has previously been encrypted and stored. The determination may be made, for example, by comparing a portion reference value relating to the data object to portion reference information stored in DSN memory. If not detected, the data object is encrypted using an encryption pattern sequence and encryption key, at least one of which substantially identical to at least a portion of the data portion. The encrypted data object is then compressed using a pattern based data compression function, and the compressed data object is stored. The portion reference value is also stored in DSN memory. | 10-09-2014 |
20140317224 | DISTRIBUTED STORAGE NETWORK FOR STORING A DATA OBJECT BASED ON STORAGE REQUIREMENTS - A distributed storage network (DSN) includes a user device and a plurality of DSN memories, wherein each of the DSN memories includes a plurality of storage units. The user device includes at least one network interface to the plurality of DSN memories and at least one processing module that is operable to determine one of the plurality of DSN memories for storing a data object based on a comparison of one or more storage requirements of the data object and one or more DSN attributes of the plurality of DSN memories. | 10-23-2014 |
20140325208 | OBTAINING A SIGNED CERTIFICATE FOR A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module generating a certificate signing request (CSR) that includes a certificate and a certificate extension, wherein the certificate includes information regarding a requesting device and wherein the certificate extension includes information regarding an accessible dispersed storage network (DSN) address range for the requesting device. The method continues with the DS processing module outputting the CSR to a certificate authority of a DSN and receiving a signed certificate from the certificate authority, wherein the signed certificate includes a certification signature of the certificate authority authenticating the certificate and the certificate extension. The method continues with the DS processing module storing the signed certificate for use when generating a DSN access request, wherein the DSN access request is requesting access to dispersed storage error encoded data in the DSN at an address within the accessible DSN address range. | 10-30-2014 |
20140325259 | IDENTIFYING A STORAGE ERROR OF A DATA SLICE - A method begins by a processing module obtaining common storage name information regarding data that is stored in storage units of a distributed storage network (DSN) as a set of data slices. Each data slice of the set of data slices has a unique storage name, where each of the unique storage names for the set of data slices has common naming information regarding the data. The method continues where the processing module interprets the common storage name information to determine whether a difference exists between the common naming information of a data slice of the set of data slices and the common naming information of other data slices of the set of data slices. When the difference exists, the method continues where the processing module indicates a potential storage error of the data slice and implements a storage error process regarding the potential storage error of the data slice. | 10-30-2014 |
20140330921 | STORING RELATED DATA IN A DISPERSED STORAGE NETWORK - A method begins by each of a group of write requesting modules of a dispersed storage network (DSN) generating one or more sets of write requests regarding one of a group of portions of related data, sending a group of the one or more sets of write requests to DSN memory, and sending binding information to a binding module. The method continues with the binding module processing remaining phases of the group of the one or more sets of write requests for writing the related data into the DSN memory as a single set of write requests and notifying the write requesting modules of status of the writing the related data into the DSN memory at completion of the processing of the remaining phases such that the related data is made accessible as a single piece of data when the processing of the remaining phases is successful. | 11-06-2014 |
20140330923 | MULTI-WRITER REVISION SYNCHRONIZATION IN A DISPERSED STORAGE NETWORK - A method begins by a processing module of a computing device receiving a most current revision value for a data element, where a revision value for the data element is generated based on a current time of a storing device. The method continues with the processing module generating a new revision value for a currently revised version of the data element based on a current time of the computing device and comparing the current time of the new revision value with the current time of the most current revision value. When the current time of the new revision value precedes the current time of the most current revision value, the method continues with the processing module adjusting the new revision value to produce an adjusted revision value and facilitating storage of the currently revised version of the data element having the adjusted revision value. | 11-06-2014 |
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 |
20140331087 | IDENTIFYING AND CORRECTING AN UNDESIRED CONDITION OF A DISPERSED STORAGE NETWORK ACCESS REQUEST - A method begins by a processing module sending a transaction verification request to the set of dispersed storage (DS) units, wherein the transaction verification request includes a transaction number that corresponds to a particular dispersed storage network (DSN) access request. The method continues with the processing module receiving transaction verification responses from at least some of the set of DS units to produce received transaction verification responses. The method continues with the processing module identifying an undesired condition with processing the DSN access request and initiating a corrective remedy for the undesired condition when a DS unit of the set of DS units does not provide a desired transaction verification response. | 11-06-2014 |
20140331100 | SELECTING STORAGE UNITS TO REBUILD AN ENCODED DATA SLICE - A method begins with a processing module of a dispersed storage network (DSN) identifying an encoded data slice of a set of encoded data slices that requires rebuilding and identifying storage units of the DSN that store the set of encoded data slices. The method continues with the processing module determining a rebuilding metric regarding the identified encoded data slice and selecting a sub-set of the storage units for retrieving a decode threshold number of encoded data slices of the set of encoded data slices based on the rebuilding metric. When the decode threshold number of encoded data slices have been retrieved, the method continues with the processing module decoding the decode threshold number of encoded data slices to produce a reconstructed data segment and generating a rebuilt encoded data slice from the reconstructed data segment. | 11-06-2014 |
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 |
20140337666 | DISPERSED STORAGE NETWORK WITH SLICE REBUILDING AND METHODS FOR USE THEREWITH - In a dispersed storage network where slices of secure user data are stored on geographically separated storage units ( | 11-13-2014 |
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 |
20140351457 | STORING DATA IN A DISPERSED STORAGE NETWORK - A method begins by a processing module of a dispersed storage network (DSN) sending a set of write commands to storage units of the DSN regarding storage of a set of current revision level encoded data slices and receiving a write acknowledgement in response to a write command. The method continues with the processing module determining whether a write threshold number of write acknowledgements have been received. When the write threshold number of write acknowledgements have been received, the method continues with the processing module issuing a set of commit commands to the storage units. The method continues with the processing module determining whether to issue a set of finalize commands, where a finalize command instructs a storage unit regarding storage of a corresponding current revision level encoded data slice and storage of a previous revision level encoded data. | 11-27-2014 |
20140359348 | ADJUSTING DISPERSED STORAGE NETWORK TRAFFIC DUE TO REBUILDING - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) monitoring network traffic within the DSN. When the network traffic compares unfavorably to a desired network traffic function, the method continues with the DS processing module reducing a portion of the network traffic due to rebuilding flagged encoded data slices by at least one of changing rebuilding criteria for the flagged encoded data slices and changing rebuilding network traffic protocols. | 12-04-2014 |
20140365831 | DETECTING INTENTIONAL CORRUPTION OF DATA IN A DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a DS unit selecting a data slice for corruption analysis and requesting integrity information for the data slice from one or more other DS units of a dispersed storage network. When the one or more requested integrity information is received, the method continues with the DS processing module analyzing the one or more received integrity information and local integrity information of the data slice stored in the DS unit. When the analysis of the one or more received integrity information and the local integrity information of the data slice is unfavorable, the method continues with the DS processing module identifying the data slice as being corrupted. | 12-11-2014 |
20140379675 | DIRECTORY SYNCHRONIZATION OF A DISPERSED STORAGE NETWORK - A method begins by independently executing a first write transaction in a dispersed storage network (DSN) to a particular write verification step of a multiple step write process, wherein the first write transaction has a first transaction identifier. The method continues by independently executing a second write transaction in the DSN to the particular write verification step, wherein the second write transaction has a second transaction identifier, and wherein subject matter of the first write transaction is related to subject matter of the second write transaction. The method continues by dependently finalizing the multiple step write process for each of the first and second write transactions utilizing the first and second transaction identifiers when each of the first and second write transactions have reached the particular write verification step. | 12-25-2014 |
20140380128 | DATA MIGRATION BETWEEN A RAID MEMORY AND A DISPERSED STORAGE NETWORK MEMORY - A method begins by a processing module determining to change storage format from a redundant array of independent disks (RAID) format to a dispersed storage network (DSN) format. The method continues with the processing module retrieving the data from a RAID memory that is stored in the RAID format to produce retrieved RAID data. The method continues with the processing module converting stripe-block data of the retrieved RAID data into a plurality of sets of encoded data slices and reprovisioning the RAID memory for storing DSN formatted data to produce reprovisioned memory. The method continues with the processing module outputting the plurality of sets of encoded data slices to at least one of the RAID memory and a DSN memory for storage therein. | 12-25-2014 |
20150039660 | CO-LOCATE OBJECTS REQUEST - A method begins by a dispersed storage (DS) processing module receiving a data object co-locate write request. The method continues with the DS processing module obtaining a plurality of sets of encoded data slices for a data object to co-locate. The method continues with the DS processing module generating a plurality of sets of slice names for the data object to co-locate based on another plurality of sets of slice names associated with a data object to be co-located with. The method continues with the DS processing module storing the plurality of sets of encoded data slices in the DSN using the generated plurality of sets of slice names for the data object co-locate. | 02-05-2015 |
20150039969 | STORING DATA IN A DIRECTORY-LESS DISPERSED STORAGE NETWORK - A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) sending a plurality of sets of encoded data slices to DSN memory for storage in accordance with a plurality of sets of DSN data addresses. The method continues with the DS processing module generating retrieval data that is based on a data object number and data storage information. The method continues with the DS processing module dispersed storage error encoding the retrieval data to produce a set of encoded retrieval data slices and generating a set of DSN retrieval data addresses based on the data name and on retrieval data storage information. The method continues with the DS processing module sending the set of encoded retrieval data slices to the DSN memory for storage in accordance with the set of DSN retrieval data addresses. | 02-05-2015 |
20150040134 | DISTRIBUTED STORAGE NETWORK WITH COORDINATED PARTIAL TASK EXECUTION AND METHODS FOR USE THEREWITH - A method includes receiving a task for execution by a plurality of distributed storage and task execution units A priority level is determined for the task. A plurality of coordinated partial task requests are generated and sent to the plurality of distributed storage and task execution units, wherein the plurality coordinated partial task requests indicate a plurality of coordinated partial tasks and the priority level. A plurality of partial task results are received in response to performance of the plurality of coordinated partial tasks by the plurality of distributed storage and task execution units. A task result for the task is generated based on the plurality of partial task results. | 02-05-2015 |
20150043732 | STORAGE OF SENSITIVE DATA IN A DISPERSED STORAGE NETWORK - A method begins by a processing module applying a share encoding function on data to produce a plurality of encoded shares and generating a corresponding plurality of random numbers for the plurality of encoded shares. The method continues with the processing module generating an encryption key based on a common password and a corresponding one of the corresponding plurality of random numbers and encrypting the encoded share utilizing the encryption key to produce an encrypted share for each encoded share of the plurality of encoded shares. The method continues with the processing module facilitating storage of the corresponding plurality of random numbers and each of the encrypted shares. | 02-12-2015 |
20150046769 | PRE-FETCHING DATA SEGMENTS STORED IN A DISPERSED STORAGE NETWORK - A method begins by a processing module receiving a data segment retrieval request regarding a data segment, which is stored in a dispersed storage network (DSN) memory. The method continues with the processing module processing the data segment retrieval request, determining pre-fetch segment buffering information, and when the pre-fetch segment buffering information indicates pre-fetching one or more other data segments, generating one or more pre-fetch segment retrieval requests for the one or more other data segments, receiving, one or more sets of at least a decode threshold number of encoded data slices, decoding, in accordance with a dispersed storage error coding function, the one or more sets of at least a decode threshold number of encoded data slices to reproduce the one or more other data segments, and updating a pre-fetch segment buffer with the one or more other data segments. | 02-12-2015 |
20150066879 | DEFRAGMENTING SLICES IN DISPERSED STORAGE NETWORK MEMORY - A method begins by a dispersed storage (DS) processing module receiving access requests, processing data set requests and issuing access responses. The method continues by monitoring slice access requests to generate access records by either storing time stamped access records indicating identities of slices requested by a timestamp or by commonality of slice names. The method continues with determining a correlation of two or more slice access based on the access records when a correlation is greater than a correlation threshold and identifying two or more slices for co-location. The method continues when the two or more slices are not co-located by selecting one or more of the two or more slices for migration to a common memory device. | 03-05-2015 |
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 |