# Patent

## Title
Consolidated monitoring system and method using the internet for diagnosis of an installed product set on a computing device

## Abstract

A system for managing computer system performance is provided. The system includes a workstation including existing installed components that includes software, hardware device, system upgrade, and/or a peripheral device. The system also includes a consolidated monitoring tool executing on the workstation. Upon installing a new component or a new service, the tool queries the workstation for an inventory of the existing components, acquires vendor information for the new component, and builds a database of information. The information includes product information relating to the existing components. The tool also connects to a web site for a vendor associated with the new component via the link, retrieves product information for the new component from the web site, verifies requirements and compatibility of the new component against existing installated components, determines an optimum configuration for the workstation, and configures the workstation in accordance with the optimum configuration.

## Background
BACKGROUND
This invention relates generally to managing computer system performance, and more particularly, the present invention relates to a consolidated monitoring system and method using the Internet for diagnosing installed product sets on a computing device.
The popularity of the Internet and the ease of use of newer computers have made it possible for people with minimal computer skills to accept computers as a new household appliance. However, many of these new users lack the skills necessary to diagnose computer problems based on currently available solutions. Typically, when a computer device runs into a malfunction, the execution of the desired task is cut short and a series of highly technical and non-verbose computer messages are generated and presented to the user. The user is then faced with the challenge of diagnosing the computer problem in order to complete the task. The vast majority of computer users are not computer experts and so the natural response to many personal computer problems is to reboot. Rebooting, however, is not always effective in correcting the malfunction. Different types of system errors require different corrective actions. The highly technical error messages and program faults typically displayed for the lay person are not generally helpful, both in terms of understanding the nature of the problem as well as how to correct it. Many of these messages fail to go away despite attempts to ignore or bypass them. Another type of system error occurs when a program running on the system fails to terminate despite a proper termination request by the user. Even if the program does finally terminate, it sometimes fails to release a given device which may then cause other programs to fail. The lay user is once again left with no corrective tools or preventive solutions.
What is needed is a method and system for assisting a user who encounters a program error by providing a simple explanation of the error and easy to understand action items for this user to take in order to eliminate or prevent these situations. What is also needed is a method and system for providing detailed system and product information that a user can relay to a service provider or product vendor such as current product level and maintenance data, as well as information relating to about activities that have transpired in the system for diagnostic purposes.
BRIEF SUMMARY
An exemplary embodiment of the invention relates to a method and system for managing computer system performance utilizing information acquired over the Internet from a vendor system. The system comprises a user system which further comprises a workstation; at least one peripheral device in communication with the workstation; at least one software application executable by the workstation; a consolidated monitoring tool executable by the workstation; and a database of product data relating to products installed on the user system. The system also comprises a communications link for allowing the user system to communication with a vendor system. The consolidated monitoring tool performs services to the user system including diagnostics, tuning, and configuration utilizing information acquired from the vendor system via the Internet as well as from the user system database.



