Patent ID: 7516457
Filing Date: 2009-04-07
Classification: G06F

Abstract:
1. A method, performed by a computer system, for automatically provisioning and managing resources in a computing utility, the method comprising provisioning at least one computing environment in the computing utility, said step of provisioning comprising: employing a description of each of said at least one computing environment, said description directing an invocation of a first service which performs said provisioning, said description being a composite resource definition; and invoking said first service to perform said provisioning, wherein said first service is a provisioning resource service, and said method further comprises said first service making available a managed resource service for managing each of said at least one computing environment; wherein there is at least one provisioning resource service associated with each type of base resource and each type of composite resource; wherein said provisioning resource service provides a plurality of provisioning instances; wherein said provisioning resource service is comprised of a group of provisioning resource services, each member of said group of provisioning resource services is associated with a particular type of resource in said composite resource description; wherein the step of invoking further comprising employing said provisioning resource service for the computing environment by recursively employing each member of said group of provisioning resource services according to said composite resource description; wherein each said base resource has a base resource instance, and wherein there is at least one managed resource service associated with each base resource instance; wherein there is one managed resource service for all instances of a resource type within a single computing environment; wherein said composite resource has a composite resource instance, and wherein there is at least one managed resource service associated with each composite resource instance; wherein said managed resource service is comprised of a group of managed resource services, each member of said group of managed resource services is associated with a particular instance of resource in said composite resource description; wherein the step of invoking comprises: wherein said base resources satisfy a request criterion taken from a group of request criteria comprising: wherein the step of obtaining said at least one plan comprises recursively obtaining at least one plan for each sub-resource, and combining the result; wherein the step of configuring said base resources into an instance of said computing environment comprises recursively configuring base resources corresponding to each sub-resource, and configuring the result; wherein the step of obtaining further comprises specifying at least one condition restricting plans obtained; wherein the step of obtaining is repeated according to a repetition criterion taken from a group of repetition criteria comprising: changes in the description of the at least one computing environment, changes in a set of base resource types, changes in a set of composite resource types; and any combination of these repetition criteria; wherein the steps of selecting and requesting are repeated according to a repetition criterion taken from a group of repetition criteria comprising: changes in the selection criteria, changes in resource availability, changes in resource reservation status, changes in said at least one plan; and any combination of these repetition criteria; wherein the steps of obtaining, selecting, requesting, and configuring are invoked at least once by a particular managed resource service to add resources to said computing environment; and wherein the step of selecting said plan satisfies a selection criterion taken from a group of selection criteria comprising: cost, performance; and number of preferences satisfied; and any combination of these selection criteria.