Patents Assigned to Cleversafe, Inc.
-
Patent number: 8533256Abstract: 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.Type: GrantFiled: December 29, 2009Date of Patent: September 10, 2013Assignee: Cleversafe, Inc.Inventors: Andrew Baptist, Srinivas Palthepu, S. Christopher Gladwin, Greg Dhuse, Zachary J. Mark, Vance T. Thornton, John Quigley
-
Patent number: 8533424Abstract: A computing system comprises at least a processing module, a main memory, a memory controller, and a plurality of memory components. A method begins by the memory controller receiving a memory access request regarding a data segment. The method continues with the memory controller interpreting the memory access request to determine whether an error encoding dispersal function of the data segment is applicable. The method continues with the memory controller identifying at least a threshold number of memories based on the memory access request, wherein the threshold number of memories includes at least one of the main memory and/or one or more of the plurality of memory components, when the error encoding dispersal function is applicable. The method continues with the memory controller addressing the at least a threshold number of memories to facilitate the memory access request.Type: GrantFiled: April 6, 2010Date of Patent: September 10, 2013Assignee: Cleversafe, Inc.Inventors: Gary W. Grube, Timothy W. Markison
-
Publication number: 20130232153Abstract: 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.Type: ApplicationFiled: February 25, 2013Publication date: September 5, 2013Applicant: Cleversafe, Inc.Inventors: Greg Dhuse, Wesley Leggette, Adam Michael Gray, Ilya Volvovski, Andrew Baptist, Jason K. Resch
-
Publication number: 20130232184Abstract: A method begins by a dispersed storage (DS) processing module determining data block storage redundancy among a set of distributed storage and task (DST) execution units. The method continues with the DS processing module dispersed storage error encoding a data segment of data to produce a set of encoded data slices, where a first encoded data slice of the set of encoded data slices includes at least one redundant encoded data block in common with a second encoded data slice of the set of encoded data slices. The method continues with the DS processing module assigning a first partial task and a first encoded block processing order to a first DST execution unit regarding processing the first encoded data slice and assigning a second partial task and a second encoded block processing order to a second DST execution unit regarding processing the second encoded data slice.Type: ApplicationFiled: January 29, 2013Publication date: September 5, 2013Applicant: Cleversafe, Inc.Inventors: Gary W. Grube, Timothy W. Markison
-
Publication number: 20130232152Abstract: 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.Type: ApplicationFiled: February 25, 2013Publication date: September 5, 2013Applicant: Cleversafe, Inc.Inventors: Greg Dhuse, Wesley Leggette, Adam Michael Gray, Ilya Volvovski, Andrew Baptist
-
Publication number: 20130232180Abstract: A method begins by a dispersed storage (DS) processing module ascertaining processing speeds of distributed storage and task (DST) execution units where the DST execution units receive a set of encoded data slices that includes a sub-set of data-based data slices. The method continues with the DS processing module allocating task performance on the sub-set of data-based data slices to a sub-set of DST execution units, where a first DST execution unit is allocated to perform a first partial task on a first data-based data slice of the sub-set of data-based data slices. When a second DST execution unit has a processing speed that is a threshold speed greater than a processing speed of the first DST execution unit, the method continues with the DS processing module identifying at least one encoded block of the first data-based data slice for transferring processing responsibilities to the second DST execution unit.Type: ApplicationFiled: January 29, 2013Publication date: September 5, 2013Applicant: Cleversafe, Inc.Inventors: Gary W. Grube, Timothy W. Markison
-
Patent number: 8527807Abstract: A method begins by a processing module receiving data to store and determining error coding dispersal storage function parameters. The method continues with the processing module encoding at least a portion of the data in accordance with the error coding dispersal storage function parameters to produce a set of data slices. The method continues with the processing module defining addressable storage sectors within the single hard drive based on a number of data slices within the set of data slices to produce a set of addressable storage sectors. The method continues with the processing module storing data slices of the set of data slices in corresponding addressable storage sectors of the set of addressable storage sectors.Type: GrantFiled: July 28, 2010Date of Patent: September 3, 2013Assignee: Cleversafe, Inc.Inventors: S. Christopher Gladwin, Gary W. Grube, Timothy W. Markison
-
Patent number: 8527828Abstract: A method begins by a processing module receiving a plurality of record requests to record a broadcast of data. The method continues with the processing module encoding the data using an error coding dispersal storage function to produce a plurality of sets of encoded data slices. The method continues with the processing module generating a list of requesting device identities corresponding to the plurality of requests and storing the plurality of sets of encoded data slices and the list of requesting device identities in a dispersed storage network memory. The method continues with the processing module receiving a playback request from a device identified in the list of requesting device identities, generating a unique retrieval matrix for the device, and outputting a unique plurality of sets of encoded data slices from the plurality of sets of encoded data slices in accordance with the unique retrieval matrix.Type: GrantFiled: July 2, 2012Date of Patent: September 3, 2013Assignee: Cleversafe, Inc.Inventors: Timothy W. Markison, Gary W. Grube
-
Patent number: 8527705Abstract: 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.Type: GrantFiled: December 31, 2010Date of Patent: September 3, 2013Assignee: Cleversafe, Inc.Inventors: S. Christopher Gladwin, Ilya Volvovski, Greg Dhuse, Jason K. Resch
-
Patent number: 8527838Abstract: A memory controller comprises at least a memory control processing module and/or a distributed storage processing module. A method begins by the memory control processing module receiving a memory access request regarding a data segment. The method continues with the memory control processing module interpreting the memory access request to determine whether an error coding dispersal function of the data segment is applicable. The method continues with the memory control processing module sending the memory access request to the distributed storage processing module when the error coding dispersal function is applicable. The method continues with the distributed storage processing module performing the error coding dispersal function on the data segment to produce an error coded processed data segment. The method continues with the distributed storage processing module sending the error coded processed data segment to the memory control processing module.Type: GrantFiled: April 6, 2010Date of Patent: September 3, 2013Assignee: Cleversafe, Inc.Inventors: Gary W. Grube, Timothy W. Markison
-
Patent number: 8522022Abstract: A distributed storage processing unit creates multiple different data slices from the same data object, and generates a message including one or more of the different data slices. The distributed storage processing unit identifies a chain of distributed storage units, and encrypts the message into multiple nested layers using, for example, public keys of public/private key pairs associated with each of the storage units in the chain. The distributed storage processing unit sends the layered, encrypted message to the first storage unit in the chain, which decodes and removes the outermost layer, and forwards the message to the next storage unit in the chain. This process continues until the message reaches the endpoint distributed storage unit, which decodes the innermost layer and stores the data slice encoded in the message.Type: GrantFiled: June 17, 2010Date of Patent: August 27, 2013Assignee: Cleversafe, Inc.Inventors: Jason K. Resch, Andrew Baptist
-
Patent number: 8522113Abstract: A method begins by a processing module receiving a data storage request that includes metadata and data. The method continues with the processing module determining a base-line set of error coding dispersal storage function parameters based on the metadata. The method continues with the processing module identifying candidate dispersed storage (DS) units based on the base-line set of error coding dispersal storage function parameters. The method continues with the processing module selecting DS units of the candidate DS units based on the metadata to produce selected DS units. The method continues with the processing module dispersed storage error encoding the data in accordance with at least a representation of the base-line set of error coding dispersal storage function parameters to produce a set of encoded data slices. The method continues with the processing module sending the set of encoded data slices to the selected DS units for storage therein.Type: GrantFiled: November 9, 2010Date of Patent: August 27, 2013Assignee: Cleversafe, Inc.Inventors: Gary W. Grube, Timothy W. Markison
-
Patent number: 8522074Abstract: A method begins by a processing module receiving a first request to store a program. The method continues with the processing module determining first error coding dispersal storage function parameters and encoding a data segment of the program. The method continues with the processing module determining whether a second request to store the program is received. The method continues with the processing module encoding a second data segment of the program in accordance with the first error coding dispersal storage function parameters when the second request is not received. The method continues with the processing module changing the first error coding dispersal storage function parameters based on the another request to produce second error coding dispersal storage function parameters when the second request is received. The method continues with the processing module encoding the second data segment in accordance with the second error coding dispersal storage function parameters.Type: GrantFiled: July 23, 2010Date of Patent: August 27, 2013Assignee: Cleversafe, Inc.Inventors: Timothy W. Markison, Gary W. Grube, S. Christopher Gladwin, Alan E. Holmes, Wesley Leggette, Jason K. Resch
-
Patent number: 8521697Abstract: A method begins by a processing module determining a slice name of an encoded slice to be rebuilt within a first dispersed storage network (DSN). The method continues with the processing module determining whether a corresponding copy of the encoded slice is stored in a second DSN. The method continues with the processing module retrieving the corresponding copy of the encoded slice from the second DSN and storing the corresponding copy of the encoded slice as a rebuilt encoded slice within the first DSN when the corresponding copy of the encoded slice is stored in the second DSN.Type: GrantFiled: May 11, 2011Date of Patent: August 27, 2013Assignee: Cleversafe, Inc.Inventors: Gary W. Grube, Timothy W. Markison
-
Patent number: 8516299Abstract: A dispersed storage device for use within a dispersed storage network operates to select a set of dispersed storage units for storage of a data object by slicing an encoded data segment of a data object into error coded data slices, determining slice metadata for the error coded data slices, determining memory characteristics of dispersed storage units capable of storing the error coded data slices and selecting the set of dispersed storage units for storing the error coded data slices based on the slice metadata and the memory characteristics.Type: GrantFiled: August 24, 2012Date of Patent: August 20, 2013Assignee: Cleversafe, Inc.Inventors: Jason K. Resch, S. Christopher Gladwin
-
Patent number: 8504847Abstract: A data element can be encoded into multiple encoded data elements using an encoding algorithm that includes an encoding function and one or more encoder constant. The encoded data elements can be organized into multiple pillars, each having a respective pillar number. Each of the pillars is sent to a different storage unit of a distributed storage network. To recover the original data element, the encoded data elements are retrieved from storage, and the encoder constant is recovered using multiple encoded data elements. Recovering the encoder constant allows the encoding algorithm originally used to encode the data elements to be determined, and used to recover the original data element. The security of the stored data is enhanced, because an encoded data element from a single pillar is insufficient to identify the encoder constant.Type: GrantFiled: April 18, 2010Date of Patent: August 6, 2013Assignee: Cleversafe, Inc.Inventors: Jason K. Resch, Wesley Leggette
-
Patent number: 8495466Abstract: A method begins by a processing module determining a performance based indication regarding storage of a data segment as a set of encoded data slices and comparing the performance based indication with a performance threshold. When the performance based indication compares unfavorably with the performance threshold, the method continues with the processing module decoding the set of encoded data slices to reproduce the data segment, adjusting error coding dispersal storage function parameters based on the unfavorable comparison of the performance based indication with the performance threshold to produce performance adjusted error coding dispersal storage function parameters, encoding the reproduced data segment in accordance with the performance adjusted error coding dispersal storage function parameters to produce a second set of encoded data slices, and selecting a storage set of encoded data slices from the set of encoded data slices and the second set of encoded data slices.Type: GrantFiled: December 31, 2010Date of Patent: July 23, 2013Assignee: Cleversafe, Inc.Inventors: Bart Cilfone, Jason K. Resch, S. Christopher Gladwin
-
Patent number: 8489915Abstract: 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.Type: GrantFiled: April 26, 2010Date of Patent: July 16, 2013Assignee: Cleversafe, Inc.Inventors: Greg Dhuse, Andrew Baptist, Zachary J. Mark, Jason K. Resch, Ilya Volvovski
-
Patent number: 8479078Abstract: A distributed storage network generates a plurality of data segments from a data object and stores each of the plurality of data segments as a plurality of encoded data slices generated from an error encoding dispersal function. When the distributed storage network receives a modification request for the data object, it determines a size of the plurality of data segments of the data object from a segment size field and identifies one of the plurality of data segments requiring modification. The identified data segment is reconstructed from the plurality of encoded data slices and modified in accordance with the modification request.Type: GrantFiled: July 19, 2010Date of Patent: July 2, 2013Assignee: Cleversafe, Inc.Inventors: Jason K. Resch, Bart Cilfone
-
Patent number: 8478865Abstract: A gateway module translates access requests from client computers into commands for a plurality of slice servers storing data for a dispersed data storage network. The gateway program maintains a plurality of gateway modules, each providing a different access protocol to the dispersed data storage network, and each also maintaining one or more virtual storage vaults.Type: GrantFiled: December 29, 2009Date of Patent: July 2, 2013Assignee: Cleversafe, Inc.Inventors: John Quigley, S. Christopher Gladwin, Zachary J. Mark, Wesley Leggette, Manish Motwani