Patents by Inventor Ravi V. Khadiwala

Ravi V. Khadiwala 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: 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
  • Patent number: 11188665
    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 detects a potentially unauthorized access to a storage unit (SU) of a set of storage units (SUs) that distributedly stores a set of encoded data slices (EDSs) associated with a data object. The computing device issues access information to at least some other SUs based on the potentially unauthorized access to the SU that is detected. The computing device initiates a first unauthorized abatement process for the SU and/or a second unauthorized access abatement process for a first other SU based on receipt of other access information.
    Type: Grant
    Filed: July 30, 2018
    Date of Patent: November 30, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Teague S. Algie, Ravi V. Khadiwala, Jason K. Resch
  • Patent number: 11182082
    Abstract: A method includes sending, by a computing device of a dispersed storage network (DSN), an inquiry to storage units of the DSN regarding status of a new vault in the DSN. The new vault is a logical storage container supported by the storage units, and the new vault is defined by vault parameters that include new vault identifier, new vault storage capabilities, access privileges, and authorized users. When a threshold number of storage units provide a status response of active and when a data access request for a set of encoded data slices is received, the computing device sends a set of access requests regarding the data access request to the storage units. When the threshold number of storage units do not provide the status response of active, the computing device facilitates activation of the new vault in at least the threshold number of storage units.
    Type: Grant
    Filed: January 9, 2019
    Date of Patent: November 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Franco V. Borich, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Mingyu Li, Manish Motwani, Jason K. Resch, Trevor J. Vossberg
  • Patent number: 11115221
    Abstract: Methods for verifying rebuilt data in a dispersed storage network (DSN). In various examples, a storage unit of the DSN receives a rebuilt encoded data slice of a set of encoded data slices and a set of corresponding integrity values. An integrity function is performed on the set of integrity values to calculate an integrity value of the set of integrity values, which is then compared to a locally stored value. If the values match, the set of integrity values is validated. Another integrity function is performed on the rebuilt encoded data slice to produce a calculated integrity value of the received encoded data slice. The encoded data slice is validated and stored when the calculated integrity value compares favorably to the corresponding value of the validated set of integrity values. Proof of authenticity information from other storage units may be employed to further validate the set of integrity values.
    Type: Grant
    Filed: January 20, 2017
    Date of Patent: September 7, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Ravi V. Khadiwala, Jason K. Resch
  • Patent number: 11108559
    Abstract: A method of integrating a distributed ledger represented by a blockchain with a distributed storage network (DSN) begins by sending a proof of existence request to the DSN, the proof of existence request including an object name, an object version, a start time and an end time. The method continues by reading the object metadata for the sent object name. The method continues by checking a revision history from object metadata associated with the sent object name to ensure the object existed by the start time through the end time with no deletions and, if the object did not exist by the start time through the end time with no deletions, rejecting the proof of existence request and returning an error response. If the object did exist by the start time on through the end time with no deletions, the method continues by producing and returning an attestation comprising verification information related to the object.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: August 31, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Vita Bortnikov, Michele Martino Franceshini, Ravi V. Khadiwala, Michael E. Factor, Roberta Jo Cochrane
  • Patent number: 11010096
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes receiving an access request via a network. A set of possible storage units for performance of the access request are determined. A latency summarization value is determined for each of the set of possible storage units based on historical latency data for the set of possible storage units. A weight for each of the set of possible storage units is determined based on the latency summarization values to generate a plurality of weights. A probabilistic selection function is performed in accordance with the plurality of weights to select a proper subset of the set of possible storage units. A plurality of requests are generated based on the access request for transmission, via the network, to the proper subset of the set of possible storage units.
    Type: Grant
    Filed: September 16, 2019
    Date of Patent: May 18, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ethan S. Wozniak, Ravi V. Khadiwala, John R. Carrell, Bohdan L. Bodnar, Alex Marchenko
  • Patent number: 10976963
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes receiving an access request via a network. A set of possible storage units for performance of the access request are determined. A latency summarization value is determined for each of the set of possible storage units based on historical latency data for the set of possible storage units. A weight for each of the set of possible storage units is determined based on the latency summarization values to generate a plurality of weights. A probabilistic selection function is performed in accordance with the plurality of weights to select a proper subset of the set of possible storage units. A plurality of requests are generated based on the access request for transmission, via the network, to the proper subset of the set of possible storage units.
    Type: Grant
    Filed: April 15, 2019
    Date of Patent: April 13, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ethan S. Wozniak, Ravi V. Khadiwala, John R. Carrell, Bohdan L. Bodnar, Alex Marchenko
  • 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: 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: 10956266
    Abstract: A method begins by obtaining, for a set of data access requests to a set of storage units of a dispersed storage network, a storage-revision indicator from each of at least some storage units of the set of storage units, where the set of data access requests is regarding a data access transaction involving a set of encoded data slices. The method continues by generating an anticipated storage-revision indicator for the data access transaction based on a current revision level of the set of encoded data slices and a data access type of the data access transaction. The method continues by comparing the anticipated storage-revision indicator with the storage-revision indicators received from the at least some storage units. When a threshold number of the storage-revision indicators received from the at least some storage units substantially match the anticipated storage-revision indicator, the method continues by executing the data access transaction.
    Type: Grant
    Filed: March 27, 2019
    Date of Patent: March 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Greg R. Dhuse, Ravi V. Khadiwala
  • 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: 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: 10904337
    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: June 28, 2019
    Date of Patent: January 26, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Ravi V. Khadiwala, Manish Motwani, Praveen Viraraghavan, Ilya Volvovski
  • Patent number: 10891058
    Abstract: A method includes storing, by a set of storage units, a set of appended encoded data slices, where an appended encoded data slice of the set of appended encoded data slices includes an encoded data slice of a set of encoded data slices and slice verification information. The method further includes identifying, by a rebuilding agent, one of the set of appended encoded data slices for rebuilding, rebuilding the encoded data slice, generating current slice verification information, and sending an appended rebuilt encoded data slice that includes the rebuilt encoded data slice and the current slice verification information to a storage unit. The method further includes verifying, by the storage unit, the current slice verification information corresponds to the slice verification information, and when the current slice verification information corresponds to the slice verification information, storing the appended rebuilt encoded data slice as a trusted rebuilt encoded data slice.
    Type: Grant
    Filed: July 26, 2017
    Date of Patent: January 12, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Ravi V. Khadiwala, Jason K. Resch
  • Patent number: 10853174
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes generating a first access request for transmission via a network to a first one of a plurality of storage units in a dispersed storage network (DSN). A first access response is received via the network from the first one of the plurality of storage units that includes a first access time duration. Access duration data is updated to include the first access time duration received from the first one of the plurality of storage units. A subset of storage units is selected from the plurality of storage units based on comparing a plurality of access time durations corresponding to the plurality of storage units included in the access duration data to perform a second data access. At least one second access request is generated for transmission via the network to the subset of storage units.
    Type: Grant
    Filed: April 9, 2019
    Date of Patent: December 1, 2020
    Assignee: PURE STORAGE, INC.
    Inventor: Ravi V. Khadiwala
  • Patent number: 10855759
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes generating contention level data by evaluating an update contention level in response to determining to update an entry of a node of a dispersed hierarchical index. The update of the node is executed when the contention level data indicates that the update contention level is favorable. An index update request is generated for transmission to an index update unit via a network when the contention level data indicates that the update contention level is unfavorable.
    Type: Grant
    Filed: January 3, 2017
    Date of Patent: December 1, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Tyler K. Reid, Jason K. Resch, Daniel J. Scholl, Ilya Volvovski
  • Patent number: 10846025
    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. A computing device receives a data access request for an encoded data slice (EDS) associated with a data object. The computing device compares a slice name of the data access request with slice names stored within RAM. When the data access request slice name compares unfavorably with those stored slice names, the computing device transmits an empty data access response that includes no EDS to the other computing device without needing to access a hard disk drive (HDD) that stores EDSs. Alternatively, the computing device transmits a data access response that includes the EDS.
    Type: Grant
    Filed: October 24, 2018
    Date of Patent: November 24, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Bruno Hennig Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski
  • Patent number: 10831600
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes identifying a plurality of pending operations. A resource availability level to support execution of at least one of the plurality of pending operations is determined, and a required resource level to execute the at least one of the plurality of pending operations is determined. A balance factor between at least two types of the plurality of pending operations is determined based on the resource availability level and the required resource level. Determination of required timing of the execution of the at least one of the plurality of pending operations is coordinated with at least one other DST execution unit. An operation execution schedule is updated based on the required resource levels, the resource availability level, the balance factor, and the required timing of the execution.
    Type: Grant
    Filed: April 21, 2020
    Date of Patent: November 10, 2020
    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
  • Publication number: 20200326885
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes receiving an access request via a network. A set of possible storage units for performance of the access request are determined. A latency summarization value is determined for each of the set of possible storage units based on historical latency data for the set of possible storage units. A weight for each of the set of possible storage units is determined based on the latency summarization values to generate a plurality of weights. A probabilistic selection function is performed in accordance with the plurality of weights to select a proper subset of the set of possible storage units. A plurality of requests are generated based on the access request for transmission, via the network, to the proper subset of the set of possible storage units.
    Type: Application
    Filed: September 16, 2019
    Publication date: October 15, 2020
    Inventors: Ethan S. Wozniak, Ravi V. Khadiwala, John R. Carrell, Bohdan L. Bodnar, Alex Marchenko
  • Publication number: 20200326881
    Abstract: A method for execution by a dispersed storage and task (DST) processing unit includes receiving an access request via a network. A set of possible storage units for performance of the access request are determined. A latency summarization value is determined for each of the set of possible storage units based on historical latency data for the set of possible storage units. A weight for each of the set of possible storage units is determined based on the latency summarization values to generate a plurality of weights. A probabilistic selection function is performed in accordance with the plurality of weights to select a proper subset of the set of possible storage units. A plurality of requests are generated based on the access request for transmission, via the network, to the proper subset of the set of possible storage units.
    Type: Application
    Filed: April 15, 2019
    Publication date: October 15, 2020
    Inventors: Ethan S. Wozniak, Ravi V. Khadiwala, John R. Carrell, Bohdan L. Bodnar, Alex Marchenko