Patents Assigned to Cleversafe, Inc.
  • Patent number: 8478937
    Abstract: A method begins by a processing module receiving data for storage. The method continues with the processing module determining storage metadata regarding the data the method continues with the processing module. The method continues with the processing module determining memory device capabilities based on the storage metadata. The method continues with the processing module identifying memory devices based on the memory device capabilities to produce identified memory devices. The method continues with the processing module encoding the data into a plurality of data slices in accordance with an error coding dispersal function. The method continues with the processing module storing the plurality of data slices in the identified memory devices.
    Type: Grant
    Filed: May 12, 2010
    Date of Patent: July 2, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 8473677
    Abstract: A distributed storage unit determines how to handle a read or write request for a data slice based on a state of the memory the data slice is to be read from or written to. When receiving a request to retrieve a data slice, the distributed storage unit, determines a state of the memory in which the data slice is stored. Based on the memory state, one of multiple different methods for obtaining the data slice is selected. The methods include, among others, a direct read from the memory, and reconstructing the data slice using other memories and parity values. In response to a write request, the distributed storage unit can determine whether to use the currently selected memory for writing, or rotate the memory used for writing, based on a state of the memory.
    Type: Grant
    Filed: May 11, 2010
    Date of Patent: June 25, 2013
    Assignee: Cleversafe, Inc.
    Inventors: S. Christopher Gladwin, Wesley Leggette
  • Patent number: 8468609
    Abstract: At least one dispersed storage (DS) processing unit (14), at least one dispersed storage managing unit (18), and at least one dispersed storage unit (44) communicate with each other over a network (20) to authenticate and process a user data transaction within dispersed memory in a dispersed storage network. In a data operation, the DS processing unit (14) first received the request. The unit (14) uses stored security information (80 and 84) to validate that the user requesting the user transaction is a valid user. The unit (18) processes the user transaction to further authenticate that the user is valid and the user transaction requested by the user is proper. Finally, the unit (44) again received user transaction information and performs another authentication to ensure that the distributed network data slices can be properly processed by this user and this user transaction.
    Type: Grant
    Filed: April 14, 2010
    Date of Patent: June 18, 2013
    Assignee: Cleversafe, Inc.
    Inventor: Wesley Leggette
  • Patent number: 8468368
    Abstract: A method begins with a processing module obtaining encoded key slices from a plurality of user devices and decoding a threshold number of the encoded key slices utilizing a first error coding dispersal storage function to produce a key when the threshold number of the encoded key slices has been obtained. The method continues with the processing module receiving encoded data slices and decoding a threshold number of encoded data slices utilizing a second error coding dispersal storage function to produce encrypted data when the threshold number of the encoded data slices has been received. The method continues with the processing module decrypting the encrypted data utilizing the key and an encryption function to produce data.
    Type: Grant
    Filed: September 17, 2010
    Date of Patent: June 18, 2013
    Assignee: Cleversafe, Inc.
    Inventors: S. Christopher Gladwin, Kumar Abhijeet, Greg Dhuse, Jason K. Resch
  • Patent number: 8468137
    Abstract: A distributed storage network receives a data object and determines a size of the data object. The network then determines whether the data object should be segmented into fixed size segments or variable sizes segments based upon some variable-length algorithm. If the fixed approach is selected, the data object is segmented into two or more fixed size segments with attached header information and the information is further processed using error coding dispersal storage functions within the network. If the variable approach is selected, the data object is segmented into two or more variable-sized segments with attached header information and the information is further processed using error coding dispersal storage functions within the network. Both the variable and fixed approaches enable storage of error-correctable data slices in a distributed storage manner.
    Type: Grant
    Filed: June 17, 2010
    Date of Patent: June 18, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Andrew Baptist, Srinivas Palthepu, Bart Cilfone, Jason K. Resch, Ilya Volvovski
  • Patent number: 8468311
    Abstract: An efficient method for breaking source data into smaller data subsets and storing those subsets along with coded information about some of the other data subsets on different storage nodes such that the original data can be recreated from a portion of those data subsets in an efficient manner.
    Type: Grant
    Filed: June 5, 2012
    Date of Patent: June 18, 2013
    Assignee: Cleversafe, Inc.
    Inventors: S. Christopher Gladwin, Matthew M. England
  • Publication number: 20130151470
    Abstract: A method begins by dividing a data segment into data segment portions. The method continues by encoding the data segment portions to produce a plurality of sets of encoded data segment portions. A data segment portion is encoded by, first, selecting an encoding equation and an encoding constant(s). The encoding continues by setting a first variable to the data segment portion. The encoding continues by setting a second variable to one of a set of pillar numbers. The encoding continues by executing the encoding equation using the encoding constant, the first variable, and the second variable to produce one of the plurality of sets of encoded data segment portions. The method continues by arranging the plurality of sets of encoded data segment portions into a plurality of encoded data slices. The method continues by sending the plurality of encoded data slices to distributed storage units of a distributed storage network.
    Type: Application
    Filed: January 16, 2013
    Publication date: June 13, 2013
    Applicant: Cleversafe, Inc.
    Inventors: Jason K. Resch, Wesley Leggette
  • Patent number: 8464133
    Abstract: A method, using a dispersed storage processing module, includes receiving media content determining social media metadata regarding the media content, encoding the media content in accordance with an error coding dispersal storage function to produce a plurality of sets of encoded data slices, identifying a plurality of memories to store the plurality of sets of encoded data slices, and sending the plurality of sets of encoded data slices to the plurality of memories when the social media metadata indicates that the media content is to be available for a local social network.
    Type: Grant
    Filed: August 4, 2010
    Date of Patent: June 11, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 8464096
    Abstract: A method begins by identifying a data slice requiring rebuilding to produce an identified data slice, wherein the identified data slice is one of a plurality of data slices that constitute a data segment. The method continues by retrieving at least m number of data slices, wherein m data slices of the plurality of data slices enable reconstruction of the data segment, and wherein the at least m number of data slices does not include the identified data slice. The method continues by reconstructing the identified data slice from the at least m number of data slices to produce a rebuilt data slice. The method continues by writing the rebuilt data slice to one of a plurality of data slice servers.
    Type: Grant
    Filed: July 25, 2012
    Date of Patent: June 11, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Vance T. Thornton, Jamie Bellanca, Dustin M. Hendrickson, Zachary J. Mark, Ilya Volvovski
  • Publication number: 20130145123
    Abstract: A computing core includes a processing module, main memory, and a memory controller. The memory controller receives a request to fetch an instruction from the processing module and determines whether the instruction is currently stored in the main memory. When the instruction is not currently stored in the main memory, the memory controller determines whether the instruction is stored in a distributed storage network (DSN) memory as one or more sets of encoded instruction slices; and, when it is, the memory controller addresses the DSN memory to retrieve the one or more sets of encoded instruction slices. When at least a threshold number of encoded instruction slices are retrieved for each of the one or more sets of encoded instruction slices, the one or more sets of encoded instruction slices are decoded using a dispersed storage error coding function to reconstruct the instruction, which is provided to the processing module.
    Type: Application
    Filed: January 29, 2013
    Publication date: June 6, 2013
    Applicant: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Publication number: 20130145232
    Abstract: A computing core includes a processing module, main memory, and a memory controller. The memory controller receives a request to store a data result from a processing module and determines whether to store the data result in an error encoded format. When the memory controller determines to store the data result in the error encoded format, it facilitates encoding the data result in accordance with a dispersed storage error coding function to produce one or more sets of encoded data slices. The memory controller then determines where to store the one or more sets of encoded data slices and provides the one or more sets of encoded data slices to one or more identified memories for storage.
    Type: Application
    Filed: January 29, 2013
    Publication date: June 6, 2013
    Applicant: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 8458233
    Abstract: A method begins with a processing module receiving, from a requesting device, a data storage request that includes data for storage. The method continues with the processing module determining whether substantially identical data is currently stored in a dispersed storage network (DSN) memory. The method continues with the processing module encoding at least a portion of the data using an error coding dispersal storage function to produce a set of encoded data slices, sending the set of encoded data slices to the DSN memory for storage therein, and generating a unique retrieval matrix for the requesting device, wherein the unique retrieval matrix identifies a sub-set of encoded data slices of the set of encoded data slices for subsequent retrieval of the at least a portion of the data, when the substantially identical data is not stored in the DSN memory.
    Type: Grant
    Filed: September 17, 2010
    Date of Patent: June 4, 2013
    Assignee: Cleversafe, Inc.
    Inventors: S. Christopher Gladwin, Kumar Abhijeet, Greg Dhuse, Jason K. Resch, Gary W. Grube, Timothy W. Markison
  • Publication number: 20130136258
    Abstract: A method begins by a dispersed storage (DS) processing module encrypting a plurality of data segments of the data using a plurality of encryption keys to produce a plurality of encrypted data segments and generating a plurality of deterministic values from the plurality of encrypted data segments. The method continues with the DS processing module establishing a data intermingling pattern and generating a plurality of masked keys by selecting one or more of the plurality of deterministic values in accordance with the data intermingling pattern and performing a masking function on the plurality of encryption keys and the selected one or more of the plurality of deterministic values. The method continues with the DS processing module appending the plurality of masked keys to the plurality of encrypted data segments to produce a plurality of secure data packages and outputting the plurality of secure data packages.
    Type: Application
    Filed: November 27, 2012
    Publication date: May 30, 2013
    Applicant: Cleversafe, Inc.
    Inventor: Cleversafe, Inc.
  • Patent number: 8448016
    Abstract: A computing core application access method begins by a processing module detecting selection of an application. The method continues with at least one of a memory controller and the processing module addressing a distributed application memory to retrieve a plurality of error coded program data slices and a plurality of error coded configuration data slices. The method continues with the at least one of a memory controller and the processing module reconstructing a data segment of a program from the plurality of error coded program data slices using an error coding dispersal function. The method continues with the at least one of a memory controller and the processing module reconstructing a data segment of a configuration information from the plurality of error coded configuration data slices using a second error coding dispersal function.
    Type: Grant
    Filed: April 6, 2010
    Date of Patent: May 21, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 8448020
    Abstract: A method begins when a dispersed storage (DS) processing unit of a DS unit has at least one of DS unit operational data and DS unit operating system algorithm to store. The method continues with the DS processing unit encoding at least a portion of the at least one of DS unit operational data and DS unit operating system algorithm in accordance with an error coding dispersal storage function to produce a plurality of data slices. The method continues with the DS processing unit storing at least some of the plurality of data slices in memory devices of the DS unit in accordance with the error coding dispersal storage function.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: May 21, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Steven Mark Hoffman, Jason K. Resch, Gary W. Grube, Timothy W. Markison
  • Patent number: 8448044
    Abstract: A method begins by a processing module determining a retrieval threshold for retrieving a set of encoded data slices from a dispersed storage network (DSN), wherein the set of encoded data slices represents data encoded using a dispersed storage error encoding function having a pillar width of “n”, a decode threshold of “k”, and an encoding ratio of n?k>k and wherein the retrieval threshold is in accordance with the encoding ratio. The method continues with the processing module issuing data retrieval requests to the DSN for the set of encoded data slices and receiving encoded data slices of the set of encoded data slices to produce received encoded data slices. The method continues with the processing module decoding the received encoded data slices to recapture the data when a number of received encoded data slices compares favorably to the retrieval threshold.
    Type: Grant
    Filed: April 29, 2011
    Date of Patent: May 21, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Greg Dhuse, Ilya Volvovski, Andrew Baptist, Sebastien Vas, Zachary J. Mark
  • Publication number: 20130125190
    Abstract: A computer includes an interface and a processing module. The processing module receives, over time and via the interface, requests to playback recorded broadcast data, wherein a single copy of the recorded broadcast data is dispersed error encoded to produce a plurality of sets of encoded data slices that is stored in a dispersed storage network (DSN). In response to the playback requests, the processing module identifies unique combinations of at least a threshold number of encoded data slices for sets of the plurality of sets of encoded data slices to produce unique copies of the recorded broadcast data. For a particular playback request, the processing module retrieves a unique copy of the unique copies of the recorded broadcast data from the DSN and outputs, via the interface, the retrieved unique copy to a device associated with the particular playback request.
    Type: Application
    Filed: January 8, 2013
    Publication date: May 16, 2013
    Applicant: Cleversafe, Inc.
    Inventors: S. Christopher Gladwin, Kumar Abhijeet, Greg Dhuse, Jason K. Resch, Gary W. Grube, Timothy W. Markison
  • Publication number: 20130124875
    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: Application
    Filed: January 8, 2013
    Publication date: May 16, 2013
    Applicant: Cleversafe, Inc.
    Inventor: Jason K. Resch
  • Patent number: 8438456
    Abstract: A method begins by a processing module receiving streaming data and dispersed storage resource configuration information. The method continues with the processing module allocating a plurality of sets of dispersed storage resources, obtaining error coding dispersed storage function parameters, and partitioning the streaming data into a plurality of data streams in accordance with the dispersed storage resource configuration information when the dispersed storage resource configuration information requires a plurality of sets of dispersed storage resources. In addition, the method continues with the processing module converting, via the plurality of sets of dispersed storage resources, the plurality of data streams into pluralities of sets of error coded data slices in accordance with the error coding dispersed storage function parameters.
    Type: Grant
    Filed: June 9, 2010
    Date of Patent: May 7, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 8433978
    Abstract: A method begins by a processing module receiving a plurality of 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 when the data is broadcast and in response to a request of the plurality of requests. The method continues with the processing module generating a unique retrieval matrix for each of the plurality of requests based on an identity of a requesting device and the error coding dispersal storage function to produce a plurality of unique retrieval matrixes. The method continues with the processing module storing the plurality of sets of encoded data slices and the plurality of unique retrieval matrixes in a dispersed storage network memory as a plurality of unique copies of the data.
    Type: Grant
    Filed: July 23, 2010
    Date of Patent: April 30, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison