Graphical representation of system information on a remote computer

A method and apparatus for gathering system information into a file and transmitting the file to a remote location for presentation as a graphical display. A computerized diagnostic tool, can assist a support person in providing technical support to an end user in connection with the configuration of a remote computer. System information relating to a particular customer's computer can be stored for subsequent reference. Computer program code running on a source computer can direct a source computer to self-survey system information. Program code creates a file containing system information and transmits the system information file to a remote computer separate from the source computer. Transmission may be accomplished via any effective transmission medium such as the Internet. Computer program code on the remote computer then displays a graphical representation of the system information.

BACKGROUND

The present invention relates generally to computer on-line diagnostics systems, and more specifically, to a graphical representation of system information displayable at a remote location.

Product vendors and technical support services are often looking for new ways to provide more accurate and efficient technical support for computer systems. As part of such support it is, at times, essential for a technician or other support staff to access system information from a remote computer in order to aid in diagnosing problems or configuring a system. In addition, it is preferable that system information be displayed in a manner that is familiar and easy to interpret. A familiar format can reduce time required to train new support personnel and ease of interpretation can facilitate expeditious resolutions of a user's problem.

Providing customer service involves a cost of doing business to a vendor or service provider. The goal of a business is to provide an optimal amount of customer service, resulting in a satisfied customer base, at the lowest possible cost. Service costs and customer frustrations often increase as the time to reach a resolution of a customer's problem increases. Time to resolution can be dependent upon a variety of factors. One problem arises from the proliferation of different computer models and configurations available. This is further implicated by a multitude of options and software that may be installed. Each model and configuration introduces additional variables that must be considered in problem solving. The more variables a support person must consider, the more complex troubleshooting can be. Therefore, it is important that a support person get all of the pertinent information before them in a manner that is timely and user friendly.

Pertinent information comprises hardware and software components and settings. Typically, this information would include, but not be limited to, a list of hardware components such as a system timer, programmable interrupt controller, keyboard, communications ports, sound and multimedia circuitry, video drivers, printer ports, hard drive controllers, floppy drive controllers, mouse ports, clock, numeric data processor, and the corresponding Interrupt Requests (IRQ) and Direct Memory Access (DMA) settings. This information can be critical to providing competent advice on resolving performance issues.

Performance issues may relate to devices or programs that will not operate. In addition, some devices or programs may operate sporadically or simply not meet a user's expectations.

It is well known to compile and display system information on a computer from which they are gleaned. Diagnostic type programs and operating systems are known to make system information available to a technician when a technician has physical access to a computer involved. Many diagnostic programs can display information and even perform diagnostic routines checking for conflicts, inoperable components, and the like. However, since physical access is required, a technician must make an on-site call or a computer must be shipped to a depot for service. With a recent proliferation of computers, and in particular, proliferation of low cost computers at a multitude of sites, it has become impractical to send a technician to every location for on-site service. It is also preferable to avoid the inconvenience and cost of shipping a computer to a remote depot as well as incurring the loss of productivity sustained while a computer is thus removed. In order to maintain customer satisfaction it becomes important for vendors and service providers to effect an expeditious means of conveying required information to support personnel at a remote site. Therefore, it is desirable to gather system information effectively and transfer it to a remote site from which a diagnosis may be performed.

One method of performing diagnostics remotely is to utilize a dedicated software package to enable a remote technician to connect via modem and essentially control a computer from a remote site. However, that solution typically requires that proprietary software be running at both the remote site and the service location. In addition a learning curve for teaching a user at the remote site how to set up and operate the proprietary software must also be considered.

Another approach is to have a support person “walk through” a routine with a user during a telephone conversation. However, this is inefficient because users are often unfamiliar with the types of routines that must be performed and the technical information that must be conveyed to the support person. Often an obvious problem that would be apparent to a skilled person viewing a screen goes unnoticed by a user taking verbal instructions from a remote support person and reporting back the results. Requiring in depth user interaction can also increase customer frustration and jeopardize a vendor or service company's client base.

It would be useful to have a means of quickly compiling system information from a user's computer and efficiently sending such compiled information to a support location for display and diagnosis. It would be most useful to have system information displayed in a graphical manner at a remote support location wherein the system information is easily interpreted by a support person thereby aiding quick resolution to a computer problem.

SUMMARY OF THE INVENTION

Accordingly, the present invention provides a method and apparatus for gathering system information into a file and effectively transmitting the system information file9to a remote location where it can be presented as a graphical display10of the system information. A computerized diagnostic tool is provided that can be used to assist a support person offering technical support to an end user in connection with the configuration of a remote computer. System information relating to a particular customer's computer can also be stored for subsequent reference.

