System and method for providing automated customer support
First Claim
1. A method of providing diagnostic support for a software product installed on a customer computer by using a vendor computer at a remote location, each computer including a CPU coupled to memory and a display, the computers being linked through a single telecommunications circuit, each of said computers being coupled to said telecommunications circuit through a voice/data modem, each of the computers further including a layer of communications software for sending/receiving data and For implementing communication protocols associated with the voice/data modem in said computer, the communications layer of software in the customer computer including a support agent, the communications layer of software in the vendor computer including a support client, the method comprising the steps of:
- providing one or more software-implemented diagnostic interpreters on the vendor computer;
registering the one or more diagnostic interpreters with the support client in the vendor computer, said registering including adding an entry to a registry database maintained in the vendor computer in the communications layer of software;
issuing a request from one or more of the diagnostic interpreters to the support client to send a message, said message requesting invocation of one or more software-implemented diagnostic agents on the customer computer;
communicating the request from the support client to the support agent;
checking a registry database in the communications layer of software in the customer computer to determine if the one or more diagnostic agents are registered;
if a requested diagnostic agent is not registered;
notifying the support client that the diagnostic agent is not registered;
using the support client to download the requested diagnostic agent to the support agent;
when the downloading is completed, issuing an execute command from the diagnostic interpreter;
communicating said command from the support client to the support agent, and thence to the customer computer; and
in response to said command, registering the requested diagnostic agent with the support agent;
sending messages from the one of more diagnostic interpreters through the support client to the support agent and thence to the diagnostic agents requesting the one or more diagnostic agents each perform a diagnostic task, said task including the collection of diagnostic data;
returning the collected diagnostic data through the support agent to the support client and thence to the one or more diagnostic interpreters; and
displaying data corresponding to said collected diagnostic data on the display of the vendor computer.
2 Assignments
0 Petitions
Accused Products
Abstract
An automated system and method for diagnosing and resolving computer-related problems from a product support center. The traditional roles of the product engineer and customer are largely supplanted by execution of specialized client/server software programs on the respective computers. These programs exchange diagnostic and--in some cases--remedial data over the same telephone circuit used by the engineer and customer. The resulting system accelerates diagnosis and resolution of the customers'"'"' problems, reduces product support costs, and improves customer satisfaction.
474 Citations
33 Claims
-
1. A method of providing diagnostic support for a software product installed on a customer computer by using a vendor computer at a remote location, each computer including a CPU coupled to memory and a display, the computers being linked through a single telecommunications circuit, each of said computers being coupled to said telecommunications circuit through a voice/data modem, each of the computers further including a layer of communications software for sending/receiving data and For implementing communication protocols associated with the voice/data modem in said computer, the communications layer of software in the customer computer including a support agent, the communications layer of software in the vendor computer including a support client, the method comprising the steps of:
-
providing one or more software-implemented diagnostic interpreters on the vendor computer; registering the one or more diagnostic interpreters with the support client in the vendor computer, said registering including adding an entry to a registry database maintained in the vendor computer in the communications layer of software; issuing a request from one or more of the diagnostic interpreters to the support client to send a message, said message requesting invocation of one or more software-implemented diagnostic agents on the customer computer; communicating the request from the support client to the support agent; checking a registry database in the communications layer of software in the customer computer to determine if the one or more diagnostic agents are registered; if a requested diagnostic agent is not registered; notifying the support client that the diagnostic agent is not registered; using the support client to download the requested diagnostic agent to the support agent; when the downloading is completed, issuing an execute command from the diagnostic interpreter; communicating said command from the support client to the support agent, and thence to the customer computer; and in response to said command, registering the requested diagnostic agent with the support agent; sending messages from the one of more diagnostic interpreters through the support client to the support agent and thence to the diagnostic agents requesting the one or more diagnostic agents each perform a diagnostic task, said task including the collection of diagnostic data; returning the collected diagnostic data through the support agent to the support client and thence to the one or more diagnostic interpreters; and displaying data corresponding to said collected diagnostic data on the display of the vendor computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. In a computer system including first and second computers at spaced-apart first and second locations, each computer including a CPU coupled to memory and a display, the computers being linked through a single telecommunications circuit, each of said computers being coupled to said telecommunications circuit through a voice/data modem, each of the computers further including a layer of communications software for sending/receiving data and for implementing communication protocols associated with the voice/data modem in said computer, an improvement further comprising:
-
a registry database in the first computer; a diagnostic agent in the first computer; a diagnostic interpreter in the second computer, said interpreter comprising software instructions for invoking the diagnostic agent to perform selected functions from the following catalog of functions; collecting data from a specified section of the first computer'"'"'s registry database; and creating and deleting registry key and value information from the first computer'"'"'s registry database; the diagnostic agent comprising software instructions in the first computer for performing any function from said catalog of functions in response to the diagnostic interpreter, and for transferring data corresponding thereto to the diagnostic interpreter; the diagnostic interpreter further including means for receiving said transferred data from said diagnostic agent and for presenting data corresponding thereto to a user of the second computer.
-
-
21. In a computer system including first and second computers at spaced-apart first and second locations, each computer including a CPU coupled to memory and a display and running a windowed operating system, the computers being linked through a single telecommunications circuit, each of said computers being coupled to said telecommunications circuit through a voice/data modem, each of the computers further including a layer of communications software for sending/receiving data and for implementing communication protocols associated with the voice/data modem in said computer, an improvement further comprising:
-
a diagnostic agent in the first computer; a diagnostic interpreter in the second computer, said interpreter comprising software instructions for invoking the diagnostic agent to perform selected functions from the following catalog of functions; creating a list of all windows on the display of the customer computer; and capturing a designated window on the display of the customer computer and compressing data corresponding thereto; the diagnostic agent comprising software instructions in the first computer for performing any function from said catalog of functions in response to the diagnostic interpreter, and for transferring data corresponding thereto to the diagnostic interpreter; the diagnostic interpreter further including means for receiving said transferred data from said diagnostic agent and for presenting data corresponding thereto to a user of the second computer.
-
-
22. In a computer system including first and second computers at spaced-apart first and second locations, each computer including a CPU coupled to memory and a display and running a windowed operating system, the computers being linked through a single telecommunications circuit, each of said computers being coupled to said telecommunications circuit through a voice/data modem, each of the computers further including a layer of communications software for sending/receiving data and for implementing communication protocols associated with the voice/data modem in said computer, an improvement further comprising:
-
a diagnostic agent in the first computer; a diagnostic interpreter in the second computer, said interpreter comprising software instructions for invoking the diagnostic agent to perform the function of identifying all windows belonging to a selected application running on the customer computer; the diagnostic agent comprising software instructions in the first computer for performing said function in response to the diagnostic interpreter, and for transferring data corresponding thereto to the diagnostic interpreter; the diagnostic interpreter further including means for receiving said transferred data from said diagnostic agent and for presenting data corresponding thereto to a user of the second computer.
-
-
23. In a computer system including first and second computers at spaced-apart first and second locations, each computer including a CPU coupled to memory and a display and running a windowed operating system that supports a clipboard data structure, the computers being linked through a single telecommunications circuit, each of said computers being coupled to said telecommunications circuit through a voice/data modem, each of the computers further including a layer of communications software for sending/receiving data and for implementing communication protocols associated with the voice/data modem in said computer, an improvement further comprising:
-
a diagnostic agent in the first computer; a diagnostic interpreter in the second computer, said interpreter comprising software instructions for invoking the diagnostic agent to perform the function of obtaining data from the clipboard data structure in the customer computer; the diagnostic agent comprising software instructions in the first computer for performing said function in response to the diagnostic interpreter, and for transferring data corresponding thereto to the diagnostic interpreter; the diagnostic interpreter further including means for receiving said transferred data from said diagnostic agent and for presenting data corresponding thereto to a user of the second computer.
-
-
24. A method of providing support for a software product installed on a customer computer system by using a vendor computer system at a remote location, each computer system including a CPU coupled to memory and a display, the computer systems being linked through a single telecommunications circuit, each of said computer systems being coupled to said telecommunications circuit through a voice/data modem, each of the computer systems further including a layer of communications software for sending/receiving data and for implementing communication protocols associated with the voice/data modem in said computer systems, the method comprising the steps of:
-
receiving a call from a customer at the remote location; coupling the call to an interactive voice response unit (IVRU); conducting an interactive machine/person dialog to aid in identifying the support required, said dialog including alternately posing a series of voiced options to the customer from the IVRU, and receiving tone responses thereto; and automatically transferring diagnostic data from the customer computer system to the vendor computer system, the diagnostic data transferred being dependent on the tone responses provided to the IVRU; wherein the interactive dialog aids in identifying the support required, and diagnostic data corresponding thereto is made available at the vendor computer system without intervention by product support personnel at the remote location. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. A method of providing diagnostic support for a software product installed on a customer computer by using a vendor computer at a remote location, each computer including a CPU coupled to memory and a display, the computers being linked through a single telecommunications circuit, each of said computers being coupled to said telecommunications circuit through a voice/data modern, each of the computers further including a layer of communications software for sending/receiving data and for implementing communication protocols associated with the voice/data modem in said computer, the communications layer of software in the customer computer including a support agent, the communications layer of software in the vendor compute including a support client, the method comprising the steps of:
-
providing a software-implemented diagnostic interpreter; registering the diagnostic interpreter with the support client in the vendor computer, said registering including adding an entry to a registry database maintained in the vendor computer; issuing a request from the diagnostic interpreter to the support client to send a message, said message requesting invocation of a software-implemented diagnostic agent; communicating the request from the support client to the support agent; checking a registry database in the customer computer to determine if the diagnostic agent is registered, the checking including collecting data from a system registry database in the customer computer, the system registry database indicating properties and characteristics of each device in the customer computer; if the diagnostic agent is not registered; notifying the support client that the diagnostic agent is not registered; using the support client to download the diagnostic agent to the support agent; when the downloading is completed, issuing an execute command from the diagnostic interpreter; communicating said command from the support client to the support agent, and thence to the customer computer; and in response to said command, registering the diagnostic agent with the support agent; sending a message from the diagnostic interpreter through the support client to the support agent and thence to the diagnostic agent requesting the diagnostic agent to perform a diagnostic task, said task including the collection of diagnostic data; returning the collected diagnostic data through the support agent to the support client and thence to the diagnostic interpreter; and displaying data corresponding to said collected diagnostic data on the display of the vendor computer. - View Dependent Claims (31)
-
-
32. A method of providing diagnostic support for a software product installs on a customer computer by using a vendor computer at a remote location, each computer including a CPU coupled to memory and a display, the computers being linked through a single telecommunications circuit, each of said computers being coupled to said telecommunications circuit through a voice/data modern, each of the computers further including a layer of communications software for sending/receiving data and for implementing communication protocols associated with the voice/data modem in said computer, the communications layer of software in the customer computer including a support agent, the communications layer of software in the vendor computer including a support client, the method comprising the steps of:
-
providing a software-implemented diagnostic interpreter; registering the diagnostic interpreter with the support client in the vendor computer, said registering including adding an entry to a registry database maintained in the vendor computer; issuing a request from the diagnostic interpreter to the support client to send a message, said message requesting invocation of a software-implemented diagnostic agent; using the support client, encapsulating the request from the diagnostic interpreter with a header; communicating the request from the support client to the support agent via a socket allocated thereto; checking a registry in the customer computer to determine if the diagnostic agent is registered; if the diagnostic agent is not registered; notifying the support client that the diagnostic agent is not registered; using the support client to download the diagnostic agent to the support agent; when the downloading is completed, issuing an execute command from the diagnostic interpreter; communicating said command from the support client to the support agent, and thence to the customer computer; and in response to said command, registering the diagnostic agent with the support agent; sending a message from the diagnostic interpreter through the support client to the support agent and thence to the diagnostic agent requesting the diagnostic agent to perform a diagnostic task, said task including the collection of diagnostic data; returning the collected diagnostic data through the support agent to the support client, and thence to the diagnostic interpreter; and displaying data corresponding to said collected diagnostic data on the display of the vendor computer. - View Dependent Claims (33)
-
Specification