Encoded software management rules having free logical variables for input pattern matching and output binding substitutions to supply information to remedies for problems detected using the rules
First Claim
1. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
- a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and
a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment;
wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable;
wherein the rule comprises a logic rule expressed in a first order logic language.
7 Assignments
0 Petitions
Accused Products
Abstract
A rule stored in a tangible computer-readable memory is adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application. The rule comprises a plurality of atomic gates and a plurality of operator gates. The atomic gates have predicates for detecting occurrences of a plurality of conditions in the software application deployment. The operator gates are configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output that indicates whether the problem is currently detected in the deployment. The rule contains a plurality of free logical variables which can be assigned values. The free logical variables are configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem. Each substitution comprises an assignment of a value to a variable.
144 Citations
48 Claims
-
1. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable; wherein the rule comprises a logic rule expressed in a first order logic language. - 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. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable; wherein at least some of the gates are configured to propagate time-of-occurrence information reflective of times that particular conditions are detected by particular predicates, such that the time-of-occurrence information can be used to detect existence of the problem.
-
-
30. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; and different numerical predicate contribution weights given to different ones of said predicates for purposes of differently weighting importance levels of the predicates in evaluating whether the problem exists, the contribution weights being stored in the rule; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable.
-
-
31. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; and different numerical predicate contribution weights given to different ones of said predicates for purposes of differently weighting importance levels of the predicates in computing a confidence that the problem exists, the contribution weights being stored in the rule; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable.
-
-
32. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable; wherein at least one of the atomic gates is capable of generating degree-of-match information specifying a degree to which a condition associated with the atomic gate is met, and at least one of the operator gates is configured to propagate the degree-of-match information for use in generating said rule output.
-
-
33. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; a metadata attribute designating at least one of the predicates as a required predicate that must detect a match in order for the rule output to indicate presence of the problem; and a metadata attribute designating at least one of the predicates as an optional predicate which need not detect a match for the rule output to indicate presence of the problem, but for which detection of a match increases a likelihood that the rule output will indicate presence of the problem; wherein said metadata attributes are stored in the rule; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable.
-
-
34. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable; wherein some of the predicates include metadata attributes indicating whether the predicate is required or optional, the attributes specifying how the rule calculates a confidence in the existence of the problem.
-
-
35. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable; wherein the rule can be programmatically used to receive condition confidence values each representing a confidence that a particular one of the conditions is true, the rule including static significance values for the conditions, such that the significance values can be programmatically used to decline to report the problem when (1) one or more of the conditions are found to be true, (2) the true conditions indicate that the problem is currently present in the deployment, and (3) a condition confidence value of at least one of the true conditions does not exceed the significance value of that particular condition. - View Dependent Claims (36)
-
-
37. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; and a query to be made to an application model to retrieve deployment information used to check for a particular one of the conditions, the query being stored in the rule, the query adapted to retrieve information from an application model comprising a representation of hardware and software entities of the deployment and dependencies between the entities; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable.
-
-
38. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable; wherein the rule is derived from a diagnostic method associated with the software application. - View Dependent Claims (39)
-
-
40. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; an attribute designating at least one of the conditions as a required condition; and an attribute designating at least another one of the conditions as an optional condition, such that the rule can be programmatically used to require the required condition for detection of the problem and to not require the optional condition for detection of the problem; wherein the attributes are stored in the rule; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable. - View Dependent Claims (41, 42)
-
-
43. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; and at least one query for new telemetry data from the deployment to obtain a new value of a time-varying state metric of the deployment, wherein the value obtained via said query can be used in cooperation with the rule to evaluate whether the problem exists, the rule and the query being represented substantially in a logic programming language; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable.
-
-
44. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable; wherein the rule includes a query for obtaining state data of the deployment, the query adapted to be made to an application model comprising a representation of hardware and software entities of the deployment and dependencies between the entities, the rule being configured to be used in combination with at least the state data obtained via said query to evaluate whether the problem exists. - View Dependent Claims (45)
-
-
46. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable; wherein at least one of the atomic gates comprises an open formula with free logical variables and the pattern matching comprises producing a data structure representing a resultant formula, the resultant formula representing at least a partial satisfaction of the open formula.
-
-
47. A rule stored in a tangible computer-readable memory, the rule adapted to be programmatically applied by a computer to automatically detect occurrences of a particular problem in a deployment of a software application, said rule comprising:
-
a plurality of atomic gates having predicates for detecting occurrences of a plurality of conditions in the deployment of the software application; and a plurality of operator gates configured to detect predefined logical combinations of outputs of the atomic gates to generate a rule output, said rule output indicating whether the problem is currently detected in the deployment; wherein the rule contains a plurality of free logical variables which can be assigned values, the free logical variables configured for use in input pattern matching and output binding substitutions to supply information to a remedy for the problem, each substitution comprising an assignment of a value to a variable; wherein at least some of the gates include cost calculation procedures for calculating computational costs of obtaining data for evaluating said conditions in the deployment of said software application. - View Dependent Claims (48)
-
Specification