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).

  • Patent number: 10621042
    Abstract: A method includes maintaining, by a storage unit, a plurality of source name based addressing maps regarding encoding data slice storage by a plurality of storage units. The method further includes receiving, by the storage unit, an access request for an encoded data slice having a source name corresponding to a DSN address. The method further includes accessing, by the storage unit, the source name based address maps to determine whether the encoded data slice is effected by the DAP redistribution operation. The method further includes, when the encoded data slice is effected by the DAP redistribution operation, determining, by the storage unit, to execute the access request, proxy the access request, or deny the access request. The method further includes, when the determination is to execute the access request, executing, by the storage unit, the access request for the encoded data slice.
    Type: Grant
    Filed: December 15, 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
  • Patent number: 10599519
    Abstract: A method includes determining, by a computing device, to change a node of a hierarchical index structure. The method further includes determining, by the computing device, whether one or more other computing devices are attempting to change the node. The method further includes, when yes, determining, by the computing device and/or the other computing device(s), to use a delegate device to process multiple change requests to the node. The method further includes, when determined to use the delegate device, sending, by the computing device, a message to the delegate device requesting the delegate device to process the change to the node. The method further includes coordinating, by the delegate device, requested changes to the node by the computing device and the other computing device(s). The method further includes updating, by the delegate device, the node in accordance with the coordinating of the requested changes.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: March 24, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Tyler K. Reid, Daniel J. Scholl, Ilya Volvovski
  • Patent number: 10565392
    Abstract: A method begins by storage units of a dispersed storage network (DSN) receiving data access requests regarding data that is dispersed storage error encoded to produce a set of encoded data slices. The method continues by some of the storage units determining whether at least some of the data access requests are verifiable update requests. When some of the data access requests are the verifiable update requests, the method continues by determining whether the data access requests are addressing data stored, or to be stored, within a verifiable update region affiliated within the some of the storage units. When within the verifiable update region, the method continues by generating and transmitting request verification information to other storage units of the some of the storage units. The method continues by executing the data access requests when a desired level of consistency of the request verification information is determined.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: February 18, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jason K. Resch, Ravi V. Khadiwala, Brian F. Ober, Greg R. Dhuse, Andrew D. Baptist, Scott M. Horan, Wesley B. Leggette
  • Patent number: 10489071
    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: July 6, 2017
    Date of Patent: November 26, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Bart R. Cilfone, Scott M. Horan, Wesley B. Leggette, Adam D. Eggum, Jason K. Resch
  • Patent number: 10489247
    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 data object for storage in a plurality of storage vaults. The method continues by encoding the data object in accordance with dispersal parameters of the storage vault to produce a corresponding plurality of sets of encoded data slices. The method continues by generating a unique revision number to associate with the data object. The method continues by facilitating storage of the corresponding plurality of sets of encoded data slices with the unique revision number and facilitating data synchronization between the plurality of storage vaults based on the unique revision numbers of stored data.
    Type: Grant
    Filed: December 4, 2017
    Date of Patent: November 26, 2019
    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: 10467095
    Abstract: A method includes identifying, by a computing device of a dispersed storage network (DSN), a delegate device of a plurality of delegate devices of the DSN for processing a change to a node of a plurality of nodes of a hierarchical index structure. The method further includes sending, by the computing device, a change type specific request to the delegate device regarding the change to the node. The method further includes determining, by the delegate device, whether the delegate device is responsible for executing the change type specific request. When the delegate device is responsible for executing the change type specific request, the method further includes sending, by the delegate device, a response message to the computing device indicating that the delegate device is responsible for executing the change type specific request. The method further includes executing, by the delegate device, the change type specific request.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: November 5, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Tyler K. Reid, Daniel J. Scholl, Ilya Volvovski
  • Publication number: 20190317689
    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: Application
    Filed: June 25, 2019
    Publication date: October 17, 2019
    Inventors: Alan M. Frazier, Scott M. Horan, Shibhani Rai, Jason K. Resch, Mark D. Seaborn
  • Patent number: 10437671
    Abstract: A method begins by a processing module initiating storage of a data object in two or more storage sets. The method continues with the processing module updating synchronization status for the two or more storage sets when detecting failure to store at least a minimum number of encoded data slices to enable recovery from one of the storage sets. The method continues with the processing module determining to resynchronize the two or more storage sets. The method continues with the processing module identifying a data object requiring resynchronization. The method continues with the processing module identifying a latest available revision associated with the data object and facilitating storage of the identified latest available revision of the data object in at least one storage set requiring the latest revision to satisfy the resynchronization.
    Type: Grant
    Filed: May 25, 2016
    Date of Patent: October 8, 2019
    Assignee: PURE STORAGE, INC.
    Inventors: Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Patent number: 10423359
    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 data access requests with regards to a data object. The method continues by identifying a vault set based on the data access request, where a plurality of storage vaults includes the vault set. The method continues by obtaining configuration information associated with the vault set and determining whether to process the data access request based on the obtained configuration information associated with the vault set.
    Type: Grant
    Filed: December 11, 2017
    Date of Patent: September 24, 2019
    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: 10387080
    Abstract: A method for use in a dispersed storage network operates to select a recovery of selected ones of one or more first sets of encoded data slices in response to detecting a storage error associated with the selected ones of the one or more first sets of encoded data slices; issue requests for a second decode threshold number of encoded data slices of selected ones of one or more second sets of encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; decode the second decode threshold number of encoded data slices to produce recovered data in response to receiving the second decode threshold number of encoded data slices; encode the recovered data utilizing first IDA parameters associated with the first IDA to produce one or more rebuilt encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; and facilitate storage of the one or more rebuilt encoded data slices.
    Type: Grant
    Filed: October 25, 2018
    Date of Patent: August 20, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Scott M. Horan, Ravi V. Khadiwala, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Praveen Viraraghavan, Ilya Volvovski, Trevor J. Vossberg, Ethan S. Wozniak
  • Patent number: 10387252
    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: July 27, 2017
    Date of Patent: August 20, 2019
    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: 10379778
    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: August 18, 2016
    Date of Patent: August 13, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Alan M. Frazier, Scott M. Horan, Shibhani Rai, Jason K. Resch, Mark D. Seaborn
  • Publication number: 20190171519
    Abstract: A dispersed storage (DS) processing unit includes a processing module generating metadata for a data object. The DS processing unit further includes a partitioner to partition the data object to produce a plurality of data segments. The DS processing unit further includes a first dispersed storage error encoder encoding the metadata and at least a first data segment using first dispersal parameters to produce a set of encoded metadata slices with a set of first data segment encoded data slices. The DS processing unit further includes a second dispersed storage error encoding a plurality of additional data segments, not including the first data segment, using second dispersal parameters to produce a plurality of additional sets of encoded data slices. The DS processing unit further includes a grouping selector facilitating storage of the set of metadata slices, the first set of encoded data slices and the plurality of additional sets of encoded data slices in a storage set.
    Type: Application
    Filed: February 12, 2019
    Publication date: June 6, 2019
    Inventors: Scott M. Horan, Wesley B. Leggette
  • Publication number: 20190163924
    Abstract: A method begins by storage units of a dispersed storage network (DSN) receiving data access requests regarding data that is dispersed storage error encoded to produce a set of encoded data slices. The method continues by some of the storage units determining whether at least some of the data access requests are verifiable update requests. When some of the data access requests are the verifiable update requests, the method continues by determining whether the data access requests are addressing data stored, or to be stored, within a verifiable update region affiliated within the some of the storage units. When within the verifiable update region, the method continues by generating and transmitting request verification information to other storage units of the some of the storage units. The method continues by executing the data access requests when a desired level of consistency of the request verification information is determined.
    Type: Application
    Filed: November 28, 2017
    Publication date: May 30, 2019
    Inventors: Jason K. Resch, Ravi V. Khadiwala, Brian F. Ober, Greg R. Dhuse, Andrew D. Baptist, Scott M. Horan, Wesley B. Leggette
  • Publication number: 20190146690
    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: Application
    Filed: January 9, 2019
    Publication date: May 16, 2019
    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: 10255003
    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 a data access request for a data object and determines a first revision number of a corresponding set of EDSs stored among first SU(s) and a second revision number of a corresponding trimmed copy of the set of EDSs stored among second SU(s). When the second revision number compares favorably to the first revision number, the computing device issues the data access request to the first SU(s) and/or the second SU(s) and issues the data access request for the data object to only the first SU(s) when it doesn't.
    Type: Grant
    Filed: May 10, 2018
    Date of Patent: April 9, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Scott M. Horan, Ravi V. Khadiwala, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Praveen Viraraghavan, Ilya Volvovski, Trevor J. Vossberg, Ethan S. Wozniak
  • Patent number: 10248361
    Abstract: A method for use in a dispersed storage network operates to select a recovery of selected ones of one or more first sets of encoded data slices in response to detecting a storage error associated with the selected ones of the one or more first sets of encoded data slices; issue requests for a second decode threshold number of encoded data slices of selected ones of one or more second sets of encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; decode the second decode threshold number of encoded data slices to produce recovered data in response to receiving the second decode threshold number of encoded data slices; encode the recovered data utilizing first IDA parameters associated with the first IDA to produce one or more rebuilt encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; and facilitate storage of the one or more rebuilt encoded data slices.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: April 2, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Scott M. Horan, Ravi V. Khadiwala, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Praveen Viraraghavan, Ilya Volvovski, Trevor J. Vossberg, Ethan S. Wozniak
  • Patent number: 10248506
    Abstract: A method begins by a processing module generating metadata for a data object. The method continues by a first disperse storage error encoding the metadata to produce a set of metadata slices. The method continues by partitioning the data to produce a plurality of data segments. The method continues by a second disperse storage error encoding the plurality of data segments to produce a plurality of sets of encoded data slices. The method continues by applying a distributed agreement protocol function to a data object identifier for the data object to produce ranked scoring information with regards to a plurality of storage sets. The method continues by selecting a storage set of the plurality of storage sets based on the ranked scoring information. The method continues by facilitating storage of the set of metadata slices and the plurality of sets of encoded data slices in the selected storage set.
    Type: Grant
    Filed: July 26, 2016
    Date of Patent: April 2, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Scott M. Horan, Wesley B. Leggette
  • Publication number: 20190065070
    Abstract: A method for use in a dispersed storage network operates to select a recovery of selected ones of one or more first sets of encoded data slices in response to detecting a storage error associated with the selected ones of the one or more first sets of encoded data slices; issue requests for a second decode threshold number of encoded data slices of selected ones of one or more second sets of encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; decode the second decode threshold number of encoded data slices to produce recovered data in response to receiving the second decode threshold number of encoded data slices; encode the recovered data utilizing first IDA parameters associated with the first IDA to produce one or more rebuilt encoded data slices corresponding to the selected ones of the one or more first sets of encoded data slices; and facilitate storage of the one or more rebuilt encoded data slices.
    Type: Application
    Filed: October 25, 2018
    Publication date: February 28, 2019
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Scott M. Horan, Ravi V. Khadiwala, Wesley B. Leggette, Manish Motwani, Jason K. Resch, Praveen Viraraghavan, Ilya Volvovski, Trevor J. Vossberg, Ethan S. Wozniak
  • Patent number: 10216436
    Abstract: A method includes receiving a data access request for a set of encoded data slices. The data access request identifies a new vault in the dispersed storage network (DSN), where the new vault is a logical storage container supported by storage units of the DSN, and where the new vault is defined by vault parameters that include new vault identifier, new vault storage capabilities, access privileges, and authorized users. The method further includes sending an inquiry to the storage units regarding status of the new vault. When a threshold number of storage units provide a status response of active, a 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 4, 2017
    Date of Patent: February 26, 2019
    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