Autonomic control of a distributed computing system using rule-based sensor definitions
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 that comprises;
(i) a working memory that stores a model that reflects an actual state of the distributed computing system;
(ii) an automation subsystem having a rules engine that provides autonomic control of the application nodes in accordance with a set of one or more rules;
(iii) 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
(iv) a business logic tier that performs operations to control the application nodes and provides expected state data to the automation subsystem, wherein the expected state data represents an expected state for the application nodes,wherein the rules engine applies a first subset of the set of rules to update a model of the actual state of the application nodes based on the status data received from the monitoring subsystem, wherein each rule in the first subset of the set of rules defines a sensor for the automation subsystem,wherein the rules engine determines whether the model satisfies a condition specified in a condition portion of each rule in the first subset of the set of rules,wherein the rules engine activates a rule within the first subset of the set of rules when the model satisfies the condition specified in the condition portion of the rule,wherein the rules engine deactivates the rule when the model does not satisfy the condition specified in the condition portion of the rule,wherein the rules engine determines whether the status data from the monitoring subsystem includes a data pattern specified in an action portion of the rule when the rule is activated,wherein the rules engine ceases to determine whether the status data from the monitoring subsystem includes the data pattern specified in the action portion of the rule when the rule is deactivated,wherein the rule engine updates the model in accordance with an operation specified in the action portion of the rule when the rules engine determines that the status data includes the data pattern specified in the action portion of the rule,wherein the rules engine analyzes the model of the actual state of the application nodes analyzes the expected state data from the business logic tier, and applies a second subset of the set of rules to produce action requests to the business logic tier, wherein the action requests indicate one or more operations for the business logic tier to perform to reduce any difference between the model of the actual state of the application nodes and the expected state for the application nodes.
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. For example, the rules may define sensors or methods of configuring the distributed computing system. More specifically, the sensor rules define the conditions under which the automation subsystem may update a model of the distributed computing system based on data received from the distributed computing system.
67 Citations
25 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 that comprises; (i) a working memory that stores a model that reflects an actual state of the distributed computing system; (ii) an automation subsystem having a rules engine that provides autonomic control of the application nodes in accordance with a set of one or more rules; (iii) 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 (iv) a business logic tier that performs operations to control the application nodes and provides expected state data to the automation subsystem, wherein the expected state data represents an expected state for the application nodes, wherein the rules engine applies a first subset of the set of rules to update a model of the actual state of the application nodes based on the status data received from the monitoring subsystem, wherein each rule in the first subset of the set of rules defines a sensor for the automation subsystem, wherein the rules engine determines whether the model satisfies a condition specified in a condition portion of each rule in the first subset of the set of rules, wherein the rules engine activates a rule within the first subset of the set of rules when the model satisfies the condition specified in the condition portion of the rule, wherein the rules engine deactivates the rule when the model does not satisfy the condition specified in the condition portion of the rule, wherein the rules engine determines whether the status data from the monitoring subsystem includes a data pattern specified in an action portion of the rule when the rule is activated, wherein the rules engine ceases to determine whether the status data from the monitoring subsystem includes the data pattern specified in the action portion of the rule when the rule is deactivated, wherein the rule engine updates the model in accordance with an operation specified in the action portion of the rule when the rules engine determines that the status data includes the data pattern specified in the action portion of the rule, wherein the rules engine analyzes the model of the actual state of the application nodes analyzes the expected state data from the business logic tier, and applies a second subset of the set of rules to produce action requests to the business logic tier, wherein the action requests indicate one or more operations for the business logic tier to perform to reduce any difference between the model of the actual state of the application nodes and the expected state for the application nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-implemented method comprising:
-
receiving input that defines an expected state for a distributed computing system having a plurality of application nodes interconnected via a communications network; receiving status data from the distributed computing system regarding an actual state of the distributed computing system; determining, with a rules engine, whether a model of the actual state of the application nodes satisfies a condition specified in a condition portion of each rule in a first subset of a set of rules; activating a rule within the first subset of the set of rules when the model satisfies the condition specified in the condition portion of the rule; deactivating the rule when the model does not satisfy the condition specified in the condition portion of the rule; determining, with the rules engine, whether the status data includes a data pattern specified in an action portion of the rule when the rule is activated; ceasing to determine, with the rules engine, whether the status data includes the data pattern specified in the action portion of the rule when the rule is deactivated; updating the model in accordance with an operation specified in the action portion of the rule when the rules engine determines that the status data includes the data pattern specified in the action portion of the rule; processing rules within a second subset of the set of rules to determine operations for reducing any difference between the expected state and a model of the actual state of the nodes; applying the operations for reducing any difference between the expected state and the model to the distributed computing system to control the application nodes in accordance with the rules. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification