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).

  • Publication number: 20220107861
    Abstract: A plurality of encoded data slices are stored at locations within a memory, and a list of pointers to the encoded data slices is maintained. A request to delete a particular encoded data slice is received. In response to receiving the request, a particular location within the memory used to store the particular encoded data slice is determined based on the list of pointers, and an updated list of pointers is generated indicating that the particular encoded data slice is no longer stored at the particular location within the memory.
    Type: Application
    Filed: December 15, 2021
    Publication date: April 7, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Ravi V. Khadiwala, Ethan S. Wozniak, Jason K. Resch, Greg R. Dhuse
  • Publication number: 20220107936
    Abstract: A source storage unit of a storage network operates by: sending a slice to migrate from the source storage unit to a destination storage unit; sending a slice verification request to the destination storage unit, wherein the slice verification request includes one or more of: a slice identifier, the slice, a revision indicator, a verification method indicator, or a nonce; receiving an integrity value from the destination storage unit; determining when the integrity value compares favorably to the slice verification request by determining when a hash of the slice and a nonce matches the integrity value or determining when a decrypted signature of the integrity value matches a hash of the slice and the nonce or the slice and the nonce; when the integrity value compares favorably to the slice verification request, updating a slice identifier assignment associated with a slice identifier corresponding to the slice, wherein updating the slice identifier assignment associates the destination storage unit with the s
    Type: Application
    Filed: December 14, 2021
    Publication date: April 7, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Jason K. Resch
  • Patent number: 11294765
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes receiving a write slice request from a requesting entity, where the write slice request includes a plurality of encoded data slices and a corresponding plurality of slice names. The plurality of slice names are interpreted to produce a slice name range. Whether a write lock conflict exists is determined based on the slice name range. An unfavorable write slice response is issued to the requesting entity when the write lock conflict is determined to exist. When the write lock conflict is determined to not exist, local storage of the plurality of encoded data slices is initiated, a favorable write slice response is issued to the requesting entity, and the processing system indicates that the slice name range is not locked when completing the local storage of the plurality of encoded data slices.
    Type: Grant
    Filed: April 28, 2020
    Date of Patent: April 5, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Zachary J. Mark, Ilya Volvovski, Greg R. Dhuse
  • Patent number: 11294745
    Abstract: A computing device 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 computing device obtains a data identifier associated with a data object and determines DSN address(es) associated with storage of one or more encoded data slice(s) (EDS(s)). The computing device selects slice names based on the DSN address(es) and issues at least a read threshold number of read slice requests using slice names to at least some storage units (SUs). When an insufficient number of EDSs is received, the computing device issues an alternate read slice request to an alternate SU. When a sufficient number of EDSs is received from the alternate SU and the computing device has received at least the read threshold number of EDSs, the computing device reconstructs the data segment.
    Type: Grant
    Filed: April 1, 2020
    Date of Patent: April 5, 2022
    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: 11281532
    Abstract: A method begins with a processing module obtaining a data object from a user and identifying a plurality of virtual storage vaults (VSVs) for storage of the data object. The method continues with the processing module determining dispersal error encoding parameters associated with a first virtual storage vault and error encoding the data object in accordance with those dispersal error encoding parameters to produce a corresponding plurality of sets of encoded data slices (EDSs), issuing write slice requests for the EDSs and receiving EDS information from at least some of the plurality of VSVs. When the EDS information indicates that a threshold number of VSVs have successfully stored the plurality of sets of encoded data slices within a synchronization timeframe, the method continues with the processing module issuing a favorable response to the user, or when a threshold number of VSVs have not successfully stored the plurality of sets of encoded data slices initiating a retry process.
    Type: Grant
    Filed: August 8, 2019
    Date of Patent: March 22, 2022
    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
  • Publication number: 20220066644
    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: November 11, 2021
    Publication date: March 3, 2022
    Inventors: Greg R. Dhuse, Ravi V. Khadiwala, Jason K. Resch
  • Publication number: 20220066879
    Abstract: A method for execution by storage network begins by identifying a subset of encoded data slices stored in a set of storage units for enhanced access and interpreting registry data to determine a listing type. The method continues by generating listing slice names for the subset of encoded data slices based on the listing type and sending the listing slice names to the set of storage units, where each storage unit updating storage and/or listing of at least some of the subset of encoded data slices associated with the storage unit based on the listing type and each storage unit issuing slice access information to a requesting entity in response to one or more slice access requests in accordance with the listing type for some of the subset of encoded data slices and the requesting entity receiving slice access information from at least some of the set of storage units.
    Type: Application
    Filed: November 9, 2021
    Publication date: March 3, 2022
    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: 11237829
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes initializing a composite operation from a plurality of independent operations. An empty transaction context is created by performing an evaluation of the composite operation. A multi-source compare and swap (CASN) transaction is created from resulting expected values determined by evaluating the composite operation in the empty transaction context. The CASN transaction is executed against a dispersed storage network (DSN) memory. When the execution of the CASN transaction is successful, the transaction is committed to the DSN memory. When the execution failed due to at least one conflicting value stored in the DSN memory, a new transaction context pre-populated with the at least one conflicting value is created, and an updated CASN for the composite operation that utilizes the new transaction context is executed.
    Type: Grant
    Filed: February 13, 2019
    Date of Patent: February 1, 2022
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Greg R. Dhuse
  • Patent number: 11232093
    Abstract: A method for use by a source storage unit of a dispersed storage network includes identifying a slice name corresponding to a slice to migrate from a source storage unit to a destination storage unit; sending the slice to migrate to the destination storage unit; generating a slice verification request and sending the slice verification request to the destination storage unit; receiving an integrity value from the destination storage unit; and determining when the integrity value compares favorably to the slice verification request. When the source storage unit determines that the integrity value compares favorably to the slice verification request, a slice name assignment associated with the slice name is updated and the slice is deleted from the source storage unit.
    Type: Grant
    Filed: May 14, 2019
    Date of Patent: January 25, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Jason K. Resch
  • Patent number: 11204723
    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: Grant
    Filed: July 8, 2019
    Date of Patent: December 21, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg R. Dhuse, Ravi V. Khadiwala, Jason K. Resch
  • Publication number: 20210382628
    Abstract: A method for execution in a storage network begins by generating a set of query requests for each data segment of a plurality of data segments that includes a corresponding set of slice identifiers of a plurality of sets of slice identifiers, where each slice identifier of the corresponding set of slice identifiers includes a pillar index based on a vault affiliated with the plurality of data segments. The method continues by transmitting the set of query requests to a set of storage units affiliated with the storage network, receiving a plurality of sets of query responses from the storage units, obtaining a data identifier for slice location identification and generating a storage record that includes the data identifier and an identity of the set of storage units. The method then continues by facilitating migration of at least some encoded data slices associated with the plurality of sets of slice identifiers when the storage record compares unfavorably to a storage record requirement.
    Type: Application
    Filed: August 23, 2021
    Publication date: December 9, 2021
    Applicant: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Publication number: 20210357143
    Abstract: A method for updating software of storage units of a set of storage units in a storage network. In an embodiment, each storage unit of the set of storage units determines a data slice storage status for data slices stored in the storage unit (e.g., by monitoring rebuilding messages relating to the data slices). A processing module of the storage network obtains the data slice storage status of the storage units of the set of storage units and determines whether to perform a software update to software of the storage units of the set of storage units. Determining whether to perform the software update includes determining, based on the data slice storage status of the storage units, whether a threshold number of storage units are associated with a favorable data slice storage status. In response to determining that a threshold number of storage units are associated with a favorable data slice storage status, the processing module indicates to perform the software update.
    Type: Application
    Filed: July 30, 2021
    Publication date: November 18, 2021
    Applicant: Pure Storage, Inc.
    Inventors: Manish Motwani, Joseph M. Kaczmarek, Michael C. Storm, Ilya Volvovski, Greg R. Dhuse, Anthony J. Baldocchi, Jason K. Resch, Thomas D. Cocagne
  • Publication number: 20210328719
    Abstract: A method begins with a first group of computing devices of a plurality of computing devices of a storage network receiving data objects having a first data type identifier of a plurality of data type identifiers, where the plurality of data type identifiers correspond to a plurality of data types associated with the data objects. The method continues with the first group of computing devices interpreting the data objects having the first data type identifier to sort, based on sorting criteria the data objects into a first processing category and a second processing category. The method continues with the first group of computing devices error encoding the data objects in the second processing category based on short term storage error encoding parameters to produce pluralities of sets of encoded data slices and sending the pluralities of sets of encoded data slices to storage and execution units for storage therein.
    Type: Application
    Filed: June 30, 2021
    Publication date: October 21, 2021
    Applicant: Pure Storage, Inc.
    Inventors: S. Christopher Gladwin, Greg R. Dhuse, Timothy W. Markison, Wesley B. Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 11132257
    Abstract: A method of rebuilding data stored as encoded data slices in a dispersed storage network (DSN) includes obtaining, by a rebuilding module implemented in a processing device, an identity of a plurality slices-in-error to be rebuilt, wherein each individual slice-in-error is associated with index information specifying: a particular dispersed storage unit associated with the individual slice-in-error; and a number of slices-in-error associated with the particular dispersed storage unit. A first slice-in-error is selected for rebuilding based, at least in part, on the number of slices-in-error associated with a first dispersed storage unit associated with the first slice-in-error. Read slice requests at least a decode threshold number of data slices are issued to the first dispersed storage unit. At least a decode threshold number of slices are received at the rebuilding module, which rebuilds the first slice-in-error using the received slices.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: September 28, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Adam M. Gray, Wesley B. Leggette, Jason K. Resch, Ilya Volvovski
  • Publication number: 20210286675
    Abstract: A method for execution by a computing device of a storage network includes obtaining storage performance information for a set of storage units of the storage network, where data segments are dispersed storage error encoded into pluralities of sets of encoded data slices in accordance with error encoding parameters that include a pillar width number and a decode threshold number, which is a number of encoded data slices the set of encode data slices is required to reconstruct a data segment of data segments. The method further includes determining, based on the storage performance information and the error encoding parameters, a performance threshold number for a write request to store a set of encoded data slices of the pluralities of sets of encoded data slices in the set of storage units, where the performance threshold number is greater than the decode threshold number and less than the pillar width number.
    Type: Application
    Filed: May 28, 2021
    Publication date: September 16, 2021
    Applicant: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Jason K. Resch, Andrew D. Baptist, Ilya Volvovski
  • Patent number: 11115469
    Abstract: A method includes determining that a dispersed data source is to be updated. The method further includes determining whether the update to the dispersed data source can be delayed. When the update to the dispersed data source can be delayed, the method further includes determining whether another update is pending for the dispersed data source. When the other update is pending, the method further includes determining whether processing efficiency of aggregating the update and the other update equals or exceeds an update processing efficiency threshold. When the processing efficiency of aggregating the update and the other update equals or exceeds the update processing efficiency threshold, the method further includes performing an aggregate update to the dispersed data source for the update and the other update. When the update to the dispersed data source cannot be delayed, the method further includes processing the update to produce an updated dispersed data source.
    Type: Grant
    Filed: June 28, 2016
    Date of Patent: September 7, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg R. Dhuse, Adam M. Gray
  • Patent number: 11113008
    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: August 22, 2019
    Date of Patent: September 7, 2021
    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: 11113009
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. For example, the computing device generates a prioritized request that includes at least one of a task for execution or a priority level based on information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN. Note that the information corresponds to a data object that is related to a set of encoded data slices (EDSs) that are distributedly stored within the DSN. The computing device then transmits the prioritized request to the SU and receives, from the SU, a response to the prioritized request.
    Type: Grant
    Filed: October 23, 2020
    Date of Patent: September 7, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 11070318
    Abstract: A method begins with a first group of computing devices of a plurality of computing devices of a storage network receiving data objects having a first data type identifier of a plurality of data type identifiers, where the plurality of data type identifiers correspond to a plurality of data types associated with the data objects. The method continues with the first group of computing devices interpreting the data objects having the first data type identifier to sort, based on sorting criteria the data objects into a first processing category and a second processing category. The method continues with the first group of computing devices error encoding the data objects in the second processing category based on short term storage error encoding parameters to produce pluralities of sets of encoded data slices and sending the slices to storage and execution units.
    Type: Grant
    Filed: April 28, 2020
    Date of Patent: July 20, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Greg R. Dhuse, Timothy W. Markison, Wesley B. Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 11061613
    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: Grant
    Filed: July 24, 2019
    Date of Patent: July 13, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    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