Patents by Inventor Greg R. Dhuse

Greg R. 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: 10481832
    Abstract: A method includes receiving a delete request for a data element and determining to be in a state of queued delete request processing. The method further includes adding an intent to delete to a delete log. The method further includes receiving a data access request regarding the data element and performing a probability function to determine whether the intent to delete is likely in the delete log. When the probability function indicates that the intent to delete is not in the delete log, the method further includes executing the data access request. When the probability function indicates the intent to delete is probably in the delete log, the method further includes accessing the delete log and if the intent to delete is in the delete log, skipping the data access request. When the intent to delete is not in the delete log, the method includes executing the data access request.
    Type: Grant
    Filed: December 11, 2017
    Date of Patent: November 19, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ravi V. Khadiwala, Greg R. Dhuse, Ilya Volvovski, Andrew D. Baptist, Ethan S. Wozniak, Asimuddin Kazi
  • Publication number: 20190347046
    Abstract: A computer readable storage device includes a first memory section that stores operational instructions that, when executed, cause a computing device to, as data accesses occur for a plurality of data objects of a storage container, update object values to produce updated object values, update object retention costs to produce updated object retention costs, adjust a dynamic retention threshold based on the updated object values and the updated object retention costs and update a data object retention policy for a data object based on the dynamic retention threshold to produce an updated retention policy for the data object. The computer readable storage device includes a second memory section that stores operational instructions that, when executed, cause the computing device to, when a data access is a deletion request, utilizing a current updated data object retention policy to determine and execute a deletion-retention option for the data object.
    Type: Application
    Filed: July 24, 2019
    Publication date: November 14, 2019
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Harsha Hegde, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Ilya Volvovski, Ethan S. Wozniak
  • Patent number: 10469406
    Abstract: A processing system in a dispersed storage and a task network DSTN determines whether or not to execute a partial task. When determined to execute the partial task, the processing system operates by determining execution steps and a schedule; identifying a portion of the contiguous data for execution of one or more steps of the execution steps; retrieving the portion of the contiguous data from the disk drive; executing the one or more steps of the execution steps in accordance with the schedule on the portion of the contiguous data to produce a partial result; dispersed storage error encoding the partial result to produce a plurality of sets of slices in accordance with dispersal parameters associated with one or more of the group of slices and the partial task; and facilitating storing a plurality of sets of slices in the DSTN.
    Type: Grant
    Filed: April 9, 2019
    Date of Patent: November 5, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, S. Christopher Gladwin, Gary W. Grube, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Thomas F. Shirley, Jr., Ilya Volvovski
  • Patent number: 10467095
    Abstract: A method includes identifying, by a computing device of a dispersed storage network (DSN), a delegate device of a plurality of delegate devices of the DSN for processing a change to a node of a plurality of nodes of a hierarchical index structure. The method further includes sending, by the computing device, a change type specific request to the delegate device regarding the change to the node. The method further includes determining, by the delegate device, whether the delegate device is responsible for executing the change type specific request. When the delegate device is responsible for executing the change type specific request, the method further includes sending, by the delegate device, a response message to the computing device indicating that the delegate device is responsible for executing the change type specific request. The method further includes executing, by the delegate device, the change type specific request.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: November 5, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Tyler K. Reid, Daniel J. Scholl, Ilya Volvovski
  • Publication number: 20190332273
    Abstract: A method begins by a processing module receiving a request to store a data object in distributed storage (DS) units. The processing module generates and transmits a proposal message that includes a preferred source name, and a proposal attempt identifier to a plurality of DS units. The processing module then receives a proposal message acceptance response from at least one of the plurality of DS units and when the proposal message response indicates that no other proposal messages have been received by at least one of the plurality of DS units, retains the preferred source name included within the proposal message as a persistent value for the source name.
    Type: Application
    Filed: July 8, 2019
    Publication date: October 31, 2019
    Inventors: Greg R. Dhuse, Ravi V. Khadiwala, Jason K. Resch
  • Publication number: 20190320023
    Abstract: A distributed storage network (DSN) includes a DSN memory and a distributed storage (DS) processing unit. The DS processing unit determines a particular revision of source data for persistence, and generates a protocol message associated with the particular revision of source data. The protocol message is generated based on a balance between durability and persistence associated with the particular revision. The protocol message is transmitted from the DS processing unit to the DSN memory, and indicates to the DSN memory a particular persistence protocol. The DSN memory process data slices corresponding to the particular revision of source data in accordance with the particular persistence protocol.
    Type: Application
    Filed: June 28, 2019
    Publication date: October 17, 2019
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Ravi V. Khadiwala, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
  • Patent number: 10440115
    Abstract: A method includes generating, by a computing device, a write intent message regarding a data object that is to be written into storage units as sets of encoded data slices. The method further includes initiating, by the computing device, a write operation for storing the sets of encoded data slices. Prior to the write operation being completed, the method further includes updating, by the computing device, the write intent message to indicate progression of the write operation. The method further includes analyzing, by a second computing device, the write intent message to determine whether the write operation has stalled. When the write operation has stalled, the method further includes identifying, by the second computing device, sets of encoded data slices that have been successfully stored. The method further includes implementing, by the second computing device, a clean-up process for the stored sets of encoded data slices.
    Type: Grant
    Filed: December 14, 2017
    Date of Patent: October 8, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Jason K. Resch, Wesley B. Leggette, Greg R. Dhuse
  • Patent number: 10437671
    Abstract: A method begins by a processing module initiating storage of a data object in two or more storage sets. The method continues with the processing module updating synchronization status for the two or more storage sets when detecting failure to store at least a minimum number of encoded data slices to enable recovery from one of the storage sets. The method continues with the processing module determining to resynchronize the two or more storage sets. The method continues with the processing module identifying a data object requiring resynchronization. The method continues with the processing module identifying a latest available revision associated with the data object and facilitating storage of the identified latest available revision of the data object in at least one storage set requiring the latest revision to satisfy the resynchronization.
    Type: Grant
    Filed: May 25, 2016
    Date of Patent: October 8, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Patent number: 10437673
    Abstract: A method includes sending, by a computing device of a distributed storage and task (DST) network, a plurality of sets of encoded data slices and index generation task information to a set of DST execution units. The method further includes receiving partial data indexes from the set of DST execution units. The method further includes generating a data index based on the partial data indexes and determining an operational task from a list of operational tasks that includes storing the plurality of sets of encoded data slices, storing the data index, long term storage of the raw data, execute a data processing function on the sets of encoded data slices and execute a data processing function on the data index. The method further includes partitioning the operational task into a set of partial tasks and sending the set of partial tasks to the set of DST execution units.
    Type: Grant
    Filed: November 7, 2018
    Date of Patent: October 8, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, S. Christopher Gladwin, Gary W. Grube, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Thomas F. Shirley, Jr., Ilya Volvovski
  • Patent number: 10430122
    Abstract: A storage unit (SU) includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The SU, of a first SU set, receives a partially encoded slice request to restore a set of encoded data slices (EDSs) that are based on first dispersed storage error coding function parameters. The SU generates a decode threshold number of partially EDSs based on the first and second dispersed storage error coding function parameters. The SU then outputs the decode threshold number of partially EDSs to a second SU set to undergo selective combination respectively to generate new EDSs for storage within the SUs of the second decode threshold number of SUs of the second SU set.
    Type: Grant
    Filed: November 27, 2017
    Date of Patent: October 1, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Gary W. Grube, S. Christopher Gladwin
  • Patent number: 10430277
    Abstract: A method includes identifying an encoded slice for rebuilding. The method further includes determining whether the set of encoded slices is stored in an encrypted section of a vault or within an unencrypted section of the vault. The method further includes, when the set of encoded slices is stored in the unencrypted section of the vault, determining whether the set of storage units have viewing rights. The method further includes, when the set of storage units does not have the viewing rights, enabling a restricted rebuilding process to rebuild the encoded slice. The method further includes, when the set or storage units does have the viewing rights, enable an unrestricted rebuilding process to rebuild the encoded slice.
    Type: Grant
    Filed: September 28, 2018
    Date of Patent: October 1, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Wesley B. Leggette, Jason K. Resch, Trevor J. Vossberg
  • Patent number: 10430276
    Abstract: A method includes receiving an DSN access request, identifying an DSN address of the DSN access request, identifying one or more DS processing units affiliated with the DSN address. The method further includes selecting a DS processing unit of the one or more DS processing units based on DS processing attributes, determining if the selected DS processing unit is associated with a favorable availability level and, when it is determined that a favorable availability level does not exist, deterministically selecting another of the one or more DS processing units and, when it is determined that a favorable availability level does exist, forwarding the DSN access request to the selected DS processing unit to be processed for storage in one or more DSN storage units.
    Type: Grant
    Filed: July 30, 2018
    Date of Patent: October 1, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg R. Dhuse, Thomas F. Shirley, Jr., Wesley B. Leggette, Jason K. Resch, Gary W. Grube
  • Publication number: 20190294557
    Abstract: A method includes determining, by a storage unit, to place a pointer in a hash table that is stored in local memory of the storage unit. The method further includes executing, by the storage unit, a hash function on addressing information relating to the pointer to produce a hash resultant. The method further includes executing, by the storage unit, a second function on related data to the addressing information or to the pointer to produce an auxiliary resultant. The method further includes storing, by the storage unit, the hash resultant and the auxiliary resultant as an entry in the hash table for the pointer, wherein, when a hash collision occurs with respect to the hash resultant, the storage unit utilizes the auxiliary resultant to resolve the hash collision.
    Type: Application
    Filed: March 26, 2018
    Publication date: September 26, 2019
    Inventors: Greg R. Dhuse, Ilya Volvovski, Ethan S. Wozniak, Ravi V. Khadiwala, Jason K. Resch, Andrew D. Baptist, Praveen Viraraghavan
  • Patent number: 10423490
    Abstract: A method for execution by processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by identifying a stored data object (using bundled writes) for retrieval from a dispersed storage network (DSN), determining a DSN address that corresponds to the store data object, generating a read source request based on the DSN address, identifying a set of storage units of the DSN, where one or more of the storage units of the set of storage units are associated with storage of the stored data object, sending the read source request to the identified set of storage units, receiving retrieved encoded data slices from at least some of the storage units of the identified set of storage units and dispersed storage error decoding, for each set of encoded data slices, a decode threshold of received encoded data slices to produce a recovered data object.
    Type: Grant
    Filed: December 6, 2017
    Date of Patent: September 24, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Ravi V. Khadiwala, Jason K. Resch, Wesley B. Leggette, Trevor J. Vossberg
  • Patent number: 10423359
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN). The method begins by receiving a data access requests with regards to a data object. The method continues by identifying a vault set based on the data access request, where a plurality of storage vaults includes the vault set. The method continues by obtaining configuration information associated with the vault set and determining whether to process the data access request based on the obtained configuration information associated with the vault set.
    Type: Grant
    Filed: December 11, 2017
    Date of Patent: September 24, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Adam M. Gray, Greg R. Dhuse, Andrew D. Baptist, Ravi V. Khadiwala, Wesley B. Leggette, Scott M. Horan, Franco V. Borich, Bart R. Cilfone, Daniel J. Scholl
  • Patent number: 10423491
    Abstract: Systems and methods for storing encoded data slices in a dispersed storage network (DSN) involve receiving a write data object request, determining a source name for the data object, identifying a source name range corresponding to the source name, and identifying a storage pattern associated with the source name range. Based on the source name range, a set of DS units can be identified as can affinity DS units that correspond to the storage pattern. The data object is encoded to produce affinity encoded data slices and other encoded data slices which are output to the affinity DS units and other DS units respectively. A determination is made whether a favorable number of affinity encoded data slices were properly received. If so, rollback requests are issued with regards to the other encoded data slices. If not, commit requests are issued with regards to the other encoded data slices.
    Type: Grant
    Filed: November 7, 2017
    Date of Patent: September 24, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Patent number: 10416898
    Abstract: A method includes sending data access requests to storage units regarding a set of encoded data slices. The method further includes, when a write transaction is pending for the set of encoded data slices, receiving proposal records from the storage units. The method further includes interpreting the proposal records to determine an ordering of visible versions of the set of encoded data slices stored by the storage units. The method further includes determining whether a threshold number of encoded data slices of a desired version of the set of encoded data slices is visible. The method further includes, when the threshold number of encoded data slices is visible, determining whether to proceed with the data access request. The method further includes, when determined to proceed with the data access request, sending a request to proceed with the data access request to the storage units.
    Type: Grant
    Filed: May 16, 2018
    Date of Patent: September 17, 2019
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Ravi V. Khadiwala, Ilya Volvovski
  • Publication number: 20190278657
    Abstract: A method for execution by a dispersed storage network (DSN), the method begins by determining a slice name of an encoded data slice to verify, obtaining the encoded data slice and optionally compressing the encoded data slice, determining a dispersed storage (DS) unit of the stored set of DS units to produce a selected DS unit, sending the compressed encoded data slice request message to the selected DS unit, receiving a compressed encoded data slice response message to produce a selected compressed encoded data slice, determining a compressed encoded data slice partial of the encoded data slice, determining whether a sum of compressed encoded data slice partials compares favorably to the selected compressed encoded data slice, indicating a failed test when the processing module determines that the comparison is not favorable and indicating a passed test when the processing module determines that the comparison is favorable.
    Type: Application
    Filed: May 30, 2019
    Publication date: September 12, 2019
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Patent number: 10409772
    Abstract: A method for execution by a computing device includes determining to serially store data in a set of storage units utilizing a dispersed storage error coding function. An information dispersal algorithm (IDA) threshold number of received data blocks are encoded for every IDA threshold number of received data blocks of the data to produce sets of encoded data slices. Storage of the sets of encoded data slices in the set of storage units is facilitated, where each storage unit appends each of a plurality of received encoded data slices to a previously appended encoded data slice. A read offset is generated for the corresponding set of encoded data slices based on an identified portion of the data for recovery. A decode threshold number of data blocks corresponding to the read offset are retrieved and dispersed storage error decoded.
    Type: Grant
    Filed: November 27, 2017
    Date of Patent: September 10, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Ethan S. Wozniak, Andrew D. Baptist, Greg R. Dhuse, Ilya Volvovski, Jason K. Resch
  • Patent number: 10409679
    Abstract: A method for execution by a computing device includes obtaining utilization information of a pair of adjacent dispersed storage and task (DST) execution units of a common pillar. The utilization information of the pair of adjacent DST execution units is verified based on companion utilization information. Slices to migrate are selected in response to verifying the utilization information, and migration of the slices to migrate is facilitated. An updated storage map is generated based on the slices to migrate. A storage map modification package that includes a previous storage map and the updated storage map is generated. Attaching a signature from each DST execution unit of the pair of adjacent DST execution units to the storage map modification package is facilitated to produce a fully signed storage map modification package. The fully signed storage map modification package is published.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: September 10, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Manish Motwani, Greg R. Dhuse, Wesley B. Leggette, Andrew D. Baptist, Ilya Volvovski, Jason K. Resch