Patents Assigned to Cleversafe, Inc.
  • Patent number: 9043499
    Abstract: A dispersed storage network memory includes a pool of storage nodes, where the pool of storage nodes stores a multitude of encoded data files. A storage node obtains and analyzes data access response performance data for each of the storage nodes to produce a modified data access response plan that includes identity of an undesired performing storage node and an alternative data access response for the undesired performing storage node. The storage nodes receive corresponding portions of a data access request for at least a portion of one of the multitude of encoded data files. The undesired performing storage node or another storage node processes one of the corresponding portions of the data access request in accordance with the alternative data access response.
    Type: Grant
    Filed: December 11, 2013
    Date of Patent: May 26, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Michael Colin Storm, Jason K. Resch
  • Patent number: 9043548
    Abstract: A computing system includes a plurality of dispersed storage (DS) processing units operable to receive a continuous data stream, simultaneously disperse storage error encode the continuous data stream to produce a plurality of encoded data slices and store the plurality of encoded data slices in a DS memory.
    Type: Grant
    Filed: August 1, 2014
    Date of Patent: May 26, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison, Jason K. Resch
  • Patent number: 9043689
    Abstract: 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.
    Type: Grant
    Filed: June 30, 2014
    Date of Patent: May 26, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, John Quigley, Wesley Leggette, Andrew Baptist
  • Patent number: 9043616
    Abstract: A method begins with a processing module obtaining data to store and determining whether substantially similar data to the data is stored. When the substantially similar data is not stored, the method continues with the processing module generating a first encryption key based on the data, encoding the first encryption key into encoded data slices in accordance with an error coding dispersal storage function, and storing the encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module encrypting the data using an encryption key of the substantially similar data in accordance with an encryption function to produce encrypted data, compressing the encrypted data in accordance with a compression function to produce compressed data, storing the compressed data when the substantially similar data is stored.
    Type: Grant
    Filed: July 21, 2014
    Date of Patent: May 26, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison, S. Christopher Gladwin, Kumar Abhijeet, Greg Dhuse, Jason K. Resch
  • Patent number: 9037937
    Abstract: 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.
    Type: Grant
    Filed: October 3, 2011
    Date of Patent: May 19, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Andrew Baptist, Ilya Volvovski, Gary W. Grube, Timothy W. Markison, S. Christopher Gladwin, Greg Dhuse, Jason K. Resch
  • Patent number: 9037904
    Abstract: 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.
    Type: Grant
    Filed: September 8, 2014
    Date of Patent: May 19, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Ilya Volvovski, Andrew Baptist, Wesley Leggette
  • Patent number: 9026758
    Abstract: A method begins by a processing module determining whether a memory device of a dispersed storage (DS) unit is unavailable to produce an unavailable memory device. The method continues with the processing module determining a methodology regarding DS encoded data stored in the unavailable memory device based on one or more dispersed storage network (DSN) conditions to produce a determined methodology when the memory device is unavailable. The method continues with the processing module initiating, in accordance with the determined methodology, a rebuilding function to rebuild the DS encoded data to produce rebuilt DS encoded data when the determined methodology includes a rebuilding component. The method continues with the processing module storing the rebuilt DS encoded data within available memory of the DS unit.
    Type: Grant
    Filed: April 29, 2011
    Date of Patent: May 5, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Andrew Baptist, Manish Motwani, Wesley Leggette, Steven Mark Hoffman, Dustin M. Hendrickson, Ryan Joseph Kuester, S. Christopher Gladwin
  • Patent number: 9027080
    Abstract: A method begins with a processing module selecting one of a plurality of dispersed storage (DS) processing modules for facilitating access to a dispersed storage network (DSN) memory. The method continues with the processing module sending a DSN memory access request to the one of the plurality of DS processing modules. The method continues with the processing module selecting another one of the plurality of DS processing modules when no response is received within a given time frame or when the response to the access request does not include an access indication. The method continues with the processing module sending the DSN memory access request to the another one of the plurality of DS processing modules.
    Type: Grant
    Filed: September 20, 2010
    Date of Patent: May 5, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Bart Cilfone, Jason K. Resch
  • Patent number: 9021273
    Abstract: A method begins with a processing module obtaining data to store and determining whether substantially similar data to the data is stored. When the substantially similar data is not stored, the method continues with the processing module generating a first encryption key based on the data, encoding the first encryption key into encoded data slices in accordance with an error coding dispersal storage function, and storing the encoded data slices in a dispersed storage network (DSN) memory. The method continues with the processing module encrypting the data using an encryption key of the substantially similar data in accordance with an encryption function to produce encrypted data, compressing the encrypted data in accordance with a compression function to produce compressed data, storing the compressed data when the substantially similar data is stored.
    Type: Grant
    Filed: June 26, 2014
    Date of Patent: April 28, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison, S. Christopher Gladwin, Kumar Abhijeet, Greg Dhuse, Jason K. Resch
  • Patent number: 9021263
    Abstract: A method begins by a dispersed storage (DS) processing module receiving an access request regarding a data object, where the access request includes a data object identifier, requestor information, and addressing information. The method continues with the DS processing module determining a base key identifier based on the access request and determining content specific information based on the access request. The method continues with the DS processing module retrieving a set of base key slices utilizing the base key identifier and decoding the set of base key slices in accordance with an error encoding function to recover a base key. The method continues with the DS processing module generating an access specific key based on the recovered base key and the content specific information and executing the access request regarding the data object utilizing the access specific key.
    Type: Grant
    Filed: July 17, 2013
    Date of Patent: April 28, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, Wesley Leggette
  • Patent number: 9015556
    Abstract: 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.
    Type: Grant
    Filed: December 6, 2012
    Date of Patent: April 21, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Wesley Leggette, Andrew Baptist, Greg Dhuse, Jason K. Resch, Ilya Volvovski, Manish Motwani, S. Christopher Gladwin, Gary W. Grube, Thomas Franklin Shirley, Jr.
  • Patent number: 9015499
    Abstract: A method begins by a processing module retrieving at least a threshold number of error coded data slices of a set of error coded data slices from storage units of a dispersed storage network (DSN) and identifying, based on an intentional error pattern, error coded data slices that were intentionally altered to produce identified error coded data slices. The method continues with the processing module decoding the set of error coded data slices to produce a recovered data segment and encoding the recovered data segment using an altered dispersed storage error encoding function to produce a test set of error coded data slices for comparing with corresponding error coded data slices. When the test set of error coded data slices substantially match the corresponding error coded data slices, the method continues with the processing module indicating that the recovered data segment has not been corrupted.
    Type: Grant
    Filed: August 5, 2013
    Date of Patent: April 21, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison, Jason K. Resch
  • Patent number: 9015431
    Abstract: 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.
    Type: Grant
    Filed: July 16, 2010
    Date of Patent: April 21, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, Greg Dhuse, Ilya Volvovski, Andrew Baptist, Wesley Leggette
  • Patent number: 9009491
    Abstract: A DS processing unit includes a grid module and a DSN interface. The grid module is operable to encrypt a data segment and to decrypt an encrypted data segment. To encrypt the data segment, the grid module partitions the data segment into portions and encrypts the portions using encryption keys generated from other portions to produce encrypted portions. The grid module then dispersed storage error encodes the encrypted portions to produce a set of encoded data slices, which the DSN interface outputs to a DSN. The DSN interface also receives a set of encoded data slices, which the grid module disperse storage error decodes to produce the encrypted data segment. The grid module then partitions the encrypted data segment into encrypted data portions and decrypts the encrypted data portions using decryption keys generated from other encrypted data portions to produce decrypted portions of a recovered data segment.
    Type: Grant
    Filed: January 8, 2013
    Date of Patent: April 14, 2015
    Assignee: Cleversafe, Inc.
    Inventor: Jason K. Resch
  • Patent number: 9009575
    Abstract: 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.
    Type: Grant
    Filed: June 18, 2013
    Date of Patent: April 14, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Greg Dhuse, Ilya Volvovski, Zachary J. Mark, Sebastien Vas, Andrew Baptist
  • Patent number: 9009564
    Abstract: A method begins by a dispersed storage (DS) processing module mapping a set of data partitions to a set of storage regions. For each data partition, the method continues with the DS processing module segmenting the data partition into a plurality of data segments and designating a first data segment. The method continues with the DS processing module generating data storage mapping information. The method continues with the DS processing module encoding the data storage mapping information to produce at least one set of encoded mapping information slices and for each data partition, encoding the plurality of data segments to produce a plurality of sets of encoded data slices. The method continues with the DS processing module outputting the at least one set of encoded mapping information slices and, for each data partition, the plurality of sets of encoded data slices to the DSN for storage therein.
    Type: Grant
    Filed: December 6, 2012
    Date of Patent: April 14, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Wesley Leggette, Andrew Baptist, Jason K. Resch
  • Patent number: 9009567
    Abstract: 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.
    Type: Grant
    Filed: June 13, 2013
    Date of Patent: April 14, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Andrew Baptist, Greg Dhuse, Wesley Leggette, Jason K. Resch
  • Patent number: 8996910
    Abstract: A method begins by a dispersed storage (DS) processing module determining storage device failure information for a plurality of storage devices within a maintenance free storage container, wherein the maintenance free storage container allows for multiple storage devices of the plurality of storage devices to be in a failure mode without replacement and wherein the storage device failure information indicates storage devices of the plurality of storage devices that are in the failure mode. The method continues with the DS processing module maintaining a dynamic container address space of the maintenance free storage container based on the storage device failure information. The method continues with the DS processing module managing mapping of container addresses of the dynamic container address space to dispersed storage network (DSN) addresses of an assigned DSN address range.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: March 31, 2015
    Assignee: Cleversafe, Inc.
    Inventors: S. Christopher Gladwin, Jason K. Resch, Gary W. Grube, Timothy W. Markison
  • Patent number: 8990664
    Abstract: A method begins by a dispersed storage (DS) processing module selecting a data segment and verifying integrity values of encoded data slices generated by encoding the data segment. When integrity values of a decode threshold number of encoded data slices are affirmatively verified, the method continues with the DS processing module verifying an integrity value of the data segment. When the integrity value of the data segment is affirmatively verified, the method continues with the DS processing module generating a new set of encoded data slices. The method continues with the DS processing module verifying concurrency of the set of encoded data slices with the new set of encoded data slices and for each encoded data slice having a negative concurrency verification, flagging the encoded data slice as being potentially compromised.
    Type: Grant
    Filed: December 18, 2012
    Date of Patent: March 24, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, Wesley Leggette, Manish Motwani
  • Patent number: 8990585
    Abstract: A method begins with a processing module receiving a data retrieval request and obtaining a real-time indicator corresponding to when the data retrieval request was received. The method continues with the processing module determining a time-based data access policy based on the data retrieval request and the real-time indicator and accessing a plurality of dispersed storage (DS) units in accordance with the time-based data access policy to retrieve encoded data slices. The method continues with the processing module decoding the threshold number of encoded data slices in accordance with an error coding dispersal storage function when a threshold number of the encoded data slices have been retrieved.
    Type: Grant
    Filed: September 20, 2010
    Date of Patent: March 24, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison