| Name (Title) |
Generated Resource Manager |
| Description |
This pattern can be used to manage resources that have values generate based on a policy specification. |
| Alias |
|
| Intent |
The pattern describes three main interfaces to satisfy consumer and internal state maintenance. The resource state table keep track of the generated resources, and consumers who have acquired instances of the supported resource class. |
| Motivation |
In automated distributed systems management, there are several resources that are consumed and released throughout the life of a service (generally as parameters to a provisioning or state change operation). In large-scale environment such as clouds, the complexity of these resources easily goes beyond paper or spreadsheet management, and requires an automated management system. |
| Applicability |
This pattern applies when you want to automate some or all of a service lifecycle, and the service requires initialization or configuration questions to be dynamically answered. The specific types of questions addressed by this pattern are ones where the attribute values for the resource instances can be generated based on predefined policy. Some possible examples are host names, an ID, or a version number. |
| Structure |
|
| Participants |
Resource consumers request resources for their configuration needs. The resource allocation manager is responsible for satisfying the resource requests. The resource state manager is responsible for tracking the available resources and their respective states. The generator is responsible for generating a unique instance of the resource based on the policy. The generator state tracker is responsible for maintaining a state for each attribute policy that enables the generator to determine the next value. |
| Collaboration |
The collaboration for acquiring an instance of a resource is shown below:
|
| Consequences |
The primary benefit is that resources can be tracked and reported on. There is no duplication of resource instances. Deeper system automation is enabled. The primary risks relate to proper definition of the rules that define and control the resource state, and the reliance on the external requester to properly communicate the release of resource instances. |
| Implementation |
Resource instances are generated by the system. Care must be taken to verify that the generator always returns a unique resource instance. Care should be taken to ensure that robust persistence services are in place for the resource and the attribute generator states. There may be a need for an auditor of resource usage in the environment to account for misbehaving clients. |
| Known uses |
Configuration Resource Manager, Singleton Resource Manager, Pooled Resource Manager |
| Related patterns |
Examples of closely related patterns. |
| Author |
John Stanford < john.stanford at sun.com > |
| Reviewer |
Name and email of Cloud Pattern COE reviewer |