BRIEF DESCRIPTION OF THE DRAWINGS
Referring now to the drawings wherein like elements are numbered alike in the several FIGURES:
FIG. 1 is a block diagram of a network system upon which the consolidated monitoring tool is implemented in a preferred embodiment of the invention;
FIG. 2 is an exemplary process flowchart describing the configuration and tuning services provided by the consolidated monitoring tool during product installation;
FIG. 3 is an exemplary process flowchart describing the system maintenance and diagnostic services provided by the consolidated monitoring tool during system operation; and
FIG. 4 is an exemplary computer screen window illustrating a sample error message translation provided by the consolidated monitoring tool as seen by an end user.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
In an exemplary embodiment, the consolidated monitoring tool is implemented in a network environment such as system 100 of FIG. 1. System 100 includes a user system 102 connected to the Internet via a communications link 107. User system 102 includes a workstation 103 connected to a communications cable 105. Workstation 103 is preferably a personal computing device and includes a monitor, an input device, memory, and a data processor. Further, workstation 103 may operate various software applications such as word processing, graphics arts tools, computer games and other typical software used by personal computer owners. Workstation 103 is also Internet-enabled, that is, capable of linking up with other network systems outside of user system 102 via a data or communications link such as communication link 107 under a subscription arrangement with an online service provider utilizing telephone lines and a modem, or perhaps via high speed cable lines and an Ethernet adapter or other similar communications systems. Workstation 103 is preferably executing communications software such as an email program and web browser program. For purposes of illustration, user system is an IBM® NetVista desktop computer. Additional components (also referred to as ‘peripheral devices’) shown in user system 102 include a printer 104, a scanner 106, a facsimile 108, and a data storage facility 110, all of which are in communication with workstation 103 via communications cable 105. Alternatively, these components may be in communication with workstation 103 via wireless technologies.
Workstation 103 also executes the consolidated monitoring tool which further comprises a system monitor application 112 executing on top of the operating system of workstation 103, and an Internet connector application 114. Alternatively, system monitor application 112 can be installed on a network server in an office environment (not shown). System monitor application 112 monitors activities occurring during system operation of workstation 103 and intercepts errors that may occur. Once an error is detected, system monitor application 112 retrieves translation data from data storage facility 110 and provides this information to an end user on workstation 103 for information, possible corrective action, as well as preventative actions. Information retrieved from data storage facility 110 may be, in part, provided by Internet connector application 114 which gathers information relating to a product installed on user system 102 via the Internet in order to facilitate system configuration services and maintenance services. These services are further described in FIGS. 2 and 3.
Vendor systems 120 may be service providers for user system 102 and may be product vendors whose products or components are installed on user system 102. Vendor systems 120 each include a computing device comprising a monitor, input device, memory, and a data processor. Vendor systems 120 also each include communications software and devices for communicating with user system 102. Such software and devices may include a modem, web browser program, email program, Internet service connection or a combination of the above. Preferably, each of vendor systems 120 operates a web site for providing product information and updates to product users such as user system 102.
As indicated above, the consolidated monitoring tool of the invention provides system configuration and maintenance services for an end user as well as diagnostic services when an error occurs during system operation. System monitor application 112 configures a computing device such as workstation 103 based on data gathered by Internet connector application 114. Configuration services include querying a system in order to determine all the devices, features, and programs installed therein, as well as the effects that these items have on each other and on the system as a whole. Since all configuration is controlled by system monitor application 112, it can optimally choose the best configuration for the specific computing device. In other words, user system 102 will automatically configure itself upon installation of a new application.
FIG. 2 illustrates how the consolidated monitoring tool configures a user system upon installation of a new component, or alternatively, upon initial installation of the consolidated monitoring tool itself. Product or component installation may include installation of a new software application, a peripheral device or accessory (e.g., printer, facsimile, scanner), a system upgrade such as adding additional memory to a system's hard drive, etc. Upon installation of a product, system monitor application 112 queries user system 102 for an inventory of all installed components at step 202. Utilizing this information, system monitor 112 builds a database of these products, storing information such as the product name, the product's current release level, maintenance level, and a web site address for the product's vendor at step 204. This database is herein referred to as a consolidated monitoring tool database. Information contained in consolidated monitoring tool database may be stored in data storage facility 110. Internet connector application 114 then extracts connection information from the consolidated monitoring tool database concerning the product vendor such as one of vendor systems 120 at step 206 and attempts to connect to the product vendor. Once connected, at step 208 Internet connector application 114 checks the vendor's web site for product information such as product alerts and validates the product's maintenance level, retrieves current message translation tables, diagnostic information and databases, and stores the data in the consolidated monitoring tool database at step 210. Message translation tables may include information relating to warning flags or indicators, error symptom strings, expanded text or display, and wizards. For example, a flag or indicator may indicate that an existing event or situation is recoverable, or that a diagnosis exists for a given error string, or that a wizard is available for a given event or situation. Error symptom strings may be defined by the product vendor and may contain information such as program name, failure code, routine name, offsets, or other environmental information. The expanded text or displays provide simplified explanations of the current situation. The wizards correspond to a vendor program which leads a user through proper recovery actions.
Once this information has been retrieved, it is then used by system monitor tool 112 to check new product requirements against existing system resources for user system 102 such as memory available at step 212, and may automatically configure user system 102 to coincide with optimum performance calculations at step 214. The configuration process may involve changes to other components for optimal operation and performance. Thus, during installation of a new component, tuning to other applications within the system occurs automatically as well. Tuning of the different components may also be triggered by an abnormal event. Tuning refers to the process of adjusting an application or system to operate more efficiently in its system environment. For example, a user desires to download free browser software from the Internet. The user successfully performs the download but later discovers that the new browser does not support every possible plug-in. As a result, web sites that the user was previously able to frequent will no longer load properly. The consolidated monitoring tool allows the user to re-install the original browser based upon the error code received. If supported by the vendor, multiple copies of the browser could be kept depending on the plug-in support needed.
In addition to configuration services, the consolidated monitoring tool may also provide diagnostic services and maintenance services to an end user. Diagnostics refers to the detection and isolation of an error in a currently executing application. System monitor tool 112 is a common condition handler that will receive control whenever an abnormal event occurs with the system and it will translate the event into a useful message for the unsophisticated user. Instead of receiving a blank screen or complex unintelligible messages, an expanded text or graphics-based explanation of the event and in some cases a diagnostic tool for recovery is provided for the user. In addition, the system monitor tool may include a list of actions to eliminate future events of the same type. By default, system monitor application 112 allows users to manually execute these actions. However, unsophisticated users may configure system monitor application 112 to automatically execute any actions related to an abnormal event.
FIG. 3 further illustrates this process. During system operation, system monitor application 112 monitors activities occurring on applications executing on workstation 103 at step 302. Upon encountering an error, system monitor application 304 intercepts the error at step 304 and, based upon whether the error is minor or severe in nature, the tool will take one of two approaches. If the error is minor, system monitor tool 112 will search the consolidated monitoring tool database and extract a detailed explanation of the error in user friendly terms and present it to the end user at step 306. This step is also referred to the translation step. As noted above, translation tables are provided by the consolidated monitoring tool which store error nomenclature and corresponding explanations. Once an error is encountered, the tool will retrieve the corresponding explanation and present it to the end user at workstation 103. If available, a list of user-friendly action items may be presented to the end user suggesting a course of action at step 308. Such actions may include a system configuration, tuning, and/or upgrade. The tool will query the user to select an option presented directed to whether the user would like to manually execute the action items, or whether the user would prefer to have the tool automatically perform the operation at step 310. The tool may then, if necessary, connect to the failing product's vendor web site to obtain information concerning the impact of the error on the user system at step 312. For example, suppose a user creates a file using a given word processing tool and then tries to copy the file over to a system using an older version of the word processor tool. The user receives an error message because the new processor tool is not supported by the older version. The system monitor tool of the invention would assist the user by providing an option to run a wizard to install a reader for the new version. Alternatively, a demo version may be provided by a supporting vendor in lieu of a reader. This is further illustrated in FIG. 4. A message screen 400 provides an error message 402 which is presented to a user who has attempted to copy a file created in an earlier version of an application to a file supported by a new application version. Error message 402 represents a typical error message displayed for a user before implementation of the consolidated monitoring tool. By contrast, error message 404 represents a message provided by the consolidated monitoring tool which explains the nature of the error encountered and a resolution for the user in layman's terms via the message translation tables.
If the error is severe, system monitor tool 112 will provide a detailed explanation of the error, or translation event at step 314, followed by an explanation of current recovery methods underway at step 316. The information provided by system monitor tool 112 during steps 314 and 316 are based upon historical information stored in the consolidated monitoring tool database. If necessary, the tool will then connect to failing product's vendor web site for assistance at step 318.
The common condition handler of system monitor tool 112 traps abnormal events within a computing device and translates the events by using data gathered by Internet connector application 114. In many instances, the event will require a specific set of actions to be performed to avoid such event in the future.
From time to time, maintenance needs to be applied to the system to correct certain application errors. System monitor application 112 will automatically and periodically apply maintenance for the installed components. Maintenance may be applied as a result of an abnormal event or as a result of a scheduled upgrade. Maintenance may be provided automatically on a scheduled basis, upon occurrence of an error or event, or may be user initiated as desired.
The consolidated monitoring tool provides assistance to computer users when a program error is encountered during system operation. The tool provides simplified explanations of the errors and easy to understand action items for users to take to eliminate or avoid these situations. The tool also provides detailed information that a user can relay to a service provider or product vendor about activities that have transpired in the system including current product level and maintenance data for troubleshooting and analysis purposes.
As described above, the present invention can be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
While preferred embodiments have been shown and described, various modifications and substitutions may be made thereto without departing from the spirit and scope of the invention. Accordingly, it is to be understood that the present invention has been described by way of illustration and not limitation.

