Abstract:
A system and method for establishing a data connection between a computer and a live agent selected from an agent pool. A computer user uses the computer to connect via a network with an information server. While browsing information on the server, the customer can request to speak with an unspecified live agent. An agent queuing manager receives the customer&#39;s request and selects an appropriate live agent from a continuously updated pool of available agents. Then, the agent queuing manager establishes a data connection between the live agent and the customer. The data connection is preferably an audio connection, although a real time text &#34;chat&#34; mode is also available. The agent queuing manager maintains the agent pool by monitoring when agents log in and out of agent terminals, as well as when the agents are engaged with a computer user.

Description:
TECHNICAL FIELD OF THE INVENTION 
     This invention relates to a system and method for achieving bi-directional voice communications between computer systems and more particularly to a system and method for achieving a real-time ACD Agent Pool. 
     BACKGROUND OF THE INVENTION 
     The computer (PC) is now being used for all types of applications. When combined with a data network which interconnects diverse computer users, such as the internet, a wide range of sophisticated transactions are possible. For example, a traditional service provided by InterVoice, Inc. (&#34;InterVoice&#34;) has been to provide information such as a banking statement over a telephone line to a caller. Now people are beginning to say &#34;I want to use my PC to obtain my last month&#39;s statement.&#34; 
     In response, InterVoice and others have started putting the same kind of information in an internet browser format as has traditionally been available in an audio format. For example, a bank customer can use a PC and a web browser to connect with a bank&#39;s server and retrieve a menu with choices such as paying bills, checking an account balance, or obtaining a monthly statement. The user can then make a selection and, if desired, have the output printed on a local printer or displayed on a screen. 
     Note that the computerized transaction involves the same set of information that the user gets if the user calls the bank on the telephone to get the data in an audio format. A difference is that the telephone transaction gives the user the option of pushing &#34;0&#34; and talking to a live customer service agent. Unfortunately, this option of speaking to a live agent does not exist on the internet connection. Thus, when a person is connected to a web page or a similar computer-based information retrieval system and then desires to speak to a live agent, the user must place a phone call to the service operator for that system. 
     Using state-of-the-art technology, it is possible for a user having a PC connected to the internet to connect with an audio chat server, see who else is connected to the server, select a connected user, and then become connected in a live audio chat with one or more people. This type of system, however, is certainly not conducive to establishing a communication link for the transfer of private information. 
     Accordingly, a need exists in the art for a system in which an internet user who is connected to a particular web page or to a particular server can establish an audio link to a customer representative appropriate to the ongoing transaction. 
     A need also exists in the art for a system in which an audio link can be established via the internet from a PC, or other internet terminal device, user to an agent for a particular service without the need for the user to select the particular agent. 
     SUMMARY OF THE INVENTION 
     The above and other needs are achieved in accordance with one embodiment of the invention in which there is created a selection option on the PC screen allowing the user to talk to a service agent. Assuming the user is using a computer system, or other internet terminal device, and an internet browser having audio capabilities, the user is then connected to a live agent for a two-way audio exchange. If the user does not have audio capacity, the user and the selected agent can carry on a &#34;text&#34; chat conversation. If the user has a TV camera, the user can actually see the agent, although the video image is not nearly as critical in the information exchange as being able to carry on a live voice or real-time text chat with the proper agent. 
     A technical advantage of the present invention is the synergism of using voice technology on a common access database (such as the internet), in combination with an automatic call distribution (ACD) system, such that the system knows which agent(s) is available at any one time and connects the user to the next available agent for bi-directional data exchange. 
     Another technical advantage of the present invention is that it creates a system and method which allows a user who is connected on a computer-to-computer network for the interchange of data to establish a real-time audio connection with an agent who is selected according to the particular application to which the user is connected. 
     Yet another technical advantage of the present invention is that an agent pool is created on the internet, wherein the particular agent that becomes associated with a user is selected as a result of the context in which the user is at that time. 
     The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: 
     FIG. 1 shows a high level block diagram of a common access communications link; 
     FIG. 2 shows a web page screen from a bank with a provision for selecting a service agent; 
     FIG. 3 shows a prior art internet phone directory server; 
     FIG. 4 shows a prior art selection screen whereby a user can select the person (or group of people) with which the user desires to chat; 
     FIGS. 5 and 6 are flow charts showing the logic followed during a typical agent log on and log off, respectively; and 
     FIGS. 7 and 8 are flow charts showing the logic followed during a typical agent connection and disconnection, respectively. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 1 shows the overall operation of a traditional common access communication link, such as the internet, wherein certain computers, such as PC 100, can access a server, such as server 103, which may be located, for example, at a bank. This access can be via a traditional telephone switching network 102 or, as will be seen, can be via the internet. PC 100 uses a digital communications device such as modem 101 for effecting this access. PC 100 could also become connected to server 103 via the internet as is shown by branches 13 and 14 wherein several different PCs, such as PCs 13A-13C and 14A-14C are connected through an internet service provider and eventually routed via router 104 to server 103. These types of computers and connections are all well known in the art. 
     In addition, FIG. 1 shows local network 12 which has terminals 12A-12C which are used in this environment for a specific type of access to server 103 as will be discussed hereinafter. 
     Assume that PC 100 is used by a customer of a bank and that the banking data resides on server 103. This server 103 has access to various types of information, such as the customer&#39;s checking account balance, last ten transactions, last month&#39;s statement, investment balances, etc. The customer can obtain access to any selected information via PC 100 through telephone network 102. A screen appears on PC 100 similar to that shown in FIG. 2 and the customer (user) chooses, by selecting the desired transaction and clicking the mouse (or any other selection method). 
     At some point during the examination of the selected information from server 103, the user at PC 100 may wish to discuss an account with a live customer service agent, either by voice or by real-time text communication. The user would then, via the screen shown in FIG. 2, select &#34;service agent&#34; and agent queuing manager 11, as will be discussed hereinafter, will connect the user at PC 100 to the next available live agent. 
     In our example, live customer service agents could be persons at any one of the PCs shown in FIG. 1, 12A-12C, 13A-13C, or 14A-14C. These agents would be operating, for example, from a PC similar to PC 100 and connected to server 103 via any one of a number of different connection modes. As shown in FIG. 1, work stations 12A-12C are connected to server 103 via local private network 12, which could be, for example, an ethernet LAN. LAN 12 can be extended by router 104 to serve branches 13 and 14, wherein the users of PCs 13B, 14B and 14C are assigned to bank XYZ as agents when they are connected to server 103. 
     Agent queuing manager (AQM) 11 controls which agent is connected to a particular user depending upon the context of the user at the time of the selection. The &#34;context&#34; is the information that the user is currently accessing. Accordingly, if the user is reviewing mortgage information, AQM 11 can use that context to choose a suitable agent. 
     Digressing momentarily, terminals 12A-12C, when logged on, are always agents. Other agents that are connected to the network, such as the users of terminals 13B, 14B, and 14C, can be connected via any internet service provider. In each case, the agent must log in to AQM 11. When an agent logs in to AQM 11, the agent is essentially indicating to AQM 11 that the agent is available to interact with users. 
     At this point, the agents are idle and waiting, so when the user of PC 100 clicks on the &#34;Service Agent&#34; link, AQM 11 is alerted that a user wishes to talk to a live agent. AQM 11 then reviews its list of logged on agents and picks an agent. Typically, AQM 11 will assign a next available agent to a connection. However, it may be also desired to select the agent based upon the context of the user, a history of requests, or upon other statistical, monitored, or preprogrammed data. 
     Next, AQM 11 establishes a connection between the agent and PC 100. This connection allows the agent and the user to either carry on a live voice conversation if both parties have audio support, or a real-time text chat if PC 100 lacks audio capability. If supported by the PCs and network, live video could be exchanged. In any event, AQM 11 selects an agent, connects the user with the agent, and monitors the connection. When the user is finished talking to the live agent, AQM 11 returns the agent to the available queue and disconnects the user from the agent. 
     AQM 11 removes agents from the list of available agents when they log off. Another function of AQM 11 is to handle users when all agents are busy. If AQM 11 examines the list of available agents and finds that there are no available agents, AQM 11 can announce to the user that there are no available agents and that it will either allow the user to wait until the next agent is available or schedule a callback, as shown in U.S. Pat. No. 5,155,761, entitled &#34;AUTOMATIC CALLBACK SYSTEM AND METHOD OF OPERATION,&#34; which patent is hereby incorporated by reference herein. 
     FIG. 3 shows the existing system of using the internet to establish audio communications between two or more parties. The current method of operation that existing technology allows is called the &#34;phone book method.&#34; In this method, PC users 31-33 who are willing to accept audio calls log in to a central location such as server 300 in system 30. In this case, there is no AQM and all of the users&#39; names (identifiers) are listed, as shown in FIG. 4, screen 40. Everyone who is in phone directory 40 can be accessed by simply clicking on a link in a standard HTML page using a HTML browser in a well known manner. The browser, such as NETSCAPE NAVIGATOR™, which is hereby incorporated by reference herein, can access phone directory 40 from a given PC and, when the phone directory is accessed and shown on the user&#39;s PC, allow the user to select the person to which the user desires to talk. Actually, the phone list is not updated in real-time, so there may be people that are currently busy on another connection or who have simply gone away. In fact, one of the problems of the existing system is that it is not kept up-to-date. This problem does not exist with AQM 11 since it tracks agents on a constant, real-time basis. 
     FIG. 5 is a flow chart showing the log on control that is exercised by AQM 11 to effect calls on the internet and to provide the Automatic Call Distribution (ACD) function. Basically, AQM 11 waits for an agent to log on (block 501). This waiting is shown in test block 502, which is a test of whether an agent is trying to log on. If no agent is trying to log on, AQM 11 just loops and waits. When an agent tries to log on, the process drops to block 503 which verifies the agent by asking for passwords, etc. and then places the agent on the &#34;available&#34; list which is actually a list or queue maintained in storage (not shown) controlled by AQM 11. Additionally, AQM 11 may inquire as to particular contexts for which the agent logging on should be made available. Alternatively, AQM 11 may maintain a data base of contexts that (not shown) a particular agent is to be made available for when logged on. 
     FIG. 6 is a flow chart showing the agent log off process. The agent log off process works similarly to the log on process, only in reverse. AQM 11 simply waits at blocks 601 and 602 for a log off request. When such a request occurs and the agent logs off, AQM 11 drops to block 603 where the agent is removed from the &#34;available&#34; list and the process returns back to the beginning at blocks 601 and 602, where AQM 11 again waits for an agent to log off. Note that the system can be designed to encourage agents to &#34;log off&#34; when not needed by using factors such as statistics, monitoring, or time of day. 
     FIG. 7 is a flow chart showing the connection logic used by AQM 11. In blocks 701 and 702, AQM 11 waits for an incoming call. When an incoming call arrives and the connection logic detects the call, AQM 11 takes the &#34;yes&#34; branch from block 702 and goes to block 703 where AQM 11 changes the availability list and selects an agent according to one of the previously mentioned selection criteria. 
     At block 705, AQM 11 makes the agent selection, removes the selected agent from the available list and connects the agent to calling PC 100. If no agent is available, AQM 11 follows the &#34;No&#34; branch out of block 703 and delivers a message telling the caller (user) to hold for an available agent (block 704). As discussed above, the user could be set up for a callback as soon as an agent becomes available. Otherwise, the caller is connected to the next available agent. 
     FIG. 8 is a flow chart illustrating the disconnect logic followed by AQM 11 when an agent finishes a call. As long as an agent is on a call and not finished, AQM 11 stays in block 801. When an agent is detected as being finished with the call, AQM 11 places the agent back on the available list, as discussed in FIG. 5, and the agent becomes available to handle another call (block 802). 
     It should be noted that the system, as envisioned, relies on data compression to transmit audio information over current networking hardware. There should be a delay time of less than 2 seconds turnaround between speakers to be tolerable. There are many well-known software programs available today for transmitting audio information via networks such as the internet. These programs run on industry standard computers such as those having INTEL™ X86 compatible processors and well known audio processing capabilities. 
     Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.