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: 11442921
    Abstract: A method is presented for execution by a processing system of a dispersed storage and task (DST) processing unit that includes a processor. The method includes: receiving, at the processor, a data access request having a consistency indicator; identifying, via the processor, a set of two or more storage targets associated with the data access request; selecting, via the processor, a threshold number of storage targets of the set of two or more storage targets, based on the consistency indicator; accessing, via the processor, the selected threshold number of storage targets based on the data access request; and generating a data access response, via the processor, based on the accessing of the selected threshold number of storage targets.
    Type: Grant
    Filed: August 22, 2019
    Date of Patent: September 13, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Kumar Abhijeet, Andrew D. Baptist, Wesley B. Leggette, Greg R. Dhuse, Jason K. Resch, Manish Motwani
  • Patent number: 11436009
    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: July 17, 2019
    Date of Patent: September 6, 2022
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Greg R. Dhuse
  • Publication number: 20220278821
    Abstract: A method begins by a processing module of a storage unit of a storage network identifying a first storage format used to store a plurality of encoded data slices in a first memory of the storage unit and continues with the processing module determining to utilize another storage format for storage of the plurality of encoded data slices. The method then continues, with the storage unit selecting a second storage format for storage of the plurality of encoded data slices and initiating migration of the plurality of encoded data slices from the first storage format to storage using the second storage format. Finally, the method continues with updating a performance metric for at least a portion of the storage network while initiating migrating the plurality of encoded data slices.
    Type: Application
    Filed: May 16, 2022
    Publication date: September 1, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse, Bart R. Cilfone
  • Patent number: 11429486
    Abstract: In various embodiments, a method is presented for execution by a processing circuit of a storage network device that includes a processor. The method comprises: receiving, via the processing circuit, a first subset of encoded data slices of a set of encoded data slices corresponding to a data segment; identifying, via the processing circuit, at least one missing encoded data slice of the first subset of slices that is required to decode the data segment; generating, via the processing circuit, at least one rebuilt encoded data slice corresponding to the at least one missing encoded data slice utilizing locally decodable redundancy data; and recovering, via the processing circuit, the data segment based on the at least one rebuilt encoded data slice and the first subset of encoded data slices.
    Type: Grant
    Filed: October 30, 2020
    Date of Patent: August 30, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Bruno H. Cabral, Manish Motwani, Thomas D. Cocagne, Timothy W. Markison, Gary W. Grube, Wesley B. Leggette, Jason K. Resch, Michael C. Storm, Greg R. Dhuse, Yogesh R. Vedpathak, Ravi V. Khadiwala
  • Patent number: 11422711
    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 monitors storage unit (SU)-based write transfer rates and SU-based write failure rates associated with each of the SUs for a write request of encoded data slices (EDSs) to the SUs within the DSN. The computing device generates and maintains a SU write performance distribution based on monitoring of the SU-based write transfer rates and the SU-based write failure rates and adaptively adjusts a trimmed write threshold number of EDSs and/or a target width of EDSs for write requests of sets of EDSs to the SUs within the DSN.
    Type: Grant
    Filed: November 30, 2020
    Date of Patent: August 23, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Jason K. Resch, Ethan S. Wozniak
  • Publication number: 20220263666
    Abstract: A method for use in a distributed storage network includes determining storage parameters associated with error-encoded data slices generated from data to be stored in the distributed storage network. The storage parameters include information indicating a read threshold number of error-encoded data slices required to recover the data. Storage requirements of a storage unit included in the distributed storage network are also determined. The storage unit includes multiple memory devices configured to store one or more error-encoded data slices of the read threshold number of error-encoded data slices. A number of the one or more error-encoded data slices are stored in the storage unit based on the storage requirements of the storage unit and the storage parameters.
    Type: Application
    Filed: May 6, 2022
    Publication date: August 18, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Patent number: 11418591
    Abstract: Systems and methods for storing encoded data slices in a storage network involve generating a set of write slice requests relating to the encoded data slices, outputting the set of write slice requests to distributed storage units, receiving write slice responses and determining whether to retry storing the set of encoded data slices based on one or more of the write slice responses. Determining whether to retry storing the set of encoded data slices may involve determining whether less than a write threshold number of favorable responses were received, for example in a time period, and/or whether an unfavorable response was received. Determining whether to retry may also be based on receiving a slow or non-response. For purposes of retrying, the systems and methods may also determine whether to modify the write slice requests, for example by modifying a revision number.
    Type: Grant
    Filed: March 2, 2020
    Date of Patent: August 16, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Andrew D. Baptist, Ilya Volvovski, Jason K. Resch
  • Patent number: 11418580
    Abstract: A method begins by a processing module of a dispersed storage network (DSN) receiving a signature contribution request and payload, logging the request and determining whether a timestamp for the request compares favorably to a timing template. When the timestamp for the request compares favorably to the timing template the method continues with the processing modules determining whether the request compares favorably to a functionality template and when it compares favorably to a functionality template retrieving a key share based on sharing function parameters and outputting a signature result. When the timestamp for the request does not compare favorably to the timing template or the request does not compare favorably to the functionality template the method continues with the processing module outputting a signature contribution request rejection message.
    Type: Grant
    Filed: November 26, 2018
    Date of Patent: August 16, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Jason K. Resch, Wesley B. Leggette
  • Patent number: 11416149
    Abstract: A method includes determining, by a computing device of a plurality of computing devices of a storage network, a data processing plan for processing an access request. The method further includes identifying two or more processing units of a plurality of processing units of the storage network based on the data processing plan and availability information, and determining processing capabilities of each of the two or more processing units. The method further includes selecting a processing unit of the two or more processing units to process the access request based on a favorable comparison of the processing capabilities of the processing unit and the data processing plan. The method further includes selecting one or more processing options of the processing unit to process the access request according to the data processing plan, and sending the access request and selection of the one or more processing options to the processing unit.
    Type: Grant
    Filed: July 31, 2020
    Date of Patent: August 16, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Jason K. Resch, S. Christopher Gladwin, Kumar Abhijeet, Greg R. Dhuse
  • Publication number: 20220253355
    Abstract: method and apparatus for synchronizing replicated data in a storage network. In an embodiment, a method begins by a processing module of a computing device identifying a first storage set and a second storage set for replicated storage of a data object. The processing module initiates storage of the data object in both the first and second storage sets, and further maintains a synchronization status for the data object. The processing module determines, based at least in part on the synchronization status, to resynchronize the first storage set and the second storage set. In response to determining to resynchronize the first storage set and the second storage set, the processing module identifies a latest available revision of the data object, determines that the second storage set requires the latest available revision of the data object to maintain synchronization, and facilitates storage of the identified latest available revision of the data object in the second storage set.
    Type: Application
    Filed: April 27, 2022
    Publication date: August 11, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Publication number: 20220214944
    Abstract: A storage network method begins by receiving a data retrieval request, wherein a data object is segmented into a plurality of data segments, determining a storage configuration associated with the data retrieval request based on an encoded data slice identifier included in the retrieval request and, based on the storage configuration, determining a plurality of storage resources associated with the encoded data slice identifier The mehod continues by determining an estimated performance level for each storage resource of a plurality of storage resources associated with the encoded data slice identifier, determining an expected retrieval performance for the retrieval request and selecting a storage resource of the plurality of storage resources based on the expected retrieval performance. The method then continues by transmitting a read request for one or more encoded data slices associated with the encoded data slice identifier to the storage resource.
    Type: Application
    Filed: March 22, 2022
    Publication date: July 7, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Thomas F. Shirley, JR., Greg R. Dhuse, Jason K. Resch
  • Publication number: 20220188179
    Abstract: A computing device includes processing circuitry configured to determine whether to modify the dispersed error encoding parameters of a set of encoded data slices (EDSs) stored in a distributed storage network to produce a set of modified EDSs, wherein a data object is segmented into a plurality of data segments and in response to a determination to modify the dispersed error encoding parameters of the set of EDSs, identify a plurality of storage units to store the modified EDSs and determine modified dispersed error encoding parameters for the modified EDSs. The computing device is further configured to assign each storage unit of the plurality of storage units to execute one or more storage modification tasks associated with producing the modified EDSs; and transmit one or more EDS of the set of EDSs to each storage unit of the plurality of storage units for modification and storage.
    Type: Application
    Filed: March 4, 2022
    Publication date: June 16, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Gary W. Grube, S. Christopher Gladwin
  • Publication number: 20220188191
    Abstract: A storage unit operates by: receiving a write slice request, wherein the write slice request includes a plurality of encoded data slices and wherein the write slice request corresponds to a range; determining whether a write lock conflict exists based on the range; issuing an unfavorable write slice response when the write lock conflict is determined to exist; and when the write lock conflict is determined to not exist: initiating local storage of the plurality of encoded data slices; and issuing a favorable write slice response.
    Type: Application
    Filed: March 2, 2022
    Publication date: June 16, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Zachary J. Mark, Ilya Volvovski, Greg R. Dhuse
  • Patent number: 11360852
    Abstract: Methods and apparatus for selection of memory devices in a distributed storage network. In an embodiment, a computing device receives a data object for storage and forwards the data object to a buffer for temporary storage, the buffer comprised of a first memory devices of a first memory type. A system level storage efficiency is determined for the data object based, at least in part, on a data attribute associated with the data object. Second memory devices, of a second memory type, are selected based on the system level storage efficiency preference, and compatible dispersed storage error encoding parameters for the data object are determined. The data object is encoded using the encoding parameters to generate a plurality of encoded data slices, which are provided to the second plurality of memory devices for storage. Further, system addressing information is generated based on an identifier associated with the data object.
    Type: Grant
    Filed: January 18, 2021
    Date of Patent: June 14, 2022
    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: 20220159072
    Abstract: A computing device includes an interface for communicating with a storage network and is configured to determine a performance level for each set of storage units of a plurality of sets storage units in the storage network, where the performance level includes a number of errors detected during a period of time T. The computing device is further configured to update performance information for the plurality of sets storage units to produce updated performance information for the plurality of sets storage units and determine which sets of storage units of the plurality of sets storage units meet a minimum performance level. The computing device is configured to receive a set of read requests for a set of encoded data slices stored on the plurality of sets storage units and transmit a threshold number of read requests of the set of read requests to a set of storage units that meet the minimum performance level.
    Type: Application
    Filed: January 28, 2022
    Publication date: May 19, 2022
    Inventors: Thomas D. Cocagne, Jason K. Resch, Greg R. Dhuse
  • Patent number: 11336428
    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 performing a key derivation function on a password and issuing a set of blinded passwords to a set of storage units. The method continues by receiving at least a decode threshold number of confidential information responses, regenerating a set of keys using the associated passkeys of the confidential information, decrypting a set of encrypted slices of the confidential information using the set of keys to reproduce a set of encoded data slices, and dispersed storage error decoding a decode threshold number of the set of reproduced encoded data slices to produce recovered data.
    Type: Grant
    Filed: April 22, 2020
    Date of Patent: May 17, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg R. Dhuse, Bart R. Cilfone
  • Patent number: 11321172
    Abstract: A method includes identifying an existing logical storage vault having existing dispersed storage coding properties for vault transformation, where a first set of storage units support the existing logical storage vault, and a data object of first data objects stored within the first set of storage units is stored as a first plurality of sets of encoded data slices in accordance with the existing dispersed storage coding properties. The method includes identifying a new logical storage vault having new dispersed storage coding properties, wherein storage units support the new logical storage vault. The method includes transforming the first data objects from being in accordance with the existing dispersed storage coding properties to being in accordance with the new dispersed storage coding properties to produce transformed first data objects. The method includes storing the transformed first data objects in the new logical storage vault supported by the storage units.
    Type: Grant
    Filed: April 3, 2020
    Date of Patent: May 3, 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
  • Patent number: 11307930
    Abstract: A distributed storage network method begins by determining an encoded data slice to rebuild, determining a storage set of distributed storage units associated with the encoded data slice to rebuild, determining an historical performance level of each distributed storage unit of the storage set of distributed storage units, determining an estimated performance level of each distributed storage unit of the storage set of distributed storage units, selecting at least a decode threshold number of distributed storage units of the storage set of distributed storage units to produce selected distributed storage units, determining an encoded data slice partial aggregation scheme for the selected distributed storage units, sending encoded data slice partial request messages to the selected distributed storage units, and receiving encoded data slice partial response messages and extracting encoded data slice partials from the encoded data slice partial response messages to rebuild or verify the encoded data slice.
    Type: Grant
    Filed: October 9, 2020
    Date of Patent: April 19, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Thomas F. Shirley, Jr., Greg R. Dhuse, Jason K. Resch
  • Publication number: 20220114053
    Abstract: A processor in a storage network operates by: receiving an access request for a data segment, wherein the data segment is encoded utilizing an error correcting information dispersal algorithm as a set of encoded data slices that are stored in a plurality of storage units of the storage network and wherein each encoded data slice of the set of encoded data slices includes a corresponding checksum of a plurality of checksums; retrieving, from the storage network, a subset of encoded data slices that includes a threshold number of encoded data slices of the set of encoded data slices; determining, based on ones of the plurality of checksums corresponding to the subset of encoded data slices, when the subset of encoded data slices includes at least one corrupted encoded data slice; retrieving from at least one of the plurality of storage units an addition number of encoded data slices required to generate a reconstructed data segment based on the subset of encoded data slices; generating the reconstructed data se
    Type: Application
    Filed: December 22, 2021
    Publication date: April 14, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Vance T. Thornton, Jason K. Resch, Ilya Volvovski, Dustin M. Hendrickson, John Quigley
  • Publication number: 20220114155
    Abstract: A database system operates by: receiving a user-generated secondary indexing hint data for a dataset from a client device, wherein the client device generated the user-generated hint data based on user input in response to at least one prompt displayed by an interactive interface displayed via a display device of the client device; generating a plurality of segments that each include distinct subsets of a plurality of rows of a dataset; automatically selecting, for each of the plurality of segments, a secondary indexing scheme from a plurality of secondary indexing options based on the user-provided secondary indexing hint data; generating a plurality of secondary indexes for each of the plurality of segments in accordance with the corresponding secondary indexing scheme; and storing the plurality of segments and the plurality of secondary indexes in memory.
    Type: Application
    Filed: March 24, 2021
    Publication date: April 14, 2022
    Applicant: Ocient Holdings LLC
    Inventors: Greg R. Dhuse, Daniel Coombs