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: 10402393
    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: August 1, 2016
    Date of Patent: September 3, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Jason K. Resch
  • Patent number: 10402270
    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 affinity DS units that correspond to the storage pattern. The data object is encoded to produce encoded affinity data slices which are output to the affinity DS units. A determination is made that an encoded data slice was improperly stored. One or more other encoded data slices corresponding to the data object may then be output to one or more DS units of the set of units other than the affinity DS units.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: September 3, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Patent number: 10402423
    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 processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device determines a performance level that is based on updating of an index node that is associated with distributed storage within the DSN of a set of encoded data slices (EDSs) that is associated with a data object. When the computing device determines to modify an index node update time period based on the performance level that is based on the updating of the index node, the computing device further determines whether to shorten or lengthen the index node update time period and selectively/adaptively performs such shorten or lengthen operations based on such determination.
    Type: Grant
    Filed: April 25, 2018
    Date of Patent: September 3, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Jason K. Resch
  • Patent number: 10402395
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit that includes a processor includes determining to access a set of storage units; identifying an information dispersal algorithm (IDA) width and a decode threshold number associated with the set of storage units; determining a number of available storage units of the set of storage units; determining a write threshold number and a read threshold number based on the number of available storage units and in accordance with a consistency approach; and accessing at least some of the available storage units utilizing at least one of the write and read threshold numbers.
    Type: Grant
    Filed: May 14, 2018
    Date of Patent: September 3, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Andrew D. Baptist, Niall J. McShane, Greg R. Dhuse, Thomas F. Shirley, Jr., Gregory Palinckx, Russell P. Kennedy, S. Christopher Gladwin, Robert C. McCammon, James Sherer
  • Publication number: 20190266109
    Abstract: A processing system in a dispersed storage network is configured to access write sequence information corresponding to a write sequence; determine whether to elevate a priority level of the write sequence; when the processing system determines to elevate the priority level of the write sequence, elevate the priority level of the write sequence; determine whether to lower the priority level of the write sequence; and when the processing system determines to lower the priority level of the write sequence, the processing system lowers the priority level of the write sequence.
    Type: Application
    Filed: February 28, 2019
    Publication date: August 29, 2019
    Inventor: Greg R. Dhuse
  • Publication number: 20190268296
    Abstract: A method for processing partial tasks in a distributed storage network (DSN) includes receiving a partial task request message for a DS execution unit, where the partial task request message includes corresponding partial tasks. The method continues by processing each partial task request message in accordance with the processing parameters to produce task request slice groupings, generating slices, such that each message is directed at a corresponding DS execution unit, and the sending the slice groupings and the task request slice groupings to the selected DS execution units for storage therein. The method continues by retrieving at least a decode threshold number of task response slices of one or more task response slice groupings from the DS execution units, decoding the task response slices, retrieving at least a decode threshold number of partial result slices, and decoding the partial results slices and processing the partial results to produce a result.
    Type: Application
    Filed: May 9, 2019
    Publication date: August 29, 2019
    Inventors: Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski, Manish Motwani, S. Christopher Gladwin, Gary W. Grube, Thomas F. Shirley, JR.
  • Publication number: 20190266148
    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: Application
    Filed: May 14, 2019
    Publication date: August 29, 2019
    Inventors: Greg R. Dhuse, Jason K. Resch
  • Patent number: 10387071
    Abstract: A method for a dispersed storage network (DSN) begins by receiving a data retrieval request for data stored as a plurality of sets of encoded data slices in a set of DS memory units. The method continues by selecting a read threshold number of DS units of the set of DS units. The method continues by facilitating sending read requests to the read threshold number of DS units. The method continues by receiving a decode threshold number of favorable read responses from a decode threshold number of DS units of the read threshold number of DS units. The method continues by facilitating canceling any pending read requests associated with other DS units of the read threshold number of DS units. The method continues by identifying any non-responding DS units of the other DS units to produce identified DS units and facilitating sending the identified DS units a read cancellation request.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: August 20, 2019
    Assignee: PURE STORAGE, INC.
    Inventor: Greg R. Dhuse
  • Patent number: 10387382
    Abstract: Methods and systems for estimating a number of entries in a dispersed hierarchical index. The method and systems involve determining a number of random walks N to perform on the dispersed hierarchical index, conducting N walkthroughs based on the number of walkthroughs, determining a number of walk entries for each of the N random walks and averaging the number of walk entries for each of the N random walks to produce an estimated total number of entries for the dispersed hierarchical index. The determining may be based on one or more of a number of levels, a desired confidence interval, a predetermination, and interpretation of system registry information, and an interpretation of a request. Each random walk starts at a root node and ends at a leaf node through L levels of the dispersed hierarchical index.
    Type: Grant
    Filed: October 27, 2016
    Date of Patent: August 20, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg R. Dhuse, Kevin M. Freese, Jason K. Resch, Daniel J. Scholl, Ethan S. Wozniak
  • Patent number: 10387080
    Abstract: A method for use in a dispersed storage network operates to select a recovery of selected ones of one or more first sets of encoded data slices in response to detecting a storage error associated with the selected ones of the one or more first sets of encoded data slices; issue requests for a second decode threshold number of encoded data slices of selected ones of one or more second sets of encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; decode the second decode threshold number of encoded data slices to produce recovered data in response to receiving the second decode threshold number of encoded data slices; encode the recovered data utilizing first IDA parameters associated with the first IDA to produce one or more rebuilt encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; and facilitate storage of the one or more rebuilt encoded data slices.
    Type: Grant
    Filed: October 25, 2018
    Date of Patent: August 20, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Scott M. Horan, Ravi V. Khadiwala, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Praveen Viraraghavan, Ilya Volvovski, Trevor J. Vossberg, Ethan S. Wozniak
  • Patent number: 10387067
    Abstract: A method for execution by a computing device includes dispersed storage error encoding a data segment to produce a set of encoded data slices. Dispersed storage network (DSN) configuration information is obtained and a write threshold number of encoded data slices is mapped to storage units to produce a slice storage mapping to facilitate storage of the encoded data slices. Unavailability of at least one encoded data slice is detected, and updated DSN configuration information is obtained. An updated slice storage mapping is produced and storage of an updated write threshold number of encoded data slices is facilitated accordingly. Availability of greater than the write threshold number of encoded data slices is detected and further updated DSN configuration information is obtained. A further updated slice storage mapping is produced and storage of a further updated write threshold number of encoded data slices is facilitated accordingly.
    Type: Grant
    Filed: December 14, 2017
    Date of Patent: August 20, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ethan S. Wozniak, Andrew D. Baptist, Greg R. Dhuse, Ilya Volvovski, Jason K. Resch, Ravi V. Khadiwala, Wesley B. Leggette
  • Patent number: 10387252
    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: July 27, 2017
    Date of Patent: August 20, 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
  • Publication number: 20190250823
    Abstract: A method includes determining whether an encoded data slice (EDS) of “x” number of EDSs of a set of EDSs requires rebuilding, where the set of EDSs includes a pillar width number of EDSs, and the “x” number of EDSs is stored in “x” number of storage units of a pillar width number of storage units. When the encoded data slice requires rebuilding, the method continues by identifying one of a “z” number of EDSs to replace the encoded data slice, where the “z” number of EDSs are not currently stored in the set of storage units. The method continues by constructing the one of the “z” number of EDSs from a decode threshold number of EDSs of the “x” number of EDSs and sending the one of the “z” number of EDSs to a corresponding storage unit of the “z” number of storage units.
    Type: Application
    Filed: April 26, 2019
    Publication date: August 15, 2019
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Patent number: 10382553
    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: Grant
    Filed: February 20, 2017
    Date of Patent: August 13, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Ravi V. Khadiwala, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
  • Patent number: 10379773
    Abstract: A storage unit for use within a dispersed storage network comprises an interface and a processing module operable to receive encoded data slices from a dispersed storage network client. The encoded data slices are associated with DSN logical addresses and the storage unit is allocated a range of DSN logical addresses in which the DSN logical addresses are found. The storage unit determines whether to store the encoded data slices in local memory of the storage unit or store them in remote memory. When the storage unit determines to store the encoded data slice to the remote memory it converts the DSN logical address into a local storage unit logical address and outputs the encoded data slices to the remote memory.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: August 13, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, James L. Lester, Zachary J. Mark, Manish Motwani, Jason K. Resch
  • Patent number: 10372506
    Abstract: A method performed by a processing module embedded in a solid state memory device begins by receiving at least one partial task related to a group of slices of contiguous data, and slices of the group of slices of contiguous data to produce received slices. The received slices are random access stored in the solid state memory device, and the processing module decides whether to execute the at least one partial task. In response to a positive determination, a portion of the received slices are random access retrieved, and the at least one partial task is executed using the portion of the received slices to generate a partial result. The partial result is random access stored in the solid state memory device; and the processing module facilitates dispersed storage of the partial result in a distributed storage task network (DSTN).
    Type: Grant
    Filed: November 9, 2016
    Date of Patent: August 6, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, S. Christopher Gladwin, Gary W. Grube, Manish Motwani, Wesley B. Leggette, Jason K. Resch, Thomas F. Shirley, Jr., Ilya Volvovski
  • Patent number: 10372540
    Abstract: A method includes receiving, by a computing device of a dispersed storage network (DSN), a non-standard data access request regarding a set of encoded data slices, where the non-standard data access request includes a set of network identifiers of a set of storage units, a data identifier corresponding to data, and a data access function. The method further includes the computing device converting the non-standard data access request into one or more DSN slice names. The method further includes the computing device determining that the one or more DSN slice names are within a slice name range allocated to the computing device. When the one or more DSN slice names are within the slice name range, the method further includes the computing device executing the data access function regarding one or more encoded data slices corresponding to the one or more DSN slice names.
    Type: Grant
    Filed: October 15, 2018
    Date of Patent: August 6, 2019
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, James L. Lester, Zachary J. Mark, Manish Motwani, Jason K. Resch
  • Patent number: 10372381
    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 source name, a value for the source name, and a proposal attempt identifier. The processing module then receives a threshold number of proposal message responses from the plurality of DS units, and when the proposal message responses indicate that no other proposal messages have been received by the DS units, uses the value for the source name included within the proposal message as a persistent value for the source name, and the method continues with the processing module notifying the requesting computing device. When the proposal message responses indicate that at least one other proposal message has been received by the DS unit of the plurality of DS units, the method continues with the processing module employing a third value for the source name as the persistent value for the source name.
    Type: Grant
    Filed: June 5, 2017
    Date of Patent: August 6, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg R. Dhuse, Ravi V. Khadiwala, Jason K. Resch
  • Publication number: 20190235931
    Abstract: A processing system in a dispersed storage and a task (DST) network operates by receiving data and a corresponding task; identifying candidate DST execution units for executing partial tasks of the corresponding task; receiving distributed computing capabilities of the candidate DST execution units; selecting a subset of DST execution units of the candidate DST execution units to favorably execute the partial tasks of the corresponding task; determining task partitioning of the corresponding task into the partial tasks based on one or more of the distributed computing capabilities of the subset of DST execution units; determining processing parameters of the data based on the task partitioning; partitioning the tasks based on the task partitioning to produce the partial tasks; processing the data in accordance with the processing parameters to produce slice groupings; and sending the slice groupings and the partial tasks to the subset of DST execution units.
    Type: Application
    Filed: April 9, 2019
    Publication date: August 1, 2019
    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
  • Publication number: 20190235955
    Abstract: A method includes determining, by a computing device of a dispersed storage network (DSN), routing path performance information of a set of routing paths with respect to a set of storage units of the DSN. The method further includes adjusting a pillar width to decode threshold ratio of a dispersed storage error encoding function when the routing path performance information deviates from a performance threshold. The performance threshold includes a first error rate threshold and a second error rate threshold. The method further includes dispersed storage error encoding a data object using the adjusted pillar width to decode threshold ratio to produce a plurality of sets of encoded data slices. The method further includes sending the plurality of sets of encoded data slices to the set of storage units via the set of routing paths for storage therein.
    Type: Application
    Filed: April 8, 2019
    Publication date: August 1, 2019
    Inventors: Gary W. Grube, Timothy W. Markison, S. Christopher Gladwin, Greg R. Dhuse, Andrew D. Baptist, Ilya Volvovski, Jason K. Resch