Automated detection of problems in software application deployments
First Claim
1. A computer-implemented meta-application system for monitoring and analyzing the operation of a deployment of a software application, comprising:
- a computer system comprising one or more computers, said computer system programmed to implement at least;
a monitoring component that collects data values of each of a plurality of state metrics associated with the deployment of the software application;
a repository that stores a plurality of rules, at least some of which map respective combinations of states associated with the state metrics to corresponding problems; and
an analysis engine that programmatically detects instances of said problems, at least in-part, by using the rules to analyze the state metric data values collected by the monitoring component;
wherein at least one of the rules is configured to be used by the analysis engine to generate a virtual circuit comprising;
a plurality of atomic gates each configured to be used by the analysis engine to test for whether collected data values for one or more of the state metrics indicate the existence of one of a plurality of possible conditions of the deployment of the software application, and to produce an output bead if the condition exists within the deployment; and
a plurality of operator gates each having one or more inputs, each of the inputs configured to receive output beads from one of the atomic gates or from another one of the operator gates, each operator gate configured to be used by the analysis engine to test for a condition associated with received beads and to produce an output bead if the condition is met;
wherein the rule is configured to be applied by the analysis engine to automatically detect the existence of a problem within the deployment based on output beads generated from use of the operator gates.
9 Assignments
0 Petitions
Accused Products
Abstract
A system for monitoring and analyzing the operation of a deployment of a software application is disclosed. The system includes a monitoring component, a repository that stores a plurality of rules, and an analysis engine. The monitoring component collects data values of each of a plurality of state metrics associated with the deployment of the software application. At least some of the rules in the repository map respective combinations of states associated with the state metrics to corresponding problems. The analysis engine programmatically detects instances of said problems, at least in-part, by using the rules to analyze the state metric data values collected by the monitoring component. The rules can also include remedies associated with the detected problems, and the system may include remedy selection and execution modules.
-
Citations
65 Claims
-
1. A computer-implemented meta-application system for monitoring and analyzing the operation of a deployment of a software application, comprising:
-
a computer system comprising one or more computers, said computer system programmed to implement at least; a monitoring component that collects data values of each of a plurality of state metrics associated with the deployment of the software application; a repository that stores a plurality of rules, at least some of which map respective combinations of states associated with the state metrics to corresponding problems; and an analysis engine that programmatically detects instances of said problems, at least in-part, by using the rules to analyze the state metric data values collected by the monitoring component; wherein at least one of the rules is configured to be used by the analysis engine to generate a virtual circuit comprising; a plurality of atomic gates each configured to be used by the analysis engine to test for whether collected data values for one or more of the state metrics indicate the existence of one of a plurality of possible conditions of the deployment of the software application, and to produce an output bead if the condition exists within the deployment; and a plurality of operator gates each having one or more inputs, each of the inputs configured to receive output beads from one of the atomic gates or from another one of the operator gates, each operator gate configured to be used by the analysis engine to test for a condition associated with received beads and to produce an output bead if the condition is met; wherein the rule is configured to be applied by the analysis engine to automatically detect the existence of a problem within the deployment based on output beads generated from use of the operator gates. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A computer-implemented meta-application system for monitoring and analyzing the operation of a deployment of a software application, comprising:
-
a computer system comprising one or more computers, said computer system programmed to implement at least; a monitoring component that collects data values of each of a plurality of state metrics associated with the deployment of the software application; a repository that stores a plurality of rules, at least some of which map respective logical combinations of states associated with the state metrics to corresponding problems; and an analysis engine that programmatically detects instances of said problems, at least in-part, by using the rules to analyze the state metric data values collected by the monitoring component; wherein at least one rule stored in the repository includes at least one query for a new data value for at least one of the state metrics, and wherein the analysis engine is configured to initiate said query and use the data value obtained via said query in cooperation with the rule to evaluate whether the problem associated with said at least one rule exists within the deployment, the rules and the query being represented substantially in a logic programming language; wherein the rules collectively comprise logical formulae including predicates, logical operators, mathematical operators, free variables, and constant terms, the logical operators including AND and OR operators. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52)
-
-
53. A computer-implemented meta-application system for monitoring and analyzing the operation of a deployment of a software application, comprising:
-
a computer system comprising one or more computers, said computer system programmed to implement at least; a monitoring component that collects data values of each of a plurality of state metrics associated with the deployment of the software application; a repository that stores a plurality of rules, at least some of which map respective combinations of states associated with the state metrics to corresponding problems; and an analysis engine that programmatically detects instances of said problems, at least in-part, by using the rules to analyze the state metric data values collected by the monitoring component; wherein at least one rule stored in the repository includes a plurality of gates each configured to be used by the analysis engine to test for whether collected data values for one or more of the state metrics indicate the existence of one of a plurality of possible conditions of the deployment of the software application, at least some of the gates configured to propagate temporal information reflective of times that particular conditions were detected, the analysis engine being configured to use the temporal information to detect a problem with the deployment.
-
-
54. A computer-implemented meta-application system for monitoring and analyzing the operation of a deployment of a software application, comprising:
-
a computer system comprising one or more computers, said computer system programmed to implement at least; a monitoring component that collects data values of each of a plurality of state metrics associated with the deployment of the software application; a repository that stores a plurality of rules, at least some of which map respective combinations of states associated with the state metrics to corresponding problems, the rules written in a logical programming language and collectively comprising logical formulae including predicates, logical operators, mathematical operators, free variables, and constant terms, the logical operators including AND and OR operators; and an analysis engine that programmatically detects instances of said problems, at least in-part, by using the rules to analyze the state metric data values collected by the monitoring component, the analysis engine including a feature detection component that analyzes a stream of data values of a time-varying state metric to detect a predefined type of feature of said stream, at least some of the rules taking the feature into consideration in evaluating whether a corresponding problem exists; wherein the feature detection component analyzes the stream, at least in part, by using a mathematical model associated with the time-varying state metric to evaluate whether a behavior of the state metric includes the feature. - View Dependent Claims (55, 56, 57, 58, 59)
-
-
60. A computer-implemented meta-application system for monitoring and analyzing the operation of a deployment of a software application, comprising:
-
a computer system comprising one or more computers, said computer system programmed to implement at least; a monitoring component that collects data values of each of a plurality of state metrics associated with the deployment of the software application; a repository that stores a plurality of rules, at least some of which map respective combinations of states associated with the state metrics to corresponding problems, each rule expressed in a logic programming language; and an analysis engine that programmatically detects instances of said problems, at least in-part, by interpreting the rules to analyze the state metric data values collected by the monitoring component; wherein the rules collectively comprise logical formulae including predicates, logical operators, mathematical operators, free variables, and constant terms, the logical operators including AND and OR operators. - View Dependent Claims (61, 62)
-
-
63. A computer-implemented system for monitoring and analyzing the operation of a deployment of a software application, comprising:
-
a monitoring component that collects data values of each of a plurality of state metrics associated with the deployment of the software application; a repository that stores a plurality of rules, at least some of which map respective combinations of states associated with the state metrics to corresponding problems; and an analysis engine that programmatically detects instances of said problems, at least in-part, by using the rules to analyze the state metric data values collected by the monitoring component to detect features of the deployment and convert the features into closed atomic formulas; and one or more computers configured to implement the monitoring component and analysis engine; wherein each rule corresponds to a potential problem with the deployment and comprises a logical combination of open atomic formulas containing free variables, the analysis engine configured to match closed atomic formulas of detected features against open atomic formulas of the rule to produce output value binding substitutions which logically combine to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable, the substitutions including one or more variable assignments derived from closed atomic formulas of detected features. - View Dependent Claims (64, 65)
-
Specification