In one implementation the computerized diagnostic tool includes a system that can store, display and process system information. Computer program code running on a source computer directs the source computer to survey system information on the source computer. Following the survey, the program code creates a system information file9containing the information surveyed. The system information file9can be transmitted to a remote computer separate from the source computer. Transmission may be accomplished via any effective transmission medium such as the Internet or direct dial up transfer. Once transmission is complete computer program code on the remote computer can display a graphical representation of the system information originating from the source computer. Preferably the program code on the source computer is capable of compressing the system information file9in order to facilitate transmitting.

In addition, the computerized diagnostic tool can store customer system information in an appropriately identified file so that system information for a particular end user may be accessed at some later time. Storage can be in any suitable archival medium such as a hard drive, removable drive media, or a compact disc (CD). Archival files may also be databased to more readily identify and access a particular file. Advantages associated with graphically representing system information from a remote computer include quick and efficient diagnosis of a customer's problem resulting in improved customer service and satisfaction.

Still other features and advantages of the present invention will become readily apparent to those skilled in this art from the following detailed description in which the preferred embodiment of the invention is shown by way of illustration of the best mode contemplated of carrying out the invention.

DETAILED DESCRIPTION

FIG. 1illustrates an exemplary computer system environment including a source computer1, a transmission medium2, and a remote computer3. In general as shown inFIG. 2a source computer1gathers system information from the source computer (step20) and generates a system information file9(step22). The source computer1then transmits the system information file9via a transmission medium2to a remote computer3(step24). The remote computer3can then process the file and create a graphical display10of the system information (step26). This graphical display10may be used to diagnose a problem with the source computer, survey components of the source computer1, archive the source computer configuration, or for other purposes (step28).

Source computer1can be a stand-alone computer or a computer connected to a network via a file server4or other networking means such as a peer to peer connection. The source computer1comprises a processor such as a central processing unit (CPU) chip; a display such as a flat panel or a cathode ray tube; a storage medium such as a hard drive, memory, compact disc, and the like. Computer program code is typically stored on the storage medium and executed by the processor means. A source computer should be connected to a transmission medium, such as a modem, network connection, or removable media drive.

In one embodiment, source computer1is connected to a transmission medium comprising a distributed network, such as the Internet, thereby facilitating ease of communication. An Intranet, local area network, wide area network, dial up access, or other form of networking comprise additional embodiments. Stand-alone computers can transmit via a modem. Modem transmission can include using a modem to connect to a dial-up network connection such as the Internet via an Internet service provider (ISP) or a direct dial up to the remote computer3. In the absence of any type of network or dial up capability, other techniques can be used to transfer the system information file9. Alternate transmission means include a removable media in the source computer1onto which a system information file9can be recorded. The removable media can be removed from the source computer1and transported to a remote computer3.

Transmission of a system information file9through use of a distributed network can be accomplished by uploading to and downloading from a mutually accessible storage medium, such as an Internet server or a mapped drive. Source computer1can upload a system information file9to a mutually accessible storage medium, remote computer3can then download the system information file9, or the mutually accessible storage medium can store the file until a later time. In addition, a mutually accessible storage medium can archive the system information file9and retain it for future reference even after a remote computer3has downloaded a system information file9. Alternatively, a remote computer3can archive the file, or the file may be erased after graphically displaying the file.

Transmission of a system information file9to a remote computer3may be accomplished in various ways, including uploading the file to an Internet site, e-mail, and placing of the file in a repository such as an electronic bulletin board or mapped drive. Other methods include copying the system information file9onto an electronic media such as a floppy disc, a zip drive or a tape and physically transporting the electronic media to the remote computer3so that the remote computer3can read the file from the media.

Another transmission medium2that can facilitate the transfer of the system information file9from the source computer1to the remote computer3is electronic mail (e-mail). E-mail offers a direct form of communication designating a recipient and can ensure the system information file9is presented to the remote computer3.

A remote computer3comprises a processor such as a central processing unit (CPU) chip; a display such as a flat panel or a cathode ray tube; a memory medium including at least one hard drive and random access memory, compact disc, and the like. The remote computer3should also be connected to a transmission medium, such as a modem, network connection, or removable media drive. Remote computer3should be configured to receive data from the medium used to transmit data from the source computer1. Both source computer1and remote computer3can be connected via a distributed network, such as the Internet. The Internet offers a familiar means of communicating and can facilitate transmission of a system information file9. In addition the Internet is flexible in connection types and location.

Computer program code may be used to perform any number of the steps of gathering the system information from the source computer, transmitting the system information file9to a remote computer, or graphically displaying the system information file9on the remote computer. Computer program code may also be used to automate the entire method or any portion thereof. The computer program code can reside on the computer in which it is being executed or on other accessible storage medium.

In one embodiment computer program code is stored on an Internet or Intranet server4(FIG. 2) which can be accessed by the source computer1. A source computer1can execute code on an Internet server4to effectuate gathering of system information from the source computer into a system information file9. The system information file9can then be transmitted to a remote computer3. Additional computer program code on Intranet server4can be executed to facilitate the transmission of system information file9to remote computer3. Program code used to facilitate transmission may be executed by a source computer1or a remote computer3.

