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: 10574395
    Abstract: A method includes receiving streaming data. The method further includes dividing the streaming data into data segments. The method further includes performing a unity matrix function on a data segment to produce a set of encoded data slices. The method further includes storing the set of encoded data slices in a set of storage units of the DSN. After storage of the set of encoded data slices, the method further includes performing a redundancy portion of an encoding matrix on the set of encoded data slices to produce a set of redundancy encoded data slices and storing the set of redundancy encoded data slices in a set of set of storage units of the DSN.
    Type: Grant
    Filed: January 4, 2019
    Date of Patent: February 25, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, Jr., Wesley Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 10469578
    Abstract: A method begins by a dispersed storage (DS) processing module generating a set of messages regarding a set of encoded data slices. For a first message of the set of messages, the method continues with the DS processing module determining a first message priority based on system-level message processing information and message processing status of a first storage node. For a second message of the set of messages, the method continues with the DS processing module determining a second message priority based on the system-level message processing information and message processing status of a second storage node. The method continues with the DS processing module sending the first message of the set of messages to the first storage node in accordance with the first message priority and sending the second message of the set of messages to the second storage node in accordance with the second message priority.
    Type: Grant
    Filed: November 21, 2012
    Date of Patent: November 5, 2019
    Assignee: PURE STORAGE, INC.
    Inventor: Greg Dhuse
  • Patent number: 10447612
    Abstract: A method begins by a processing module of a dispersed storage network (DSN) identifying a change in DSN memory of the DSN. For a set of encoded data slices effected by the change, the method continues with the processing module ascertaining updated properties of the DSN memory and performing an updating scoring function using properties of DSN access information and the updated properties of the DSN memory to produce an updated storage scoring resultant. The method continues with the processing module utilizing the updated storage scoring resultant to identify an updated set of storage units affiliated with a given storage pool of a plurality of storage pools of the DSN memory and sending at least one data migration request to at least one storage unit of the updated set of storage units regarding migration of at least one encoded data slice of the set of encoded data slices.
    Type: Grant
    Filed: May 8, 2015
    Date of Patent: October 15, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg Dhuse, Manish Motwani, Andrew Baptist, Wesley Leggette
  • Patent number: 10402269
    Abstract: A computer readable storage medium includes a first memory section that stores operational instructions that, when executed by a computing device of a dispersed storage network (DSN), cause the computing device to, for a first phase of a multiple phase write operation, determine whether to send a write performance threshold number of write requests to storage units. When yes, a second memory section storing operational instructions causes the computing device to, send them to storage units. When no, a third memory section storing operational instructions causes the computing device to determine whether to change the write performance threshold number for a second phase of the multiple write operation. When the write performance threshold number is to be changed, change the write performance threshold number and send the changed write performance threshold number of write commit requests to a second subset of the set of storage units.
    Type: Grant
    Filed: September 12, 2018
    Date of Patent: September 3, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, Jr.
  • Patent number: 10402268
    Abstract: A method begins with a computing device receiving a request to acquire digital content from a digital content provider and forwarding the request to a dispersed storage network (DSN) pre-paid module. The method continues with the DSN pre-paid module validating the request, generating a plurality of sets of at least a threshold number of digital content read requests, and sending the plurality of sets of the at least a threshold number of digital content read requests to the digital content provider via the computing device when the request to acquire the digital content is validated. The method continues with at least one of the DSN pre-paid module and the computing device receiving a plurality of sets of at least a decoded threshold number of encoded data slices and decoding the plurality of sets of the at least a decoded threshold number of encoded data slices to produce the digital content.
    Type: Grant
    Filed: January 10, 2012
    Date of Patent: September 3, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Gary W. Grube, Timothy W. Markison, Greg Dhuse, Jason K. Resch, Ilya Volvovski, Wesley Leggette
  • Patent number: 10387256
    Abstract: A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit.
    Type: Grant
    Filed: June 2, 2017
    Date of Patent: August 20, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Greg Dhuse, Andrew Baptist, Zachary J. Mark, Jason K. Resch, Ilya Volvovski
  • Patent number: 10360097
    Abstract: A method includes receiving a retrieval request regarding an encoded key stream slice of a set of encoded key stream slices and an encoded and encrypted data slice of a set of encoded and encrypted data slices. The method further includes partially dispersed storage error decoding the encoded key stream slice to produce a partially decoded key stream vector. The method further includes partially dispersed storage error decoding the encoded and encrypted data slice to produce a partially decoded and encrypted data vector. The method further includes partially decrypting the partially decoded and encrypted data vector in accordance with the encryption function and based on the partially decoded key stream vector to produce a partially decrypted and decoded data vector. The method further includes sending the partially decrypted and encoded data vector to the requesting computing device.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: July 23, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Greg Dhuse
  • Patent number: 10362111
    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: Grant
    Filed: November 14, 2017
    Date of Patent: July 23, 2019
    Assignee: International Business Machines Corporation
    Inventors: Jason K. Resch, Wesley Leggette, Greg Dhuse
  • Patent number: 10346250
    Abstract: A method includes determining an acceptable site failure number for storing a set of encoded data slices based on available sites and storage units within the available sites. The method further includes determining dispersed storage error encoding parameters based on the acceptable site failure number, wherein the parameters includes a decode threshold number and a total width number. The method further includes encoding, in accordance with the parameters, a data segment of data to produce the set of encoded data slices. The method further includes generating a slice mapping based on the acceptable site failure number, the available sites, and the storage units within the available storage units within the available sites. The method further includes sending, based on the slice mapping, the set of encoded data slices to at least some of the storage units within at least some of the available sites for storage therein.
    Type: Grant
    Filed: November 14, 2016
    Date of Patent: July 9, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ravi Khadiwala, Wesley Leggette, Andrew Baptist, Greg Dhuse, Ilya Volvovski, Jason K. Resch, Manish Motwani
  • Patent number: 10324623
    Abstract: A method includes encoding a data segment of a data object into a set of encoded data slices. The set of encoded data slices includes “n” number of encoded data slices. The method further includes generating a set of slice names for the set of encoded data slices. The method further includes selecting “m” encoded data slices of the set of encoded data slices to output for storage in DSN memory. The method further includes selecting “m” storage units of “p” storage units of the DSN memory for storing the “m” encoded data slices. The method further includes mapping “m” slice names of the “m” encoded data slices to DSN addresses of the “m” storage units to create mapped slice names. The method further includes outputting, in accordance with the mapped slice names, the “m” encoded data slices to the “m” storage units for storage therein.
    Type: Grant
    Filed: January 12, 2017
    Date of Patent: June 18, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Greg Dhuse
  • Publication number: 20190171616
    Abstract: A method begins by a processing module dispersed storage error encoding a data segment to produce a set of encoded data slices and dispersed storage error encoding metadata associated with the data segment to produce a set of encoded metadata slices. The method continues with the processing module creating a set of data slice names for the set of encoded data slices and creating a set of metadata slice names based on the set of data slice names. The method continues with the processing module sending the set of encoded data slices and the set of data slice names to a dispersed storage network (DSN) memory for storage therein. The method continues with the processing module sending the set of encoded metadata slices and the set of metadata slice names to the DSN memory for storage therein.
    Type: Application
    Filed: January 30, 2019
    Publication date: June 6, 2019
    Inventors: Jason K. Resch, Greg Dhuse, Andrew Baptist, Wesley Leggette
  • Publication number: 20190163647
    Abstract: A method includes a storage unit receiving an encoded data slice for storage in memory that is organized as log files. The method further includes the storage unit identifying a first log file of the log files for storing the encoded data slice based on one or more of: the first DSN virtual address and the first size information. The method further includes the storage unit comparing storage parameters of the first log file with desired storage parameters associated with the encoded data slice. When the storage parameters of the identified log file compare unfavorably with the desired storage parameters, the storage unit identifies a second log file, stores the encoded data slice in the second log file, and updates a slice location table.
    Type: Application
    Filed: January 15, 2019
    Publication date: May 30, 2019
    Inventors: Ilya Volvovski, Andrew Baptist, Greg Dhuse, Jason K. Resch
  • Patent number: 10303549
    Abstract: A method for authenticating a user device request by a dispersed storage managing unit (DSMU) in a dispersed storage network (DSN) begins by the DSMU receiving from a proxy element an authentication request for a portion of a user device request, verifying the request and when validated determining when a permissions list indicates the user device has access permission. The method continues with the proxy element being allowed to execute the portion of the user device request and receiving from another proxy element an authentication request for another portion of the user device request. The method then continues with the request being verified, and when validated, determining when the permissions list indicates the user device has access permission. The method then continues with the another proxy element being allowed to execute the authentication request for the another portion of the user request.
    Type: Grant
    Filed: March 5, 2018
    Date of Patent: May 28, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wesley Leggette, Greg Dhuse, Jason K. Resch
  • Patent number: 10303548
    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: March 14, 2018
    Date of Patent: May 28, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ilya Volvovski, Ravi Khadiwala, Greg Dhuse, Jason K. Resch
  • Patent number: 10289688
    Abstract: A method begins by a processing module dispersed storage error encoding a data segment to produce a set of encoded data slices and dispersed storage error encoding metadata associated with the data segment to produce a set of encoded metadata slices. The method continues with the processing module creating a set of data slice names for the set of encoded data slices and creating a set of metadata slice names based on the set of data slice names. The method continues with the processing module sending the set of encoded data slices and the set of data slice names to a dispersed storage network (DSN) memory for storage therein. The method continues with the processing module sending the set of encoded metadata slices and the set of metadata slice names to the DSN memory for storage therein.
    Type: Grant
    Filed: June 7, 2011
    Date of Patent: May 14, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Greg Dhuse, Andrew Baptist, Wesley Leggette
  • Publication number: 20190140777
    Abstract: A method includes receiving streaming data. The method further includes dividing the streaming data into data segments. The method further includes performing a unity matrix function on a data segment to produce a set of encoded data slices. The method further includes storing the set of encoded data slices in a set of storage units of the DSN. After storage of the set of encoded data slices, the method further includes performing a redundancy portion of an encoding matrix on the set of encoded data slices to produce a set of redundancy encoded data slices and storing the set of redundancy encoded data slices in a set of set of storage units of the DSN.
    Type: Application
    Filed: January 4, 2019
    Publication date: May 9, 2019
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg Dhuse, Thomas Franklin Shirley, JR., Wesley Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 10282440
    Abstract: A method begins by a first computing device of a plurality of computing devices accessing a rebuild hierarchical index structure to identify a data object having encoded data slices requiring rebuilding, where the structure includes a plurality of nodes that organizes a plurality of data objects based on a level of need of rebuilding. The method continues with the first computing device utilizing a rebuilding function to rebuild one or more of the identified encoded data slices to be rebuilt to produce one or more rebuilt encoded data slices and sending a write request to memory of a dispersed storage network to store the one or more rebuilt encoded data slices. The method continues with the first or another computing device updating the level of need of rebuilding of the identified data object and updating the rebuild hierarchical index structure based on the updated level of need of rebuilding.
    Type: Grant
    Filed: January 26, 2016
    Date of Patent: May 7, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg Dhuse, Ravi Khadiwala, Thomas Darrel Cocagne, Andrew Baptist, Joseph Martin Kaczmarek
  • Patent number: 10275313
    Abstract: A computing device of a dispersed storage network (DSN) includes a memory, interface and a processing module operable to identify an encoded data slice of the set of encoded data slices to produce an identified encoded data slice. The processing module generates a set of first write requests regarding the set of encoded data slices less the identified encoded data slice, and generates a set of second write requests regarding the identified encoded data slice. The set of second write requests include the identified encoded data slice and replications of the identified encoded data slice. The processing module sends the set of first write requests to storage units of the DSN, and sends the set of second write requests to a set of storage units of the DSN, where each storage unit of the set of storage units is sent a corresponding one of the set of second write requests.
    Type: Grant
    Filed: September 15, 2017
    Date of Patent: April 30, 2019
    Assignee: International Business Machines Corporation
    Inventors: Thomas Franklin Shirley, Jr., Gary W. Grube, Bart Cilfone, Ravi Khadiwala, Greg Dhuse, Thomas Darrel Cocagne, Michael Colin Storm, Yogesh Ramesh Vedpathak, Wesley Leggette, Jason K. Resch, Andrew Baptist, Ilya Volvovski
  • Patent number: 10275161
    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: Grant
    Filed: June 20, 2017
    Date of Patent: April 30, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Wesley Leggette, S. Christopher Gladwin, Greg Dhuse, Andrew Baptist
  • Patent number: 10270855
    Abstract: A method with a computer generating a first set of access requests regarding a first set of encoded data slices and storage units of a dispersed storage network. A first data segment is encoded into the first set of encoded data slices. The method continues with the computer generating a second set of access requests regarding a second set of encoded data slices and the storage units. A second data segment is encoded into the second set of encoded data slices. The method continues with the computer grouping the first set of access requests and the second set of access requests to produce a set of combined requests. The method continues with the computer sending the set of combined requests to the storage units.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: April 23, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Srinivas Palthepu, Vance T. Thornton, Jesse L. Young, John Quigley, Andrew Baptist, Greg Dhuse