Data processing: artificial intelligence – Knowledge processing system – Knowledge representation and reasoning technique
Reexamination Certificate
1999-12-06
2003-04-22
Follansbee, John A. (Department: 2121)
Data processing: artificial intelligence
Knowledge processing system
Knowledge representation and reasoning technique
C706S046000
Reexamination Certificate
active
06553360
ABSTRACT:
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
FIELD OF THE INVENTION
The present invention is related generally to a software-based system and methodology for providing diagnoses and solutions to problems encountered by a given system. More particularly, the present invention is directed to a software-based system and methodology incorporating a problem-resolution production system, solution interpreters for implementing chosen solutions, and information providers, in which the solution interpreters and information providers interface with the problem-resolution production system via standardized interface mechanisms.
BACKGROUND OF THE INVENTION
A “problem-resolution production system” (or simply referred to hereinafter as “production system”) is a software system and methodology widely understood in the artificial intelligence field of computer science. At the most basic level of abstraction, a production system refers to a problem-resolution software engine and a set of rules which are written to reach some conclusion upon being operated on by the problem-resolution software engine, which is well known in the art. Each rule may be quite simple on its own, but when multiple rules are aggregated, these rules can form a quite complex system. A very simple example of a set of rules which may be contained in a production system is illustrated below in Table 1:
TABLE 1
Rule 1:
If person 1 is the parent of person 2, and person 1 is also the
parent of person 3, and person 2 is female, then person 2 is the
sister of person 3.
Rule 2:
If person 1 is the parent of person 2, and person 3 is the sister
of person 1, then person 3 is the aunt of person 2.
Many simple rules such as the ones mentioned above can be added to the production system. Once the rules have been written, then the production system is initialized with a set of facts such as the ones exemplified below in Table 2:
TABLE 2
Fact 1: Jim is Male
Fact 6: Jim is the parent of Jill
Fact 2: Jill is Female
Fact 7: Jim is the parent of Sam
Fact 3: Sally is Female
Fact 8: Sam is the parent of Jeff
Fact 4: Sam is Male
Fact 9: Sam is the parent of Sally
Fact 5: Jeff is Male
From this initial set of facts, and the rules previously mentioned above, the production system can infer several things: a) Jill is Sam's Sister; b) Sally is Jeff's Sister; and c) Jill is the aunt of both Sally and Jeff. More rules could be added to generate additional inferences, e.g., rules regarding grandfathers, cousins, etc.
In practical applications, production systems can be used to diagnose and solve sets of problems encountered by a computer system, for example. Given rules about a specific topic such as how to diagnose and solve problems related to printing a document from a computer system, for example, facts about the current state of the computer system can be entered into the production system. The production system then applies the relevant rules to determine if there is any problem, and if so, determine the best method for solving the problem.
While the above-described production system seems simple enough, several fundamental issues arise in streamlining and maximizing the versatility of the production system. The first issue is how to channel information about the state of the monitored computer system to the production system as a set of facts packaged in a standardized format. In addressing this issue, it is helpful to explore the concept of the Common Information Model (“CIM”), which was developed by a computer-industry consortium called the Desktop Management Task Force (“DMTF”) in an effort to facilitate uniform representation of computer-system objects in various operating systems. Simply put, CIM is a model that defines the components of a computing environment in terms of objects. Using CIM, the computer-system objects can be queried using SQL- like database queries. SQL, or “Simple Query Language,” is a common language used to make database queries, and an example of an SQL query would be “Select Name From Users Where ID>30,” which query would find the names of all users in a database who have user IDs greater than 30. An example of a CIM query is “Select *from CIM_LogicalDiskDrive,” which query would return references to objects representing each memory disk drive in a particular computer system. These objects contain properties that define various aspects of the disk. In this example, the CIM_LogicalDiskDrive has properties such as DeviceID, FreeSpace and Size. Many other objects may be represented in CIM, such as the processor, system BIOS (“Basic Input/Output System”), operating system type, running processes, etc. One major drawback of CIM, however, is that CIM is a data model with no semantic notion and does not provide for manipulation of the objects in context. Even in an implementation of CIM which allows attachment of “methods” (which contain executable functions) to CIM objects, a given “method” will execute a called function without discrimination or context because the “method” is based on traditional Object Oriented (“OO”) technology.
Once the appropriate rules have been applied and a solution for the problem has been found, the next issue is implementation of the solution. Ideally, it would be desirable to achieve an implementation whereby once the optimal solution has been determined, the chosen solution is immediately and automatically implemented. However, there are many different types of solutions which may be proposed, and there is a need for an interface mechanism to handle various types of solutions that may be proposed by a given production system.
Existing methods of dealing with this issue involve writing program codes which are directly tied to the details of a given production system. An obvious disadvantage of this approach is that the person implementing the program codes must understand the details of the relevant internal operations of the production system in order to generate an appropriate action as directed by the production rules. Furthermore, because an interface mechanism is “customized” for a particular production system, different production systems require different interface mechanisms.
SUMMARY OF THE INVENTION
The present invention provides a software-based system and methodology incorporating a problem-resolution production system, a mechanism for channeling information to the production system in a standardized format, “information providers” that retrieve information from specific information sources, and “solution interpreters” for implementing chosen solutions. In accordance with the present invention, the above-mentioned software system may be organized into a “solution cube” which interacts with a problem-resolution framework to identify and solve problems encountered by a given system, e.g., a host computer system. The solution cube, which is a uniquely identifiable problem-resolution object, may be constructed via a method, referred to as a “cube builder.” Each “solution cubes” consists of one or more “knowledge elements.” The knowledge element may in turn consist of: state strategies (e.g., what to monitor, etc.); logic governing the problem resolution strategies in the form of rules; and actionable components (scripts, executable, command lines, etc.). Each of the individual “knowledge elements” that make up a given solution cube is reusable by other solution cubes, and individual components may be added incrementally to achieve a desired aggregation for a particular solution cube. Furthermore, each solution cube is uniquely identified through a GUID (“Globally Unique ID”).
The above-mentioned knowledge elements operate to add semantic information to the CIM data model which defines the components of a computing environment in terms of objects. The know
Follansbee John A.
Holmes Michael B.
Intel Corporation
Kenyon & Kenyon
LandOfFree
Software-based problem-resolution production system with... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Software-based problem-resolution production system with..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Software-based problem-resolution production system with... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3053026