Resource manager architecture
First Claim
1. In a computing system having multiple resources, a method to determine whether a set of resources can be reserved for a new activity, comprising:
- 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.
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.
-
Citations
8 Claims
-
1. In a computing system having multiple resources, a method to determine whether a set of resources can be reserved for a new activity, comprising:
-
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. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a computer system having a resource management architecture for managing multiple resources, multiple data structures stored on a computer-readable medium, comprising:
-
an activity data structure embodied as a container;
at least one configuration data structure contained in the activity data structure, the configuration data structure being embodied as a container; and
at least one descriptor data structure contained in the configuration data structure, the descriptor data structure comprising;
(a) a first data field to hold an identify of a resource used to perform a task; and
(b) a second data field to hold a quantity of the resource needed to perform the task.
-
-
7. An application program interface embodied on a computer-readable medium that presents a set of function calls that, when executed on a computer, perform the following functions:
-
register resources that are part of a computer system;
create an activity object;
create a configuration object in association with the activity object;
add a resource to the configuration object;
remove a resource from the configuration object; and
reserve one or more of the resources in the configuration object for the activity object.
-
-
8. In a computer system having multiple resources and a resource manager to manage the resources, an application program interface embodied on a computer-readable medium that is exposed by the resource manager, comprising
(1) resource provider function calls that are called by a resource provider configured to provide an associated resource, the function calls, when executed on a computer, perform the following functions: -
register the resources with the resource manager;
unregister the resources;
lock the resource to allow modification of an internal state of the resource provider;
unlock the resource;
add a resource to a configuration object;
remove a resource from the configuration object;
change an attribute of the resource;
retrieve attribute of the resource;
(2) consumer function calls that are called by a consumer of the resource(s), the function calls, when executed on a computer, perform the following functions;
create an activity object;
reserve one or more of the resources for the activity object;
unreserve the resources;
return status of the activity object;
create the configuration object;
remove the configuration object; and
retrieve information about the resource.
-
Specification