Patents by Inventor Ahmad Alnafoosi

Ahmad Alnafoosi 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: 11960361
    Abstract: A method for execution by a storage network includes receiving a request pertaining to a data object. Metadata associated with the data object is determined and used to identify data segments associated with the data object and a set of storage units associated with the data segments. Based on a set of query requests, a response is received from a storage unit from the set of storage units. When the response indicates a storage environment that is unfavorable as compared to predetermined performance metrics, the storage network facilitates migration of encoded data slices associated with the storage unit to another storage unit.
    Type: Grant
    Filed: October 21, 2022
    Date of Patent: April 16, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 11892908
    Abstract: A method includes obtaining, by a computing device of a storage network, provenance information for data associated with a set of storage units of the storage network, where the data is error encoded into a set of encoded data slices, in accordance with error encoding parameters, for storage in the set of storage units. The method further includes determining, by the computing device, probable error locations associated with the set of storage units based on the provenance information. The method further includes scanning, by the computing device, the probable error locations to determine whether an error exists for the set of encoded data slices.
    Type: Grant
    Filed: October 29, 2021
    Date of Patent: February 6, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Jason K. Resch
  • Publication number: 20230054773
    Abstract: A method for execution by a storage network includes receiving a request pertaining to a data object. Metadata associated with the data object is determined and used to identify data segments associated with the data object and a set of storage units associated with the data segments. Based on a set of query requests, a response is received from a storage unit from the set of storage units. When the response indicates a storage environment that is unfavorable as compared to predetermined performance metrics, the storage network facilitates migration of encoded data slices associated with the storage unit to another storage unit.
    Type: Application
    Filed: October 21, 2022
    Publication date: February 23, 2023
    Applicant: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 11507459
    Abstract: A method for execution in a storage network begins by generating a set of query requests for each data segment of a plurality of data segments that includes a corresponding set of slice identifiers of a plurality of sets of slice identifiers, where each slice identifier of the corresponding set of slice identifiers includes a pillar index based on a vault affiliated with the plurality of data segments. The method continues by transmitting the set of query requests to a set of storage units affiliated with the storage network, receiving a plurality of sets of query responses from the storage units, obtaining a data identifier for slice location identification and generating a storage record that includes the data identifier and an identity of the set of storage units. The method then continues by facilitating migration of at least some encoded data slices associated with the plurality of sets of slice identifiers when the storage record compares unfavorably to a storage record requirement.
    Type: Grant
    Filed: August 23, 2021
    Date of Patent: November 22, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Publication number: 20220050750
    Abstract: A method includes obtaining, by a computing device of a storage network, provenance information for data associated with a set of storage units of the storage network, where the data is error encoded into a set of encoded data slices, in accordance with error encoding parameters, for storage in the set of storage units. The method further includes determining, by the computing device, probable error locations associated with the set of storage units based on the provenance information. The method further includes scanning, by the computing device, the probable error locations to determine whether an error exists for the set of encoded data slices.
    Type: Application
    Filed: October 29, 2021
    Publication date: February 17, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Jason K. Resch
  • Publication number: 20210382628
    Abstract: A method for execution in a storage network begins by generating a set of query requests for each data segment of a plurality of data segments that includes a corresponding set of slice identifiers of a plurality of sets of slice identifiers, where each slice identifier of the corresponding set of slice identifiers includes a pillar index based on a vault affiliated with the plurality of data segments. The method continues by transmitting the set of query requests to a set of storage units affiliated with the storage network, receiving a plurality of sets of query responses from the storage units, obtaining a data identifier for slice location identification and generating a storage record that includes the data identifier and an identity of the set of storage units. The method then continues by facilitating migration of at least some encoded data slices associated with the plurality of sets of slice identifiers when the storage record compares unfavorably to a storage record requirement.
    Type: Application
    Filed: August 23, 2021
    Publication date: December 9, 2021
    Applicant: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 11113009
    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 generates a prioritized request that includes at least one of a task for execution or a priority level based on information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN. Note that the information corresponds to a data object that is related to a set of encoded data slices (EDSs) that are distributedly stored within the DSN. The computing device then transmits the prioritized request to the SU and receives, from the SU, a response to the prioritized request.
    Type: Grant
    Filed: October 23, 2020
    Date of Patent: September 7, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 10831544
    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 generates a prioritized request that includes at least one of a task for execution or a priority level based on information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN. Note that the information corresponds to a data object that is related to a set of encoded data slices (EDSs) that are distributedly stored within the DSN. The computing device then transmits the prioritized request to the SU and receives, from the SU, a response to the prioritized request.
    Type: Grant
    Filed: November 25, 2019
    Date of Patent: November 10, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 10606700
    Abstract: A method includes dispersed storage error encoding, by a computing device, a data segment of a data file to produce a set of encoded data slices. The method further includes determining, by the computing device, a storage & error encoding scheme for storing the set of encoded data slices. The method further includes sending, by the computing device, the set of encoded data slices to the set of storage units. The method further includes receiving, by a first storage unit, one or more encoded data slices. The method further includes processing, by the first storage unit, the one or more encoded data slices in accordance with a first version of the storage & erroring encoding scheme to produce a first set of encoded data sub-slices. The method further includes storing, by the first storage unit, the first set of encoded data sub-slices in a set of memory devices.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: March 31, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Ahmad Alnafoosi, Jason K. Resch
  • Patent number: 10521300
    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 generates a prioritized request that includes at least one of a task for execution or a priority level based on information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN. Note that the information corresponds to a data object that is related to a set of encoded data slices (EDSs) that are distributedly stored within the DSN. The computing device then transmits the prioritized request to the SU and receives, from the SU, a response to the prioritized request.
    Type: Grant
    Filed: September 27, 2018
    Date of Patent: December 31, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 10331519
    Abstract: Methods for use in a dispersed storage network (DSN) to encode data using threshold based secret sharing schemes. In one embodiment, a computing device uses a first threshold based secret sharing scheme in accordance with first secret sharing parameters to encode a data segment of a data file to produce a set of encoded data shares. The computing device then sends the set of encoded data shares to a set of storage units, including sending an encoded data share to a first storage unit of the set of storage units. Upon receiving the encoded data share, the first storage unit encodes the encoded data share using a second threshold based secret sharing scheme in accordance with second secret sharing parameters to produce a set of encoded data sub-shares. The first storage unit then stores the set of encoded data sub-shares in a set of memory devices of the storage unit.
    Type: Grant
    Filed: November 6, 2017
    Date of Patent: June 25, 2019
    Assignee: International Business Machines Corporation
    Inventors: Jason K. Resch, Ahmad Alnafoosi
  • Publication number: 20190034267
    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 generates a prioritized request that includes at least one of a task for execution or a priority level based on information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN. Note that the information corresponds to a data object that is related to a set of encoded data slices (EDSs) that are distributedly stored within the DSN. The computing device then transmits the prioritized request to the SU and receives, from the SU, a response to the prioritized request.
    Type: Application
    Filed: September 27, 2018
    Publication date: January 31, 2019
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 10133635
    Abstract: A method includes storing a first set of data slices in a standard-width vault using a first group of DS units of a distributed storage network (DSN). The first set of data slices corresponds to a first representation of a data object, and includes a first write-threshold number of data slices encoded using a first set of dispersal parameters specifying first write and read widths associated with the standard-width vault. A second set of data slices, corresponding to a second representation of the data object, is stored in a low-width vault using a second group of DS units. The second set of data slices includes at least a second write-threshold number of data slices encoded using a second set of dispersal parameters specifying second write and read widths associated with the low-width vault. The low-width vault has a lower width read and/or write width than the standard-width vault.
    Type: Grant
    Filed: November 20, 2017
    Date of Patent: November 20, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Wesley B. Leggette, Jason K. Resch
  • Patent number: 10127111
    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 generates a prioritized request that includes at least one of a task for execution or a priority level based on information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN. Note that the information corresponds to a data object that is related to a set of encoded data slices (EDSs) that are distributedly stored within the DSN. The computing device then transmits the prioritized request to the SU and receives, from the SU, a response to the prioritized request.
    Type: Grant
    Filed: September 28, 2017
    Date of Patent: November 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 10042705
    Abstract: A method includes receiving a random order of encoded data slices, and de-randomizing the random order of encoded data slices to produce a plurality of sets of a transmit number of encoded data slices. The method further includes dividing the plurality of sets of transmit number of encoded data slices into collections of sets of the transmit number of encoded data slices. For a collection of sets of transmit number of encoded data slices of the collections of sets of the transmit number of encoded data slices, the method further includes concurrently decoding the sets of the transmit number of encoded data slices of the collection of sets of transmit number of encoded data slices to produce a collection of data segments and combining the collection of data segments into the one or more data partitions. The method further includes combining the plurality of data partitions into the data object.
    Type: Grant
    Filed: November 9, 2016
    Date of Patent: August 7, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ahmad Alnafoosi, Jason K. Resch
  • Publication number: 20180074889
    Abstract: Methods for use in a dispersed storage network (DSN) to encode data using threshold based secret sharing schemes. In one embodiment, a computing device uses a first threshold based secret sharing scheme in accordance with first secret sharing parameters to encode a data segment of a data file to produce a set of encoded data shares. The computing device then sends the set of encoded data shares to a set of storage units, including sending an encoded data share to a first storage unit of the set of storage units. Upon receiving the encoded data share, the first storage unit encodes the encoded data share using a second threshold based secret sharing scheme in accordance with second secret sharing parameters to produce a set of encoded data sub-shares. The first storage unit then stores the set of encoded data sub-shares in a set of memory devices of the storage unit.
    Type: Application
    Filed: November 6, 2017
    Publication date: March 15, 2018
    Inventors: Jason K. Resch, Ahmad Alnafoosi
  • Publication number: 20180074904
    Abstract: A method includes storing a first set of data slices in a standard-width vault using a first group of DS units of a distributed storage network (DSN). The first set of data slices corresponds to a first representation of a data object, and includes a first write-threshold number of data slices encoded using a first set of dispersal parameters specifying first write and read widths associated with the standard-width vault. A second set of data slices, corresponding to a second representation of the data object, is stored in a low-width vault using a second group of DS units. The second set of data slices includes at least a second write-threshold number of data slices encoded using a second set of dispersal parameters specifying second write and read widths associated with the low-width vault. The low-width vault has a lower width read and/or write width than the standard-width vault.
    Type: Application
    Filed: November 20, 2017
    Publication date: March 15, 2018
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Wesley B. Leggette, Jason K. Resch
  • Publication number: 20180074890
    Abstract: A method includes dispersed storage error encoding, by a computing device, a data segment of a data file to produce a set of encoded data slices. The method further includes determining, by the computing device, a storage & error encoding scheme for storing the set of encoded data slices. The method further includes sending, by the computing device, the set of encoded data slices to the set of storage units. The method further includes receiving, by a first storage unit, one or more encoded data slices. The method further includes processing, by the first storage unit, the one or more encoded data slices in accordance with a first version of the storage & erroring encoding scheme to produce a first set of encoded data sub-slices. The method further includes storing, by the first storage unit, the first set of encoded data sub-slices in a set of memory devices.
    Type: Application
    Filed: November 6, 2017
    Publication date: March 15, 2018
    Inventors: Ahmad Alnafoosi, Jason K. Resch
  • Publication number: 20180018220
    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 generates a prioritized request that includes at least one of a task for execution or a priority level based on information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN. Note that the information corresponds to a data object that is related to a set of encoded data slices (EDSs) that are distributedly stored within the DSN. The computing device then transmits the prioritized request to the SU and receives, from the SU, a response to the prioritized request.
    Type: Application
    Filed: September 28, 2017
    Publication date: January 18, 2018
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Patent number: 9813501
    Abstract: A method begins by a dispersed storage (DS) processing module obtaining a plurality of data access requests and a request to execute a distributed computing function that includes a plurality of partial tasks. The method continues with the DS processing module allocating execution of the plurality of partial tasks to a set of distributed storage and task execution (DSTE) units in accordance with a desired executing efficiency and allocating processing of the plurality of data access requests in accordance with a desired data access efficiency. The method continues with the DS processing module establishing the desired executing efficiency and the desired data access efficiency to obtain a desired utilization of the set of DSTE units.
    Type: Grant
    Filed: February 8, 2017
    Date of Patent: November 7, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Ahmad Alnafoosi