Systems and methods for encoding knowledge for automated management of software application deployments
First Claim
1. A method of encoding a diagnostic troubleshooting procedure for detecting problems in a deployment of a software application, comprising:
- providing a human-readable diagnostic procedure configured to be used to detect problems in the deployment, the diagnostic procedure represented as a machine-readable tree comprising decision factors, at least some of the decision factors having “
yes” and
“
no”
paths;
encoding the decision factors into a machine-readable format, including encoding input and output information for each encoded decision factor;
using a computer-implemented tool to automatically convert the tree into a plurality of machine-readable rules, each of the rules corresponding to one of the problems, each of the rules comprising a specific navigation of a plurality of the decision factors and a plurality of “
yes”
or “
no”
paths of the tree, each of said navigations comprising a navigation from a root node of the tree to one of a plurality of terminal nodes of the tree; and
storing the rules in computer storage, in a format in which the rules can be used by a computer to automatically detect said problems in the deployment of the software application.
9 Assignments
0 Petitions
Accused Products
Abstract
A method of encoding knowledge is disclosed, which can be used to automatically detect problems in software application deployments. The method includes accessing a source of knowledge describing a problem known to occur in deployments of a particular software application, and which identifies a plurality of conditions associated with the problem. An encoded representation of the knowledge source is generated according to a predefined knowledge encoding methodology. The encoded representation is adapted to be applied automatically by a computer to analyze data representing a current state of a monitored deployment of the software application to detect whether the conditions and the problem exist therein. In various implementations, the encoded representation of the knowledge can include queries for deployment information, information concerning the relative importance of the conditions to a detection of the problem, and/or logical constructs for computing a confidence value in the existence of the problem and for determining whether to report the problem if some of the conditions are not true. The knowledge source can comprise a text document (such as a knowledge base article), a flowchart of a diagnostic troubleshooting method, and the like. Also disclosed are methods of at least partially automating the encoding process.
-
Citations
34 Claims
-
1. A method of encoding a diagnostic troubleshooting procedure for detecting problems in a deployment of a software application, comprising:
-
providing a human-readable diagnostic procedure configured to be used to detect problems in the deployment, the diagnostic procedure represented as a machine-readable tree comprising decision factors, at least some of the decision factors having “
yes” and
“
no”
paths;encoding the decision factors into a machine-readable format, including encoding input and output information for each encoded decision factor; using a computer-implemented tool to automatically convert the tree into a plurality of machine-readable rules, each of the rules corresponding to one of the problems, each of the rules comprising a specific navigation of a plurality of the decision factors and a plurality of “
yes”
or “
no”
paths of the tree, each of said navigations comprising a navigation from a root node of the tree to one of a plurality of terminal nodes of the tree; andstoring the rules in computer storage, in a format in which the rules can be used by a computer to automatically detect said problems in the deployment of the software application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 28, 29, 30)
-
-
8. A method of encoding knowledge that can be used to automatically detect problems in software application deployments, comprising:
-
accessing a source of knowledge describing a problem known to occur in deployments of a particular software application, and which identifies a plurality of conditions associated with the problem; generating an encoded representation of the knowledge source according to a predefined knowledge encoding methodology, said encoded representation adapted to be applied automatically by a computer to analyze data representing a current state of a monitored deployment of said software application to detect whether said conditions and said problem exist therein; and storing the encoded representation in computer storage, in a format in which the encoded representation can be used by the computer to automatically detect the problem in said monitored deployment of said software application; wherein the encoded representation of the knowledge source includes logic for automatically generating, in connection with a detection of an occurrence of the problem, a confidence value representing a confidence that the detection is accurate; wherein the encoded representation of the knowledge source specifies at least one query for affirmatively causing a collection of new telemetry data from said monitored deployment of the software application to obtain a new value of a time-varying state metric of the deployment when the encoded representation has not been previously used to evaluate said state metric during the detection of a particular one of the conditions, wherein the query is represented in the encoded representation, the encoded representation being configured to be used in combination with at least the value obtained via said query to evaluate whether the problem exists in the deployment. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 31, 32, 33, 34)
-
-
27. A method of encoding knowledge that can be used to automatically detect problems in software application deployments, comprising:
-
accessing a source of knowledge describing a problem known to occur in deployments of a particular software application, and which identifies a plurality of conditions associated with the problem; generating an encoded representation of the knowledge source according to a predefined knowledge encoding methodology, said encoded representation adapted to be applied automatically by a computer to analyze state data of a monitored deployment of said software application to detect whether said conditions and said problem exist therein, wherein the encoded representation can be programmatically used to receive condition confidence values each representing a confidence that a particular one of the conditions is true; providing within the encoded representation 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 monitored 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; and storing the encoded representation in computer storage, in a format in which the encoded representation can be used by the computer to automatically detect the problem in said monitored deployment of said software application.
-
Specification