Patents by Inventor Greg Dhuse

Greg Dhuse has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10089344
    Abstract: A method begins by a dispersed storage (DS) processing module receiving a request for a data index list that identifies data objects having one or more common attributes, searching a hierarchical ordered index structure to identify a data object level index node corresponding to a first data object boundary match, and determining whether the data object level index node corresponds to a second data object boundary match. When the data object level index node does not correspond to the second data object boundary match, the method continues with the DS processing module searching an adjacent data object level index node to determine whether the adjacent data object level index node corresponds to the second data object boundary match. When the adjacent data object level index node corresponds to the second data object boundary match, the method continues with the DS processing module generating the data index list.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: October 2, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg Dhuse, Wesley Leggette, Adam Michael Gray, Ilya Volvovski, Andrew Baptist
  • Patent number: 10083097
    Abstract: A method includes determining, by a first client and a second client module, that a first data object and a second data objects are related. The method further includes dispersed storage error encoding the first data object to produce a first plurality of sets of encoded data slices and the second data object to produce a second plurality of sets of encoded data slices. The method further includes sending, by the first client module, first requests regarding the first plurality of sets of encoded data slices to a set of storage units. The method further includes sending, by the second client module, second requests regarding the second plurality of sets of encoded data slices to the set of storage units. The method further includes processing, by a binding module, remaining phases of the first and second write requests as a single write operation for the first and second data objects.
    Type: Grant
    Filed: September 26, 2016
    Date of Patent: September 25, 2018
    Assignee: International Business Machines Corporation
    Inventors: Michael Colin Storm, Wesley Leggette, Manish Motwani, Greg Dhuse, Jason K. Resch, Andrew Baptist
  • Patent number: 10075523
    Abstract: A method begins by a dispersed storage (DS) processing module receiving data for storage and generating a dispersed storage network (DSN) source name for the data. The method continues with the DS processing module determining whether substantially identical data to the data has been previously stored in memory of the DSN. When the substantially identical data has been previously stored in the memory of the DSN, the method continues with the DS processing module generating an object linking file that links the data to the substantially identical data, dispersed storage error encoding the object linking file to produce a set of encoded link file slices, and outputting the set of encoded link file slices for storage in the memory of the DSN.
    Type: Grant
    Filed: February 4, 2014
    Date of Patent: September 11, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ilya Volvovski, S. Christopher Gladwin, Gary W. Grube, Timothy W. Markison, Jason K. Resch, Thomas Franklin Shirley, Jr., Greg Dhuse, Manish Motwani, Andrew Baptist, Wesley Leggette
  • Patent number: 10069915
    Abstract: A method begins with a set of storage units receiving a plurality of sets of non-locking write requests from a plurality of computing devices. The method continues with each storage unit storing an encoded data slice of a respective one of the non-locking write requests of each set and sending a write response regarding the respective one of the non-locking write requests. The method continues with a computing device determining whether a threshold number of write responses regarding a corresponding one of the plurality of sets of non-locking write requests has an expected ordering indication. When the threshold number of write responses has the expected ordering indication, the method continues with the computing device sending a set of write finalize requests to the set of storage units to facilitate finalizing storing the set of encoded data slices of the corresponding one of the plurality of sets of non-locking write requests.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: September 4, 2018
    Assignee: International Business Machines Corporation
    Inventors: Greg Dhuse, Andrew Baptist, Ilya Volvovski, Ethan S. Wozniak, Jason K. Resch
  • Patent number: 10049120
    Abstract: A method begins by a requesting entity sending a normal data segment access request to first and second groups of storage units of a dispersed storage network. The method continues with the requesting entity sending a group failure data segment access request to the first group of storage units when the second group of storage units has less than a decode threshold number of encoded data slices of a set of encoded data slices available. When the second group of storage units has reestablished that the at least the decode threshold number of encoded data slices is available, the method continues with the requesting entity sending a re-integration data segment write request to the first and second groups of storage units and sending a re-integration data segment read request to the first group of storage units.
    Type: Grant
    Filed: July 8, 2015
    Date of Patent: August 14, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Andrew Baptist, Niall John McShane, Greg Dhuse, Thomas Franklin Shirley, Jr., Gregory Palinckx, Russell Paul Kennedy, S. Christopher Gladwin, Robert Clark McCammon, James Sherer
  • Patent number: 10042703
    Abstract: A method includes generating a data matrix from the data, wherein the data matrix includes a plurality of columns and a plurality of rows. The method further includes generating a chunkset data matrix from one or more rows of the data matrix. The method further includes matrix multiplying the chunkset data matrix by an encoding matrix to produce a chunkset slice matrix, wherein a row of the chunkset slice matrix corresponds to an encoded data slice and wherein the plurality of rows of the chunkset slice matrix corresponds to a set of encoded data slices, wherein a decode threshold number of encoded data slices of the set of encoded data slices is needed to recover the data grouping associated with the one or more rows of the data matrix.
    Type: Grant
    Filed: June 27, 2016
    Date of Patent: August 7, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jason K. Resch, Greg Dhuse
  • Publication number: 20180210790
    Abstract: A method begins by a dispersed storage (DS) processing module transmitting a set of write commands for storing a set of encoded data slices in storage units of a dispersed storage network (DSN) and determining whether at least a first threshold number of write responses have been received within a response time period. When the at least the first threshold number of the write responses have been received within the response time period, the method continues with the DS processing module determining whether a total number of responses have been received within another response time period. When the total number of responses have not been received within the other response time period, the method continues with the DS processing module issuing a sub-set of write commit commands corresponding to a response number of encoded data slices for which a response was received.
    Type: Application
    Filed: March 14, 2018
    Publication date: July 26, 2018
    Inventors: Ilya Volvovski, Ravi Khadiwala, Greg Dhuse, Jason K. Resch
  • Publication number: 20180196716
    Abstract: In a dispersed storage network where slices of secure user data are stored on geographically separated storage units (44), a managing unit (18) connected to the network (20) may seek to broadcast and update secure access control list information across the network (20). Upon a target device (e.g., devices 12, 14, 16, 18, or 44) receiving the broadcast, the target device creates and sends an access control list change notification message to all other system devices that should have received the same broadcast if the broadcast is a valid request to update access control list information. The target device waits for responses from the other system devices to validate that the broadcast has been properly sent to a threshold number of other system devices before taking action to operationally change local data in accordance with the broadcast.
    Type: Application
    Filed: March 5, 2018
    Publication date: July 12, 2018
    Inventors: Wesley Leggette, Greg Dhuse, Jason K. Resch
  • Publication number: 20180191633
    Abstract: Methods and apparatus for selection of memory locations for data access operations in a dispersed storage network (DSN) are disclosed. In various embodiments, a dispersed storage (DS) processing module of the DSN receives a DSN access request regarding at least one data segment of a data object. The DS processing module determines a DSN address associated with the DSN access request and performs a scoring function using the DSN address and one or more properties of DSN memory to produce a storage scoring resultant. The storage scoring resultant is utilized to identify a set of storage units of the DSN. A set of access requests is then sent to the set of storage units regarding the DSN access request. The scoring function can include, for example, performing deterministic functions, normalizing functions and ranking functions to produce the storage scoring resultant.
    Type: Application
    Filed: February 23, 2018
    Publication date: July 5, 2018
    Inventors: Jason K. Resch, Greg Dhuse, Manish Motwani, Andrew Baptist, Wesley Leggette, Ravi Khadiwala
  • Patent number: 10013444
    Abstract: A method begins by a dispersed storage (DS) processing module determining to create or modify a data object index key of a data object regarding an attribute of a plurality of attribute categories. The method continues with the DS processing module entering a process to update a data object level index node by retrieving the data object level index node from a set of dispersed storage (DS) units. The method continues with the DS processing module updating and encoding the data object level index node to produce a set of slices. The method continues with the DS processing module generating a set of write commands to write the set of slices to the set of DS units. When less than a threshold number of the set of write commands are successfully executed by the set of DS units, repeating the process to update the data object level index node.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: July 3, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg Dhuse, Wesley Leggette, Adam Michael Gray, Ilya Volvovski, Andrew Baptist, Jason K. Resch
  • Patent number: 10013471
    Abstract: A method begins by a by a first device of a dispersed storage network (DSN) sending a set of write revision requests to storage units of the DSN. The method continues with one of the storage units generating a write revision response regarding a potential write conflict. The method continues with the first device receiving the write revision responses to produce a set of received write revision responses and interpreting the set of received write revision responses to determine whether a write conflict exists. When the write conflict exists, the method continues with the first device issuing a set of write roll back requests to the storage units. When the write conflict does not exist, the method continues with the first device issuing a set of next phase write requests to the storage units regarding storing revised encoded data slices.
    Type: Grant
    Filed: July 29, 2016
    Date of Patent: July 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: Andrew Baptist, Greg Dhuse, Ilya Volvovski
  • Patent number: 9998540
    Abstract: A method begins by a set of distributed storage and task (DST) execution units receiving a set of partial tasks and data, where a partial task of the set of partial tasks includes a common task and a unique partial sub-task. The method continues with the set of DST execution units executing the common task on the data to produce a set of preliminary partial results. The method continues with a first DST execution unit of the set of DST execution units generating first interim data based on the at least some of the set of preliminary partial results. The method continues with the first DST execution unit executing a first unique partial sub-task on at least one of a first portion of the data and the first interim data to produce a first partial result.
    Type: Grant
    Filed: January 11, 2017
    Date of Patent: June 12, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew Baptist, Greg Dhuse, Wesley Leggette, Jason K. Resch
  • Patent number: 9996413
    Abstract: An improved system is disclosed for ensuring the integrity of data stored on a dispersed data storage network. Checksums are used to ensure integrity of both data segments and data slices. Checksums appended to data slices are checked by receiving slice servers to ensure that no errors occurred during transmission. Slice servers also periodically recalculate checksums for stored data slices to ensure that data slices have not been corrupted during storage. Checksums appended to data segments are checked when data segments are read from the storage network.
    Type: Grant
    Filed: October 9, 2007
    Date of Patent: June 12, 2018
    Assignee: International Business Machines Corporation
    Inventors: Greg Dhuse, Vance Thornton, Jason Resch, Ilya Volvovski, Dusty Hendrickson, John Quigley
  • Patent number: 9965336
    Abstract: A method begins by a computing device of a dispersed storage network (DSN) determining whether a DSN access request involves an iterative storage unit access process. When the DSN access request involves the iterative storage unit access process, the method continues with the computing device determining, based on configuration of a plurality of storage units storing data objects associated with the DSN access request, that a storage unit of the plurality of storage units is capable of executing at least a portion of the iterative storage unit access process better than the computing device, sending the DSN access request and a control command to the storage unit, where the control command instructs the storage unit to perform at least a portion of the iterative storage unit access process, and receiving, from the storage unit, at least a partial response to the DSN access request.
    Type: Grant
    Filed: March 4, 2015
    Date of Patent: May 8, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jason K. Resch, Greg Dhuse
  • Patent number: 9940197
    Abstract: A dispersed storage system includes a plurality of storage units that each include a partial rebuild grid module. The partial rebuild grid module includes partial rebuilding functionality to reconstruct one of a plurality of encoded data slices wherein the plurality of encoded data slices are generated from a data segment based on an error encoding dispersal function. In the partial rebuilding process, a data slice is rebuilt by combining in any order slice partials generated from at least a threshold number T of the plurality of data slices.
    Type: Grant
    Filed: February 27, 2014
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Greg Dhuse, Andrew Baptist, Zachary J. Mark, Jason K. Resch, Ilya Volvovski
  • Patent number: 9927976
    Abstract: A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) sending a plurality of sets of encoded data slices to DSN memory for storage in accordance with a plurality of sets of DSN data addresses. The method continues with the DS processing module generating retrieval data that is based on a data object number and data storage information. The method continues with the DS processing module dispersed storage error encoding the retrieval data to produce a set of encoded retrieval data slices and generating a set of DSN retrieval data addresses based on the data name and on retrieval data storage information. The method continues with the DS processing module sending the set of encoded retrieval data slices to the DSN memory for storage in accordance with the set of DSN retrieval data addresses.
    Type: Grant
    Filed: November 7, 2016
    Date of Patent: March 27, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Manish Motwani, Michael Colin Storm, Ilya Volvovski, Greg Dhuse, Andrew Baptist, Wesley Leggette
  • Patent number: 9923838
    Abstract: A method begins by a dispersed storage (DS) processing module of a dispersed storage network (DSN) receiving a DSN access request regarding at least one data segment of a data object. The method continues with the processing module performing a scoring function using one or more properties of the DSN access request and one or more properties of DSN memory of the DSN to produce a storage scoring resultant, where the DSN memory includes a plurality of storage units that are logically arranged into a plurality of storage pools. The method continues with the processing module utilizing the storage scoring resultant to identify a set of storage units of the plurality of storage units affiliated with a given storage pool of the plurality of storage pools. The method continues with the processing module sending a set of access requests to the set of storage units regarding the DSN access request.
    Type: Grant
    Filed: May 8, 2015
    Date of Patent: March 20, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Greg Dhuse, Manish Motwani, Andrew Baptist, Wesley Leggette, Ravi Khadiwala
  • Patent number: 9921907
    Abstract: A method begins by a dispersed storage (DS) processing module transmitting a set of write commands for storing a set of encoded data slices in storage units of a dispersed storage network (DSN) and determining whether at least a first threshold number of write responses have been received within a response time period. When the at least the first threshold number of the write responses have been received within the response time period, the method continues with the DS processing module determining whether a total number of responses have been received within another response time period. When the total number of responses have not been received within the other response time period, the method continues with the DS processing module issuing a sub-set of write commit commands corresponding to a response number of encoded data slices for which a response was received.
    Type: Grant
    Filed: February 9, 2017
    Date of Patent: March 20, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ilya Volvovski, Ravi Khadiwala, Greg Dhuse, Jason K. Resch
  • Publication number: 20180077238
    Abstract: A method includes receiving, by a storage unit of a set of storage units of a dispersed storage network (DSN) from a computing device of the DSN, a write request of a set of write requests regarding an encoded data slice of a set of encoded data slices. The write request includes a write set information table that includes a listing of which storage unit of the set of storage units is being sent which encoded data slice of the set of encoded data slices for storage therein. The method further includes interpreting the write set information table to determine that a particular encoded data slice assigned to a particular storage unit should be stored by a different storage unit. The method further includes facilitating storing of the particular encoded data slice in the different storage unit.
    Type: Application
    Filed: November 14, 2017
    Publication date: March 15, 2018
    Inventors: Jason K. Resch, Wesley Leggette, Greg Dhuse
  • Patent number: 9900150
    Abstract: A distributed storage network contains a user device that has a computing core, a DSN interface and either an integrated or an externally-connected camera or sensor. The camera or sensor collects data from its surrounding environment and processes the data at least partially through error coding dispersal storage functions that include slicing the data into a plurality of error-coded data slices. The error-coded data slices are output by the user device for one or more of storage within a dispersed storage network (DSN) memory, playing on a destination player, or broadcast consumption over a network. A storage integrity unit manages the storage capacity, use, and/or throughput of the system to ensure that data is processing in a real time or near real time so that data can be accurately processed and perceived by targeted end users.
    Type: Grant
    Filed: June 13, 2010
    Date of Patent: February 20, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg Dhuse, Andrew Baptist, Ilya Volvovski