DATA STORAGE RESOURCE ALLOCATION BY EMPLOYING DYNAMIC METHODS AND BLACKLISTING RESOURCE REQUEST POOLS
First Claim
1. A method of matching data storage requests to data storage resources, the method comprising:
- receiving a list of data storage requests to be performed by a data storage system, wherein each data storage request specifies two or more data storage resources that are required to perform the data storage request;
without having to perform a first data storage request itself, performing one or more abbreviated checks to determine whether the first data storage request will fail, wherein performing one or more abbreviated checks includes performing a selected subset of one or more checks for whether at least a selected one of the data storage resources are available to satisfy the first data storage request, and wherein the selected one data storage resource is a physical data storage resource, rather than a logical data storage resource; and
when the one or more abbreviated checks indicate that the first data storage request would fail if performed, then;
updating the received list of data storage requests to indicate that the first data storage request should not be performed, without attempting to perform the first data storage request and without performing a check of all data storage resources required for performing the data storage request; and
again performing the one or more abbreviated checks on a second data storage request in the received list of data storage requests, and updating the received list when the one or more abbreviated checks indicate that the second data storage request would fail if performed.
4 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.
185 Citations
18 Claims
-
1. A method of matching data storage requests to data storage resources, the method comprising:
-
receiving a list of data storage requests to be performed by a data storage system, wherein each data storage request specifies two or more data storage resources that are required to perform the data storage request; without having to perform a first data storage request itself, performing one or more abbreviated checks to determine whether the first data storage request will fail, wherein performing one or more abbreviated checks includes performing a selected subset of one or more checks for whether at least a selected one of the data storage resources are available to satisfy the first data storage request, and wherein the selected one data storage resource is a physical data storage resource, rather than a logical data storage resource; and when the one or more abbreviated checks indicate that the first data storage request would fail if performed, then; updating the received list of data storage requests to indicate that the first data storage request should not be performed, without attempting to perform the first data storage request and without performing a check of all data storage resources required for performing the data storage request; and again performing the one or more abbreviated checks on a second data storage request in the received list of data storage requests, and updating the received list when the one or more abbreviated checks indicate that the second data storage request would fail if performed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for handling a prioritized queue of data management requests, the system comprising:
-
a receive requests component configured to receive a queue of data management requests, wherein each data management request is to perform at least one data management operation using data management resources from a pool of data management resources, and wherein the queue includes a prioritized list of data management requests; a handle request component configured to communicate with the receive requests component and to at least initiate each data management request, wherein the handle request component attempts to handle each data management request in order based on the prioritized list of data management requests if data management resources from the pool of data management resources are available; and a resource store component configured to reserve one or more data management resources released by an at least partially completed data management request, and wherein the handle request component is configured to not provide the released one or more data management resources to a first received but lower priority data management request, but instead to provide the released one or more data management resources to a later received data management request having a higher priority than the lower priority data management request. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computer-readable medium encoded with instructions for controlling a computer system to perform a set of data management requests within a selected time period, by a method comprising:
-
receiving a list of data management requests to be performed by a data management system, wherein each data management request is to perform at least one data management operation using data management resources; attempting to perform a data management request from the list of data management requests by assigning the data management request to one or more available data management resources; if the data management request fails, determining at least one data management resource at least partially responsible for the failure; determining a category associated with the one data management resource at least partially responsible for the failure, wherein data management resources are associated with categories; identifying other data management requests in the list of data management requests that request data management resources having the same category; and updating the received list of data management requests to indicate that the data management system should not perform the other identified data management requests. - View Dependent Claims (15, 16, 17, 18)
-
Specification