Autonomic control of a distributed computing system using an application matrix to control application deployment
First Claim
1. A distributed computing system comprising:
- a plurality of application nodes interconnected via a communications network; and
a control node that comprises;
a set of two or more different applications to be executed on the application nodes;
an application matrix that includes an application matrix entry for each of the applications in the set of two or more different applications, wherein each application matrix entry contains application-specific parameters for controlling the deployment, undeployment, and execution of the corresponding application within the distributed computing system, wherein the parameters for each of the application matrix entries include parameters that are based on information that is specific to an installation instance of the corresponding application that has been previously deployed within a staging environment and customized for subsequent deployment within the distributed computing system; and
an automation infrastructure having one or more application-neutral rule engines that provide autonomic control of the application nodes and autonomic control over the deployment, undeployment, and execution of each of the applications in accordance with a set of one or more application-neutral rules and the application-specific parameters stored within the corresponding entry within the application matrix,wherein each of the one or more application-neutral rule engines comprises a working memory that includes one or more local objects, wherein each rule in the set of one or more application-neutral rules includes a match condition and an implied action, wherein the set of one or more application-neutral rules is compiled into a discrimination network that includes a translation of the match conditions of the set of one or more rules such that redundant tests are avoided during rule execution, wherein the one or more application-neutral rule engines further comprises an execution engine that matches the set of one or more compiled rules within the discrimination network against the one or more local objects within the working memory,wherein the automation infrastructure detects new rule attributes within application entries of the application matrix that specify application-specific deployment constraints for the corresponding applications with respect to one or more application nodes, and creates local objects reflecting the new rule attributes within the working memories of the one or more application-neutral rule engines without having to recompile the set of application-neutral rules in order to autonomically control the deployment of the applications to the application nodes in accordance with a current state of the application matrix, andwherein the automation infrastructure detects new rule attributes within application entries of the application matrix that specify application-specific service levels for the corresponding applications, and creates local objects reflecting the new rule attributes within the working memories of the one or more application-neutral rule engines without having to recompile the set of application-neutral rules in order to autonomically monitor the execution of the applications when deployed to the application nodes in accordance with a current state of the application matrix.
3 Assignments
0 Petitions
Accused Products
Abstract
A distributed computing system conforms to a multi-level, hierarchical organizational model. One or more control nodes provide for the efficient and automated allocation and management of computing functions and resources within the distributed computing system in accordance with the organization model. A user, such as a system administrator, interacts with the control nodes to logically define the hierarchical organization of distributed computing system. The control node includes an automation subsystem having one or more rule engines that provide autonomic control of the application nodes in accordance with a set of one or more rules. A pluggable, application-specific application matrix is selected and installed within the control node. The application matrix contains a logical definition of the applications, and parameters for controlling the deployment of the applications within the distributed computing system.
-
Citations
35 Claims
-
1. A distributed computing system comprising:
-
a plurality of application nodes interconnected via a communications network; and a control node that comprises; a set of two or more different applications to be executed on the application nodes; an application matrix that includes an application matrix entry for each of the applications in the set of two or more different applications, wherein each application matrix entry contains application-specific parameters for controlling the deployment, undeployment, and execution of the corresponding application within the distributed computing system, wherein the parameters for each of the application matrix entries include parameters that are based on information that is specific to an installation instance of the corresponding application that has been previously deployed within a staging environment and customized for subsequent deployment within the distributed computing system; and an automation infrastructure having one or more application-neutral rule engines that provide autonomic control of the application nodes and autonomic control over the deployment, undeployment, and execution of each of the applications in accordance with a set of one or more application-neutral rules and the application-specific parameters stored within the corresponding entry within the application matrix, wherein each of the one or more application-neutral rule engines comprises a working memory that includes one or more local objects, wherein each rule in the set of one or more application-neutral rules includes a match condition and an implied action, wherein the set of one or more application-neutral rules is compiled into a discrimination network that includes a translation of the match conditions of the set of one or more rules such that redundant tests are avoided during rule execution, wherein the one or more application-neutral rule engines further comprises an execution engine that matches the set of one or more compiled rules within the discrimination network against the one or more local objects within the working memory, wherein the automation infrastructure detects new rule attributes within application entries of the application matrix that specify application-specific deployment constraints for the corresponding applications with respect to one or more application nodes, and creates local objects reflecting the new rule attributes within the working memories of the one or more application-neutral rule engines without having to recompile the set of application-neutral rules in order to autonomically control the deployment of the applications to the application nodes in accordance with a current state of the application matrix, and wherein the automation infrastructure detects new rule attributes within application entries of the application matrix that specify application-specific service levels for the corresponding applications, and creates local objects reflecting the new rule attributes within the working memories of the one or more application-neutral rule engines without having to recompile the set of application-neutral rules in order to autonomically monitor the execution of the applications when deployed to the application nodes in accordance with a current state of the application matrix. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 33, 34, 35)
-
-
20. A method comprising:
-
generating an application matrix that includes an application matrix entry for each of the applications in a set of two or more different applications to be executed on a plurality of application nodes interconnected via a communications network, wherein each application matrix entry contains application-specific parameters for controlling the deployment, undeployment, and execution of the corresponding applications within a distributed computing system, and wherein the parameters for each of the application matrix entries include parameters that are based on information that is specific to an installation instance of the corresponding application that has been previously deployed within a staging environment and customized for subsequent deployment within the distributed computing system; providing, with one or more application-neutral rule engines, autonomic control of the application nodes and autonomic control over the deployment, undeployment, and execution of each of the applications within the distributed computing system in accordance with a set of one or more application-neutral rules and the application-specific parameters stored within the corresponding entry within the application matrix, wherein each of the one or more application-neutral rule engines comprises a working memory that includes one or more local objects, wherein each rule in the set of one or more application-neutral rules includes a match condition and an implied action, wherein the set of one or more application-neutral rules is compiled into a discrimination network that includes a translation of the match conditions of the set of one or more rules such that redundant tests are avoided during rule execution, wherein providing, with one or more application-neutral rule engines, autonomic control comprises matching the set of one or more compiled rules within the discrimination network against the one or more local objects within the working memory; detecting new rule attributes within application entries of the application matrix that specify application-specific deployment constraints for the corresponding applications with respect to one or more application nodes; creating local objects reflecting the new rule attributes within the working memories of the one or more application-neutral rule engines without having to recompile the set of application-neutral rules in order to autonomically control the deployment of the applications to the application nodes in accordance with a current state of the application matrix; detecting new rule attributes within application entries of the application matrix that specify application-specific service levels for the corresponding applications; and creating local objects reflecting the new rule attributes within the working memories of the one or more application-neutral rule engines without having to recompile the set of application-neutral rules in order to autonomically monitor the execution of the applications when deployed to the application nodes in accordance with a current state of the application matrix. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer-readable medium comprising instructions that cause a programmable processor to:
-
generate an application matrix that includes an application matrix entry for each of the applications in a set of two or more different applications to be executed on a plurality of application nodes interconnected via a communications network, wherein each application matrix entry contains application-specific parameters for controlling the deployment, undeployment, and execution of the corresponding applications within a distributed computing system, and wherein the parameters for each of the application matrix entries include parameters that are based on information that is specific to an installation instance of the corresponding application that has been previously deployed within a staging environment and customized for subsequent deployment within the distributed computing system; provide, with one or more application-neutral rule engines, autonomic control of the application nodes and autonomic control over the deployment, undeployment, and execution of each of the applications within the distributed computing system in accordance with a set of one or more application-neutral rules and the application-specific parameters stored within the corresponding entry within the application matrix, wherein each of the one or more application-neutral rule engines comprises a working memory that includes one or more local objects, wherein each rule in the set of one or more application-neutral rules includes a match condition and an implied action, wherein the set of one or more application-neutral rules is compiled into a discrimination network that includes a translation of the match conditions of the set of one or more rules such that redundant tests are avoided during rule execution, wherein the instructions that cause the programmable processor to provide, with one or more application-neutral rule engines, autonomic control comprise instructions that cause the processor to match the set of one or more compiled rules within the discrimination network against the one or more local objects within the working memory; detect new rule attributes within application entries of the application matrix that specify application-specific deployment constraints for the corresponding applications with respect to one or more application nodes; create local objects reflecting the new rule attributes within the working memories of the one or more application-neutral rule engines without having to recompile the set of application-neutral rules in order to autonomically control the deployment of the applications to the application nodes in accordance with a current state of the application matrix; detect new rule attributes within application entries of the application matrix that specify application-specific service levels for the corresponding applications; and create local objects reflecting the new rule attributes within the working memories of the one or more application-neutral rule engines without having to recompile the set of application-neutral rules in order to autonomically monitor the execution of the applications when deployed to the application nodes in accordance with a current state of the application matrix.
-
Specification