Resource aware adaptivity
A Resource Manager is a constituent of the PalCom Middleware Management and is responsible for maintaining an up-to-date directory of all available 2nd Order Resources within its operational scope. An available 2nd Order Resource may be either active and thereby currently available for use (subject to any additional usage constraints), or inactive and thereby not currently available for use.
Every PalCom Assembly will nominally have one active Resource Manager residing on each PalCom Node participating in the assembly. Other inactive Resource Managers may also be present within the assembly, especially to support distributed replication and failover redundancy. Such an inactive Resource Manager would then be activated on failure of a previously active Resource Manager.
In accordance with the definitions available in the PalCom Architectural Ontology, the figure below shows the relationship between 1st and 2nd Order Resources. As shown, the Resource Manager is only responsible for 2nd Order Resources.
The PalCom architecture bases resource awareness on the reflective properties of the PalCom entities. Each resource in a PalCom system is able to offer a resource description providing essential data on how to deal with it. Details of this description are currently investigated. The current state of affairs is briefly summarized below.
Every 2nd Order Resource has an associated Resource Descriptor which is nominally an XML description of a two-level hierarchy of parameters. The upper level contains parameters common to all resources, such as identity and type (e.g., type=Service). The lower level extends this common level with parameter specialisations according to the specific resource type. For example, a Service will define at least a signature and accessor interface that describes what the service offers, requires and how it can be accessed.
The primary operations of a PalCom Resource Manager are as follows:
- Discover 2nd Order Resources
- Persistently monitor previously discovered 2nd Order Resources.
- Match resources according to needs expressed by Assembly and Contingency Managers.
- Describe available 2nd Order Resources to Assembly and Contingency Managers.
- Provide available 2nd Order Resources to Assembly and Contingency Managers.
- Describing its own behaviour when inspected.
Some optional operations that may be performed by a PalCom Resource Manager include:
- Reserving resources for use at some point in the future for a specified duration. Quality of service guarantees can be assigned to provide a measure of certainty with respect to the availability of a resource.
- Negotiate with other Resource Managers for access to a particular 2nd Order Resource.
- Predicting resource requirements based on analysis of previous resource requests received from Assembly Managers. This is coupled with resource reservation to automatically reserve resources if a request for use is anticipated.
- Manage the lifecycle of selected resources including initiating, terminating, restarting and moving, etc. 2nd Order Resources.
- Arbitrate conflicts over resource access and usage between Assembly Managers.
Not all Resource Managers need be implemented in same way, or provide exactly the same functionality.