Patents by Inventor Scott M. Horan

Scott M. Horan 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: 20240028455
    Abstract: A storage network operates by: receiving a encoded data slice for storage by the storage network, wherein the encoded data slice is associated with a vault; generating a encryption key corresponding to the encoded data slice based on a vault identifier associated with the vault; utilizing the encryption key to generate a encrypted data slice and that corresponds to, and is based on, the encoded data slice; storing the encrypted data slice in a storage unit of the storage network; receiving a request to retrieve the encoded data slice; retrieving the encrypted data slice corresponding to the encoded data slice from the storage unit of the storage network; generating a decryption key corresponding to the encoded data slice based on the vault identifier, wherein the decryption key is different from the encryption key; and regenerating the encoded data slice using the decryption key.
    Type: Application
    Filed: October 2, 2023
    Publication date: January 25, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Scott M. Horan, Wesley B. Leggette, Jason K. Resch
  • Patent number: 11782789
    Abstract: A storage network operates by: generating metadata for a data object; first disperse storage error encoding the metadata to produce a set of metadata slices, wherein the first disperse storage error encoding utilizes first dispersal parameters, the first dispersal parameters including a first decode threshold of 1; generating sets of first data slices via a second disperse storage error encoding of data segments associated with the data object, wherein the second disperse storage error encoding utilizes second dispersal parameters, the second dispersal parameters different from the first dispersal parameters and the second dispersal parameters including a second decode threshold greater than 1; producing an additional data segment associated with the data object wherein the additional data segment is different from the data segments and the metadata; and third disperse storage error encoding the additional data segment to produce a set of second data slices, wherein the third disperse storage error encoding u
    Type: Grant
    Filed: September 28, 2021
    Date of Patent: October 10, 2023
    Assignee: Pure Storage, Inc.
    Inventors: Scott M. Horan, Wesley B. Leggette, Jason K. Resch
  • Publication number: 20230306041
    Abstract: Methods and apparatus for asynchronous replication of data in a storage network. In an embodiment, a method begins by a processing module(s) of a computing device identifying at least a first storage set and a second storage set for replicated storage of data. The processing module maintains a synchronization schedule for the first storage set and the second storage set. After initiating storage of a data object in the first storage set, the processing module determines, based at least in part on the synchronization schedule, to synchronize the first storage set and the second storage set. In response to determining to synchronize the first and second storage sets, the processing module determines that the second storage set requires the data object to maintain synchronization with the first storage set, and facilitates storage of the data object in the second storage set.
    Type: Application
    Filed: May 25, 2023
    Publication date: September 28, 2023
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Publication number: 20230214303
    Abstract: 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: Application
    Filed: March 10, 2023
    Publication date: July 6, 2023
    Applicant: 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: 11669546
    Abstract: method and apparatus for synchronizing replicated data in a storage network. In an embodiment, a method begins by a processing module of a computing device identifying a first storage set and a second storage set for replicated storage of a data object. The processing module initiates storage of the data object in both the first and second storage sets, and further maintains a synchronization status for the data object. The processing module determines, based at least in part on the synchronization status, to resynchronize the first storage set and the second storage set. In response to determining to resynchronize the first storage set and the second storage set, the processing module identifies a latest available revision of the data object, determines that the second storage set requires the latest available revision of the data object to maintain synchronization, and facilitates storage of the identified latest available revision of the data object in the second storage set.
    Type: Grant
    Filed: April 27, 2022
    Date of Patent: June 6, 2023
    Assignee: Pure Storage, Inc.
    Inventors: Jason K. Resch, Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Patent number: 11604587
    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 receives, from another computing device, a vault provisioning request and processes the vault provisioning request to determine whether the other computing device is authorized to request provisioning of another vault within the DSN. When the other computing device is authorized, the computing device generates a vault within the DSN in response to the vault provisioning request from the other computing device and updates access control information within the DSN to include an initial access control for the vault and an identifier of the other computing device.
    Type: Grant
    Filed: October 23, 2019
    Date of Patent: March 14, 2023
    Assignee: PURE STORAGE, INC.
    Inventors: Bart R. Cilfone, Scott M. Horan, Wesley B. Leggette, Adam D. Eggum, Jason K. Resch
  • Patent number: 11604707
    Abstract: 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: Grant
    Filed: December 4, 2017
    Date of Patent: March 14, 2023
    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: 20220253355
    Abstract: method and apparatus for synchronizing replicated data in a storage network. In an embodiment, a method begins by a processing module of a computing device identifying a first storage set and a second storage set for replicated storage of a data object. The processing module initiates storage of the data object in both the first and second storage sets, and further maintains a synchronization status for the data object. The processing module determines, based at least in part on the synchronization status, to resynchronize the first storage set and the second storage set. In response to determining to resynchronize the first storage set and the second storage set, the processing module identifies a latest available revision of the data object, determines that the second storage set requires the latest available revision of the data object to maintain synchronization, and facilitates storage of the identified latest available revision of the data object in the second storage set.
    Type: Application
    Filed: April 27, 2022
    Publication date: August 11, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Patent number: 11321172
    Abstract: 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: Grant
    Filed: April 3, 2020
    Date of Patent: May 3, 2022
    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
  • Patent number: 11281532
    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: August 8, 2019
    Date of Patent: March 22, 2022
    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: 20220066879
    Abstract: 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: Application
    Filed: November 9, 2021
    Publication date: March 3, 2022
    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: 20220012123
    Abstract: A storage network operates by: generating metadata for a data object; first disperse storage error encoding the metadata to produce a set of metadata slices, wherein the first disperse storage error encoding utilizes first dispersal parameters, the first dispersal parameters including a first decode threshold of 1; generating sets of first data slices via a second disperse storage error encoding of data segments associated with the data object, wherein the second disperse storage error encoding utilizes second dispersal parameters, the second dispersal parameters different from the first dispersal parameters and the second dispersal parameters including a second decode threshold greater than 1; producing an additional data segment associated with the data object wherein the additional data segment is different from the data segments and the metadata; and third disperse storage error encoding the additional data segment to produce a set of second data slices, wherein the third disperse storage error encoding u
    Type: Application
    Filed: September 28, 2021
    Publication date: January 13, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Scott M. Horan, Wesley B. Leggette, 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: 10901650
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by identifying, for data stored within a DSN memory, one or more encryption keys used to encrypt data stored within the DSN memory. The method continues by identifying, for data stored within a portion of the DSN memory requiring sanitization, a master key of the one or more encryption keys that encrypts all of the data stored within the portion to be sanitized. The method continues by determining, if the master key is not used to encrypt data stored outside of the portion to be sanitized. The method continues, if the master key is not used to encrypt data stored outside of the portion to be sanitized, by sanitizing the data stored within a portion of the DSN memory by erasing the master key.
    Type: Grant
    Filed: June 25, 2019
    Date of Patent: January 26, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Alan M. Frazier, Scott M. Horan, Shibhani Rai, Jason K. Resch, Mark D. Seaborn
  • 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: 10735545
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit that includes a processor includes receiving a vault access request indicating a first one of a plurality of vaults. Processing unit options data that indicates a set of DST processing units is generated based on an access cache that includes a plurality of access entries, where each DST processing unit in the set of DST processing units is indicated in a first one of the plurality of access entries, and where the first one of the plurality of access entries further indicates the first one of the plurality of vaults. A DST processing unit is selected from the set of DST processing units to execute the vault access request based on the processing unit options data. An instruction that includes the vault access request is generated for transmission to the first DST processing unit.
    Type: Grant
    Filed: June 6, 2016
    Date of Patent: August 4, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Scott M. Horan, Wesley B. Leggette, Jason K. Resch
  • Patent number: 10656866
    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 selects storage parameters for a multi-vault synchronization process from a first storage vault to a second storage vault. The computing device synchronizes storage of the set(s) of ingestion encoded data slices (EDSs) between the vaults and maintains storage of a portion of an ingestion data stream within the second storage vault. The computing device facilitates deletion of the set(s) of ingestion EDSs corresponding to the portion of an ingestion data stream from the first storage vault. the computing device performs additional multi-vault synchronization process(es) for any other portion(s) of the ingestion data stream.
    Type: Grant
    Filed: December 15, 2017
    Date of Patent: May 19, 2020
    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, Kumar Abhijeet, Praveen Viraraghavan
  • Patent number: 10642687
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN). The method begins by determining to recover a data object from one or more storage vaults of a plurality of storage vaults where the data object has been synchronously stored amongst the plurality of storage vaults. The method continues, for each storage vault, by determining a slice retrieval performance level and selecting two or more storage vaults of the plurality of storage vaults for retrieval based on the slice retrieval performance levels. The method continues by identifying a plurality of data segments for retrieval where the data object was divided into the plurality of data objects and assigning a storage vault for retrieval to produce assignment information and facilitating recovery of each data segment of the plurality of data segments from the selected two or more storage vaults.
    Type: Grant
    Filed: December 4, 2017
    Date of Patent: May 5, 2020
    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, Jason K. Resch
  • Patent number: 10628399
    Abstract: A method includes, for a write operation regarding a set of encoded data slices, determining, by a computing device, whether the write operation is a first instance of writing the set. The method further includes, when the write operation is a first instance, sending, by the computing device, a set of write requests to the storage units, wherein the write requests includes the set of encoded data slices, slice names, and an indication of the first instance. The method further includes, in response to a write request of the set of write requests, determining, by a storage unit, whether a previous version of an encoded data slice is currently stored. The method further includes, when the previous version is currently stored sending, by the storage unit, a conflict message to the computing device. The method further includes updating, by the computing device, the write requests based on the conflict message.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: April 21, 2020
    Assignee: International Business Machines Corporation
    Inventors: Andrew D. Baptist, Adam M. Gray, Scott M. Horan, Wesley B. Leggette, Jason K. Resch, Ilya Volvovski, Ethan S. Wozniak
  • Patent number: 10623495
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN). The method begins by receiving a portion of a data stream from a requesting entity for storage in a plurality of storage vaults. The method continues by encoding the portion of the data stream in accordance with dispersal parameters of the storage vault to produce a corresponding plurality of sets of encoded data slices. The method continues by facilitating storage of the corresponding plurality of sets of encoded data slices in the storage vault. The method continues by determining an ingestion rate capability level for the plurality of storage vaults and issuing stream pacing information to the requesting entity based on the ingestion rate capability level.
    Type: Grant
    Filed: December 4, 2017
    Date of Patent: April 14, 2020
    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