Patents Assigned to Cleversafe, Inc.
  • 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
  • Publication number: 20150127699
    Abstract: A method begins by a processing module of a dispersed storage network (DSN) obtaining an identifier (ID) piece of multiple ID pieces regarding a registry fragment of a distributed DSN registry. The method continues with the processing module performing a function on the ID piece to obtain a registry fragment alias, wherein performance of the function on the multiple ID pieces would produce multiple registry fragment aliases. The method continues with the processing module determining DSN addressing information for the registry fragment based on the registry fragment alias, wherein the DSN addressing information is determinable from any one of the multiple registry fragment aliases. The method continues with the processing module receiving a response regarding the registry fragment when a local copy of the registry fragment is not up-to-date.
    Type: Application
    Filed: August 26, 2014
    Publication date: May 7, 2015
    Applicant: CLEVERSAFE, INC.
    Inventors: Wesley Leggette, Jason K. Resch
  • 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: 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: 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
  • Publication number: 20150113140
    Abstract: A method begins by receiving an access request for a user device. The method continues with the DS processing unit determining whether the user device has the DSN as a local DSN. When the user device does not have the DSN as the local DSN, the method continues with the DS processing unit determining whether the user device has a valid signed global certificate. When the user device does not have a valid signed global certificate, the method continues with the DS processing unit or by the user device sending a DSN registration request to the system authority unit. The method continues with the system authority unit generating the valid signed global certificate for the user device upon successful execution of processing the DSN registration request. The method continues with the DS processing unit executing the access request for the user device upon receipt of the valid signed global certificate.
    Type: Application
    Filed: December 31, 2014
    Publication date: April 23, 2015
    Applicant: CLEVERSAFE, INC.
    Inventors: Jason K. Resch, Gary W. Grube, Timothy W. Markison
  • Publication number: 20150113115
    Abstract: A method begins with a set of storage units of a dispersed storage network (DSN) receiving a plurality of read requests for encoded data slices corresponding to particular content data. The method continues with a first storage unit detecting that a corresponding portion of the plurality of read requests exceeds a heavy load condition for the first storage unit. The method continues when the corresponding portion of the plurality of read requests exceeds the heavy load condition for the first storage unit with the first storage unit identifying a first alternative storage unit of the DSN. The method continues with the first storage unit sending a copy of the first group of encoded data slices to the first alternative storage unit and redirecting some of the corresponding portion of the plurality of read requests to the first alternative storage unit for processing.
    Type: Application
    Filed: December 31, 2014
    Publication date: April 23, 2015
    Applicant: CLEVERSAFE, INC.
    Inventor: Jason K. Resch
  • 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: 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: 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: 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: 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: 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
  • Publication number: 20150100726
    Abstract: A method for execution by one or more processing modules of a dispersed storage network (DSN) includes storing a set of encoded data slices in an original plurality of storage units of the DSN associated as a current generation of a storage vault. The method determines whether to increase a width dispersal parameter of the storage vault. When the width dispersal parameter of the storage vault is to be increased, the original plurality of storage units are updated to include at least one additional storage unit to generate an updated plurality of storage units associated as a next generation of the storage vault. The set of encoded data slices are stored in the updated plurality of storage units of the DSN associated as the next generation of the storage vault.
    Type: Application
    Filed: August 5, 2014
    Publication date: April 9, 2015
    Applicant: CLEVERSAFE, INC.
    Inventors: S. Christopher Gladwin, Jason K. Resch
  • Publication number: 20150100601
    Abstract: A method for execution by one or more processing modules of a dispersed storage network (DSN) includes receiving a data access request for at least one data segment stored in the DSN. A vault associated with data access request is identified along with one of a plurality of sub-vaults associated with the vault. Access information corresponding to the one of the plurality of sub-vaults is retrieved to determine whether the access request is allowed. When the access request is allowed, a sub-vault directory associated with the one of the plurality of sub-vaults is retrieved to identify a DSN address corresponding to the data access request, and fulfilling the data access request based on the DSN address.
    Type: Application
    Filed: August 5, 2014
    Publication date: April 9, 2015
    Applicant: CLEVERSAFE, INC.
    Inventors: Wesley Leggette, Bart Cilfone
  • Publication number: 20150100662
    Abstract: A method includes a dispersed storage (DS) processing module receiving a slice access request that includes a slice name. The method continues by obtaining one or more revision numbers for the slice access request. The method continues for each combination of revision number and the slice name, by performing a deterministic function on the combination to produce a slice location table index value. The method continues by accessing a slice location table utilizing the slice location table index value to obtain a slice location. The method continues by accessing a slice utilizing the slice location. The method continues by generating a slice access response based on the accessing of the slice and sending the slice access response to a requesting entity.
    Type: Application
    Filed: September 3, 2014
    Publication date: April 9, 2015
    Applicant: CLEVERSAFE, INC.
    Inventors: Joseph Martin Kaczmarek, Ilya Volvovski, Andrew Baptist, Andrei Tsvetkov
  • Publication number: 20150101024
    Abstract: A method for execution by one or more processing modules of a dispersed storage network (DSN) includes receiving a data access request for at least one data segment stored in the DSN. One of a plurality of identity units is selected, based on the data access request. The method determines, via the selected one of the plurality of identity units, whether to allow the data access request. The data access request is processed, when the data access request is allowed via the selected one of the plurality of identity units.
    Type: Application
    Filed: August 12, 2014
    Publication date: April 9, 2015
    Applicant: CLEVERSAFE, INC.
    Inventors: Wesley Leggette, Jason K. Resch, Eric Gunnar Smith
  • Publication number: 20150100966
    Abstract: A method includes a set of execution units of a dispersed storage network (DSN) receiving sets of sub-task requests from a computing device and storing the sets of sub-task requests, where each execution unit stores a request of each of the sets of sub-task requests to produce a corresponding plurality of sub-task requests. The method continues with each execution unit generating sub-task estimation data and adjusting timing, sequencing, or processing of the corresponding plurality of sub-task requests based on the estimation data to produce a plurality of partial results, where, due to one or more difference factors from a list of difference factors, the execution units process pluralities of sub-task requests at difference paces, where the list of difference factors includes differences in amounts of data to be processed per sub-task request, processing capabilities, memory storage capabilities, and networking capabilities.
    Type: Application
    Filed: August 5, 2014
    Publication date: April 9, 2015
    Applicant: CLEVERSAFE, INC.
    Inventors: Andrew Baptist, Ilya Volvovski, Joseph Martin Kaczmarek, Yogesh Ramesh Vedpathak