Abstract:
A method and apparatus for providing on line assistance to an end user who is experiencing a problem with a computer. The computer includes a display, a monitoring unit, and a browser. The browser is loaded on the computer and is configured to establish an on-line session with another computer when the browser is enabled. The monitoring unit periodically monitors the other computer for any messages destined for the computer when the browser is closed.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a method and apparatus for providing notification to an end user of a new message from a call center agent.  
           [0003]    2. Description of the Related Art  
           [0004]    There exist different types of conventional systems for providing on-line help to computer users. For example, when a user experiences a problem with his or her computer, the user may telephone a designated number (e.g., 1-888- . . . ) in order to obtain assistance from a computer expert. The computer expert is typically physically located at a Support Site, whereby other computer experts are also physically located at the same Support Site in order to be able to assist more than one customer at the same time. The assistance provided may be a free service, or there may be a fee required. Typically, whether the assistance is free or not depends on whether the telephone call by the user is made during the warranty period (e.g., within three months of the purchase date of the computer).  
           [0005]    When the user calls the designated telephone number to obtain assistance from a computer expert, the user is provided assistance from the computer expert in order to correct the problem with the user&#39;s computer. The user typically may have to wait on the telephone line for a period of time, while the computer expert researches the computer problem described by the user and develops possible solutions to that problem. The computer expert may review manuals that describe various computer problems and possible solutions to those problems, and/or the computer expert may query other computer experts at the Support Site for their advice in solving the problem.  
           [0006]    There also exist conventional systems for providing on-line support to an end user. For example, if an end user is experiencing a problem with his or her computer, such as a problem with his or her Hewlett-Packard HP Vectra™ computer, the end user has the option to contact an HP Support Specialist by way of an Internet connection. Such an Internet connection may be provided by using software tools produced by Motive Communications, Incorporated. One such software tool is called ServiceNet, which is designed around a self-help paradigm in which a person using a desktop computer notices a problem and then manually opens a “trouble ticket” that is transmitted to a support provider.  
           [0007]    In one implementation of ServiceNet, when a user of a personal computer (PC) detects a problem, the user clicks on a “service” icon (on the user&#39;s desktop or within an application, for example) that causes a web browser to bring up a web-based user interface that provides the user with a form into which the user may enter a description of the problem. This forms the “trouble ticket” described previously. The PC operator uses a web interface to report the problem to a program called Chorus Client, which is an incident escalator. The incident escalator first may try to run prewritten diagnostic scripts or provide “self-help” tools. It may then “isolate” the incident, running scripts to gather configuration data, and then combining the user&#39;s problem description and the configuration data with contact information identifying the user of the computer and including such things as name, e-mail address, and telephone number. It may also gather host information from the PC. These are transmitted to an incident receiver which parses the information and passes it on to a central analysis server. At the central analysis server, a program called Duet, in combination with a program called Insight, enables the provision of “online” assistance by a service engineer to review the problem in the context of the user&#39;s computer as configured and to provide assistance. Each separate incident report is assigned a case number, and there may be many different case numbers being acted on by one or more service engineers-at the same time.  
           [0008]    Preferably, the end user who submitted the “trouble ticket” via an Internet browser still has that Internet session open, whereby any messages from the service engineer assigned to help the end user solve the problem will appear on a “window” on the user&#39;s computer that is assigned to the “open” Internet browser. When a message from the service engineer appears on the corresponding browser window on the end user&#39;s computer, the end user can then attempt to fix the problem by way of the instructions provided in the message.  
           [0009]    However, if the end user is now occupied by a different task after having submitted the “trouble ticket”, there is a possibility that the end user may not know that a message from the service engineer has arrived. This would happen if the end user has closed the browser window that was used to contact the service engineer and to establish and maintain the on-line session.  
           [0010]    Therefore, there is a need to provide a way to notify the end user of a message from a service engineer assigned to help the end user solve his or her problem, without unnecessarily using up computer network resources.  
         SUMMARY OF THE INVENTION  
         [0011]    According to one aspect of the invention, there is provided an on-line assistance system or method. The on-line assistance system or method includes a first computer that has: a display, a monitoring unit loaded on the first computer, and a browser loaded on the first computer and configured to establish an on-line session with a second computer when the browser is enabled. The monitoring unit periodically monitors the second computer for any messages destined for the first computer when the browser is closed. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    The embodiments of the present invention will become more fully apparent from the following detailed description when read in conjunction with the accompanying drawings with like reference numerals indicating corresponding parts throughout, wherein:  
         [0013]    [0013]FIG. 1 is a diagram showing elements utilized in a system in accordance with a first embodiment of the invention;  
         [0014]    [0014]FIG. 2 is a flow diagram showing steps utilized in a method according to the first embodiment of the invention; and  
         [0015]    [0015]FIG. 3 is a table showing a polling strategy that can be used in accordance with a second or third embodiment of the invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0016]    Several embodiments of the invention will be explained below with reference to the accompanying drawings.  
         [0017]    The present invention relates to a system and method for providing notification to an end user of a new message from a call center agent.  
         [0018]    Referring now to FIG. 1, an end user computer  110  includes an Operating System (O/S)  177 , a CPU (or processor)  176 , an HP Monitor  160 , a Browser Object  162  (which, when launched, opens a Browser Window  120 ), and a Memory  178 . When an end user has filled out a “trouble ticket” on-line on his or her personal computer  110 , and has established an on-line session with a service engineer at a support site, the end user waits to receive a response from the service engineer on a browser window  120  that is open on the end user&#39;s computer display  130  and this is used to conduct a “chat session” between the end user and the service engineer. A chat session provides for a synchronous communications between parties, unlike an asynchronous e-mail communications approach. Like the browser window  120  on the end user&#39;s computer display  130 , a browser window  145  is open on the display of the service engineer&#39;s computer  140  to allow for synchronous communications by way of messages between the end user&#39;s computer  110  and the engineer&#39;s computer  140  that is accomplished by way of a support server  170 . In such a manner, the end user and the service engineer can communicate with each other in real time, by way of back-and-forth messages sent between the end user&#39;s computer  110  and the service engineer&#39;s computer  140 , in order to hopefully solve the end user&#39;s computer problem in an expeditious manner.  
         [0019]    As explained earlier, such a chat session works fine if both parties are responding quickly to messages from the other party. However, if the end user has to work on another task, and cannot wait for a response from the service engineer, the end user may have closed the browser window that provided the “chat session” with the service engineer, especially if the end user needs the entire display for a particular task that the end user is working on. In this case, if the service engineer sends out a response to the end user, the end user would not know about the response until the end user has re-opened the browser window at a later point in time. Accordingly, much time may be wasted to resolve the computer problem, which can result in loss of productivity to the end user. Also, end users may be frustrated in that when they do not receive responses quickly from service engineers, they may think that they are not getting high priority with respect to their particular computer problem, when in fact the solution to their problem was found quickly by the service engineer and a message containing the solution is waiting to be picked up at the support server but cannot be picked up since the end user&#39;s browser is closed. Accordingly, some end users may not want to use on-line computer support services in the future.  
         [0020]    The present invention has been created with the end user in mind, in order to provide him or her with a notification as soon as a message is output by a service engineer, even when the end user has previously closed an Internet browser window that was used to establish an on-line connection with the service engineer.  
         [0021]    In the first embodiment, the HP Monitor  160  is a software application that is installed on the end user&#39;s computer  110  as a JAVA program when the end user initiates an online help session with a support site. Referring now to FIG. 1 and to FIG. 2, when the end user needs assistance on-line and submits a new incident to an on-line support center (step  210 ) such as an HP Support Center, the HP Monitor  160  is initiated (step  220 ).  
         [0022]    In the first embodiment, the HP Monitor  160  checks for any new messages by counting an elapsed time from when the incident was first submitted (step  225 ), and by periodically creating a browser object  162  (e.g., an object which invokes an Internet Explorer browser) that makes an http call to the on-line support center server  170  (e.g., HP Instant Support Server) through a browser (step  230 ) opened by the browser object  162 . By way of example and not by way of limitation, the HP Monitor  160  creates a new browser object that makes an http connection to check for new messages on the on-line support center server  170  at every one minute of elapsed time.  
         [0023]    By way of the HP Monitor  160 , even if the end user has closed the browser object  162  (and thus causing the closing of the browser window  120  on the computer display  130 ) that he or she had earlier opened in order to initiate the incident report process to the on-line support center, such as to have the end user&#39;s computer display  130  entirely dedicated for a task that the end user must complete in a hurry, the end user is still notified in real time that a message from the service engineer is available to be read. That way, the end user can then stop his or her current task, read the message or messages by way of the new browser object that was opened by the HP Monitor  160 , and then hopefully fix the computer problem on the end user&#39;s computer  110 .  
         [0024]    In the first embodiment, when the end user has closed his or her browser, software on the end user&#39;s computer  110  (which has been downloaded from the HP Instant Support Server  170  when the end user initiated the online help session with the support site), which is named hpmon.exe (HP Monitor  160 ) in the first embodiment, periodically performs a check on the HP Instant Support Server  170  for any messages waiting for the end user&#39;s computer  100 . The HP Monitor  160  performs this check is performed by using the browser object  162  as a communication vehicle to periodically communicate with the HP Instant Support Server  170  over the Internet. When the end user originally creates an incident (case), the web browser saves pertinent user information in the form of a Cookie, and the web browser object obtains this information before establishing an online connection with the HP Instant Support Server  170 .  
         [0025]    In more detail, when the end user initiates an online help session with the HP Support Site, the hpmon.exe application (e.g. JAVA application) is downloaded from the HP Instant Support Server  170  to the end user&#39;s computer  110 . If the end user has a message waiting for him or her at the HP Instant Support Server  170  (Yes in step  235 ), the end user is notified of that message by the HP Monitor  160  (step  240 ) if the end user has closed his or her browser. If the end user has his or her browser open and in contact with the pertinent online support web site, then the HP Monitor  160  is not needed, since in that case the end user will be receiving messages from the support specialist on an open chat window. However, if the browser object  162  is open but to a different URL, then the HP Monitor  160  notifies the end user that a message from the support specialist is awaiting their review.  
         [0026]    When the end user first sets up an on-line assistance session with the support center, the end user is assigned a unique Case Number by the support center, in order to distinguish that particular help session from any previous and current support sessions for that end user and for other end users currently seeking assistance from the Support Center. If no message for the end user is currently stored in memory at the HP Instant Support Server  170  (No in step  235 ), then the browser object  162  created by the HP Monitor  160  is closed (step  250 ), and the process returns back to step  225  to count a time period until the next check is to be made (e.g., one minute from the time when the most recently opened browser object  162  was opened and performed its check).  
         [0027]    In the first embodiment, a polling clock begins when the end user sends a message to the HP Support Agent. The HP Monitor  160  will continue to poll for a reply until a reply is received or until a predetermined amount of time has passed. By way of example and not by way of limitation, the HP Monitor  160  will continue to poll for a reply from the HP Support Agent every minute, up to a maximum elapsed time of 96 hours from when the first message was sent from the end user to report the computer problem to the HP Support Agent. After the 96 hours has elapsed without finding any new message from HP Support Agent on the Support Server  170 , the HP Monitor  160  will remove itself from the end user&#39;s computer  110 .  
         [0028]    In an implementation of the first embodiment, when the browser object  162  is closed or if it is open and the browser is pointing to a different web page than the online support web page, then the HP Monitor  160  will create an icon  175  on a tool bar at the bottom of the computer display  130  (along with icons for other “minimized” applications on the end user&#39;s computer  110 ), whereby the icon  175  will “flash” to thereby notify the end user that a message from the HP Support Agent has arrived. When the browser window  120  has been minimized (but not closed) by the end user, then the HP Monitor  160  will not create a flashing icon, since in that case the end user has purposely intended to not be notified of any new messages from the HP Support Agent. Furthermore, even in the case when the browser object  162  is open and the end user has not responded to the last message from the HP Support Agent for at least a fixed amount of time (e.g., 10 minutes), then the HP Monitor  160  will create a flashing icon  175  on the bottom of the end user&#39;s computer display  130 , to politely alert the end user that he or she should respond to the last message from the HP Support Agent soon. Although a flashing icon feature has been described above, one of ordinary skill in the art will recognize that other ways to notify the end user may be contemplated while remaining within the scope of the invention, such as by providing an audible notification and/or other type of visual notification (e.g., small pop-up window on the computer display).  
         [0029]    A second embodiment of the invention will now be described in detail, with reference to FIG. 3. In the second embodiment, the HP Monitor periodically creates a browser object to make an http call to an HP Instant Support Server through the Internet, similar to how it was described with respect to the first embodiment. However, in the second embodiment, the HP Monitor utilizes a different polling method than what was done in the first embodiment. In particular, with respect to the second embodiment, the HP Monitor performs “intelligent polling”.  
         [0030]    In more detail, the likelihood of receiving a reply within a fixed time interval decreases as the elapsed time increases, which is a concept driving the polling procedure performed in the second embodiment. Furthermore, the expectation of responsiveness by the end user decreases over time. That is, if the end user has not received a response from a service engineer assigned to handle his or her problem within the first hour after the problem was initially reported to the service center, then it is likely that the problem is a difficult one to fix, and that the service engineer needs to take some time to determine a solution. On the other side, the fact that the end user has not received a quick response means that the end user likely realizes that he or she will not be getting a response any time soon, and thus his or her expectation for receiving a reply any time soon decreases over time.  
         [0031]    The polling strategy utilized in the second embodiment is based on the fact that there is no need to poll as often as time elapses. By implementing a backoff polling strategy in the second embodiment, the HP Monitor matches the decreased expectation of the end user and likelihood of having any messages with a decrease in polling rate. Such a backoff polling strategy is accomplished in step  225  of FIG. 2, whereby the backoff polling strategy as shown in FIG. 3 is implemented, for example. FIG. 3 shows one possible backoff polling implementation that may be used in the second embodiment. In this backoff polling strategy, the HP Monitor opens up a browser object to check for any messages at the HP Instant Support Server  170  every minute for the first hour from the time when the incident was first reported to the support center.  
         [0032]    If no message is received in the first hour, then the HP Monitor backs off the polling to only poll every five minutes in the second and third hours from the time when the incident was first reported to the support center. If no message is received within the first three hours, then the HP Monitor backs off the-polling to only poll every fifteen (15) minutes in the fourth through sixth hours from the time when the incident was first reported. Lastly, if no message is received within the first six hours, then the HP Monitor backs off the polling to only poll every thirty ( 30 ) minutes in the seventh through ninety-sixth hours from the time when the incident was first reported. If no message is received after 96 hours, then the polling stops.  
         [0033]    The HP Monitor implements the backoff strategy shown in FIG. 3 by performing up to 60 queries in the first hour, up to 24 queries in the second and third hours, up to 12 queries in the fourth through sixth hours, and up to 180 queries in the seventh through ninety-sixth hours. With such a backoff polling strategy, a maximum of 276 queries to the Support Server  170  are made by the end user&#39;s computer  110  (by way of the HP Monitor running on the end user&#39;s computer  110 , to be precise).  
         [0034]    As compared to the polling performed in the first embodiment, in which a maximum of 5760 queries may be performed (one for each minute in a 96 hour period), an elimination of over 95% of the queries to the Support Server  170  from one end user computer is achieved. This savings results in less traffic on a network (or networks) that passes messages between the end user and the Support Server  170 , thereby speeding up traffic flow for all users on the network. Furthermore, this savings results in less burden on the Support Server  170  and on the end user&#39;s computer  110 , due to the lesser number of message queries over a same period of time. Accordingly, server load is reduced as a result of the second embodiment using a backoff polling strategy that progressively increases the polling interval over time. Furthermore, instant or nearly instant notification to the end user is made by way of the invention according to either the first or second embodiments, to notify the end user of a new message from a support engineer that is awaiting their attention.  
         [0035]    In a third embodiment of the invention, which is similar to the second embodiment, a backoff polling strategy is used, whereby a time from a most recently received message from the support server  170  is the criteria to determine the backoff amount, instead of the time from when the first message (initiating the on-line assistance session) was received from the support server  170 .  
         [0036]    In an implementation of the first, second and third embodiments, when an end user has initiated a session with the support center and has been provided with a unique Case Number for all further message correspondence between a service engineer and the end user for that particular problem to be solved, and then if the end user initiates another session at a later point in time with the support center with respect to a different computer problem to be resolved, all messages between the end user and a service engineer with respect to the later session will be assigned a different unique Case Number than the one assigned for the earlier session. Now, assuming that both problems have not been resolved as yet, then the end user will have two pending sessions with the support center. If the end user then closes his or her browser object that was providing any messages to the end user from the support center to resolve those problems, then an HP Monitor in accordance with any of the embodiments of the invention will be activated to check for messages at the corresponding support server with respect to the pending sessions. In this case, only one instance of the HP Monitor is utilized to handle one or more currently pending sessions, since the HP Monitor is capable of checking the support server for any messages that have unique Case Numbers assigned to them that match the unique Case Numbers corresponding to the two pending matters initiated by the end user, which have yet to be resolved. That way, the end user&#39;s computer  110  is not tied-up by multiple HP monitors running at the same time.  
         [0037]    While several embodiments have been described herein, modification of the described embodiments may become apparent to those of ordinary skill in the art, following the teachings of the invention, without departing from the spirit and scope of the invention as set forth in the appended claims. For example, the notifying to the end user of a message with respect to his or her computer problem may be accomplished by having the browser pop up on the end user&#39;s computer display, and/or by audibly alerting the end user (e.g., “You have a message from the service engineer”) that a message from the service engineer is waiting to be read.