System reliability by prioritizing recovery of objects
First Claim
Patent Images
1. A computing system comprising:
- one or more processors;
one or more storage devices having stored computer-executable instructions which are executable by the one or more processors to cause the computing system to at least instantiate or manage a recovery scheduler;
a plurality of storage units storing one or more copies of each of a first data set and a second data set;
one or more data structures that include a minimum time to failure for the first data set and the second data set across the plurality of storage units, wherein the minimum time to failure for each respective data set is based, at least in part, on determining a total number of available next failure states for the respective data set, across the plurality of storage units, before it is in a total failure state; and
the recovery scheduler, wherein the recovery scheduler is configured to at least;
obtain a first recovery request corresponding to the first data set and a second recovery request corresponding to the second data set, each of the first recovery request and the second recovery request including an attached prioritization tag indicating an initial relative priority for executing the respective request;
obtain, from the one or more data structures, the minimum time to failure for each of the first data set and the second data set;
based on the obtained minimum time to failure for both the first data set and the second data set, schedule an ordering for dispatching the first and second recovery both the initial relative priority for the respective first and second recovery request and the obtained minimum time to failure received for the first data set and the second data set; and
dispatch the first and second recovery requests to the one or more storage units based on the priority valuation.
1 Assignment
0 Petitions
Accused Products
Abstract
Recovery requests are scheduled and prioritized according to priority valuations of the minimum time to next failure relative to the minimum time to next recovery for corresponding storage data sets. The prioritization can be performed by an upper layer recovery scheduler that dispatches requests to different storage units and/or by lower layers and individual storage unit schedulers. Prioritizations can be reflected in tagging on recovery requests, as determined by a first entity, and/or determined dynamically at the point of dispatch and processing.
-
Citations
17 Claims
-
1. A computing system comprising:
-
one or more processors; one or more storage devices having stored computer-executable instructions which are executable by the one or more processors to cause the computing system to at least instantiate or manage a recovery scheduler; a plurality of storage units storing one or more copies of each of a first data set and a second data set; one or more data structures that include a minimum time to failure for the first data set and the second data set across the plurality of storage units, wherein the minimum time to failure for each respective data set is based, at least in part, on determining a total number of available next failure states for the respective data set, across the plurality of storage units, before it is in a total failure state; and the recovery scheduler, wherein the recovery scheduler is configured to at least; obtain a first recovery request corresponding to the first data set and a second recovery request corresponding to the second data set, each of the first recovery request and the second recovery request including an attached prioritization tag indicating an initial relative priority for executing the respective request; obtain, from the one or more data structures, the minimum time to failure for each of the first data set and the second data set; based on the obtained minimum time to failure for both the first data set and the second data set, schedule an ordering for dispatching the first and second recovery both the initial relative priority for the respective first and second recovery request and the obtained minimum time to failure received for the first data set and the second data set; and dispatch the first and second recovery requests to the one or more storage units based on the priority valuation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method, executed at one or more processors of a computing system, for scheduling processing of recovery requests at a storage unit, the method comprising:
-
receiving, at a storage unit scheduler, a first recovery request corresponding to a first data set and a second recovery request corresponding to a second data set, each of the first data set and second data set being stored within one or more of a plurality of storage units, and each of the first recovery request and the second recovery request including an attached prioritization tag indicating an initial relative priority for executing the respective request; obtaining, from within the attached prioritization tag a minimum time to failure for the first data set and the second data set across the plurality of storage units, wherein the minimum time to failure for each respective data set is based, at least in part on determining a total number of available next failure states for the respective data set, across the plurality of storage units, before the respective data set is in a total failure state; generating, at the storage unit scheduler, an ordered sequence for processing the first and second recovery requests by the storage unit based on the initial relative priority and the obtained minimum time to failure for the first data set and the second data set obtained from the attached prioritization tag; and causing, at the storage unit scheduler, the storage unit to process the first and second recovery requests based on the priority valuation. - View Dependent Claims (14, 15, 16)
-
-
17. A computing system comprising:
-
one or more processors; one or more storage devices having stored computer-executable instructions which are executable by the one or more processors to cause the computing system to at least instantiate or manage a recovery scheduler and a storage unit scheduler; a plurality of storage units storing a plurality of data sets; one or more data structures that include a minimum time to failure for the first data set and the second data set across the plurality of storage units, wherein the minimum time to failure for each respective data set is based, at least in part, on determining a total number of available next failure states for the respective data set, across the plurality of storage units, before it is in a critical failure state; and the recovery scheduler that is configured to at least; obtain a first recovery request corresponding to the first data set of the plurality of data sets and a second recovery request corresponding to the second data set of the plurality of data sets, each of the first recovery request and the second recovery request including a prioritization tag indicating an initial relative priority for executing the respective request; determine, using the one or more data structures, that the first recovery request corresponds to a critical recovery request and that the second recovery requests corresponds to a non-critical recovery request; schedule an ordering for dispatching the first and second recovery requests to the one or more storage units based on a priority valuation that places the critical recovery request ahead of the non-critical recovery request; and dispatch the first and second recovery requests to the one or more storage units based on the priority valuation.
-
Specification