Resource manager architecture
First Claim
1. A resource manager, implemented on a computer-readable medium, comprising:
- means for registering resources with a resource manager;
means for receiving, from consumers of the resources, requests to reserve sets of the resources to perform associated tasks;
means for evaluating whether the requests can be satisfied;
in an event that the requests can be satisfied, means for reserving the sets of the resources on behalf of the consumers;
in an event that all of the requests cannot be satisfied;
means for determining which of the requests can be satisfied and reserving the sets of the resources on behalf of the consumers that submitted those requests;
means for establishing at the resource manager multiple alternate configurations of resources that may be utilized to perform a task; and
means for dynamically switching from one configuration to another configuration to perform the task, wherein the means for dynamically switching comprises means for temporarily reserving on behalf of a given consumer a union of resources to perform the task, the union of resources comprising;
resources associated with the one configuration; and
resources associated with the other configuration.
3 Assignments
0 Petitions
Accused Products
Abstract
Resource management architectures implemented in computer systems to manage resources are described. In one embodiment, a general architecture includes a resource manager and multiple resource providers that support one or more resource consumers such as a system component or application. Each provider is associated with a resource and acts as the manager for the resource when interfacing with the resource manager. The resource manager arbitrates access to the resources provided by the resource providers on behalf of the consumers, e.g., using a priority-based policy. A resource consumer creates an “activity” at the resource manager and builds one or more “configurations” that describe various sets of preferred resources required to perform the activity. Each resource consumer can specify one or more configurations, which may be ranked, for each activity. This allows the resource consumers to be dynamically changed from one configuration to another as operating conditions change.
64 Citations
14 Claims
-
1. A resource manager, implemented on a computer-readable medium, comprising:
-
means for registering resources with a resource manager; means for receiving, from consumers of the resources, requests to reserve sets of the resources to perform associated tasks; means for evaluating whether the requests can be satisfied; in an event that the requests can be satisfied, means for reserving the sets of the resources on behalf of the consumers; in an event that all of the requests cannot be satisfied; means for determining which of the requests can be satisfied and reserving the sets of the resources on behalf of the consumers that submitted those requests; means for establishing at the resource manager multiple alternate configurations of resources that may be utilized to perform a task; and means for dynamically switching from one configuration to another configuration to perform the task, wherein the means for dynamically switching comprises means for temporarily reserving on behalf of a given consumer a union of resources to perform the task, the union of resources comprising; resources associated with the one configuration; and resources associated with the other configuration.
-
-
2. A method comprising:
-
registering resources with a resource manager; receiving, from consumers of the resources, requests to reserve sets of the resources to perform associated tasks; evaluating whether the requests can be satisfied; in an event that the requests can be satisfied, reserving the sets of the resources on behalf of the consumers; in an event that all of the requests cannot be satisfied; determining which of the requests can be satisfied and reserving the sets of the resources on behalf of the consumers that submitted those requests; establishing at the resource manager multiple alternate configurations of resources to be utilized to perform a task; and dynamically switching from a first configuration to a second configuration to perform the task, wherein the dynamically switching comprises temporarily reserving on behalf of a given consumer a union of resources to perform the task, the union of resources comprising; resources associated with the first configuration; and resources associated with the second configuration. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-readable medium having computer-executable instructions that, when executed, direct a computing device to perform acts comprising:
-
registering resources with a resource manager; receiving, from consumers of the resources, requests to reserve sets of the resources to perform associated tasks; evaluating whether the requests can be satisfied; in an event that the requests can be satisfied, reserving the sets of the resources on behalf of the consumers; in an event that all of the requests cannot be satisfied; determining which of the requests can be satisfied and reserve the sets of the resources on behalf of the consumers that submitted those requests; establishing, at the resource managers multiple alternate configurations of resources to be utilized to perform a task; and dynamically switching from a first configuration to a second configuration to perform the task, wherein the dynamically switching comprises temporarily reserving on behalf of a given consumer a union of resources to perform the task, the union of resources comprising; resources associated with the first configuration; and resources associated with the second configuration. - View Dependent Claims (13, 14)
-
Specification