System and method for describing and automatically managing resources
First Claim
1. A method for automatically and dynamically allocating resources, comprising:
- noticing a resource allocation initiating event, where the initiating event is associated with resource allocation information;
identifying resource affinities, based at least in part on resource characteristics, where the resources whose affinities are to be examined are determined, at least in part, by the resource allocation information;
locating one or more dependent resources by traversing one or more resource dependency trees, where the resources to be examined are determined, at least in part, by the resource allocation information;
determining a resource pool location from which to allocate resources, based at least in part on current resource allocations. locating resource instances available to be allocated, where the resource instances to allocate are determined, at least in part by the resource allocation information;
selecting a resource allocation algorithm, based, at least in part on at least one of the resource type, dependencies and current resource allocations, the resource allocation algorithm operable to select available resources;
selecting one or more located resource instances to allocate;
marking the one or more located resource instances to allocate; and
allocating the one or more located resource instances.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for automatically allocating resources is provided. The system includes one or more components for automatically allocating one or more resources, based at least in part on data associated with the one or more resources, the data including at least one of, type data, instance data, characteristic data, and dynamically modifiable metadata. An alternative aspect of the system provides one or more components for automatically allocating one or more resources distributed on a plurality of resource allocation servers. The one or more components for automatically allocating the one or more resources can improve utilization of the capacity of the one or more resources. In an alternative embodiment the system includes an Application Programming Interface (API) operable to configure and/or control the one or more components for automatically allocating one or more resources.
169 Citations
11 Claims
-
1. A method for automatically and dynamically allocating resources, comprising:
-
noticing a resource allocation initiating event, where the initiating event is associated with resource allocation information;
identifying resource affinities, based at least in part on resource characteristics, where the resources whose affinities are to be examined are determined, at least in part, by the resource allocation information;
locating one or more dependent resources by traversing one or more resource dependency trees, where the resources to be examined are determined, at least in part, by the resource allocation information;
determining a resource pool location from which to allocate resources, based at least in part on current resource allocations. locating resource instances available to be allocated, where the resource instances to allocate are determined, at least in part by the resource allocation information;
selecting a resource allocation algorithm, based, at least in part on at least one of the resource type, dependencies and current resource allocations, the resource allocation algorithm operable to select available resources;
selecting one or more located resource instances to allocate;
marking the one or more located resource instances to allocate; and
allocating the one or more located resource instances. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for automatically and dynamically allocating one or more resources, comprising:
-
means for noticing a resource allocation initiating event, where data associated with the resource allocation initiating event specifies one or more desired resources to be allocated;
means for storing information concerning one or more resources available to be allocated, the information including at least one of type data, instance data, characteristic data and metadata;
means for resolving one or more dependencies between the one or more available resources;
means for resolving one or more affinities between the one or more available resources;
means for selecting an algorithm to allocate the one or more available resources;
means for selecting one or more chosen resources to allocate in response to the resource allocation requests;
means for allocating one or more chosen resources in response to the resource allocation request; and
means for updating the information concerning the one or more available resources, the information including at least one of type data, instance data, characteristic data and metadata.
-
-
11. A computer readable medium storing computer executable components operable to automatically allocate resources, comprising:
-
a receiving component for receiving a resource allocation request for resources;
an allocating component for automatically allocating one or more resources to facilitate access of one or more applications in response to the resource allocation request, wherein the one or more resources are associated with at least one of type data, instance data, characteristic data and resource meta data;
a replying component for replying to the resource allocation request, a monitoring component for monitoring resource usage;
a feedback component for feeding back information concerning the resource usage monitoring;
a generating component to generate resource reallocation requests, based, at least in part, on the feedback information concerning the resource usage monitoring;
a first updating component to update information concerning resources the information including at least one of;
type data;
instance data;
characteristic data, and resource meta data; and
a second updating component to update at least one of resource allocation rules and resource allocation algorithms.
-
Specification