## Claims

1. A system for managing computer system performance, comprising:
a workstation including existing installed components, the installed components including at least one of software, hardware device, system upgrade, and a peripheral device;
a consolidated monitoring tool executing on the workstation; and
a link to a communications network;
wherein upon installing a new component or acquiring a new service for the workstation, the consolidated monitoring tool performs:
querying the workstation for an inventory of the existing installed components;
acquiring vendor contact information for the new component;
building a database of information acquired in response to the querying, the database of information including product information relating to the existing installed components, the product information including a product name, current release level, current maintenance level, and a web site address for each vendor system associated with the existing installed components;
connecting to a web site for a vendor system associated with the new component via the link;
retrieving product information relating to the new component from the web site;
verifying requirements and compatibility of the new component against the existing installed components based upon results of the retrieving and the product information relating to the existing installed components; and
determining an optimum configuration for the workstation based upon the verifying, and configuring the workstation in accordance with the optimum configuration.

2. The system of claim 1, wherein the peripheral device includes at least one of a printer, a scanner, a facsimile, and a data storage facility.

3. The system of claim 1, wherein the retrieving product information relating to the new component includes retrieving product alerts, validation of the product's maintenance level, current message translation tables, and diagnostic information.

4. The system of claim 3, wherein the message translation tables include at least one of:
a warning flag;
error symptom strings;
expanded text or display; and
a wizard.

5. The system of claim 4, wherein the warning flag indicates at least one of:
an existing event or situation is recoverable;
a diagnosis exists for a given error string; and
a wizard is available for a given event.

6. The system of claim 4, wherein the error symptom strings contain at least one of a program name, a failure code, routine name, and offsets.

7. The system of claim 4, wherein the expanded text or display include explanations of an event or condition.

8. The system of claim 1, wherein the verifying requirements and compatibility include verifying existing system resources for the workstation.

9. The system of claim 1, wherein the configuring includes tuning existing installed components of the workstation, the tuning operable for adjusting a component to operate efficiently in its system environment.

10. The system of claim 9, wherein the tuning is triggered upon an occurrence of an abnormal event.

11. The system of claim 1, wherein the consolidated monitoring tool further performs diagnostics, the diagnostics performed by:
retrieving a detailed description of an error encountered by the workstation; and
presenting the detailed description to the workstation.

12. The system of claim 11, wherein the consolidated monitoring tool performs the diagnostics via:
retrieving a list of action items from the database, the action items including at least one of a suggested configuration, tuning, and system upgrade; and
presenting the list to the workstation.

13. The system of claim 11, further comprising:
upon encountering a severe error, the consolidated monitoring tool performs:
providing a detailed explanation of the severe error;
providing an explanation of a recovery plan underway to correct the severe error; and
connecting to the vendor system web site for assistance.

14. A method for managing computer system performance, comprising:
querying a workstation for an inventory of existing installed components in response to installing a new component on the workstation, the existing installed components including at least one of software, hardware device, system upgrade, and a peripheral device;
acquiring vendor contact information for the new component;
building a database of information acquired in response to the querying, the database of information including product information relating to the existing installed components, the product information including a product name, current release level, current maintenance level, and a web site address for each vendor system associated with the existing installed components;
connecting to a web site for a vendor associated with the new component via a communications link;
retrieving product information relating to the new component from the web site;
verifying requirements and compatibility of the new component against the existing installed components based upon results of the retrieving and the product information relating to the existing installed components; and
determining an optimum configuration for the workstation based upon the verifying, and configuring the workstation in accordance with the optimum configuration.