Automatic provisioning of services based on a high level description and an infrastructure description
First Claim
1. A method for generating a Concrete Model of a computing utility comprising the steps of:
- receiving, by a computer system, as input an infrastructure-independent Service Environment Model of a service environment, said Service Environment Model describing a set of requirements for an initial desired state of said service environment;
receiving, by a computer system, as input an Infrastructure Model describing both hardware and software resources and an organization of said resources in the computing utility infrastructure, said Infrastructure Model representing knowledge encapsulated in a knowledge subsystem, wherein said knowledge subsystem comprises a set of objects used to represent resource instances and relationships, configure resources and relationships, query their state, and query their configuration capabilities and constraints; and
generating, by a computer system, provisioning actions to reach a state that satisfies the set of requirements specified in the Service Environment Model, wherein the generating step comprises steps of;
merging, by a computer system, the Service Environment Model with the Infrastructure Model to generate the Concrete Model, said Concrete Model describing a structure to implement on the computing utility infrastructure in order to reach the desired state as expressed in the Service Environment Model and being mappable to said knowledge subsystem, said generating comprising steps of;
executing, by a computer system, a plurality of refinement steps, each refinement step comprising;
selecting a node;
wherein nodes represent resources and requirements on a state of the resources; and
wherein edges represent relationships between the resources; and
replacing the selected node with a sub graph structure to obtain an intermediary model which is an input to a subsequent refinement step;
iteratively refining the intermediary models produced by each replacing step by repeating the steps of selecting and replacing until a resulting intermediary model is determined to be mappable to the knowledge subsystem, wherein the resulting intermediary model is determined to be mappable when every node in the resulting intermediary model that represents a resource is mappable to the knowledge subsystem;
halting the refining when no further refinements can be made; and
mapping the resulting intermediary model to the knowledge subsystem.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to provisioning and managing computing services in a computing utility system. It receives as an input an infrastructure independent description of a set of requirements on the new desired state of a computing service. It uses a knowledge plane to represent the infrastructure. The method generates a Concrete Model that describes a resource structure that refines the input and is implementable over the infrastructure. It then generates and possibly executes provisioning actions to create an identical resource structure on the infrastructure. The method can be used to create new computing services, to destroy existing computing services, to modify the resource combinations allocated to a computing service, or the configuration of these resources. Provisioning actions can be executed immediately, or saved and executed later, and possibly many times. Provisioning actions may be regenerated using the method whenever infrastructure characteristics, or the service requirements change.
-
Citations
23 Claims
-
1. A method for generating a Concrete Model of a computing utility comprising the steps of:
-
receiving, by a computer system, as input an infrastructure-independent Service Environment Model of a service environment, said Service Environment Model describing a set of requirements for an initial desired state of said service environment; receiving, by a computer system, as input an Infrastructure Model describing both hardware and software resources and an organization of said resources in the computing utility infrastructure, said Infrastructure Model representing knowledge encapsulated in a knowledge subsystem, wherein said knowledge subsystem comprises a set of objects used to represent resource instances and relationships, configure resources and relationships, query their state, and query their configuration capabilities and constraints; and generating, by a computer system, provisioning actions to reach a state that satisfies the set of requirements specified in the Service Environment Model, wherein the generating step comprises steps of; merging, by a computer system, the Service Environment Model with the Infrastructure Model to generate the Concrete Model, said Concrete Model describing a structure to implement on the computing utility infrastructure in order to reach the desired state as expressed in the Service Environment Model and being mappable to said knowledge subsystem, said generating comprising steps of; executing, by a computer system, a plurality of refinement steps, each refinement step comprising; selecting a node; wherein nodes represent resources and requirements on a state of the resources; and wherein edges represent relationships between the resources; and replacing the selected node with a sub graph structure to obtain an intermediary model which is an input to a subsequent refinement step; iteratively refining the intermediary models produced by each replacing step by repeating the steps of selecting and replacing until a resulting intermediary model is determined to be mappable to the knowledge subsystem, wherein the resulting intermediary model is determined to be mappable when every node in the resulting intermediary model that represents a resource is mappable to the knowledge subsystem; halting the refining when no further refinements can be made; and mapping the resulting intermediary model to the knowledge subsystem. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus comprising a computer system for generating a Concrete Model, said Concrete Model describing a structure of resources implementable over a computing utility infrastructure, and satisfying a set of service requirements, said means for generating comprising the steps of:
-
obtaining a Service Environment Model of a service environment, said Service Environment Model describing a desired state of said service environment; obtaining an Infrastructure Model describing both hardware and software resources and an organization of the resources in the computing utility infrastructure, said Infrastructure Model representing knowledge is encapsulated in a knowledge subsystem, wherein said knowledge subsystem comprises a set of objects used to represent resource instances and relationships, configure resources and relationships, query their state, and query their configuration capabilities and constraints; and generating provisioning actions to reach a state that satisfies the set of requirements specified in the Service Environment Model, wherein the generating step comprises steps of; merging the Service Environment Model with the Infrastructure Model to generate a Concrete Model describing a resource structure such that said Concrete Model refines the Service Environment Model and is mappable to said knowledge subsystem, said generating comprising steps of; executing a plurality of refinement steps, each refinement step comprising; selecting a node; wherein nodes represent resources and requirements on a state of the resources; and wherein edges represent relationships between the resources; and replacing the selected node with a sub graph structure to obtain an intermediary model which is an input to a subsequent refinement step; iteratively refining the intermediary models produced by each replacing step by repeating the steps of selecting and replacing until a resulting intermediary model is determined to be mappable to the knowledge subsystem, wherein the resulting intermediary model is determined to be mappable when every node in the resulting intermediary model that represents a resource is mappable to the knowledge subsystem; halting the refining when no further refinements can be made; and mapping the resulting intermediary model to the knowledge subsystem. - View Dependent Claims (21, 22, 23)
-
Specification