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: 20170300259
    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: Application
    Filed: July 6, 2017
    Publication date: October 19, 2017
    Inventors: Bart R. Cilfone, Scott M. Horan, Wesley B. Leggette, Adam D. Eggum, Jason K. Resch
  • Publication number: 20170286015
    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: Application
    Filed: January 4, 2017
    Publication date: October 5, 2017
    Inventors: Franco V. Borich, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Mingyu Li, Manish Motwani, Jason K. Resch, Trevor J. Vossberg
  • Publication number: 20170212925
    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: Application
    Filed: January 3, 2017
    Publication date: July 27, 2017
    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: 20170192698
    Abstract: Systems and methods for determining utilization levels of storage within a dispersed storage network (DSN). The methods include obtaining transaction records, updating a cumulative data storage byte-hour count for storage of corresponding bytes of encoded data slices in the storage units of the DSN, and issuing byte-hour usage information based on the updated cumulative data storage byte-hour counts. Each transaction record can include one or more of an operation count, an operation type (e.g., read, write, delete), number of slice bytes transferred, number of slice bytes deleted, a timestamp, a user identifier, and a vault identifier. The updating can include one or more of identifying the one or more affiliated entities, determining a byte-hour adjustment (i.e., up or down) based on a transaction record, and updating a byte-hour record for affiliated entities based on the byte-hour adjustment.
    Type: Application
    Filed: October 27, 2016
    Publication date: July 6, 2017
    Inventors: Bart R. Cilfone, Adam M. Gray, Scott M. Horan, Wesley B. Leggette, Jason K. Resch, Shikha Shree, Ilya Volvovski
  • Publication number: 20170153944
    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: November 29, 2016
    Publication date: June 1, 2017
    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: 20170153941
    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: Application
    Filed: October 26, 2016
    Publication date: June 1, 2017
    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: 20170153947
    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 26, 2016
    Publication date: June 1, 2017
    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: 20170123848
    Abstract: A method includes temporarily storing, by a computing device tasks in a task queue to produce queued tasks. The method further includes identifying a task of the queued tasks for execution. The method further includes partitioning the task into a plurality of partial tasks. The method further includes sending partial task execution requests to at least some of the set of storage units. The method further includes transferring the task from the task queue to a task in process index and establishing an expiration time. When a partial task of the plurality of partial tasks has not been completed prior to the expiration time, the method further includes transferring the task from the task in process index to the task queue indicating that the task was not completed prior to the expiration time and re-queuing execution of at least a portion of the task.
    Type: Application
    Filed: October 26, 2016
    Publication date: May 4, 2017
    Inventors: Franco V. Borich, Bart R. Cilfone, Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Mingyu Li, Tyler K. Reid, Jason K. Resch, Daniel J. Scholl, Rohan P. Shah, Ilya Volvovski
  • Publication number: 20170123948
    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: Application
    Filed: October 26, 2016
    Publication date: May 4, 2017
    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: 20170126804
    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: Application
    Filed: October 26, 2016
    Publication date: May 4, 2017
    Inventors: Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Tyler K. Reid, Daniel J. Scholl, Ilya Volvovski
  • Publication number: 20170123911
    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: Application
    Filed: October 26, 2016
    Publication date: May 4, 2017
    Inventors: Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Tyler K. Reid, Daniel J. Scholl, Ilya Volvovski
  • Publication number: 20170126805
    Abstract: A method to assign delegate devices for updating a hierarchical index structure includes determining a number of delegate devices to assign for updating the hierarchical index structure, wherein the hierarchical index structure is a self-balancing structure. The method further includes determining a node layer of the hierarchical index structure that has at least an equivalent number of nodes as the number of delegate devices. The method further includes, for the node layer, assigning each delegate device of the number of delegate devices a unique one or more nodes of the node layer and corresponding child nodes thereof. The method further includes generating a list of delegate device responsibilities based on the assigning.
    Type: Application
    Filed: October 26, 2016
    Publication date: May 4, 2017
    Inventors: Greg R. Dhuse, Adam M. Gray, Scott M. Horan, Ravi V. Khadiwala, Tyler K. Reid, Daniel J. Scholl, Ilya Volvovski
  • Publication number: 20170031761
    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: Application
    Filed: July 26, 2016
    Publication date: February 2, 2017
    Inventors: Scott M. Horan, Wesley B. Leggette
  • Publication number: 20170004055
    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: Application
    Filed: May 25, 2016
    Publication date: January 5, 2017
    Inventors: Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse