Claims
- 1. A system, comprising:
a fact repository configured to receive static facts about a product configuration, wherein the static facts are organized into a standard pattern and used in evaluating one or more checks, wherein the one or more checks comprises a rule section, wherein the rule section comprises a rule formatted according to a rule language to detect a product issue, wherein the one or more checks further comprises a remediation section with information to address the product issue; a knowledge automation engine configured to receive the one or more checks and one or more facts, wherein the knowledge automation engine is further configured to automatically evaluate the one or more checks against the one or more facts to determine if any product issues specified by the one or more checks exists for the product configuration, wherein the one or more facts received by the knowledge automation engine are stored in the standard pattern in the fact repository; and a fact collector configured to extract a fact from an input source, wherein the fact collector is configured to organize the extracted fact into the standard pattern recognizable by the knowledge automation engine, wherein the fact collector sends the extracted fact to the knowledge automation engine in response to the knowledge automation engine not finding the fact needed to evaluate one or more checks in the fact repository and sending a query to the fact collector for the fact needed to evaluate the one or more checks.
- 2. The system as recited in claim 1, wherein the standard pattern in the fact repository includes fact slots for facts in the fact repository.
- 3. The system as recited in claim 1, wherein a fact in the fact repository includes patch information relevant to a product.
- 4. The system as recited in claim 1, wherein a fact in the fact repository includes disk firmware version information relevant to a product.
- 5. The system as recited in claim 1, wherein a fact in the fact repository includes package information relevant to a product.
- 6. The system as recited in claim 1, wherein the fact repository is stored in a Jar file comprised of Java objects.
- 7. The system as recited in claim 1, further comprising a cache coupled to the fact repository for storing facts for access by the knowledge automation engine.
- 8. The system as recited in claim 1, wherein the input source accessed by a fact collector configured to extract a fact includes a directory and a flat-file.
- 9. The system as recited in claim 1, wherein the input source accessed by a fact collector configured to extract a fact includes an explorer database.
- 10. The system as recited in claim 1, wherein the input source accessed by a fact collector configured to extract a fact includes extensible markup language format explorer data.
- 11. The system as recited in claim 1, wherein the input source accessed by a fact collector configured to extract a fact includes a crash dump data extractor.
- 12. The system as recited in claim 1, wherein the input source accessed by a fact collector configured to extract a fact includes a live system operations data extractor.
- 13. The system as recited in claim 1, wherein the input source accessed by a fact collector configured to extract a fact includes an SRS data gatherer.
- 14. The system as recited in claim 1, wherein the input source accessed by a fact collector configured to extract a fact includes a script runner.
- 15. The system as recited in claim 1, wherein the input source accessed by a fact collector configured to extract a fact includes a query and response interface.
- 16. The system as recited in claim 1, wherein the fact repository collects the static facts about the product and replaces the static facts stored in the fact repository with the collected static facts.
- 17. A method, comprising
collecting static facts about a product configuration; storing the static facts in a fact repository in a standard format recognizable by a knowledge automation engine; wherein the knowledge automation engine evaluates a check using a needed fact; receiving a request from a knowledge automation engine for the needed fact to evaluate a check; wherein the check has a rule formatted in a rule language to detect a product issue when the rule is evaluated with the needed fact; if the needed fact is found in the fact repository, returning the needed fact to the knowledge automation engine; if the needed fact is not found in the fact repository:
searching an input source using the fact collector for the needed fact; if the needed fact is found by the fact collector:
organizing the needed fact in the standard format recognizable by the knowledge automation engine; sending the needed fact to the knowledge automation engine; and sending the needed fact to the fact repository.
- 18. The method as recited in claim 17, wherein the fact collector sends the fact to the fact repository after collecting a fact from a input source using a predetermined format and the input source; wherein the predetermined format includes a location of facts in the input source.
- 19. The method as recited in claim 17, further comprising storing the facts in the fact repository in predetermined fact slots.
- 20. The method as recited in claim 17, wherein the fact repository comprises static facts related to multiple products.
- 21. The method as recited in claim 17, wherein the fact repository is stored at a remote location from a user computer system.
- 22. The method as recited in claim 17, further comprising the knowledge automation engine sending a fact query to the fact collector including a fact class name, a fact instance name, and a slot name if the needed fact is not found in the fact repository.
- 23. The method as recited in claim 17, wherein the input source is selected from a group consisting of directory/flat-file formats, explorer factsbases, XML format explorer facts, crash dump facts extractors, live system operations facts extractors, SRS facts gatherers, script runners, and query/response interfaces.
- 24. The method as recited in claim 17, wherein the script runners are selected from a group consisting of NAWK, TCL, and PERL.
- 25. The method as recited in claim 17, further comprising if the fact collector finds several facts, writing the first fact found to the fact repository and returning the first fact to the knowledge automation engine.
- 26. The method as recited in claim 17, further comprising if the fact collector finds several facts, comparing the facts found by the fact collector for consistency.
- 27. The method as recited in claim 17, wherein the fact repository is stored on a format selected from a group consisting of flat-file, ZIP file, Javaspaces, and Oracle RDBMS.
- 28. The method as recited in claim 17, wherein the fact repository can be modified by deleting a fact, deleting a set of facts based on a regular expression, getting a fact, getting a fact class definition, getting a set of fact classes based on a regular expression, listing all fact instances, and putting a fact in the fact repository.
- 29. A carrier medium comprising program instructions, wherein the program instructions are computer-executable to:
collecting static facts about a product configuration; storing the static facts in a fact repository in a standard format recognizable by a knowledge automation engine; wherein the knowledge automation engine evaluates a check using a needed fact; receiving a request from a knowledge automation engine for the needed fact to evaluate a check; wherein the check has a rule formatted in a rule language to detect a product issue when the rule is evaluated with the needed fact; if the needed fact is found in the fact repository, returning the needed fact to the knowledge automation engine; if the needed fact is not found in the fact repository:
searching an input source using the fact collector for the needed fact; if the needed fact is found by the fact collector:
organizing the needed fact in the standard format recognizable by the knowledge automation engine; sending the needed fact to the knowledge automation engine; and sending the needed fact to the fact repository.
- 30. The carrier medium as recited in claim 29, wherein the fact collector sends the fact to the fact repository after collecting a fact from a input source using a predetermined format and the input source; wherein the predetermined format includes a location of facts in the input source.
- 31. The carrier medium as recited in claim 29, further comprising storing the facts in the fact repository in predetermined fact slots.
- 32. The carrier medium as recited in claim 29, wherein the fact repository comprises static facts related to multiple products.
- 33. The carrier medium as recited in claim 29, wherein the fact repository is stored at a remote location from a user computer system.
- 34. The carrier medium as recited in claim 29, further comprising the knowledge automation engine sending a fact query to the fact collector including a fact class name, a fact instance name, and a slot name if the needed fact is not found in the fact repository.
- 35. The carrier medium as recited in claim 29, wherein the input source is selected from a group consisting of directory/flat-file formats, explorer factsbases, XML format explorer facts, crash dump facts extractors, live system operations facts extractors, SRS facts gatherers, script runners, and query/response interfaces.
- 36. The carrier medium as recited in claim 29, wherein the script runners are selected from a group consisting of NAWK, TCL, and PERL.
- 37. The carrier medium as recited in claim 29, further comprising if the fact collector finds several facts, writing the first fact found to the fact repository and returning the first fact to the knowledge automation engine.
- 38. The carrier medium as recited in claim 29, further comprising if the fact collector finds several facts, comparing the facts found by the fact collector for consistency.
- 39. The carrier medium as recited in claim 29, wherein the fact repository is stored on a format selected from a group consisting of flat-file, ZIP file, Javaspaces, and Oracle RDBMS.
- 40. The carrier medium as recited in claim 29, wherein the fact repository can be modified by deleting a fact, deleting a set of facts based on a regular expression, getting a fact, getting a fact class definition, getting a set of fact classes based on a regular expression, listing all fact instances, and putting a fact in the fact repository.
PRIORITY INFORMATION
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 10/135,483, filed Apr. 30, 2002, titled “Rules-Based Configuration Problem Detection”, by Helgren, et al.
[0002] This application is also a continuation-in-part of U.S. patent application Ser. No. 09/917,597, filed Jul. 27, 2001, titled “Automated Problem Identification System”, by Little, et al. which claims benefit of priority to U.S. provisional patent application No. 60/223,400, filed Aug. 4, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60223400 |
Aug 2000 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
10135483 |
Apr 2002 |
US |
Child |
10319040 |
Dec 2002 |
US |
Parent |
09917597 |
Jul 2001 |
US |
Child |
10319040 |
Dec 2002 |
US |