Patents by Inventor Adam M. Gray
Adam M. Gray 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).
-
Publication number: 20240427672Abstract: 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: ApplicationFiled: September 10, 2024Publication date: December 26, 2024Applicant: 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: 12132783Abstract: A method for execution by a computing device of a storage network begins by receiving a write request for a data object, determining a plurality of data regions for the data object, determining storage identification information for each data region of the plurality of data regions and generating a storage table for the data object that includes information sufficient to identify each data region of the plurality of data regions. For a first data region of the plurality of data regions the method continues by dividing the first data region into a plurality of data segments, and dispersed error encoding the plurality of data segments to produce a plurality of sets of encoded data slices.Type: GrantFiled: August 12, 2022Date of Patent: October 29, 2024Assignee: Pure Storage, Inc.Inventors: Wesley B. Leggette, Jason K. Resch, Yogesh R. Vedpathak, Sebastien Vas, Eric G. Smith, Adam M. Gray
-
Publication number: 20240338352Abstract: 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: ApplicationFiled: June 29, 2022Publication date: October 10, 2024Applicant: Pure Storage, Inc.Inventors: Greg R. Dhuse, Ilya Volvovski, Adam M. Gray, Andrew D. Baptist
-
Patent number: 12093143Abstract: A method for execution by a distributed storage network begins by receiving a request to transfer a copy of a set of encoded data slices from at least some associated virtual storage vaults to a destination virtual storage vault and continues by determining whether the destination storage unit supports a source virtual storage vault of the at least some source virtual storage vaults. When the destination storage unit supports the source virtual storage vault the method continues by determining a sub-set of encoded data slices of the set of encoded data slices for transfer and finally, by facilitating sending the sub-set of encoded data slices to the destination storage unit.Type: GrantFiled: March 10, 2023Date of Patent: September 17, 2024Assignee: 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: 20230214303Abstract: A method for execution by a distributed storage network begins by receiving a request to transfer a copy of a set of encoded data slices from at least some associated virtual storage vaults to a destination virtual storage vault and continues by determining whether the destination storage unit supports a source virtual storage vault of the at least some source virtual storage vaults. When the destination storage unit supports the source virtual storage vault the method continues by determining a sub-set of encoded data slices of the set of encoded data slices for transfer and finally, by facilitating sending the sub-set of encoded data slices to the destination storage unit.Type: ApplicationFiled: March 10, 2023Publication date: July 6, 2023Applicant: 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
-
Patent number: 11604707Abstract: A method for execution by a dispersed storage network (DSN). The method begins by obtaining a data object for synchronized storage within a plurality of storage vaults, identifying a plurality of storage vaults, encoding the data object for each storage vault, initiating storage of data slices for each storage vault and interpreting received data slice information from at least some of the storage vaults to determine a number of storage vaults that have successfully stored the corresponding plurality of sets of encoded data slices and when the vault threshold number of storage vaults have not successfully stored the corresponding plurality of sets of encoded data slices within a synchronization timeframe, initiating a rollback process to abandon storage of the data object in the plurality of storage vaults and a store data response to indicate unsuccessful synchronized storage of the data object in the plurality of storage vaults.Type: GrantFiled: December 4, 2017Date of Patent: March 14, 2023Assignee: 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: 20220394091Abstract: A method for execution by a computing device of a storage network begins by receiving a write request for a data object, determining a plurality of data regions for the data object, determining storage identification information for each data region of the plurality of data regions and generating a storage table for the data object that includes information sufficient to identify each data region of the plurality of data regions. For a first data region of the plurality of data regions the method continues by dividing the first data region into a plurality of data segments, and dispersed error encoding the plurality of data segments to produce a plurality of sets of encoded data slices.Type: ApplicationFiled: August 12, 2022Publication date: December 8, 2022Applicant: Pure Storage, Inc.Inventors: Wesley B. Leggette, Jason K. Resch, Yogesh R. Vedpathak, Sebastien Vas, Eric G. Smith, Adam M. Gray
-
Publication number: 20220327103Abstract: 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: ApplicationFiled: June 29, 2022Publication date: October 13, 2022Applicant: Pure Storage, Inc.Inventors: Greg R. Dhuse, Ilya Volvovski, Adam M. Gray, Andrew D. Baptist
-
Patent number: 11321172Abstract: A method includes identifying an existing logical storage vault having existing dispersed storage coding properties for vault transformation, where a first set of storage units support the existing logical storage vault, and a data object of first data objects stored within the first set of storage units is stored as a first plurality of sets of encoded data slices in accordance with the existing dispersed storage coding properties. The method includes identifying a new logical storage vault having new dispersed storage coding properties, wherein storage units support the new logical storage vault. The method includes transforming the first data objects from being in accordance with the existing dispersed storage coding properties to being in accordance with the new dispersed storage coding properties to produce transformed first data objects. The method includes storing the transformed first data objects in the new logical storage vault supported by the storage units.Type: GrantFiled: April 3, 2020Date of Patent: May 3, 2022Assignee: 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
-
Patent number: 11281532Abstract: 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: GrantFiled: August 8, 2019Date of Patent: March 22, 2022Assignee: 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: 20220066879Abstract: A method for execution by storage network begins by identifying a subset of encoded data slices stored in a set of storage units for enhanced access and interpreting registry data to determine a listing type. The method continues by generating listing slice names for the subset of encoded data slices based on the listing type and sending the listing slice names to the set of storage units, where each storage unit updating storage and/or listing of at least some of the subset of encoded data slices associated with the storage unit based on the listing type and each storage unit issuing slice access information to a requesting entity in response to one or more slice access requests in accordance with the listing type for some of the subset of encoded data slices and the requesting entity receiving slice access information from at least some of the set of storage units.Type: ApplicationFiled: November 9, 2021Publication date: March 3, 2022Inventors: 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
-
Patent number: 11204836Abstract: A method for execution by a distributed storage (DS) unit of a dispersed storage network (DSN), includes receiving a set of write slice requests that includes a set of slice names that are not utilized to store encoded data slices (EDSs), where each write slice request from the set of slice names that are not utilized to store encoded data slices includes a trap slice. The method continues with an access slice request that includes a requested slice name being received from a second DSN client, and then continues by determining whether the requested slice name corresponds to a trap slice stored by the DS unit. When the requested slice name corresponds to a trap slice, an action is determined for the access slice request based on an anomaly processing scheme.Type: GrantFiled: August 16, 2019Date of Patent: December 21, 2021Assignee: PURE STORAGE, INC.Inventors: Jason K. Resch, Adam M. Gray
-
Patent number: 11182082Abstract: 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: GrantFiled: January 9, 2019Date of Patent: November 23, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Franco V. Borich, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Mingyu Li, Manish Motwani, Jason K. Resch, Trevor J. Vossberg
-
Patent number: 11132257Abstract: A method of rebuilding data stored as encoded data slices in a dispersed storage network (DSN) includes obtaining, by a rebuilding module implemented in a processing device, an identity of a plurality slices-in-error to be rebuilt, wherein each individual slice-in-error is associated with index information specifying: a particular dispersed storage unit associated with the individual slice-in-error; and a number of slices-in-error associated with the particular dispersed storage unit. A first slice-in-error is selected for rebuilding based, at least in part, on the number of slices-in-error associated with a first dispersed storage unit associated with the first slice-in-error. Read slice requests at least a decode threshold number of data slices are issued to the first dispersed storage unit. At least a decode threshold number of slices are received at the rebuilding module, which rebuilds the first slice-in-error using the received slices.Type: GrantFiled: January 2, 2019Date of Patent: September 28, 2021Assignee: PURE STORAGE, INC.Inventors: Andrew D. Baptist, Greg R. Dhuse, Adam M. Gray, Wesley B. Leggette, Jason K. Resch, Ilya Volvovski
-
Patent number: 11115469Abstract: A method includes determining that a dispersed data source is to be updated. The method further includes determining whether the update to the dispersed data source can be delayed. When the update to the dispersed data source can be delayed, the method further includes determining whether another update is pending for the dispersed data source. When the other update is pending, the method further includes determining whether processing efficiency of aggregating the update and the other update equals or exceeds an update processing efficiency threshold. When the processing efficiency of aggregating the update and the other update equals or exceeds the update processing efficiency threshold, the method further includes performing an aggregate update to the dispersed data source for the update and the other update. When the update to the dispersed data source cannot be delayed, the method further includes processing the update to produce an updated dispersed data source.Type: GrantFiled: June 28, 2016Date of Patent: September 7, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Greg R. Dhuse, Adam M. Gray
-
Patent number: 10944843Abstract: 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: GrantFiled: November 5, 2018Date of Patent: March 9, 2021Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Adam M. Gray, Manish Motwani, Ravi V. Khadiwala, Jason K. Resch, Yogesh R. Vedpathak
-
Patent number: 10855759Abstract: 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: GrantFiled: January 3, 2017Date of Patent: December 1, 2020Assignee: 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: 10838814Abstract: A method for execution by a processing system in dispersed storage and task network (DSTN) that includes a processor, includes: identifying a slice name of a slice in error of a set of slices stored in a set of dispersed storage (DS) units; identifying a number of slice errors of the set of slices; generating a queue entry that includes the slice name of the slice in error, a rebuilding task indicator, an identity of the set of slices, and the number of slice errors; identifying a rebuilding queue based on the number of slice errors, wherein the rebuilding queue is associated with one of: the set of DS units or another set of DS units; and facilitating storing the queue entry in the identified rebuilding queue.Type: GrantFiled: January 10, 2019Date of Patent: November 17, 2020Assignee: PURE STORAGE, INC.Inventors: Andrew D. Baptist, Greg R. Dhuse, Adam M. Gray, Wesley B. Leggette, Jason K. Resch, Ilya Volvovski
-
Patent number: 10691541Abstract: A method is provided for execution by one or more processing modules of a dispersed storage network (DSN). The method begins by the DSN receiving a request to update one or more data segments of a data object and continues with the DSN determining whether one or more encoded data slices (EDSs) of a plurality of EDSs associated with the one or more data segments of the data object are eligible for partial updating. The DSN then executes a partial updating process for the eligible EDS while excluding any EDSs eligible for the partial updating that would be unaffected during the partial updating process.Type: GrantFiled: February 8, 2019Date of Patent: June 23, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Adam M. Gray, Wesley B. Leggette
-
Patent number: 10693640Abstract: Systems and Methods for encrypting and decrypting data in a dispersed storage network are disclosed. A data object may be encrypted using a data object specific encryption key, a container specific encryption key, a tenant account specific encryption key, or a time based encryption key. This specific, or more generally, secondary encryption key can be derived from a master or primary encryption key. Encryption key metadata pertaining to the master encryption key and the specific encryption key is also created and stored in the DSN. When reading an encrypted data object, the master encryption key can be retrieved and, along with the encryption key metadata, used to derive the specific encryption key. The specific encryption key can then be used to decrypt the encrypted data object to recover the data object.Type: GrantFiled: March 17, 2017Date of Patent: June 23, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Adam M. Gray, Harsha Hegde, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Daniel J. Scholl, Mark D. Seaborn, Rohan P. Shah, Yogesh R. Vedpathak