Patents by Inventor Jason K. Resch

Jason K. Resch 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: 10969972
    Abstract: A computing device of a dispersed storage network includes a processing module operable to receive a plurality of requests regarding writing a plurality of data objects to storage units from a plurality of user computing devices. The processing module is further operable to activate a verification process to verify a content format verification code provided by a user computing device for a request regarding writing a data object, activate a signature process to sign the content format verification code with a trusted certificate to produce a signed content format verification code, send the trusted certificate and a signed content format verification code identification to a dispersed storage (DS) processing unit, receive a verification message indicating that the content format verification code identifies a correct format for the data object, and send the data object in the correct format to the DS processing unit for dispersed storage error encoding and storage.
    Type: Grant
    Filed: July 31, 2019
    Date of Patent: April 6, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Bart R. Cilfone, Greg R. Dhuse, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Ilya Volvovski, Ethan S. Wozniak
  • Patent number: 10963343
    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. The computing device issues a set of write requests to a first storage unit (SU) set based on a set of encoded data slices (EDSs) associated with a data object to be stored therein. When a write threshold number and fewer than all of the set of EDSs have been successfully stored, the computing device determines to store temporarily within a second SU set remaining EDS(s) that has not been successfully stored within the first SUs set and facilitates temporary storage thereof within the second SU set. Upon recovery of the EDS(s) from the temporary storage within the second SU set, the computing device issues additional write request(s) to the first SU set based on the EDS(s).
    Type: Grant
    Filed: December 23, 2019
    Date of Patent: March 30, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Ravi V. Khadiwala, Yogesh R. Vedpathak, Jason K. Resch, Asimuddin Kazi
  • Patent number: 10963180
    Abstract: A method for execution by a computing device includes detecting that an incremental storage cohort has been added to a storage generation to produce an updated plurality of storage cohorts of an updated storage generation, where each storage cohort includes a set of storage units. For each storage cohort, a slice listing process is initiated to identify a plurality of DSN addresses associated with storage of data objects within the each storage cohort. For each DSN address, ranked scoring information is obtained for the each storage cohort of the updated plurality of storage cohorts. One storage cohort is identified based on the ranked scoring information. When the identified storage cohort is different than another storage cohort associated with current storage of encoded data slices associated with the DSN address of the identified storage cohort, a migration process is initiated to migrate the encoded data slices to the identified storage cohort.
    Type: Grant
    Filed: June 10, 2019
    Date of Patent: March 30, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Manish Motwani, Jason K. Resch
  • Patent number: 10963397
    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: Grant
    Filed: March 26, 2018
    Date of Patent: March 30, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg R. Dhuse, Ilya Volvovski, Ethan S. Wozniak, Ravi V. Khadiwala, Jason K. Resch, Andrew D. Baptist, Praveen Viraraghavan
  • Patent number: 10956091
    Abstract: A method begins when a read expansion condition is met for a set of encoded data slices stored in a set of storage units of a first DSN. The method continues with determining whether a difference between a pillar width number and a read threshold (RT) number is greater than or equal to the RT number. When no, the method continues with retrieving an expansion number of encoded data slices from the set of storage units and sending them to storage units of a second DSN for storage. The method continues by receiving a plurality of read requests for the set of encoded data slices, sending a first group of read requests to a RT number of storage units of the first DSN and sending a second group of requests to a second subset of storage units of the first DSN and to the storage units of the second DSN.
    Type: Grant
    Filed: January 24, 2019
    Date of Patent: March 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wesley B. Leggette, Manish Motwani, Brian F. Ober, Jason K. Resch
  • Patent number: 10956055
    Abstract: A method for execution by an auditing unit includes sending a verification request to a storage unit that includes a slice name and a challenge value. A proof of knowledge is received from the storage unit in response, where the proof of knowledge is generated by the storage unit based on a prover output value generated by performing a combined integrity function on the challenge value and slice data associated with the slice name. A verifier output value is generated by the auditing unit as a function of the challenge value and a known slice integrity check value for the slice name. Output verification data is generated by comparing the prover output value to the verifier output value. A corrective action is initiated on the storage unit when the prover output value compares unfavorably to the verifier output value, or when the proof of knowledge is evaluated to be invalid.
    Type: Grant
    Filed: July 18, 2019
    Date of Patent: March 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Jason K. Resch
  • Patent number: 10958430
    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 receives (e.g., via the DSN and from a first other computing device) a storage request that is based on data object. The computing device extracts a remote address (associated with the first other computing device) from the storage request. The computing device processes the storage request to determine whether any principals are associated with the storage request, wherein the principals include DSN system entities.
    Type: Grant
    Filed: August 28, 2019
    Date of Patent: March 23, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Wesley B. Leggette
  • Patent number: 10951358
    Abstract: A method begins by a dispersed storage (DS) processing unit of a dispersed storage network (DSN) sending a set of data access requests regarding a set of encoded data slices to slice routers of the DSN. The method continues by a first slice router identifying a first storage unit of a first storage unit group based on a first slice name of a set of corresponding slice names that includes a first pillar number, wherein the first slice router is responsible for processing access requests that include the first pillar number. The method continues by the first slice router sending a first data access request of the set of data access requests to the first storage unit. The method continues by the first slice router receiving a first data access response. The method continues by the first slice router forwarding the first data access response to the DS processing unit.
    Type: Grant
    Filed: April 10, 2019
    Date of Patent: March 16, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wesley B. Leggette, Manish Motwani, Brian F. Ober, Jason K. Resch
  • Patent number: 10944843
    Abstract: A method includes receiving, by a first computing device, a data access request from a client device, where the first computing device is aware of geographical locations of other computing devices, and where the data access request includes a client geographical location header and a redirection count header. When the redirection count header is higher than a redirection count threshold, the method includes processing the data access request. When the redirection count header is lower than the redirection count threshold, the method includes determining an optimal computing device to process the data access request. When the optimal computing device is geographically closer to the first computing device than the client device, the method includes, proxying the data access request to the optimal computing device. When the optimal computing device is geographically closer to the client device, the method includes sending a redirect response to the client device.
    Type: Grant
    Filed: November 5, 2018
    Date of Patent: March 9, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Adam M. Gray, Manish Motwani, Ravi V. Khadiwala, Jason K. Resch, Yogesh R. Vedpathak
  • Patent number: 10942684
    Abstract: An integrity processing unit includes rebuild modules to rebuild one or more encoded data slices in a dispersed storage network (DSN) memory unit. The rebuild modules determine a rebuild rate of the DSN memory unit, and, based on the rebuild rate, a rebuild rate status of the DSN memory unit. When the rebuild rate status is a high rebuild rate status, the rebuild rate to the DSN memory unit is reduced and, when the rebuild rate is not zero, the one or more encoded data slices are rebuilt in the DSN memory unit.
    Type: Grant
    Filed: August 31, 2018
    Date of Patent: March 9, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ethan S. Wozniak
  • Patent number: 10942806
    Abstract: A method includes obtaining, by a computing device, a plurality of sets of encoded data slices for storage in memory of a dispersed storage network (DSN). The method further includes identifying, by the computing device, a desired set of storage units within pools of storage units for storing the plurality of sets of encoded data slices. The method further includes generating, by the computing device, a specific source name based on the desired set of storage units and a distributed agreement protocol (DAP). The method further includes generating, by the computing device, a plurality of sets of slices names that includes the specific source name. The method further includes sending, by the computing device, a plurality of sets of write requests to the desired set of storage units regarding the plurality of sets of encoded data slices and in accordance with the plurality of sets of slice names.
    Type: Grant
    Filed: February 20, 2018
    Date of Patent: March 9, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Brian F. Ober, Jason K. Resch
  • Patent number: 10944712
    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: Grant
    Filed: April 29, 2020
    Date of Patent: March 9, 2021
    Assignee: PURE STORAGE, INC.
    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.
  • Patent number: 10936417
    Abstract: A computing device for use in a dispersed storage network (DSN) to recover corrupt encoded data slices. The computing device requests, from storage units of the DSN, encoded data slices corresponding to a data segment. In response, the computing device receives at least a decode threshold number of encoded data slices and at least one integrity error message that provides an indication of a corrupt encoded data slice, such that less than a decoded threshold number of valid slices is received. Utilizing at least one correction approach, which may involve stored integrity data, the computing device corrects the corrupt slice(s) to produce a decode threshold number of encoded data slices in order to decode the corresponding data segment. A variety of correction approaches may be employed, including a multi-stage approach that utilizes data from both valid and invalid slices.
    Type: Grant
    Filed: April 30, 2019
    Date of Patent: March 2, 2021
    Assignee: PURE STORAGE, INC.
    Inventor: Jason K. Resch
  • Patent number: 10936448
    Abstract: A method includes determining an encoding modification for a set of encoded data slices where a data segment of data is dispersed storage error encoded into the set of encoded data slices based on dispersed storage error encoding parameters. The method further includes determining a plurality of tasks for executing the encoding modification, where the encoding modification includes altering one or more parameters of the dispersed storage error encoding parameters. The method further includes assigning a first task of the plurality of tasks to a first storage unit and assigning remaining tasks of the plurality of tasks to a set of storage units. The method further includes executing, by the first storage unit and at least some storage units of the set of storage units, the first task and the remaining tasks of the plurality of tasks, respectively, to produce a modified set of encoded data slices.
    Type: Grant
    Filed: October 12, 2018
    Date of Patent: March 2, 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: 10929214
    Abstract: A method for execution by a dispersed storage (DS) cleanup unit includes determining a dead session of a DSN. A subset of a plurality of eventual consistency intent names is generated by identifying eventual consistency intent names that include a session identifier corresponding to the dead session in a prefix of the eventual consistency intent names, where the subset of the plurality of eventual consistency intent names corresponds to all eventual consistency intents of the dead session. A subset of storage units responsible for storing the all eventual consistency intents of the dead session is determined based on the prefix of the eventual consistency intent names in the subset. All eventual consistency intents of the dead session are retrieved from the subset of storage units, and execution of eventual consistency updates indicated in the all eventual consistency intents of the dead session is facilitated.
    Type: Grant
    Filed: January 7, 2019
    Date of Patent: February 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ravi V. Khadiwala, Manish Motwani, Renars W. Narubin, Jason K. Resch, Daniel J. Scholl, Yogesh R. Vedpathak
  • Patent number: 10929068
    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. The computing device processes data usage characteristics associated with a data object that is associated with a user to determine an estimated location of the user. When the estimated location of the user compares unfavorably to the home location of the user, the computing device pre-fetches less than the decode threshold number of EDSs, for each set of encoded data slices (EDSs) that respectively correspond to data segments of a data object, from first storage units (SUs) to second SUs associated with the estimated location of the user.
    Type: Grant
    Filed: June 28, 2019
    Date of Patent: February 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Brian F. Ober, Jason K. Resch
  • Patent number: 10922198
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit identifying a failing memory device based on memory device diagnostic data. A cloning task is executed by designating memory of a replacement memory device to store encoded slices stored in the failing memory device, where the cloning task is executed over a cloning duration time period. A write request is received via a network at a receiving time during the cloning duration time period that includes a new encoded slice, and the new encoded slice is assigned to a temporary memory device for storage based on an identifier of the new encoded. The new encoded slice is transferred from the temporary memory device to the replacement memory device in response to an elapsing of the cloning duration time period corresponding to completion of the execution of the cloning task.
    Type: Grant
    Filed: August 2, 2019
    Date of Patent: February 16, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Ilir Iljazi, Jason K. Resch
  • Patent number: 10922179
    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: Grant
    Filed: May 30, 2019
    Date of Patent: February 16, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Patent number: 10922181
    Abstract: A method comprises encoding, by a DS processing unit of a dispersed storage network (DSN), a data segment using an information dispersal algorithm with a first pillar width number to produce a set of encoded data slices. The method continues by generating a set of DSN addresses for the set of encoded data slices based on the first pillar width number, a second pillar width number and a DSN address mapping function. The method continues by identifying, based on the DSN addresses, a first group of storage units of a set of storage units that includes the second width pillar number of storage units and where the first group of storage units includes the first pillar width number of storage units. The method continues by sending the set of encoded data slices to the first group of storage units in accordance with the set of DSN addresses.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: February 16, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Jason K. Resch, Wesley B. Leggette
  • Patent number: 10924267
    Abstract: A computing device including a processor, memory, and instructions, interfaces with a key management system (KMS) that provides encryption keys using an Oblivious Pseudorandom Function (OPRF). The device obtains, based on a type of encryption key being requested, a public key of a public-private key pair. The device creates an Oblivious Key Access Request (OKAR), including a blinded value associated with a requested encryption key. The OKAR is transmitted to the KMS, and a response is received. The response includes a blinded OPRF output, which yields an OPRF output as a result of being subjected to an unblinding operation. The OPRF output is validated using the public key, either directly or via a challenge, and in response to a positive validation, the OPRF output is used as a final key, or an intermediary key used to derive the final key.
    Type: Grant
    Filed: August 24, 2018
    Date of Patent: February 16, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Hugo M. Krawczyk, Mark D. Seaborn