Data storage resource allocation using blacklisting of data storage requests classified in the same category as a data storage request that is determined to fail if attempted
First Claim
1. A computer-readable medium, excluding transitory propagating signals, storing instructions that, when executed by a server in a data storage system, cause the server to perform operations comprising:
- classifying data storage requests into a plurality of categories,wherein the data storage requests are in a queue of data storage requests to be performed in the data storage system according to an initial order of priority of the queue,wherein each data storage request is associated with a category from among the plurality of categories,wherein the category of a respective data storage request is defined at least in part by a storage policy that governs resource-allocation rules for the respective data storage request, andwherein each data storage request requires a plurality of data storage resources to perform the respective data storage request;
for a first data storage request in the queue of data storage requests,performing one or more abbreviated checks to determine whether the first data storage request would fail if attempted, comprising;
(i) selecting, from the plurality of data storage resources required by the first data storage request, the data storage resources determined to be physical resources, and(ii) performing, in an order based on relative chances of failure of the respective selected physical resources and ahead of any logical checks of the selected physical resources, one or more physical checks of whether the selected physical resources are available for the first data storage request, wherein the performing of the one or more physical checks includes determining whether hardware for performing the first data storage request is working; and
when the one or more abbreviated checks indicate that the first data storage request would fail if attempted, updating the queue of data storage requests to indicate that;
(a) the first data storage request and (b) one or more second data storage requests associated with the same category as the first data storage request should not be performed according to the initial order of priority,wherein updating the queue occurs without checking to determine whether the one or more second data storage requests would fail if attempted, andwherein updating the queue occurs without attempting to perform the first data storage request and the one or more second data storage requests.
3 Assignments
0 Petitions
Accused Products
Abstract
A resource allocation system begins with an ordered plan for matching requests to resources that is sorted by priority. The resource allocation system optimizes the plan by determining those requests in the plan that will fail if performed. The resource allocation system removes or defers the determined requests. In addition, when a request that is performed fails, the resource allocation system may remove requests that require similar resources from the plan. Moreover, when resources are released by a request, the resource allocation system may place the resources in a temporary holding area until the resource allocation returns to the top of the ordered plan so that lower priority requests that are lower in the plan do not take resources that are needed by waiting higher priority requests higher in the plan.
-
Citations
6 Claims
-
1. A computer-readable medium, excluding transitory propagating signals, storing instructions that, when executed by a server in a data storage system, cause the server to perform operations comprising:
-
classifying data storage requests into a plurality of categories, wherein the data storage requests are in a queue of data storage requests to be performed in the data storage system according to an initial order of priority of the queue, wherein each data storage request is associated with a category from among the plurality of categories, wherein the category of a respective data storage request is defined at least in part by a storage policy that governs resource-allocation rules for the respective data storage request, and wherein each data storage request requires a plurality of data storage resources to perform the respective data storage request; for a first data storage request in the queue of data storage requests, performing one or more abbreviated checks to determine whether the first data storage request would fail if attempted, comprising; (i) selecting, from the plurality of data storage resources required by the first data storage request, the data storage resources determined to be physical resources, and (ii) performing, in an order based on relative chances of failure of the respective selected physical resources and ahead of any logical checks of the selected physical resources, one or more physical checks of whether the selected physical resources are available for the first data storage request, wherein the performing of the one or more physical checks includes determining whether hardware for performing the first data storage request is working; and when the one or more abbreviated checks indicate that the first data storage request would fail if attempted, updating the queue of data storage requests to indicate that;
(a) the first data storage request and (b) one or more second data storage requests associated with the same category as the first data storage request should not be performed according to the initial order of priority,wherein updating the queue occurs without checking to determine whether the one or more second data storage requests would fail if attempted, and wherein updating the queue occurs without attempting to perform the first data storage request and the one or more second data storage requests. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for blacklisting data storage requests that are likely to fail if attempted in a data storage system, the method comprising:
-
in reference to a queue of data storage requests to be performed in the data storage system according to an initial order of priority of the queue, wherein each data storage request is based on a storage policy that governs one or more data storage requests to be performed according to criteria in the storage policy, and wherein each data storage request requires, based on the criteria in the respective storage policy, a plurality of data storage resources to perform the respective data storage request, classifying, by a server operating in the data storage system, each data storage request into one of a plurality of categories, wherein a respective category is defined by at least one of (a) similar requirements for one or more data storage resources and (b) similar rules governing how to allocate data storage resources; performing, by the server operating in the data storage system, an abbreviated resource check to determine whether a first data storage request in the queue of data storage requests would fail if attempted, wherein the abbreviated resource check comprises; (i) determining which of the data storage resources in the plurality of data storage resources needed to perform the first data storage request are physical resources and which ones are logical resources, (ii) performing one or more physical checks of the resources determined to be physical resources before attempting to check any of the logical resources, and (iii) if the one or more physical checks of the resources determined to be physical resources indicate that the physical resources would not cause the first data storage request to fail if attempted, performing one or more logical checks of the resources determined to be logical resources for the first data storage request; if at least one of the one or more physical checks and the one or more logical checks indicate that the first data storage request would fail if attempted, removing from the queue of data storage requests;
(a) the first data storage request and (b) one or more second data storage requests associated with the same category as the first data storage request, thereby changing the initial order of priority of the queue;wherein the removing from the queue occurs without attempting any abbreviated resource checks to determine whether the one or more second data storage requests would fail if attempted; wherein the removing from the queue occurs without attempting to perform the first data storage request and the one or more second data storage requests; and classifying the data storage requests in the queue of data storage requests into the plurality of categories before performing any abbreviated resource checks on any data storage request in the queue, including the first data storage request.
-
Specification