Application governor providing application-level autonomic control within a distributed computing system
First Claim
1. A distributed computing system comprising:
- a plurality of application nodes interconnected via a communications network, wherein each of the application nodes comprises one or more programmable processors; and
a control node comprising;
one or more programmable processors;
an automation subsystem, executing on the one or more programmable processors, having one or more rules engines that provide autonomic control of the deployment, undeployment, start of execution, and termination of execution of a set of applications to the application nodes in accordance with a set of one or more rules, wherein each of the rules engines is a forward-chaining rules engine having a working memory with rules stored therein, and wherein the rules engines comprise;
a first rules engine that applies a set of application-specific rules to produce action requests to the application governor to control deployment of the applications; and
a second rules engine that is application neutral, wherein the second rules engine applies a set of application-independent rules to produce action requests to control the application nodes; and
wherein the control node further comprises;
an application governor, executing on the one or more programmable processors, that performs actions with respect to the applications in response to action requests from the first rules engine;
a monitoring subsystem that collects status data from the application nodes and communicates the status data to the automation subsystem, wherein the status data represents an actual state for the application nodes; and
a business logic tier that provides expected state data to the automation subsystem, wherein the expected state data represents an expected state for the application nodes,wherein the second rules engine analyzes the status, data from the monitoring subsystem and applies the set of rules to produce action requests to the business logic tier to control the application nodes to reduce any difference between the actual state and the expected state.
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 governor is selected and installed within the control node to provide an application-independent interface through which the rule engines interact to control the deployment, execution and monitoring of the applications within the distributed computing system.
72 Citations
21 Claims
-
1. A distributed computing system comprising:
- a plurality of application nodes interconnected via a communications network, wherein each of the application nodes comprises one or more programmable processors; and
a control node comprising; one or more programmable processors; an automation subsystem, executing on the one or more programmable processors, having one or more rules engines that provide autonomic control of the deployment, undeployment, start of execution, and termination of execution of a set of applications to the application nodes in accordance with a set of one or more rules, wherein each of the rules engines is a forward-chaining rules engine having a working memory with rules stored therein, and wherein the rules engines comprise; a first rules engine that applies a set of application-specific rules to produce action requests to the application governor to control deployment of the applications; and a second rules engine that is application neutral, wherein the second rules engine applies a set of application-independent rules to produce action requests to control the application nodes; and wherein the control node further comprises; an application governor, executing on the one or more programmable processors, that performs actions with respect to the applications in response to action requests from the first rules engine; a monitoring subsystem that collects status data from the application nodes and communicates the status data to the automation subsystem, wherein the status data represents an actual state for the application nodes; and a business logic tier that provides expected state data to the automation subsystem, wherein the expected state data represents an expected state for the application nodes, wherein the second rules engine analyzes the status, data from the monitoring subsystem and applies the set of rules to produce action requests to the business logic tier to control the application nodes to reduce any difference between the actual state and the expected state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
- a plurality of application nodes interconnected via a communications network, wherein each of the application nodes comprises one or more programmable processors; and
Specification