In one implementation, remote computer3accesses program code on an Internet server to cause a graphical display10on remote computer3. The graphical display10graphically represents system information from a source computer1. In this implementation system information file9is never transmitted to the remote computer3, only a graphical display10is transmitted from the Internet server4to the remote computer. In another embodiment, source and remote computers are given multiple options, to compile, send, display, etc. by executing program code.

Source computer1should generate a system information file9that accurately describes the system components and configuration of the source computer. The configuration includes specifications technically describing each component. In one embodiment, system information file9is generated by execution of computer program code located in a storage medium comprising source computer1. Computer program code to generate the system information file9can also be downloaded from a network server to the source computer.

Alternatively program code to generate a system information file9may be executed from a network server or a removable media inserted into the source computer1such as a floppy disk, a magnetic tape, a CD, or even a Read Only Memory (ROM) module. Execution of computer program code causes the source computer1to survey itself and collect information describing its configuration and generate a system information file9comprising the collected information.FIG. 2shows a diagram of a logical flow of a preferred embodiment, including the collection of the system information, generation of the system information file9, transmission of the file to a remote computer3, and graphical display10of the source computer1system information on the remote computer3.

The system information file9includes technical information describing the configuration and elements comprising the source computer. This information can include data relating to hardware components such as a system timer, programmable interrupt controller, keyboard, communications ports, sound and multimedia circuitry, display adapters, video drivers, printer ports, hard drive controllers, hard disks, floppy drive controllers, floppy drives, CDROM controllers and drive units, modems, network adapters, Small Computer Standard Interface (SCSI) controllers and devices, mouse ports, clock, numeric data processor, Interrupt Requests (IRQ) and Direct Memory Access (DMA) settings as well as other components.

With a system information file9successfully transferred to remote computer3, remote computer3can process the information contained in the system information file9and generate a graphical representation of source computer1system information. Remote computer3can have a blank template11(FIG. 4) illustrating a computer5and typical component types with blanks6ready to display information from a source computer1. System information file9can then be pulled into the blank template11via computer program code to display remote computer3's system information graphically. A user activatible control such as an icon12that responds to being clicked upon with a pointing device can be used to display specifications associated with the actual installed components of a source computer.

The graphical representation of the system information can include icons12depicting individual components or features displayed in a hierarchical layout. Each icon lists a component type8with each component type8then listed under the icon12(FIG. 5). Additional user activatible controls such as a push button7can be used to execute computer readable program code and thereby, perform a desired computer function such as print the system information.

Supporting details relating to a particular component or feature may be displayed by selecting the icon and opening it. Opening the icon may be accomplished by a user interactive control such as clicking or double clicking on an icon with a pointing device associated with remote computer3or tabbing to the icon with a tab key and hitting the enter key on a keyboard associated with remote computer3.

Icons can be arranged in a logical sequence that will aid in the identification of a particular resource. Icons may be hierarchically arranged such that like devices are grouped under a common heading. As an example, disk drives may be sequentially arranged under a common icon entitled Disk Drives. Similarly, communications ports may be sequentially arranged under a common icon. Selection of an icon can open a tree of icons one level subservient to the selected icon and on the final level display information relating to the chosen entity.

Examples of available utilities suitable for the survey of source computer1and generation of system information file9include the “Winrep” and “Dosrep” support tools included as part of the Windows 98™ operating system. These support tools can be executed causing them to gather information from source computer1and store the gathered information in a system information file9. In the case of Winrep or Dosrep the file is a Microsoft™ system information file. Other utilities may generate a different file format but include similar information.

To further facilitate the transmission of system information file9, system information file9can be compressed using one of many well known compression utilities. For example, Winrep typically compresses system information into a Microsoft™ compressed “.cab” file. Transmission may then be accomplished by any of the techniques discussed above. In one embodiment, a utility such as Winrep is started from an Internet or Intranet site page using ActiveX controls and scripting. In this manner, a user of a source computer1can play a minimal role in the creation and transmission of the file. The ActiveX controls and scripting can include programming to specify the destination of the report, thereby by causing system information file9to be generated and transmitted directly to remote computer3.

Subsequent to receipt of system information file9by remote computer3, graphical display10of the system properties can be displayed.FIG. 4is an illustration of a graphical display screen template devoid of any system information. A template such as the one depicted inFIG. 4can be populated by “pulling” a system information file9. Pulling of system information file9parses a compressed file such as a .cab file for relevant data. Relevant data is used to populate a graphical display10template with appropriate icons and detail information describing those icons. By pulling a particular system information file9describing a particular source computer, a remote computer3can graphically display the configuration of that source computer.