Resource manager architecture
First Claim
1. A resource management architecture comprising:
- multiple resource providers associated with resources;
multiple consumers that utilize the resources provided by the resource providers; and
a resource manager to arbitrate access to the resources provided by the resource providers on behalf of the consumers with regard to resource configurations that each identify at least one resource provider of the multiple resource providers.
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. A policy manager sets various policies that are used by the resource manager to allocate resources. One policy is a priority-based policy that distinguishes among which applications and/or users have priority over others to use the resources. 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 for each activity. If multiple configurations are specified, the resource consumer can rank them according to preference. This allows the resource consumers to be dynamically changed from one configuration to another as operating conditions change.
265 Citations
62 Claims
-
1. A resource management architecture comprising:
-
multiple resource providers associated with resources;
multiple consumers that utilize the resources provided by the resource providers; and
a resource manager to arbitrate access to the resources provided by the resource providers on behalf of the consumers with regard to resource configurations that each identify at least one resource provider of the multiple resource providers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A resource management architecture comprising:
-
multiple resource providers associated with resources;
multiple consumers that utilize the resources provided by the resource providers; and
a resource manager to arbitrate access to the resources provided by the resource providers on behalf of the consumers;
wherein the consumers create activities at the resource manager, each activity being associated with a task to be performed by a corresponding consumer; and
wherein the consumers build one or more configurations for each of the activities at the resource manager, each configuration identifying a set of one or more of the resources to perform the task. - View Dependent Claims (18, 19)
-
-
20. A resource management architecture comprising:
-
multiple resource providers associated with resources;
multiple consumers that utilize the resources provided by the resource providers; and
a resource manager to arbitrate access to the resources provided by the resource providers on behalf of the consumers;
one of the consumers creates an activity at the resource manager in association with a task to be performed and builds multiple configurations for the activity, each configuration identifying a set of one or more of the resources to perform the task; and
the resource manager being configured to switch the activity from one of the configurations to another of the configurations to reallocate particular resources to or away from the activity. - View Dependent Claims (21, 22)
-
-
23. A resource management architecture comprising:
-
multiple resource providers associated with resources;
multiple consumers that utilize the resources provided by the resource providers; and
a resource manager to arbitrate access to the resources provided by the resource providers on behalf of the consumers;
wherein;
one of the consumers creates an activity at the resource manager in association with a task to be performed and builds multiple configurations for the activity, each configuration identifying a set of one or more of the resources to perform the task; and
the resource manager being configured to reserve the resources that satisfy at least one of the configurations. - View Dependent Claims (24, 25)
-
-
26. A resource management architecture comprising:
-
multiple resource providers associated with resources;
multiple consumers that utilize the resources provided by the resource providers; and
a resource manager to arbitrate access to the resources provided by the resource providers on behalf of the consumers;
wherein the resource providers are configured without any knowledge of real time, further comprising a scheduling component to schedule allocation of a set of the resources at a later time.
-
-
27. A resource management architecture comprising:
-
multiple resource providers that are associated with resources;
multiple consumers that utilize the resources provided by the resource providers to perform tasks;
a resource manager to allocate the resources provided by the resource providers to one or more of the consumers;
at least one activity data structure created at the resource manager in association with a task to be performed by a corresponding consumer; and
at least one configuration data structure created at the resource manager in association with the activity data structure, the configuration data structure describing a set of one or more resources used to perform the associated activity. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A resource management architecture comprising:
-
a resource provider associated with a resource; and
a resource manager to create an activity in association with a task to be performed at least in part by the resource and to build at least one configuration for the activity that identifies the resource, the resource manager being further configured to determine whether the resource identified in the configuration can be reserved for the activity in order to perform the task. - View Dependent Claims (46, 47, 48)
-
-
49. A resource manager, comprising:
-
an application program interface to permit calls to reserve one or more resources used to perform a task;
at least one activity associated with the task;
at least one configuration associated with the activity to identify the one or more resources used to perform the task. - View Dependent Claims (50)
-
-
51. A resource manager comprising:
-
means for receiving a request to reserve a set of resources to perform a task;
means for creating a new activity in association with the task to be performed;
means for building at least one new configuration for the new activity, the new configuration identifying the set of resources; and
means for determining whether the set of resources identified in the new configuration can be reserved for the new activity in order to perform the task.
-
-
52. A method comprising:
-
receiving a request to reserve a set of resources to perform a task;
creating a new activity in association with the task to be performed;
building at least one new configuration for the new activity, the new configuration identifying the set of resources; and
determining whether the set of resources identified in the new configuration can be reserved for the new activity in order to perform the task. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59)
identifying all existing activities that currently use the resources being requested; and
assigning the resources among the existing activities and the new activity according to an allocation policy.
-
-
54. The method of claim 53, wherein the policy is a priority-based policy so that the resources are assigned to the activities according to their priority.
-
55. The method of claim 52, wherein the determining comprises:
-
constructing an activity list of all existing activities that have reserved resources and the new activity being created;
constructing a resource list of the resources identified in the new configuration that are currently reserved for the existing activities in the activity list;
determining a quantity of the resources in the resource list that are used by the activities in the activity list; and
in an event that the resources are insufficient to satisfy all of the activities in the activity list, identifying any activity for which there are insufficient resources.
-
-
56. The method of claim 55, further comprising ordering the resource list according to priority.
-
57. The method of claim 55, further comprising notifying the identified activity that the resources could not be reserved.
-
58. The method of claim 55, further comprising, in an event that the resources are sufficient to satisfy all of the activities in the activity list, reserving the resources for the new activity.
-
59. A computer-readable medium comprising computer executable instructions that, when executed, direct a computer system to perform the method of claim 52.
-
60. A computer-readable medium having computer-executable instructions that, when executed, direct a computing device to:
-
receive a request to reserve a set of resources to perform a task;
create a new activity in association with the task to be performed;
build at least one new configuration for the new activity, the new configuration identifying the set of resources;
identify all existing activities that currently use the resources being requested; and
assign the resources among the existing activities and the new activity according to an allocation policy. - View Dependent Claims (61, 62)
-
Specification