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: 12181969
    Abstract: A method for execution by one or more computing devices includes selecting a first routing path from a plurality of routing paths to a set of storage units based on routing path performance information, where the first routing path has a performance level greater than a first performance threshold. The method further includes selecting a second routing path from the plurality of routing paths based on the routing path performance information, where the second routing path has a performance level less than or equal to the first performance threshold. The method further includes sending a first subset of encoded data slices to the set of storage units via the first routing path for storage therein. The method further includes sending a second subset of encoded data slices to the set of storage units via the second routing path for storage therein.
    Type: Grant
    Filed: November 1, 2023
    Date of Patent: December 31, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison, S. Christopher Gladwin, Greg R. Dhuse, Andrew D. Baptist, Ilya Volvovski, Jason K. Resch
  • Publication number: 20240427490
    Abstract: A method includes generating a second encoded data slice of a second subset of encoded data slices of a set of encoded data slices, where the second subset of encoded data slices is not currently stored in a set of storage units of the storage network, where the set of encoded data slices include a first subset of encoded data slices that is stored in the set of storage units and includes at least a decode threshold number of encoded data slices of the set of encoded data slices, and where a first encoded data slice of the first subset requires rebuilding. The method further includes sending the second encoded data slice to the set of storage units for storage therein, where when the second encoded data slice is stored, the second encoded data slice no longer included in the second subset of encoded data slices.
    Type: Application
    Filed: September 3, 2024
    Publication date: December 26, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Publication number: 20240427712
    Abstract: A storage system operates by generating system messages, in accordance with the system-level message processing parameters, the system messages including status information, performance information and alarms, each having one of a plurality of priorities. The generating includes: generating a first message of the system messages corresponding to a first of the storage nodes based on the system-level message processing parameters, the first message including a first alarm of the alarms having a first priority of the plurality of priorities; and generating a second message of the system messages corresponding to a second of the storage nodes based on the system-level message processing parameters, the second message including a second alarm of the alarms having a second priority of the plurality of priorities.
    Type: Application
    Filed: September 4, 2024
    Publication date: December 26, 2024
    Applicant: Pure Storage, Inc.
    Inventor: Greg R. Dhuse
  • Publication number: 20240427672
    Abstract: A method for execution on a storage network begins with receipt of a data object for storage by a plurality of users and continues with a storage network processing unit determining whether the data object is associated with a replica storage node of a plurality of replica storage nodes associated with the storage network. When the data object is associated with a replica storage node, the method continues by facilitating storing the data object in each replica storage node of the plurality of replica storage nodes and receiving a plurality of access responses from at least some replica storage nodes of the plurality of replica storage nodes. The method then continues by determining whether an access response threshold number of access responses have been received and finally, in response to a determination that an access response threshold number of access responses have been received, transmitting an acknowledgement to the plurality of users.
    Type: Application
    Filed: September 10, 2024
    Publication date: December 26, 2024
    Applicant: 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, Jason K. Resch
  • Patent number: 12174853
    Abstract: Methods and apparatus for asynchronous replication of data in a storage network. In an embodiment, a processing module(s) of a computing device identifies at least a first storage set and a second storage set for replicated storage of data. The processing module maintains a synchronization schedule for the first storage set and the second storage set. After initiating storage of a data object in the first storage set (e.g., using first error encoding parameters), the processing module determines, based at least in part on the synchronization schedule, to synchronize the first storage set and the second storage set. In response to determining to synchronize the first and second storage sets, the processing module determines that the second storage set requires the data object to maintain synchronization with the first storage set and facilitates storage of the data object in the second storage set (e.g., using second error encoding parameters).
    Type: Grant
    Filed: May 25, 2023
    Date of Patent: December 24, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Jason K. Resch, Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Patent number: 12170717
    Abstract: A method for execution in a storage network begins by performing a key derivation function on a password to produce a key and issuing a set of passwords based on the key to a set of storage units, where a data object is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices and the set of encoded data slices are stored in the set of storage units. The method continues, by receiving at least a decode threshold number of confidential information responses from the set of storage units and regenerating a set of keys for the confidential information responses. The method then continues by decrypting the confidential information responses 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 encoded data slices to produce recovered data.
    Type: Grant
    Filed: August 8, 2023
    Date of Patent: December 17, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse, Bart R. Cilfone
  • Patent number: 12169652
    Abstract: A method begins by a computing device of a storage network receiving a storage network access request and determining whether the storage network access request requires multiple access steps to a plurality of storage units, where a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed storage error encoding parameters to produce a set of encoded data slices that are distributedly stored among a plurality of storage units, and where a decode threshold number of encoded data slices are needed to recover the data segment. When the storage network access request requires multiple access steps to a plurality of storage units, the method continues with the computing device determining to delegate at least as portion of the multiple access steps to a delegation agent issuing a multi-step object access partial task to the delegation agent; and receiving a multistep object access result.
    Type: Grant
    Filed: August 16, 2022
    Date of Patent: December 17, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Jason K. Resch
  • Publication number: 20240411643
    Abstract: A processing system of a storage network operates by: sending, to at least one storage unit of the storage network, at least one read request corresponding to at least a read threshold number of a set of encoded data slices to be retrieved, wherein the set of encoded data slices correspond to data, wherein the data is coded in accordance with dispersed error coding parameters that include a write threshold number and the read threshold number, wherein the write threshold number is a number of encoded data slices in the set of encoded data slices and wherein the read threshold number is a number of the set of encoded data slices that is required to decode the data; receiving, at the at least one processing circuit and from the at least one storage unit, a first subset of the set of encoded data slices, wherein at least one missing encoded data slice was not included in the first subset and wherein a number of encoded data slices in the first subset is less than the read threshold number; generating, via the at
    Type: Application
    Filed: August 20, 2024
    Publication date: December 12, 2024
    Applicant: 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
  • Publication number: 20240403296
    Abstract: A query processing system operates by: determining a query for execution that indicates a join expression and further indicates a threshold maximum number of output rows for the join expression; determining a query operator execution flow for the join expression that includes performance of two join operations based on the threshold maximum number of output rows for the join expression, wherein a union of output of the two join operations is semantically equivalent to an output of the join expression; and executing the query based on: performing the two join operations in parallel upon sets of input rows; and based on determining a set of output rows outputted by the two join operations has reached the threshold maximum number of output rows, finalizing execution of the query before at least one of the two join operations has finished processing its input rows.
    Type: Application
    Filed: August 12, 2024
    Publication date: December 5, 2024
    Applicant: Ocient Holdings LLC
    Inventors: Samuel Peter Bove, Jason Arnold, Susmita Saha, Sarah Kate Schieferstein, Max Guthmann, Ellis Mihalko Saupe, Greg R. Dhuse
  • Publication number: 20240394146
    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: August 1, 2024
    Publication date: November 28, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Vance T. Thornton, Jason K. Resch, Ilya Volvovski, Dustin M. Hendrickson, John Quigley
  • Publication number: 20240370439
    Abstract: A database system is operable to generate an initial query operator execution that includes an IO operator for execution serially before an aggregation operator indicating performance of an aggregation. The initial query operator execution flow is converted into an updated query operator execution flow semantically equivalent to the initial query operator execution flow based on updating the IO operator to include the performance of the aggregation and adding a re-aggregation operator serially after the IO operator. A corresponding query is executed by applying the updated query operator execution flow based on executing, via each of a plurality of parallelized resources, the IO operator generate corresponding sub-aggregation output via performance of the aggregation, and executing the re-aggregation operator upon data blocks generated based on execution of the IO operator across the plurality of parallelized resources.
    Type: Application
    Filed: May 1, 2023
    Publication date: November 7, 2024
    Applicant: Ocient Holdings LLC
    Inventors: Anna Veselova, Greg R. Dhuse
  • Publication number: 20240370440
    Abstract: A database system is operable to generate an initial query operator execution that includes an IO operator for execution serially before an aggregation operator indicating performance of an aggregation. The initial query operator execution flow is converted into an updated query operator execution flow semantically equivalent to the initial query operator execution flow based on updating the IO operator to include the performance of the aggregation and adding a re-aggregation operator serially after the IO operator. A corresponding query is executed by applying the updated query operator execution flow based on executing, via each of a plurality of parallelized resources, the IO operator generate corresponding sub-aggregation output via performance of the aggregation, and executing the re-aggregation operator upon data blocks generated based on execution of the IO operator across the plurality of parallelized resources.
    Type: Application
    Filed: July 8, 2024
    Publication date: November 7, 2024
    Applicant: Ocient Holdings LLC
    Inventors: Anna Veselova, Greg R. Dhuse
  • Publication number: 20240362219
    Abstract: A database system operates by: determining a set of assigned segments based on data ownership information; generating a plurality of segment handles and a corresponding plurality of segment metadata for the set of assigned segments based on performing a segment activation step for the set of assigned segments; determining a first query for execution requiring access to a first segment of the set of assigned segments; and executing an IO operator of the first query based on loading the first segment by utilizing a corresponding one of the plurality of segment handles.
    Type: Application
    Filed: July 12, 2024
    Publication date: October 31, 2024
    Applicant: Ocient Holdings LLC
    Inventors: George Kondiles, Andrew Michael Bass, Finley Jordan Lau, Natalia Marie Jenuwine, Greg R. Dhuse, Hassan Farahani, Gregory A. Papadopoulos
  • Patent number: 12130812
    Abstract: A database system is operable to store a plurality of column values for a first column of a plurality of rows. A query having a query predicate indicating a negation of a condition for the first column based on a first value is executed. A first index element is applied to identify a first proper subset of the plurality of rows having values for the first column meeting the condition based on accessing index data. At least one second index element is applied to identify a second proper subset of the plurality of rows having values for the first column meeting at least one missing data-based condition based on accessing the index data. A set difference between the plurality of rows and a union of the first proper subset and the second proper subset is identified. A query resultant for the query is generated based on the set difference.
    Type: Grant
    Filed: September 7, 2023
    Date of Patent: October 29, 2024
    Assignee: Ocient Holdings LLC
    Inventors: Anna Veselova, Greg R. Dhuse, Matthew Ashbeck
  • Patent number: 12124449
    Abstract: A database system is operable to determine a query for execution. The database system can execute a left join operation for the query based on receiving a plurality of left input rows, and forwarding all of the plurality of left input rows are forwarded. It is determined whether any right input rows match with each given left input row based on a hash map. When one right input row is identified as matching with the given left input row, a value of right input row is copied and emitted in conjunction with the given left input row. When no right input rows are identified as matching with the given left input row, a null value is emitted in conjunction with the given left input row.
    Type: Grant
    Filed: May 23, 2023
    Date of Patent: October 22, 2024
    Assignee: Ocient Holdings LLC
    Inventors: Samuel Peter Bove, Jason Arnold, Susmita Saha, Sarah Kate Schieferstein, Max Guthmann, Ellis Mihalko Saupe, Greg R. Dhuse
  • Patent number: 12120177
    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: Grant
    Filed: January 28, 2022
    Date of Patent: October 15, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Thomas D. Cocagne, Jason K. Resch, Greg R. Dhuse
  • Patent number: 12117986
    Abstract: A database system is operable to write to a file buffer corresponding to geospatial index data for a plurality of rows based on processing each given row of the plurality of rows. A new leaf node of a set of leaf nodes in a temporary leaf node buffer when the given row includes a geospatial object. When the temporary leaf node buffer is determined to have a number of leaf nodes meeting a predetermined threshold number of leaf nodes, a new tree-based index structure of a set of tree-based index structures of the geospatial index data is built via processing the temporary leaf node buffer. The geospatial index data is stored based on writing the file buffer to disk memory resources. A query is executed against a relational database table based on accessing the geospatial index data in the disk memory resources.
    Type: Grant
    Filed: July 20, 2023
    Date of Patent: October 15, 2024
    Assignee: Ocient Holdings LLC
    Inventors: Anna Veselova, Greg R. Dhuse, Richard George Wendel, III, Benjamin Daniel Rabe
  • Publication number: 20240338352
    Abstract: A method begins with a processing module of a distributed storage network (DSN), receiving a request to access a data object stored in the DSN and identifying a first data descriptor associated with the data object, identifying a second data descriptor associated with the data object, identifying a first data index key and a first index structure for the first data descriptor and identifying a second data index key and a second index structure for the second data descriptor. The method continues with the processing module accessing the first index structure for the first data descriptor , based on the first and second data index keys, to retrieve a first and second set of data identifiers, respectively and based on one or more data identifiers being common to the first set of data identifiers and the second set of data identifiers, creating a superset of data identifiers.
    Type: Application
    Filed: June 29, 2022
    Publication date: October 10, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Ilya Volvovski, Adam M. Gray, Andrew D. Baptist
  • Patent number: 12099752
    Abstract: A method includes receiving an error message including first information associated with a first reported error and a time at which the first reported error was detected. First stored event records associated with second reported errors are identified. The first stored event records include second information describing previously reported errors that occurred within a predetermined time prior to the time at which the first reported error was detected. The method determines, based on the first information and the second information, whether a correlation exists among one or more of the previously reported errors and the first reported error. In response to determining that the correlation exists, generating an error correlation report predicting occurrence of a third error.
    Type: Grant
    Filed: February 6, 2023
    Date of Patent: September 24, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Yogesh R. Vedpathak
  • Publication number: 20240311251
    Abstract: A method for execution by one or more computing devices of a storage network includes dispersed storage error encoding a data segment of data into a set of encoded data slices in accordance with an information dispersal algorithm width number and a decode threshold number, where the decode threshold number of encoded data slices of the set of encoded data slices are needed to reconstruct the data segment. The method further includes storing the set of encoded data slices in primary storage slots of a set of storage units deployed across multiple sites of the storage network in accordance with a mapping of the primary storage slots to storage units of the set of storage units, where a number of the primary storage slots is equal to or greater than the information dispersal algorithm width number.
    Type: Application
    Filed: May 31, 2024
    Publication date: September 19, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Ravi V. Khadiwala, Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Ilya Volvovski, Jason K. Resch, Manish Motwani