Patents Assigned to Cleversafe, Inc.
  • Patent number: 8938591
    Abstract: A new data block to be stored in the dispersed storage system is received. When it is determined that a previous data segment contains sufficient space for the new data block, the previous data segment is retrieved from a plurality of dispersed storage units. A revised data segment is generated by aggregating the new data block with at least one existing data block of the previous data segment. A plurality of slices are generated for the revised data segment. The plurality of slices are stored in the plurality of dispersed storage units.
    Type: Grant
    Filed: March 30, 2010
    Date of Patent: January 20, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Zachary J. Mark, S. Christopher Gladwin
  • Patent number: 8935761
    Abstract: A method begins by a dispersed storage (DS) processing module receiving data objects from a plurality of authorized users and determining a system level storage efficiency preference for a data object. The method continues with the DS processing module selecting a set of storage nodes of an on-line media storage system based on the system level storage efficiency preference and determining dispersed storage error encoding parameters. The method continues with the DS processing module encoding the data object in accordance with the dispersed storage error encoding parameters to produce encoded data slices and generating system addressing information. The method continues with the DS processing module storing the encoded data slices in the set of storage nodes using the system addressing information and updating a user profile for the authorized user to include the system addressing information.
    Type: Grant
    Filed: May 8, 2013
    Date of Patent: January 13, 2015
    Assignee: Cleversafe, Inc.
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 8935256
    Abstract: A method begins by a dispersed storage (DS) processing module determining to expand a hierarchical ordered index structure and retrieving a root index node. The method continues with the DS processing module identifying immediate children index nodes, dividing the immediate children index nodes into sets of children index nodes, creating, for each of the sets of children index nodes, a sub-root index node to produce a set of sub-root index nodes, creating a new root index node to include entries for each of the sub-root index nodes of the set of sub-root index nodes, and temporarily storing the new root index node and the set of sub-root index nodes in a dispersed storage network (DSN). When the root index node has not changed, the method continues with the DS processing module updating the hierarchical ordered index structure with the new root index node and the set of sub-root index nodes.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: January 13, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Greg Dhuse, Wesley Leggette, Adam Michael Gray, Ilya Volvovski, Andrew Baptist, Jason K. Resch
  • Patent number: 8930649
    Abstract: A method begins by a dispersed storage (DS) processing module concurrently receiving a first data stream and a second data stream for transmission to a receiving entity. The method continues with the DS processing module segmenting each of the first and second data streams to produce a first plurality of data segments and a second plurality of data segments, dividing one of the first plurality of data segments into a first plurality of data blocks, and dividing one of the second plurality of data segments into a second plurality of data blocks. The method continues with the DS processing module creating a data matrix from the first and second plurality of data blocks and generating a coded matrix from the data matrix and an encoding matrix. The method continues with the DS processing module outputting one or more pairs of coded values of the coded matrix to the receiving entity.
    Type: Grant
    Filed: August 2, 2012
    Date of Patent: January 6, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 8930375
    Abstract: A method begins by a dispersed storage (DS) processing module determining to remove data object index entries from a data object level index node, identifying data object index entries to extract, and creating a temporary sibling data object level index node to include the identified data object index entries. The method continues with the DS processing module initiating updating of an hierarchical ordered index structure by identifying an address for storing the temporary sibling data object level index node, setting up linking the temporary sibling data object level index node to a next level node and to an adjacent data object level index node, and determining whether a change has occurred. When the change has not occurred, the method continues with the DS processing module removing the data object index entries from the data object level index node and commencing the updating of the hierarchical ordered index structure.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: January 6, 2015
    Assignee: Cleversafe, Inc.
    Inventors: Greg Dhuse, Wesley Leggette, Adam Michael Gray, Ilya Volvovski, Andrew Baptist, Jason K. Resch
  • Patent number: 8924770
    Abstract: A method begins by a dispersed storage (DS) processing module detecting a storage error of an encoded data slice associated with a storage server within a maintenance free storage container. The method continues with the DS processing module determining failure mode information for the storage server and other storage servers and determining a rebuilding protocol for the encoded data. When the determined rebuilding protocol is a zero information gain (ZIG) protocol, the method continues with the DS processing module identifying a decode threshold number of storage servers from the other storage servers of the maintenance free storage container and from storage servers of another maintenance free storage container, retrieving zero information gain (ZIG) partial encoded data slices from the decode threshold number of storage servers, and decoding the ZIG partial encoded data slices utilizing a ZIG dispersed storage error coding function to reproduce the encoded data slice.
    Type: Grant
    Filed: June 20, 2012
    Date of Patent: December 30, 2014
    Assignee: Cleversafe, Inc.
    Inventors: S. Christopher Gladwin, Jason K. Resch, Gary W. Grube, Timothy W. Markison
  • Patent number: 8924387
    Abstract: Social networking data is received at the dispersed storage processing unit, the social networking data associated with at least one of a plurality of user devices. Dispersed storage metadata associated with the social networking data is generated. A full record and at least one partial record are generated based on the social networking data and further based on the dispersed storage metadata. The full record is stored in a dispersed storage network. The partial record is pushed to at least one other of the plurality of user devices via the data network.
    Type: Grant
    Filed: May 28, 2010
    Date of Patent: December 30, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 8918674
    Abstract: A method begins by a processing module receiving a data storage request, wherein the data storage request includes data and a data identifier (ID). The method continues with the processing module dispersed storage error encoding the data to produce a set of encoded data slices and determining a data dispersed storage network (DSN) address. The method continues with the processing module sending the set of encoded data slices to a DSN memory for storage at the data DSN address and updating a directory file with path information corresponding to the data ID and the data DSN address to produce an updated directory file. The method continues with the processing module dispersed storage error encoding the updated directory file to produce a set of encoded updated directory slices and sending the set of encoded updated directory slices to the DSN memory for storage at a directory DSN address.
    Type: Grant
    Filed: November 9, 2010
    Date of Patent: December 23, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, Andrew Baptist, Srinivas Palthepu, Greg Dhuse, Ilya Volvovski, Wesley Leggette, Manish Motwani
  • Patent number: 8918534
    Abstract: A distributed storage network includes a distributed storage processing unit, which generates multiple data slices from a single data segment, and multiple different storage units to store the data slices. Each data slice is assigned to a particular storage unit for storage. The distributed storage processing unit determines which of the storage units are in a ready state, and sends data slices to the ready storage units. Data slices assigned to storage units that are not in a ready state are temporarily stored in a temporary memory, e.g. cache memory, until the storage unit becomes ready. If the intended storage unit remains in a non-ready status for too long, the slices stored in cache memory can be sent to a substitute storage unit, or discarded and reconstructed at a later time.
    Type: Grant
    Filed: May 11, 2010
    Date of Patent: December 23, 2014
    Assignee: Cleversafe, Inc.
    Inventor: Andrew Baptist
  • Patent number: 8918693
    Abstract: A method begins by a processing module dispersed storage error encoding fundamental component data of data in accordance with dispersed storage error coding parameters to produce a plurality of sets of encoded data slices, wherein the data includes the fundamental component data and enhancement component data. The method continues with the processing module transmitting a set of the plurality of sets of encoded data slices and transmitting a corresponding portion of the enhancement component data substantially concurrently with the transmitting of the set of the plurality of sets of encoded data slices.
    Type: Grant
    Filed: October 3, 2011
    Date of Patent: December 23, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Greg Dhuse, Andrew Baptist, Ilya Volvovski, Gary W. Grube, Timothy W. Markison, S. Christopher Gladwin, Jason K. Resch
  • Patent number: 8918897
    Abstract: A method begins with a processing module issuing a retrieval request, receiving secret shares of a set of secret shares to produce received secret shares, and receiving encoded data slices of a set of encoded data slices. The method continues with the processing module decoding the received secret shares to recapture a message authentication key when a threshold number of the secret shares is received. The method continues with the processing module identifying a received encoded data slice of the received encoded data slices having an authentication code associated therewith when a threshold number of the encoded data slices is received. The method continues with the processing module verifying the authentication code based on the message authentication key and the received encoded data slice. The method continues with the processing module decoding the received encoded data slices to recapture a data segment when the authentication code is verified.
    Type: Grant
    Filed: August 25, 2010
    Date of Patent: December 23, 2014
    Assignee: Cleversafe, Inc.
    Inventor: Jason K. Resch
  • Patent number: 8914667
    Abstract: A method begins by a dispersed storage (DS) processing module identifying a set of collections of records corresponding to a data segment that is stored in a dispersed storage network (DSN) as a set of encoded data slices, wherein a collection of records includes an event record including information regarding an event, a first record including information regarding a dispersed storage (DS) processing module processing an event request to produce a plurality of sub-event requests, and a plurality of records including information regarding a set of DS units processing the plurality of sub-event requests. The method continues with the DS processing module determining whether an error exists for one of the set of encoded data slices based on at least some of the set of collections of records and when the error exists, flagging the one of the set of encoded data slices for potential rebuilding.
    Type: Grant
    Filed: July 12, 2012
    Date of Patent: December 16, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Greg Dhuse, Yogesh Ramesh Vedpathak
  • Patent number: 8914707
    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: Grant
    Filed: December 18, 2013
    Date of Patent: December 16, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, Bart Cilfone
  • Patent number: 8914609
    Abstract: A computing device includes an interface, memory, and a processing module. The memory stores a directory and inode tables. The directory stores a file identifier and a corresponding inumber for each file that is stored in storage units. An inode table stores an inumber, metadata, and a DSN address for each file stored in a corresponding storage unit. The processing module is operable to monitor, for each of the inode tables, utilization of the memory. The processing module is further operable to monitor, for each of the storage units, utilization of memory of the storage units. The processing module is further operable to process, for the inode table and/or the corresponding storage unit, per inode table memory utilization data and per storage unit memory utilization data to adjust memory utilization of the inode table and/or memory utilization of the corresponding storage unit.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: December 16, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, Gary W. Grube, S. Christopher Gladwin
  • Patent number: 8914669
    Abstract: A method begins by a processing module identifying an encoded data slice to be rebuilt, selecting a decode threshold number of dispersed storage (DS) units of a storage set of DS units, generating a decode threshold number of key pairs, wherein a key pair of the decode threshold number of key pairs corresponds to a DS unit of the decode threshold number of DS units, and sending partial rebuilding requests to the decode threshold number of DS units, wherein a partial rebuilding request of the partial rebuilding requests includes the key pair. The method continues with the processing module receiving encrypted partial encoded data slices, wherein an encrypted partial encoded data slice received from the corresponding DS unit includes a multiple encryption, using the key pair, of a partial encoded data slice and decoding the encrypted partial encoded data slices to rebuild the encoded data slice.
    Type: Grant
    Filed: November 7, 2011
    Date of Patent: December 16, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Greg Dhuse, Wesley Leggette, Andrew Baptist, Jason K. Resch
  • Patent number: 8909858
    Abstract: A method begins by a dispersed storage network (DSN) access module encoding a data segment to produce slices and sending temporary write requests to DSN storage modules, wherein the temporary write requests includes slices. In response to one of the temporary write requests, the method continues with a DSN storage module temporarily storing a slice to produce a temporarily stored slice and sending an indication of temporary storage of the slice. When a write threshold number of indications of temporary storage has been received by the DSN access module, the method continues with the DSN access module sending permanent write requests to DSN storage modules. In response to one of the permanent write requests, the method continues with the DSN storage module storing the temporarily stored slice in permanent memory and sending an indication of permanent storage of the slice.
    Type: Grant
    Filed: January 4, 2012
    Date of Patent: December 9, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, Gary W. Grube
  • Patent number: 8910022
    Abstract: A computing device includes a central processing unit (CPU) and a memory system module. The CPU includes a data dispersed storage error coding (DSEC) module operable to DSEC decode a set of encoded ingress data slices to recapture ingress data and DSEC encode egress data to produce a set of encoded egress data slices, an instruction DSEC module operable to DSEC decode a set of encoded instruction slices to recapture an instruction, and an arithmetic logic unit (ALU) operable to, execute the instruction on the ingress data and execute the instruction to produce the egress data. The memory system module is operable to coordinate retrieval of the set of encoded ingress data slices from memory, coordinate retrieval of the set of encoded instruction slices from the memory, and coordinate storage of the set of encoded egress data slices in the memory.
    Type: Grant
    Filed: February 14, 2012
    Date of Patent: December 9, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison, Greg Dhuse, Jason K. Resch, Ilya Volvovski, Wesley Leggette
  • Patent number: 8904226
    Abstract: A method begins by a processing module identifying a set of stored files that includes an original file and one or more back-up copies of the original file. The method continues with the processing module dispersed storage error encoding one of the set of stored files to produce a plurality of sets of encoded data slices. The method continues with the processing module facilitating storage of the plurality of sets of encoded data slices. The method continues with the processing module facilitating deletion of the set of stored files.
    Type: Grant
    Filed: August 5, 2011
    Date of Patent: December 2, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Jason K. Resch, Gary W. Grube, Timothy W. Markison
  • Patent number: 8897443
    Abstract: A method begins by a processing module receiving data for storage in a dispersed storage network (DSN) memory and obtaining watermarking information regarding a source of the data. The method continues with the processing module dispersed storage error encoding the data to produce a plurality of sets of encoded data slices and processing the plurality of sets of encoded data slices and marker slices to produce a plurality of sets of watermarked encoded data slices to have a pattern of encoded data slices and the marker slices in accordance with the watermarking information. The method continues with the processing module outputting the plurality of sets of watermarked encoded data slices to the DSN memory for storage therein.
    Type: Grant
    Filed: December 1, 2011
    Date of Patent: November 25, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 8898542
    Abstract: A method begins by a dispersed storage (DS) processing module receiving a partial task regarding an encoded data block grouping. The method continues with the DS processing module performing the partial task on the encoded data block grouping to produce a partial task result and determining subsequent treatment of the partial task result. When the subsequent treatment includes storage of the partial task result, the method continues with the DS processing module determining a manner in which the partial task result is to be stored. When the manner in which the partial task result is to be stored is dispersed storage, the method continues with the DS processing module dispersed storage error encoding the partial task result to produce one or more sets of encoded partial task result blocks and outputting the one or more sets of encoded partial task result blocks to a set of DST execution units.
    Type: Grant
    Filed: December 6, 2012
    Date of Patent: November 25, 2014
    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.