Patent ID: 8578029

Claim:
A system for provisioning service environments (SEs) and resources comprising one or more memory and one or more processors implementing: a component for creating and handling state change events; a parts catalog including descriptions of SEs, variable federated resources, aggregated, and basic resources; a planner component for generating plans for construction and destruction of SEs and plans for creation, addition, removal and destruction of every aggregated resource to or from the SEs, the planner component having an interface to the parts catalog and an interface to a global dynamic free pool manager, the global dynamic free pool manager (GDFPM) configured for dynamically constructing and destructing dynamic free pool managers (DFPMs) with their assigned dynamic free pools (DFPs) including dynamically changing their capacities, wherein each dynamically generated DFPM manages an assigned DFP including aggregated resources, each of the DFPMs operates in an autonomic way by using a policy to change capacities of a DFP assigned to the DFPM without receiving a change request, the policy makes a decision for changing the capacity of a DFP by using a function to determine the required capacity of the DFP which is based on the total number of basic resources, resource usage pattern, and time to provision, the GDFPM has an interface to the component for creating and handling state change events, an interface to the parts catalog, and an interface to the planner component, operations of the GDFPM are based on input from the interfaces and a policy of the GDFPM, and the planner component generates plans for construction and destruction of service environments and plans for creation, addition, removal and destruction of every aggregated resource to or from the SEs according to a method comprising: calling a DFPM to delete a service environment or aggregated resource from a provisioning environment and returning it to an assigned DFP based on determining that a DFPM exists for the service environment or the aggregated resource and the service environment or the aggregated resource is returnable; determining whether the resource is a basic resource based on determining that the service environment or the aggregated resource is not returnable; calling an assigned resource manager to delete the resource based on determining that the resource is a basic resource; and continuing, for each member of a set S of resources included in the service environment or the aggregated resource by using a description of the new service environment or the aggregated resource, with the calling the DFPM to delete the SE or aggregated resource, determining whether the resource is a basic resource, and calling the assigned resource manager to delete the resource until only basic resources are available.