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: 20190050290
    Abstract: A method includes identifying a fallback delegate device of a plurality of delegate devices for changing one or more nodes of a plurality of nodes of a hierarchical index structure, where a primary delegate device of the plurality of delegate devices is responsible for changing the one or more nodes and where each delegate device of a plurality of delegate devices is assigned an individual global namespace address that is partially based on a location within the DSN. The method further includes determining to process a change to a node of the one or more nodes using the fallback delegate device.
    Type: Application
    Filed: October 15, 2018
    Publication date: February 14, 2019
    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: 10176044
    Abstract: A method includes determining that a primary delegate device is unavailable. The method continues by identifying a fallback delegate device for changing a node of a hierarchical index structure using a deterministic function. The deterministic function includes performing a first modification of global namespace address of the unavailable primary delegate device to produce a first modified address identifier. The deterministic function further includes determining whether another delegate device of the plurality of delegate devices has a global namespace address corresponding to the first modified address identifier. When the global namespace address of other delegate device corresponds to the first modified address identifier, the method further includes processing a change to a node of the one or more nodes via the other delegate device as the fallback delegate device.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: January 8, 2019
    Assignee: International Business Machines Corporation
    Inventors: Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Tyler K. Reid, Jason K. Resch, Daniel J. Scholl, Ilya Volvovski
  • Publication number: 20180260130
    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: Application
    Filed: May 10, 2018
    Publication date: September 13, 2018
    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: 10048897
    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: November 29, 2016
    Date of Patent: August 14, 2018
    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: 10031700
    Abstract: A method for use in a dispersed storage network operates to determine first information dispersal algorithm (IDA) parameters; determine second IDA parameters; divide data for storage to produce a plurality of first segments in accordance with the first IDA parameters and a plurality of second segments in accordance with the second IDA parameters; dispersed storage error encode the plurality of first segments utilizing the first IDA parameters to produce sets of first encoded data slices; dispersed storage error encode the plurality of second segments utilizing the second IDA parameters to produce sets of second encoded data slices; and facilitate storage of the sets of first encoded data slices and the sets of second encoded data slices in a plurality of storage units.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: July 24, 2018
    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
  • Publication number: 20180107535
    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: Application
    Filed: December 15, 2017
    Publication date: April 19, 2018
    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, Kumar Abhijeet
  • Publication number: 20180107545
    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: Application
    Filed: December 15, 2017
    Publication date: April 19, 2018
    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: 20180107728
    Abstract: A method for execution by one or more computing devices of a dispersed storage network (DSN), the method begins by detecting favorable completion of synchronization of a plurality of associated tombstone metadata objects across a plurality of storage vaults, wherein the associated tombstone metadata objects include metadata objects that contain a list of data to be deleted upon the synchronization. The method continues by identifying, for each storage vault of the plurality of storage vaults, one or more locally stored data objects for deletion based on content of a tombstone metadata object of the plurality of associated tombstone metadata objects. The method continues by facilitating deletion of the one or more locally stored data objects from each storage vault, determining that each vault has successfully deleted the one or more locally stored data objects and facilitating deletion of the tombstone metadata object associated with each of the storage vaults.
    Type: Application
    Filed: December 15, 2017
    Publication date: April 19, 2018
    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: 20180107397
    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: Application
    Filed: December 15, 2017
    Publication date: April 19, 2018
    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
  • Publication number: 20180107398
    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: Application
    Filed: December 15, 2017
    Publication date: April 19, 2018
    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: 20180101327
    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: Application
    Filed: December 11, 2017
    Publication date: April 12, 2018
    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: 20180101451
    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: Application
    Filed: December 4, 2017
    Publication date: April 12, 2018
    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: 20180101434
    Abstract: A method for execution by a dispersed storage network (DSN) begins by identifying a subset of encoded data slices stored in a set of storage units for enhanced access and determining 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: December 11, 2017
    Publication date: April 12, 2018
    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: 20180089026
    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: Application
    Filed: December 4, 2017
    Publication date: March 29, 2018
    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
  • Publication number: 20180091595
    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: Application
    Filed: December 4, 2017
    Publication date: March 29, 2018
    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: 20180089027
    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: Application
    Filed: December 4, 2017
    Publication date: March 29, 2018
    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
  • Publication number: 20180052636
    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: August 18, 2016
    Publication date: February 22, 2018
    Inventors: Alan M. Frazier, Scott M. Horan, Shibhani Rai, Jason K. Resch, Mark D. Seaborn
  • Publication number: 20170353580
    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: Application
    Filed: June 6, 2016
    Publication date: December 7, 2017
    Inventors: Scott M. Horan, Wesley B. Leggette, Jason K. Resch
  • Publication number: 20170322846
    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: Application
    Filed: July 27, 2017
    Publication date: November 9, 2017
    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: 20170316037
    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: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: Andrew D. Baptist, Adam M. Gray, Scott M. Horan, Wesley B. Leggette, Jason K. Resch, Ilya Volvovski, Ethan S. Wozniak