Patents Assigned to Cleversafe, Inc.
  • Publication number: 20110122523
    Abstract: 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: Application
    Filed: July 28, 2010
    Publication date: May 26, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: S. CHRISTOPHER GLADWIN, GARY W. GRUBE, TIMOTHY W. MARKISON
  • Publication number: 20110125771
    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: Application
    Filed: September 17, 2010
    Publication date: May 26, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: S. CHRISTOPHER GLADWIN, KUMAR ABHIJEET, GREG DHUSE, JASON K. RESCH, GARY W. GRUBE, TIMOTHY W. MARKISON
  • Publication number: 20110107112
    Abstract: A distributed storage network received a data segment. The data segment is partitioned into two or more portions. A first portion hash is calculated from the first portion of data and used to encrypt the second portion of data. A hash of the encrypted second portion of data is then used to either encrypt the next portion of data (in this case, a third portion of data) or to circle back to the beginning and encrypt the first portion of the data if the second portion of data is the last in data segment. This iterative process continues until all portions of the data segment are encrypted in a sequence. In essence, the data portions of the segment are sequentially processed in some order to encrypt the various portions in that progressing order. A reverse order is used to derive the hash values and decrypt the encrypted data portions into decrypted original data to recreate the data segment.
    Type: Application
    Filed: June 13, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventor: JASON K. RESCH
  • Publication number: 20110106909
    Abstract: A distributed storage network receives data that is to be transmitted. The data is processed via one or more error-coding dispersed storage functions and sliced into data slices. A certain number of the data slices are selected for wireless communication via a plurality of wireless modules wherein a first wireless module sends a first portion of the data slices, and a second wireless module sends a second portion of the data slices, and so on until the data slices are fully communicated. The wireless modules may be of different hardware, software, protocols, throughputs, bandwidth, speeds, encoding schemes, algorithms, etc. The transmission over several different wireless modules that potentially have different (and potentially changing over time) characteristics may increase both performance and security.
    Type: Application
    Filed: June 15, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventor: Christopher S. Gladwin
  • Publication number: 20110107026
    Abstract: For each original data segment, a distributed storage processing unit generates encoded slices designed to prevent the original data segment from being reconstructed using fewer than a threshold number of encoded slices. Multiple encoded slices are generated for each of two different data segments, and the slices associated with the first and second data segment are stored substantially concurrently in different storage sets employing different distributed storage units. Encoded slices for even and odd data segments can be stored in different storage sets, or longer sequences of data segments can be stored in alternating storage sets. Storage sets can also be determined by the vault generation of a particular data segment.
    Type: Application
    Filed: June 16, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: JOHN QUIGLEY, AKSHAY LAL, ASIMUDDIN KAZI
  • Publication number: 20110106972
    Abstract: A method begins by a router receiving data for storage and interpreting the data to determine whether the data is to be forwarded or error encoded. The method continues with the router obtaining a routing table when the data is to be error encoded. Next, the method continues with the router selecting a routing option from the plurality of routing options and determining error coding dispersal storage function parameters based on the routing option. Next, the method continues with the router encoding the data based on the error coding dispersal storage function parameters to produce a plurality of sets of encoded data slices. Next, the method continues with the router outputting at least some of the encoded data slices of a set of the plurality of sets of encoded data slices to an entry point of the routing option.
    Type: Application
    Filed: August 4, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: GARY W. GRUBE, TIMOTHY W. MARKISON
  • Publication number: 20110107113
    Abstract: Multiple revisions of an encoded data slice are generated, with each revision having the same slice name. Each of the data slices represents the same original data portion, but each is encoded so that no single data slice can be used to reconstruct the original data portion. Appropriate revision numbers are associated with each encoded data slice, and the encoded data slices and associated revision numbers are transmitted for storage in selected storage units of a distributed storage network. If write confirmations are received from at least a write threshold number of storage units, a commit command is transmitted so that the most recently written data slices will be available for access. After a commit command is issued, a current directory used to access the encoded data slices can be sliced, encoded, and stored in the same way as the data slices.
    Type: Application
    Filed: July 16, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: Jason K. Resch, Greg Dhuse, Ilya Volvovski, Andrew Baptist
  • Publication number: 20110107181
    Abstract: 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: Application
    Filed: July 23, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: Timothy W. Markison, Gary W. Grube
  • Publication number: 20110107180
    Abstract: 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: Application
    Filed: July 23, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: Timothy W. Markison, Gary W. Grube, S. Christopher Gladwin, Alan E. Holmes, Wesley Leggette, Jason K. Resch
  • Publication number: 20110107184
    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: Application
    Filed: July 23, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: GARY W. GRUBE, TIMOTHY W. MARKISON
  • Publication number: 20110107182
    Abstract: A method begins by a dispersed storage processing module obtaining data for storage. The method continues with the dispersed storage processing module soliciting dispersed storage (DS) units to store encoded data slices of the data. The method continues with the dispersed storage processing module receiving favorable responses from a set of DS units. The method continues with the dispersed storage processing module encoding the data in accordance with an error coding dispersal storage function and in accordance with the favorable responses.
    Type: Application
    Filed: August 4, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: GARY W. GRUBE, TIMOTHY W. MARKISON
  • Publication number: 20110106855
    Abstract: Various revisions of encoded data slices stored in a distributed storage system can be time stamped to assist in retrieving desired data revisions. Each of the multiple revisions of the encoded data slices may have the same name, but different revision numbers. An encoded data slice, which is received at a distributed storage unit along with a write command, slice name, and the revision number, is time stamped. The timestamp and revision number are stored in conjunction with the data slice. A desired encoded data slice can be retrieved by sending a read command, slice name, and timeframe to the distributed storage unit. The appropriate encoded data slice can be retrieved by determining which revision number has a timestamp most closely matching the requested timeframe.
    Type: Application
    Filed: July 16, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: Jason K. Resch, Wesley Leggette, Andrew Baptist
  • Publication number: 20110106973
    Abstract: A method begins by a router receiving a data packet and determining a destination of the data packet. The method continues with the router determining whether the router has an affiliation with the destination. The method continues with the router determining whether to temporarily locally store the data packet when the router has the affiliation with the destination. The method continues with the router locally storing the data packet and forwarding the data packet to the destination in accordance with a transfer protocol when the determination to temporarily locally store the data packet is favorable.
    Type: Application
    Filed: August 4, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: GARY W. GRUBE, TIMOTHY W. MARKISON
  • Publication number: 20110107185
    Abstract: A method begins by a dispersed storage processing module receiving media content determining social media metadata regarding the media content. The method continues with the dispersed storage processing module 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: Application
    Filed: August 4, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: GARY W. GRUBE, TIMOTHY W. MARKISON
  • Publication number: 20110107036
    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: Application
    Filed: July 16, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: Jason K. Resch, Greg Dhuse, Ilya Volvovski, Andrew Baptist, Wesley Leggette
  • Publication number: 20110106769
    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: Application
    Filed: June 17, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: ANDREW BAPTIST, SRINIVAS PALTHEPU, BART CILFONE, JASON K. RESCH, ILYA VOLVOVSKI
  • Publication number: 20110107165
    Abstract: 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: Application
    Filed: July 19, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: Jason K. Resch, Bart Cilfone
  • Publication number: 20110106904
    Abstract: 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.
    Type: Application
    Filed: July 19, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: Jason K. Resch, Wesley Leggette, S. Christopher Gladwin, Greg Dhuse, Andrew Baptist
  • Publication number: 20110107078
    Abstract: A distributed storage processing unit encodes data objects into multiple encoded data slices to prevent reconstruction of the original data object using a single encoded data slice, but to allow reconstruction using at least a threshold number of encoded data slices. The distributed storage processing unit can decide to whether and where to cache frequently requested data slices. When retrieving data slices related to a particular data object, a check can be made to determine if the data slices are cached in a temporary memory associated with the distributed storage processing unit, or elsewhere in the distributed storage network. This check can be facilitated by storing data slices and a hash table identifying the location of stored data slices in the same temporary memory.
    Type: Application
    Filed: June 17, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: JASON K. RESCH, GREG DHUSE, MANISH MOTWANI
  • Publication number: 20110107094
    Abstract: 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: Application
    Filed: June 17, 2010
    Publication date: May 5, 2011
    Applicant: CLEVERSAFE, INC.
    Inventors: JASON K. RESCH, ANDREW BAPTIST