GB2346718A - Client server system supporting collaboration - Google Patents

Client server system supporting collaboration Download PDF

Info

Publication number
GB2346718A
GB2346718A GB9926365A GB9926365A GB2346718A GB 2346718 A GB2346718 A GB 2346718A GB 9926365 A GB9926365 A GB 9926365A GB 9926365 A GB9926365 A GB 9926365A GB 2346718 A GB2346718 A GB 2346718A
Authority
GB
United Kingdom
Prior art keywords
information terminal
information
request
servers
operator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9926365A
Other versions
GB9926365D0 (en
GB2346718B (en
Inventor
Rika Kusuda
Katsuyoshi Matsumoto
Reiko Nagatsuma
Yoichi Yoshida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP31854798A external-priority patent/JP3550503B2/en
Priority claimed from JP32418298A external-priority patent/JP3594219B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of GB9926365D0 publication Critical patent/GB9926365D0/en
Publication of GB2346718A publication Critical patent/GB2346718A/en
Application granted granted Critical
Publication of GB2346718B publication Critical patent/GB2346718B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

An information terminal 110, connected to one of a cluster 140 of collaboration servers 142-146 which are allocated by a dispatcher 120, is connected to another information terminal 170-174 via its allocated server. When a customer's web-browser 111 is connected to, say, server 142 by the dispatcher, a button for requesting connection to an agent is displayed. When the customer clicks this button, a customer ID and an IP address of the server 142 are stored in a table 155. After a Computer Telephony Integration server 163 allocates an agent, an agent proxy 173 obtains the stored IP address corresponding to the customer and accesses the server 142. If a customer's own telephone number is also stored, the customer can receive a call back from the agent. The customer can choose as communication means with the agent either a normal external telephone, an internet phone, or chat, (conversational hypertext) and receives a call back by the chosen communication means. The skill group of the agent can be also selected.

Description

CLIENT SERVER COMMUNICATION SYSTEM AND METHOD This invention relates to an information processing method and, particularly, to communications between terminals over a network such as the Internet.
An internet comprises a plurality of computer networks which are interconnected so that any computer on a given network can communicate with one or more computers on a given other network. A gateway computer is a computer which interconnects two networks to deliver data from one network to the other.
All computers on the internet communicate via a specific protocol, i. e., the internet protocol (IP). Most of applications use a transmission control protocol (TCP) along with the internet protocol. Thus, the internet is also called a TCP/IP network. A computer connected to the internet is identified by a unique internet address.
The internet routes information using a well known packet exchange technique. Data is transmitted on the internet in packets (also called an IP packet), each having an address associated therewith. A typical internet application may have electronic mail, FTP, Telnet and news implemented therein. Internet communication protocol and applications are well known.
The world wide web (i. e., www or Web) is an information service system based on the internet. The WWW uses hyper text and a client/server technique. The hyper text is a method of constructing and presenting information so that a data object in a hyper text file can have a link to another hyper text file or a data object. For example, a user can select a word having a link while a hyper text page is displayed so that the user can move to another hyper text file including other text or pictures which typically relate to that word (the new file may also have a link to further hyper text files and so on).
Many of the hyper text files are currently structured using the hyper text mark-up language (HTML). The hyper text data object may be in the form of any information medium including a text, an image, voice, a moving picture or an executable computer program. Any hyper text file on the web is uniquely identified by its universal resource locator (URL).
A Web Client or a client (typically, a computer which executes a program called a browser) is essentially a hyper text reader communicating with a Web Server via a specific data transfer protocol such as a hyper text transfer protocol (HTTP). The client requests a hyper text file using the URL to display the file on a graphical user interface (GUI). This display is called a web page. The client can return specific data to the server and call a common gateway interface (CGI) program on the server computer to perform a specific task. Netscape Navigator and Internet Explorer are known examples of commercially available browsers. (Netscape Navigator is a trademark of Netscape Communications Corporation while Internet Explorer is a trademark of Microsoft Corporation).
The WWW allows a user located anywhere on the internet to transmit a hyper text file via the www and retrieve any hyper text file in the world as easily as from a local hard disk. The user is thus provided with a powerful tool to obtain information and the internet becomes a hyper media global database, i. e., an information super highway.
The internet and the www have grown explosively recently.
Enterprises also envision a tremendous possibility of using the internet and the wWW as the next generation worldwide communication infra structure to access an enormous consumer market.
A collaboration technology has been proposed in such internet technology to allow a plurality of users to simultaneously collaborate (view, move or modify) on an HTML page as seen in PUPA 10-124461. Fig. 19 is a diagram showing an example where a collaboration on an HTML page is applied to an internet banking system. A bank agent can refer to the same page as one referred to by a customer and operate upon it by using such technology.
However, HTML data which a plurality of collaborating users obtain needs to be synchronized because there exist an HTML pages in which the content changes with time, such as a page of stock price information and a page containing a moving picture. Therefore, when one of the plurality of collaborating users transmits an HTML request, there is a need to introduce a collaboration server which caches the content of a response to the request and distributes it to other collaborating members.
However, when the number of customers and agents dealing therewith or the amount of data handled increases in such collaboration system, the collaboration server is heavily loaded and there is a danger that the processing time is extended, resulting in degraded services.
Another technology available in the www addresses the situation where several tens of thousands of access requests come to a favourite web site such as a news flash of the Olympic games. This technology makes a plurality of servers look virtually like a single server to process the requests without degrading the performance (Fig. 20). While the requests are actually processed by a plurality of servers in this technology, only a single address is seen from the accessing side (www. olympic. co. jp, in the example of Fig. 20) and the servers look like a single server. An example of such product is"eNetwork Dispatcher v2. 0" (eNetwork Dispatcher is a trademark of International Business Machines Corporation) -reference is made to http://www. ics. raleigh. ibm. com/netdispatch. while this network dispatcher looks like a single server as seen from a client, it has a plurality of servers in a cluster. When a request is received from a client, load information of the plurality of servers is determined to allocate the request from the client to the server having the least load.
However, the following problems are involved in applying such dispatching technique to the collaboration technology.
1. It is impossible to know to which server in the cluster the actual request is allocated.
2. when it is wanted to access a server in the cluster without the dispatcher intervening, the address of the cluster (URL), i. e., www. olympic. co. jp (9.1.1.4) can not be used. This is because the dispatcher allocates the request to the least loaded server in the manner similar to a normal request.
A further problem occurs when the number of bank agents on the side providing service is less than the number of customers requesting the service, since the customer has to call or try to communicate a number of times until an agent becomes available, resulting in a waste of time and labour for the caller ; this poor service can lead to degradation of customer satisfaction.
Accordingly, the invention provides a method of accessing one of a plurality of servers which are under the management of a dispatcher, wherein said servers can be accessed from a first information terminal via said dispatcher, said method comprising the steps of ; (a) storing information specifying one of the servers managed by said dispatcher and information specifying said first information terminal, in correlation to each other, and (b) accessing said one of the servers from a second information terminal based on information specifying the one of the servers which was stored in said step (a).
In the preferred embodiment, one is able to specify one of a plurality of servers and have such one of the servers process a request transmitted from an information terminal via a network. This is typically utilised by obtaining access to one of a plurality of servers from an information terminal and having such one of the servers process a request transmitted from another information terminal, without intervention from a dispatcher. This effectively represents specification of a server in a cluster allocated by a dispatcher and connection of an agent to that server.
The preferred embodiment of the invention is independent of the platform of an operated information terminal, and allows an agent to be assigned who has a skill which fits the content of customer's query in an internet call center. If the skill of the agent does not match the content of customer's query in the internet call center after he/she is connected to the customer, the work load such as transferring to an agent having a skill which matches the content of the query is reduced. In addition, the customer side can be notified of the availability status of agents, thereby allowing the customer side to select whether to wait for connection to the agent in an internet call center. A further feature is that the system allows a call provide initial information in contacting an agent to enable a smooth communication in the internet call center.
In the preferred embodiment, the effort required for connection is reduced as much as possible in collaborating via a network, and the communication means can be dynamically changed depending on a request by the person who desires the connection.
In one preferred embodiment, when a web Browser of an information terminal is connected to a Web Server, content including a button for requesting a connection to the agent side is displayed on the web screen. when a customer has his/her own telephone number registered in the customer information entry, the request is stored in a queue of an information terminal supporting system when the customer clicks this button. When the system finds an agent who can respond to the request, a message stating that there is a request from a customer is displayed on the information terminal screen of the agent. when the agent responds to this message, the telephone of the agent is connected to the telephone of the customer. The customer can choose communication means with the agent such as a normal external telephone, an internet phone, and a chat as desired and can be called back via the chosen communication means. The skill group of agents can be also selected.
This invention provides, in one aspect thereof, a method of communicating between a first information terminal and a second information terminal, said method comprising the steps of; (a) sending a first request sent to an address of a cluster of a dispatcher from said first information terminal to one of a plurality of servers managed by said dispatcher, (b) allocating information which can specify said first information terminal in said one of the servers, (c) receiving a second request requesting connection to the second information terminal from said first information terminal in said one of the servers, (d) storing said information which can specify said first information terminal and the information which can specify said one of the servers in correlation to each other, (e) specifying a second information terminal to be connected to said one of the servers, (f) accessing to said one of the servers from said second information terminal based on the information specifying said one of the servers which were stored in the step (d), and (g) communicating between said first information terminal and said second information terminal.
It will be appreciated that the information specifying the first information terminal may include a customer ID and the information specifying the second information terminal may include an extension number of an agent, as well as the employee number and the user ID of the agent. Likewise, the information specifying one of the servers may include the IP address, as described later in the embodiment.
This invention provides, in another aspect thereof, a method of communicating between a first information terminal and a second information terminal, said method comprising the steps of ; (a) sending a first request sent from a Web Browser of a first information terminal to an address of a cluster of a dispatcher to a Web Server of one of a plurality of servers managed by said dispatcher, (b) allocating information which can specify said first information terminal in said one of the servers, (c) sending to said first information terminal a response including a content which displays information which can specify said first information terminal, an object (such as a"Call-up"button) instructing to connect to a second information terminal, and an entry for inputting a telephone number of the operator of said first information terminal on a display device of said first information terminal, (d) receiving a second request requesting connection to the second information terminal and including information which can specify said first information terminal and a telephone number of the operator of said first information terminal, said second request being generated by operating said object in said first information terminal, (e) storing said information which can specify said first information terminal and the information which can specify said one of the servers in correlation to each other, (f) storing the telephone number of the operator of said first information terminal and information which can specify said first information terminal in correlation to each other, (g) specifying a second information terminal to be connected to said one of the servers, (h) storing information which can specify said second information terminal and information which can specify said first information terminal in correlation to each other, (i) accessing to said one of the servers from said second information terminal based on the information specifying said one of the servers which were stored in the step (e), and (j) communicating between said first information terminal and said second information terminal.
(k) sending a third request instructing a voice connection and including information which can specify the telephone number of the operator of said second information terminal in response to an operation instructing a voice connection of said second information terminal, and (1) connecting the telephone of the operator of said first information terminal to the telephone of the operator of said second information terminal in response to the third request.
This invention provides, in another aspect thereof, a method of communicating between a first information terminal and a second information terminal, said method comprising the steps of ; (a) connecting said first information terminal to one of a plurality of servers based on address information sent to said one of the servers which can support said first information terminal, said address information being obtained by said first information terminal from a dispatcher, (b) storing information which can specify said first information terminal and information which can specify said one of the servers in correlation to each other, (c) connecting a second information terminal desiring communication with said first information terminal to said one of the servers based on information specifying the one of the servers which was stored in said step (b), and (d) communicating between said first information terminal and said second information terminal.
This invention provides, in a further aspect thereof, a method of accessing to one of a plurality of servers which are under the management of a dispatcher, said method comprising the steps of; (a) storing information which can specify one of the servers managed by said dispatcher and is accessed from a first information terminal via said dispatcher, and information which can specify said first information terminal in correlation to each other, and (b) accessing to said one of the servers from a second information terminal based on information specifying the one of the servers which was stored in said step (a).
This invention provides, in a further aspect thereof, a communication system supporting communication between a first information terminal and a second information terminal, said system comprising ; (a) a Dispatcher for managing a plurality of servers and allocating a first request from the first information terminal to one of said plurality of servers, (b) a UAI Manager for allocating information which can specify said first information terminal, (c) a Collaboration Manager for supporting a Collaboration Software installed in said first and said second information terminals, (d) a CTI Interface for managing a managing table which stores information which can specify said first information terminal and information which can specify said second information terminal in correlation to each other, (e) a CTI Server for specifying the second information terminal to be connected to said first information terminal, and (f) an Agent Proxy for accessing to said one of the servers based on information obtained from said managing table and specifying said one of the servers.
This invention provides, in a further aspect thereof, a communication system supporting communication between a first information terminal and a second information terminal, said system comprising ; (a) a web Browser for sending a first request from the first information terminal, (b) a Dispatcher for managing a plurality of servers and allocating a first request to one of said plurality of servers, (c) a UAI Manager for allocating information which can specify said first information terminal, (d) a Web Server for sending to said first information terminal a response including a content which displays information which can specify said first information terminal, an object instructing to connect to a second information terminal, and an entry for inputting a telephone number of the operator of said first information terminal on a display device of said first information terminal, (e) a CTI Interface for sending a message instructing to specify the second information terminal which is to communicate with said first information terminal in response to transmission of a second request requesting connection to the second information terminal and including information which can specify said first information terminal and a telephone number of the operator of said first information terminal, said second request being generated by operating said object in said first information terminal, (f) a Matching Table for storing the information which can specify said first information terminal, the information which can specify said second information terminal and information which can specify said one of the servers in correlation to each other, (g) a Managing Table for storing the telephone number of the operator of said first information terminal and information which can specify said first information terminal in correlation to each other, (h) an Agent Proxy for accessing to said one of the servers from said second information terminal based on the information specifying said one of the servers which is obtained from said matching table, (i) a CTI Server/Client Application for sending a third request instructing a voice connection and including information which can specify the telephone number of the operator of said second information terminal in response to an operation instructing a voice connection of said second information terminal, and (j) a PBX for connecting the telephone of the operator of said first information terminal to the telephone of the operator of said second information terminal in response to the third request.
This invention provides, in a further aspect thereof, a recording medium storing a control program for accessing to one of a plurality of servers which are under the management of a dispatcher, said program including a program code which instructs to access to a managing table storing information which can specify the one of the servers accessed from said first information terminal via said dispatcher and information which can specify said first information terminal in correlation to each other, and to access to said one of the servers from said second information terminal based on information specifying the one of the servers which is stored in said managing table.
This invention provides, in a further aspect thereof, a method of communicating between a first information terminal and a second information terminal, said method comprising the steps of ; (a) sending a first request from a Web Browser of the first information terminal to a server, (b) sending to said first information terminal a response including a content which displays an object (such as a"Call Up"button or pop-up menu) instructing to connect from said server to said second information terminal on a display device of said first information terminal, (c) receiving a second request for connection to the second information terminal which is generated by operating said object in said first information terminal and includes information held in said first information terminal which can identify said first information terminal, (d) storing said second request in a queue, (e) detecting that the second information terminal is in a connectable state among a plurality of information terminals connectable to said first information terminal, (f) connecting a session between said server and said second information terminal and a session between said server and said first information terminal to establish a session between said first information terminal and said second information terminal, and (g) collaborating between said first information terminal and said second information terminal using the session between said first information terminal and said second information terminal.
This invention provides, in another aspect thereof, a method of communicating with a remote location using an information terminal, comprising the steps of : (a) sending a first request from a Web Browser of the first information terminal to a server, (b) sending from said server to said first information terminal a response including a content which displays an object instructing to connect to the remote location on a display device of said first information terminal, (c) receiving a second request for connection to the second information terminal which is generated by operating said object in said information terminal and includes information held in said information terminal which can identify a telephone number of an operator of said information terminal and storing it in a queue, (d) searching an operator in the remote location who can respond to said second request, (e) displaying a message instructing the second information terminal corresponding to the operator in said remote location to respond when the operator in the remote location who can respond to said second request is found, and (f) connecting a telephone of the operator in said information terminal and a telephone corresponding to the operator in said remote location by calling the telephone number of the operator in said information terminal in response to a response operation of the operator in said remote location.
This invention provides, in still another aspect thereof, a method of communicating with a remote location using an information terminal, comprising the steps of; (a) sending to said information terminal a response including a content which displays an object instructing to connect to a remote location on a display device of said information terminal in response to receipt of a first request sent from an information terminal, (b) receiving a second request for connection to the remote location which is generated by operating said object in said information terminal and includes information held in said information terminal (or input by the operator thereof) which can identify a telephone number of an operator in said information terminal, (c) calling a pre-registered telephone number of the remote location, and (d) connecting the telephone of the operator in said information terminal and the telephone of said remote location by calling the telephone number of the operator in said information terminal.
It will be appreciated that the telephone number of the operator in the first information terminal may represent not only a normal external telephone number but also an IP address and the like in an internet phone.
This invention provides, in a further aspect thereof, a method of communicating between a first information terminal and a second information terminal, said method comprising the steps of; (a) sending a first request from a Web Browser of the first information terminal to a server, (b) sending from said server to said first information terminal a response including a content which displays on a display device of said first information terminal an object instructing to connect to said second information terminal and an object for inputting information identifying the kind of the content of a communication, (c) receiving in said server a second request for connection to the second information terminal which is generated by operating said object instructing to connect in said first information terminal and includes information held in said first information terminal which can identify said first information terminal, a telephone number of an operator in said first information terminal, and information identifying the kind of the content of the communication, (d) analyzing information identifying the kind of the content of the communication to obtain a telephone number corresponding to the kind of the content of the communication, (e) calling the telephone number corresponding to the kind of the content of said communication, (f) specifying a second information terminal corresponding to a responding telephone, (g) calling the telephone number of the operator in said first information terminal to connect to said responding telephone, and (h) establishing a session between said first information terminal and said second information terminal.
This invention provides, in a further aspect thereof, a method of communicating between a first information terminal and a second information terminal, said method comprising the steps of ; (a) sending a first request from a Web Browser of the first information terminal to a server, (b) sending from said server to said first information terminal a response including a content which displays on a display device of said first information terminal an object instructing to connect to said second information terminal and an object for specifying the kind of a communication with said second information terminal, (c) specifying the kind of the communication with said second information terminal (eg a telephone, an internet phone or a chat), and operating said object instructing to connect in said first information terminal, (d) receiving in said server a second request for connection to the second information terminal which is generated by operating said object instructing to connect in said first information terminal and includes information identifying the kind of the communication, (e) analyzing information identifying the kind of said communication, and (f) establishing a communication between the operator in said first information terminal side and the operator in said second information terminal side by communication means specified based on the result of the analysis in said step (e).
This invention provides, in a further aspect, a communication system supporting a communication between a first information terminal and a second information terminal via a server, said system comprising ; (a) a UAI Manager for allocating information which can specify said first information terminal, (b) a CTI Server for instructing to call a telephone corresponding to an information terminal to be connected to said first information terminal and obtaining identification information of the second information terminal corresponding to a responding telephone, and (c) a Collaboration Manager for supporting a Collaboration Software installed in said first and said second information terminals and establishing a session between said first and said second information terminals.
This invention provides, in a further aspect thereof, a communication system supporting a communication between a first information terminal and a second information terminal, said system comprising : (a) a web browser for sending a first request from the first information terminal, (b) a UAI Manager for allocating information which can specify said first information terminal, (c) a web Server for sending to said first information terminal a response including a content which displays on a display device of said first information terminal said information which can identify said first information terminal, an object instructing to connect to said second information terminal and an entry for inputting a telephone number of an operator in said first information terminal, (d) a CTI Interface for sending a message instructing to specify a second information terminal to communicate with said first information terminal in response to transmission of a second request for connection to the second information terminal which is generated by operating said object in said first information terminal and includes information which can identify said first information terminal and a telephone number of an operator in said first information terminal, (e) a matching table for storing information which can identify said first information terminal and information which can identify said second information terminal in correlation a remote location using an information terminal, said recording medium comprising; (a) content sent to said first information terminal in response to a first request received from a web Browser of the first information terminal for displaying an object to be sent to said first information terminal and instructing to connect to the remote location on a display device of said first information terminal, (b) a program code, operative when receiving a second request for connection to the remote location which is generated by operating said object in said first information terminal and includes information held in said information terminal which can specify a telephone number of an operator in said information terminal, for instructing to store it in a queue, (c) a program code for instructing to search an operator in the remote location who can respond to said second request, (d) a program code for instructing a second information terminal corresponding to the operator in said remote location to display a message instructing to respond when the operator in the remote location who can respond to said second request is found, and (e) a program code for instructing to connect the telephone of the operator in said information terminal and the telephone corresponding to the operator in said remote location by calling the telephone number of the operator in said information terminal in response to a response operation by the operator in said remote location.
This invention provides, in a further aspect thereof, a recording medium for storing a software product for controlling a communication to a remote location using an information terminal, said recording medium comprising; (a) content sent to said first information terminal in response to receipt of a first request sent from an information terminal for displaying an object to be sent to said first information terminal and instructing to connect to the remote location on a display device of said information terminal, (b) a program code, responsive to receipt of a second request for connection to the remote location which is generated by operating said object in said first information terminal and includes information held in said information terminal which can specify a telephone number of an operator in said information terminal, for instructing to call a pre-registered telephone number of the remote location, and (c) a program code for instructing to connect the telephone of the operator in said information terminal and the telephone of said remote location by calling the telephone number of the operator in said information terminal.
This invention provides, in a further aspect thereof, a recording medium for storing a software product for controlling a communication between a first information terminal and a second information terminal, said recording medium comprising ; (a) content data sent from a server to said first information terminal in response to a first request sent from a Web Browser of the first information terminal for displaying an object instructing to connect to said second information terminal and an object to specify the kind of a communication with said second information terminal side on a display device of said first information terminal, (b) a program code, responsive to receipt of a second request for connection to the second information terminal, for instructing to analyze information specifying the kind of said communication, said second request being generated by specifying the kind of the communication with said second information terminal side and operating said object instructing said connection in said first information terminal, and (c) a program code for instructing to establish a communication between the operator in said first information terminal side and the operator in said second information terminal side by communication means specified by the result of the analysis.
A preferred embodiment of the invention will now be described by way of example only with reference to the following drawings : Fig. 1 is a schematic diagram of a system supporting collaboration between multiple terminals; Fig. 2 is a block diagram of a hardware configuration of an information terminal supporting server or an information terminal; Fig. 3 is a block diagram of processing components in the system of Figure 1 ; Fig. 4 is a schematic chart of an HTTP response header ; Fig. 5 is a schematic chart of an HTTP request header ; Fig. 6 is a schematic chart of the Client/Agent Matching Table; Fig. 7 is a schematic chart of the agent managing table; Fig. 8 is a schematic chart of the customer managing table; Figs. 9 and 10 are flow charts illustrating the operation of the system of Figure 1 in accordance with a preferred embodiment of this invention; Fig. 11 is a chart showing a Web Browser screen on the customer side; Fig. 12 is a chart showing a customer information input screen; Fig. 13 is a chart showing a customer status icon display panel; Fig. 14 is a chart showing a Web Browser screen on the agent side ; Fig. 15 is a chart showing a call up panel; Fig. 16 is a chart showing a communication means selection screen; Fig. 17 is a chart showing a arrival message which is outputted in the information terminal on the agent side; Fig. 18 is a flow chart showing the communication means deciding procedure; Fig. 19 is a diagram explaining a conventional collaboration technology ; and Fig. 20 is a diagram showing a conventional dispatch technology.
A. Overview Fig. 1 is a schematic diagram of a computer system in a preferred embodiment, having Information Terminal 110 on the client side, which runs a Web Browser such as Netscape Navigator or Internet Explorer. This sends an HTTP request from the Web Browser at the client side to access www. ccservice. co. jp. A dispatcher 120 dispatches the HTTP request sent from the client side to a suitable server taking the load of servers 142, 144,146 into consideration. In this example, an IP address is dispatched to a 9.1.1.3 server 146. In this preferred embodiment, the servers 142, 144, 146 are provided as a collaboration server. The collaboration server correlates the information Terminal 110 in the customer side with an information terminal of an agent side and provides control to cause same data to be sent to the correlated browsers in the terminals. The collaboration server delivers a client ID to the client side using the "cookie"method when the HTTP request is. not assigned a client ID.
A CTI (Computer Telephony Integration) Client 145 notifies a CTI Interface Machine 150 that it is connected with a client. In the preferred embodiment, the parameter sent in the message are client ID and the IP address of the server. The CTI Interface Machine 150 issues a request to allocate an agent to a PBX 165 and obtains an agent ID of the allocated agent. The CTI Interface Machine 150 also generates the set of client ID, the IP address of the server and an agent ID.
The CTI Interface Machine 150 delivers the IP address of the server to an Agent Proxy on the agent side. The agent also accesses using www. ccservice. co. jp which is the address of the cluster. Then, the Agent Proxy of the agent side converts www. ccservice. co. jp to the IP address (9.1.1.3) of the server 146 to ensure that the server 146 to which the client is connected is accessed.
B. Hardware Configuration Fig. 2 shows a schematic diagram of a hardware configuration of a typical information terminal supporting server. The information terminal supporting server comprises a central processing unit (CPU) 1 and a memory 4. The CPU 1 and the memory 4 are connected to a hard disk device 13 as an auxiliary storage via a bus 2. A floppy disk device 20. (or recording medium drives 26,28,29 such as a MO or CD-ROM) is connected to the bus 2 through a floppy disk controller 19 (or an IDE controller 25, a SCSI controller 27, etc.).
A floppy disk (or recording medium such as a MO or CD-ROM) is inserted to the floppy disk device 20 (or recording medium drives such as a MO and CD-ROM). Computer program code which gives instructions to the CPU to control operation of the server as described herein in cooperation with an operating system is recorded in the floppy disk, the hard disk device 13,30, and a ROM 14 and executed by being loaded into the memory 4. The computer program code may be compressed or divided into pieces for recording in a plurality of media.
The information terminal supporting server may be provided with user interface hardware including a pointing device 7 (a mouse, joystick, etc.) or a keyboard 6 for inputting, and a display 12 for presenting visual data to the user. A touch panel may be used as an input means.
Further, a printer may be connected via a parallel port 16 and a modem may be connected via a serial port 15. The information terminal supporting server can be connected to a network via the serial port 15 and a modem or a communication adapter (eg Ethernet or a token ring card) for communication with other computers and the like.
A speaker 23 receives an audio signal which is D/A (digital/analog) converted by an audio controller 21 via an amplifier 22 for output as a voice. The audio controller 21 A/D (analog/digital) converts voice information received from a microphone 24 to allow voice information external to the system to be taken into the system.
The Information Terminals 110,170,172,174 may be also implemented by the hardware configuration shown in Fig. 2 in the manner similar to the information terminal supporting server 100. Note that the skilled person will be aware of many variations in the system of Figure 2; thus many of the components illustrated are optional and can be omitted or replaced by other components without any direct bearing on the present invention, likewise additional elements may be included.
It will be readily understood that the information terminal supporting server shown in Figure 2 may be practiced by a conventional personal computer (PC), a workstation, mainframe, a notebock PC, a palm top PC, an information terminal having a communication function such as a network computer, or a combination thereof. Information terminals 170, 172, 174 may further be implemented as home appliances such as a television set having a computer internally installed, a game machine having a communication function, etc because it is only required for the Information Terminals 110,170,172,174 to have a function to input a request to obtain information and to then send out such request.
The operating systems in the information terminal supporting server and information terminal typically provide a GUI multi-windows environment, and may be any suitable platform such as windows NT (a trademark of Microsoft Corporation), or OS/2 (a trademark of International Business Machines Corporation), although an operating system in a character based environment such as PC-DOS could also be used, or a real time OS such as OS/Open (a trademark of International Business Machines Corporation).
C. System Configuration Fig. 3 is a functional block diagram showing the system configuration of a collaboration system which includes the information terminal supporting server (collaboration server). The collaboration system in the preferred embodiment of this invention comprises an Information Terminal (in the customer side) 110, a Dispatcher 120, a Cluster 140, a CTI Interface Machine 150, a CTI Server Machine 160, a CTI Server Client Machine 162, a PBX 165, Information Terminals (on the agent side) 170,172,174 and telephone sets 115,181,183,185.
In the preferred embodiment of this invention, a Web Browser 111 and Collaboration Software 113 are mounted on the Information Terminal 110. The web Browser 111 designates a URL and sends a request to a predetermined web Server via the internet 131. The web Browser 111 also receives a response sent from the web Servers 143 and 130 and displays it on the display screen.
The Collaboration Software 113 sends screen change information and annotation data to the Collaboration Software 178 on the agent side via a Collaboration Manager to be described later. It also provides a remote operation function of another terminal. The collaboration technology is not described in detail in this specification because it is known in the art as seen in PUPA 10-124461.
The Dispatcher 120 determines load information of the servers 142, 144,146 in the Cluster 140 and allocates a request from a client to the least loaded server. In the preferred embodiment of this invention, the Dispatcher 120 has a Sticky function which allocates a new request of a specific Web Browser 111 to the Collaboration Server 142, 144,146 that was previously allocated. This function is known in the art and provides control by having the Dispatcher 120 internally hold a set of IP addresses of already allocated Web Browsers 111 and Collaboration Servers 142 for a given period of time.
The Cluster 140 is a virtual server and behaves as if it is a server as seen from the client. The cluster is set up by registering those servers to which the Dispatcher 120 allows a request to be allocated.
In the preferred embodiment of this invention, the Cluster 140 which is a virtual server is provided with a plurality of Collaboration Servers 142,144,146. Each of the Collaboration Servers 142,144,146 is further provided with a TCP/IP interface 141, a Web Server 143, a CTI Client 145, a UAI Manager 147, and a Collaboration Manager 149.
The TCP/IP interface 141 supports the TCP/IP protocol. The Web Server (collaboration Web Server) 143 returns HTML for the designated URL in response to a request sent from the Web Browser 111. The collaboration web Server 143 checks the authority for accessing the collaboration Web Server 143 and instructs generation of a UAI. It also notifies the CTI Client of arrival of the request. The collaboration Web Server 143 in the preferred embodiment of this invention may further access another Web Server 130 to obtain its content and send it to the Web Server on the customer side.
The UAI Manager 147 allocates a UAI (an identifier) which the Web Browser on the client side can uniquely identify in response to the instruction by the Web Server. The CTI Client 145 delivers the value of the UAI and its own IP address to the CTI Interface 153 of the CTI Interface Machine 150. The UAI which the UAI Manager 147 allocated is sent to the Web Browser 111 on the customer side from the Web Server 143.
The Collaboration Manager 149 supports the Collaboration Software 113 on the customer side and the Collaboration Software 178 on the agent side so as to allow communication beyond a firewall. The Collaboration Software distributes common web information so that same information is obtained on the customer and the agent sides even if it is external web information which varies with time.
Fig. 4 is a conceptual chart of an HTTP response header in the preferred embodiment of this invention. As shown in Fig. 4, a UAI is included in the HTTP response header sent from the web Server to the Web Browser 111. The Web Browser 111 receiving the UAI will include the UAI information in its header portion in sending a subsequent request. Fig. 5 is a conceptual chart of an HTTP request from the Web Browser 111 after the UAI in the preferred embodiment of this invention is obtained.
The CTI Interface Machine 150 is provided with a TCP/IP interface 151, a CTI Interface 153, and a client-agent matching table 155. The CTI Interface 153 manages the client-agent matching table 155 and exchanges information managed in this table between the Collaboration Servers 142, 144,146 and the Information Terminals 170,172,174 on the agent side to allow an agent to access the collaboration server which a customer assigned to that agent accesses.
The client-agent matching table 155 is a table which provides control to allow a common collaboration server to be accessed from both the web Browser on the client side and the Web Browser on the agent side.
As shown in Fig. 6, the client-agent matching table 155 in the preferred embodiment of this invention manages information including a session ID 157, a customer ID 152, a collaboration server address 154, and an agent ID 156. Such information uniquely specifies a session between a customer and an agent, the Web Browser 111 on the customer side, the Collaboration Server 142,144,146, and the telephone number and the web Browser 179 on the agent side.
The CTI Server Machine 160 in the preferred embodiment of this invention includes a TCP/IP interface 161 and a CTI Server 163. The CTI Server 163 in the preferred embodiment of this invention controls the PBX 165, manages the status of the agent and holds customer information in response to a request by the CTI Server Client 169.
The control of the PBX 165 includes execution of an API call issued in the CTI Server Client 169 and issuance of an instruction to the PBX 165 to make an external call to the telephone on the customer side.
The status management of the agent includes accessing an agent managing table 220 to refer to information on the status of each agent, and updating the status depending on the content of a completion notice for an instruction passed to the PBX 165.
Fig. 7 is a conceptual chart of the agent managing table 220 which the CTI Server manages in the preferred embodiment of this invention. As shown in Fig. 7, an agent ID (extension number of the agent) 221, a status 223, and a parameter 225 are stored in the agent managing table 220. while the agent ID 221 matches the extension number of the agent in the preferred embodiment of this invention, it may be any other information such as an employee number which can uniquely specify the agent in the system. The status 223 indicates the status of the agent such as whether the agent has logged on the system, is busy or is in the state of waiting for work.
The parameter 225 specifies a responsible area for each agent. In internet banking, for example, different parameters are allocated for different areas such as an agent for opening an account, an agent for transferring to an account, and an agent for dealing with system trouble.
In the preferred embodiment of this invention, the HTTP request includes information identifying the kind of services which are desired to be provided by the agent and the CTI Server 163 allocates the agent taking this information into consideration.
Management of customer information includes obtaining customer information included in an HTTP request which is sent from the customer side via the CTI Interface 153 and the CTI Server Client 169, etc., and storing it in the customer managing table 240 which the CTI Server 163 manages. It also includes obtaining customer information from the customer managing table 240 in the CTI Server 163 in response to a request for obtaining customer information sent from the CTI Server Client Application 177 via the CTI Server Client 169.
Fig. 8 is a conceptual chart of the customer managing table 240 in the preferred embodiment of this invention. The customer managing table in the preferred embodiment of this invention manages a customer ID 241, a customer's external telephone number/IP address 243, and customer information 245.
In the preferred embodiment of this invention, a customer's external telephone number or an IP address (or the name of the host) is stored in a customer's external telephone number/IP address 243. The CTI Server Client Application 177 looks into the customer information obtained from the CTI Server 163 to determine whether the customer desires telephone conversations via the internet via or a normal external telephone network.
The customer information 245 can hold not only a customer's name/position but also a customer's preferences such as"poor in keyboard operation", ^poor in mouse operation","desires visual communication", and"desires a slow explanation"as described later.
The PBX 165 makes an actual telephone call to the telephone 181, 183, 185 of the agent or the telephone 115 of the customer. If the agent does not respond to the extension telephone, the PBX 165 notifies the CTI Server 163 that the agent does not respond and the CTI Server 163, in receiving this notice, assigns another agent in the preferred embodiment of this invention. while allocation of the agent may be done by the CTI Server 163, the PBX 165 and the like can also specify the agent in another mode of operation. For example, an IVR (Interactive voice Response) function may be installed in addition to the PBX 165 to specify the agent as the customer desires. Specifically, the IVR function allows the customer to select a group of desired agents and specify an agent in the selected group of agents by pushing keys on a DTMF phone according to voice guidance given from the system.
The CTI Server Client Machine 162 comprises a TCP/IP interface, and a CTI Server Client 169. The CTI Server Client 169 manages input/output of the CTI Server 163 and allows the CTI Interface 153 and the CTI Server Client Application 177 to use the CTI Server 163 without being aware of the CTI Server 163.
The CTI Server Client 169 issues a request for allocating an agent and a request for setting customer information, etc., to the CTI Server 163 in response to a request from the CTI Interface, and issues a request for making an external call to a telephone and a request for obtaining customer information in response to a request from the CTI Server Client Application 177.
As shown in the figure, each of the Information Terminals 170,172, 174 is provided with a TCP/IP interface 171, an Agent Proxy 173, a CTI Client 175, a CTI Server Client Application 177, Collaboration Software 178 and a Web Browser 179.
The Agent Proxy 173 holds an IP address which is notified as being the address of a collaboration server to be accessed and converts the destination of a request to a predetermined host name to the IP address so held.
The CTI Client 175 interfaces with the CTI Interface 153. The CTI Server Client Application 177 detects that the agent is allocated to a customer and starts a Web Browser 179 using the predetermined host name as a URL. It also sends out an indication to the CTI Server 163 via the CTI Server Client 169 to obtain customer information managed by the CTI Server and to make an external call.
The Web Browser 179 sends a request to a predetermined Web Server specified by the URL via the Firewall 133 and the internet 131 in a manner similar to the web Browser 111 on the client side. It also receives a response sent from the Web Server 143, 130 and displays it on a display screen. The Collaboration Software 178 sends screen change information and annotation data in a manner similar to the Collaboration Software 113 on the customer side. It also provides a remote control function of the information terminal on the customer side.
It will be appreciated that Fig. 3 is depicted primarily in terms of logical functional blocks and it is not meant that each block is implemented in the form of a discrete hardware or a software, since composite or common hardware or software may be used. Further, many variations in the configuration of Fig. 3 can be adopted. For example, the function of the CTI Interface Machine 150 may be integrated into one of the collaboration servers, and/or the CTI Server Machine 160 and the CTI Server Client Machine 162 may be implemented in a single machine.
D. operation Procedure.
The operation procedure of the components in the preferred embodiment of this invention is shown in Figs. 9 and 10. First of all, the Information Terminal 110 on the customer side sends out an HTTP request to the Dispatcher 120 by specifying a URL (eg http ://www. ccservice. co. or. jp) with the Web Browser 111 (step 401).
The HTTP request is allocated to the most suitable Collaboration Server 142,144,146 by the Dispatcher (step 403). It is assumed that the request is allocated to 9.1.1.1 in this example. (Note that although the server is allocated taking into consideration the load condition of the severs in the preferred embodiment of this invention, this invention is not so limited to and any other suitable allocation attributes such as the amount of data handled may be employed).
The Collaboration Server 142 receiving this HTTP request (IP address: 9.1.1.1) first checks whether the HTTP request header (see Fig. 5) has a cookie"IBMCF UAI"in the Web Server 143 (step 405). If the HTTP request header 320 does not have a cookie of IBMCF~UAI, the UAI Manager 147 is requested to generate a UAI. The UAI Manager 147 generates a UAI in response to this request (step 415). In the preferred embodiment of this invention, the UAI Manager 147 allocates an ID uniquely identifiable within the system as a customer ID and sets a cookie of IBM~UAI in the UAI using Set-cookie: Response Header (Fig. 4). An HTTP response is then sent from the Web Server 143 to the Web Browser 111 as a response to the HTTP request (step 407).
Fig. 11 is a chart showing a display screen of the Information Terminal 110 on the customer side in the preferred embodiment of this invention. when a collaboration is started between the customer side and the client side by depressing a"Call up"button 513 to be described later, a collaboration control window 510, a Web Browser main window 520, a chat window 530, and a tool bar window 540 are displayed ir. the display screen of the information terminal on the customer side.
The collaboration control window 510 in the preferred embodiment of this invention includes a Query Item Entry field 511, a Call up button 513, a Customer Information input button 515, a Disconnection button 517, a Tool Bar display button 519 and a Message field 580.
The Query Item Entry field 511 is a field into which a customer enters a query item and the like. The data entered here is automatically sent to the agent side when the Call up button 513 is depressed and the content of the data is displayed in a title portion of the currently focused window or in a specific window. By this mechanism, the agent can smoothly initiate a conversation because the agent can see the approximate content of the query before the conversation begins.
The"Call up"button is a button which a customer uses to call up an agent. The Collaboration Software 113 is started by the Call up button 513 and connected to the Collaboration Manager 149. The"Customer Information"button"515 is a button for displaying a Customer Information input panel 700.
Fig. 12 is a chart showing an example of the customer information panel in the preferred embodiment of this invention. In the customer information panel 700 in the preferred embodiment of this invention, entries 701,703,705 are disposed to input a name, a telephone number and position information. Also, an item 710 for inputting information such as"poor in keyboard operation","poor in mouse operation","desire visual communication", and"desire a slow explanation"can be checked.
Such information assists in conveying the physical condition of a customer and other conditions and to permit appropriate handling of the customer when a query arrives at the agent from the customer.
The information inputted in the customer information panel 700 is saved in the cookie by depressing an"OK"button 721. Then, when the "Call up"button 513 shown in Fig. 11 is depressed, the content of the cookie is read and sent to the Collaboration Manager 149 of the Collaboration Server 142 as a parameter of a GET or POST command via the dispatcher along with information entered in the customer Query Item Entry field 511 (step 408). The CTI Client 145 on the cluster side also recognizes receipt of a connection request.
Because the Dispatcher 120 in the preferred embodiment of this invention has a"Sticky"function to have the same collaboration server process requests which come from the same information terminal during a given time period, the Collabor
In the preferred embodiment of this invention, the information entered in the Query Item Entry field 511 is also saved in the cookie.
This is for the purpose of obviating the need to re-input upon depressing the"Call up"button again, should all the agents be busy and the connection is given up.
The Collaboration Software 178 of the Information Terminal 170 on the agent side, in receiving this, analyzes the information and displays a frame 800 shown in Fig. 13 on the display screen. The"End Reception" button 801 in the upper frame is a button which the agent depresses at the end of the day to log off. As shown in the figure, an icon corresponding to the item which the customer checked is crossed out. In this example, the customer has checked the item"poor in operation of a keyboard". The keyboard icon is crossed out. Likewise, when"poor in the operation of mouse"is checked, for example, the picture of the mouse is also displayed with a crossing out. while the condition of a customer and the content of the query were not known in the prior art until a conversation begins with the customer, the agent can obtain such information beforehand in this system.
Especially when the customer is a handicapped person, the response to an arriving call is effective and adapted to the customer when the agent knows the condition of the handicap beforehand. In the case of a customer who has a handicap in eye sight, for example, if the agent knows customer's condition beforehand, the agent can suitably cope with the customer by an oral conversation rather than giving guidance like"please look at xxxx". In the case of a customer who has a handicap in hearing or speaking, guidance could be given from the beginning mainly using a tool such as Chat rather than oral conversation.
Especially in the case of a customer who has a handicap in hearing or speaking, chat windows 530,630 are automatically opened upon connection in the preferred embodiment of this invention. Also, when the agent clicks a voice connection button 740 (Fig. 14), a window which requests confirmation input is outputted to the agent along with a message for attention. Specifically, the Collaboration Software 178 on the agent side which analyzed the parameter of the GET or POST command recognizes that the customer desires to have a conversation using Chat and starts a chat application.
Returning to Fig. ll, the"Disconnect"button 517 is a button for disconnecting a session with the Collaboration Manager 149. In the preferred embodiment of this invention, when the session with the customer side is disconnected, the Collaboration Manager 149 also disconnects the session with the agent side and outputs information from the session to be saved to an internal memory area.
The message field 580 is a field for displaying a system message.
For example, a message corresponding to the status of the system such as "A responsible person will soon respond to you. Please wait for a second" is displayed after the customer depresses the"Call up"button 513.
The"Tool Bar"button 519 starts a tool bar 540 having various buttons for using annotation and the like (the annotation technology is generally known in the art as disclosed in PUPA 10-124461). By clicking on"Red pen 541,"Blue pen"543, or"Black pen"545, the pointer is changed to a pen shape having the respective color and a red, blue or black line can be drawn on the Web Browser main screen 520. Also, by clicking"Red straight line"547,"Blue straight line"549, or"Black straight line"551, a red, blue or black line can be drawn. Further, by clicking"Red character"553,"Blue character"555, or"Black character" 557, a red, blue or black character can be inputted.
A"Restore to mouse pointer"button 559 restores the shape of the mouse pointer which has changed to the shape of a pen or such like to the normal shape of the mouse pointer. A"Switch Chat mode"button 561 switches the display mode of the window 530 of Chat. In the preferred embodiment of this invention, the chat window 530 may be selectively switched to a multi-line display as shown in Fig. 11 or to a mode of displaying a single line in the title bar of the currently focused window.
A"Retry"button 563 erases annotation drawn most recently and restores the system to the immediately preceding state. An"Erase all" button 565 erases all annotations so far drawn. A"Pointer on"button 567 turns a remote pointer on. The remote pointer is a pointer for indicating a position on the screen to the collaboration partner during a collaboration. A"Pointer off"button 569 turns the remote pointer off.
Returning now to Figure 9, the CTI Client 145 of the cluster side receives a notification from the Web Server 143 via an interprocess communication and delivers the value of the UAI as a customer ID and its own IP address 9.1.1.1 to the CTI Interface 153 via a TCP/IP communication means such as a socket (step 409). The CTI Interface 153 then registers a customer ID (CI) and 9.1.1.1 in the client-agent matching table 155 described in Fig. 6 (step 411). The CTI Interface 153 further requests the CTI Server Client 169 to allocate an agent via a TCP/IP communication means such as a socket (step 413). If there is a Firewall 133 between them in this case, the Firewall is passed through using means like SOCKS.
The CTI Server Client 169 receiving the request for allocation issues a make call to the CTI Server to instruct it to call the key number of the agent which is internally held by the CTI Server 463. The CTI Server 463 rings the bell of the key number of the agent using the PBX 165. when the agent picks up the telephone call, the extension telephone number of the agent is returned to the CTI Server 463 via the PBX 165 (step 451).
Note that by using the functions described herein, an agent who has a skill fitting the content of a customer's query can be assigned in the internet call center, and also the availability of agents can be passed onto the customer to allow the customer to select whether to wait for a connection to the agent or not.
By assigning an agent who has a skill fitting the content of a customer's query, a conversation between the customer and the agent can be held more efficiently after connection. In addition, the number of times the skill of the assigned agent does not match the content of the customer's query after connection to the customer is reduced, so that the work load of transferring to an agent having a skill matching the content of the query can be minimised in the call center.
Note that the user interface of the Call up button 513 shown in Fig. 11 may be changed to the form shown in Fig. 15. Here, the customer checks query contents 851 to 859 when the customer depresses the"Call up"button 863. In this example, the customer checks a query relating to OS/2. The information that the query relates to OS/2 (hereinafter referred to as"skill information") is sent to the CTI Interface 153 in the manner similar to the description of the customer information.
The CTI Interface 153 determines the skill information and selects a group of agents fitting the skill information. The following two methods are implemented in the preferred embodiments of the invention.
The first method queries the CTI Server or the PBX 165 as to what group of agents it has (collate the skill information with the parameter 225 of the agent managing table 220) and issues a requests to the obtained group of agents to allocate an agent. The second method provides a table of skill information and groups of agents in the CTI Interface, searches the table and issues a request to the obtained group of agents to allocate an agent.
After selecting the group of agents, the CTI Server 163 or the PBX 165 is asked if an agent can be immediately assigned. For example, the number of agents having the status of ready is obtained and the agent who has been ready for the longest time is assigned if the number is two or more. If the number of ready agents is zero, the time of the customer currently placed in the queue who has been waiting longest is obtained to obtain predictive information suggesting that the customer who depressed the Call up button has to wait for that length of time as a minimum.
If no wait time is required, a message such as"the agent will soon call you"is displayed in the browser on the customer side. If the customer has to wait, a message such as"the agent will call you in xx minutes. will you wait?"and a Yes/No button are displayed in the browser on the customer side to prompt the customer to depress the Yes or No button. If No is depressed, the request for assigning the agent is terminated.
When allocation of the agent finishes, the CTI Server 163 retrieves the extension telephone number of the allocated agent from the agent managing table and requests the PBX 165 to call the extension number using this information. Also, the CTI Interface 153 obtains an ID which can identify the agent allocated by the CTI Server 163 via the CTI Server Client 169 using a TCP/IP communication means such as a socket (step 453). An ID which can identify an agent is an extension telephone number of the agent, for example. In this case, when there is a Firewall 133 between them, it is passed through using means such as SOCKS.
The CTI Interface 153 registers an. agent ID (1111, in this example) in the client-agent matching table 155 (step 455). The CTI Interface 153 issues a request for allocating a session ID to the Collaboration Manager 149 and stores a session ID returned from the Collaboration Manager 149 in the client-agent matching table 155 (step 456). The session ID is notified to the Collaboration Software 113 on the customer side by the CTI Interface 153 (step 457).
In the preferred embodiment of this invention, the session between the Collaboration Software 178 on the agent side and the Collaboration Manager 149 is started when the agent logs into the system and the session waits until a customer is allocated. The session ID may be assigned beforehand to a session started between the Collaboration Software 178 on the agent side and the Collaboration Manager 149 when the agent logs into the system, and also to the session in which the corresponding customer is waiting after the agent has been allocated.
The CTI Interface 153 notifies the CTI Client 175 of the agent 170 identified by the agent ID (1111) of an IP address (9. 1.1.1) of the session ID and collaboration server which is set in the table 155 by a TCP/IP communication such as socket (step 458). In the preferred embodiment of this invention, because the CTI Interface 153 is notified of the agent ID (extension number) and the relevant IP address when the agent logged into the system, the CTI Interface 153 can directly access the CTI Client 175. when there is a Firewall 133 between them, it is passed through using means such as SOCKS.
The CTI Client 175 delivers the IP address (9.1.1.1) of the Collaboration Server 142 received from the CTI Interface 153 via an interprocess communication to the Agent Proxy 173 (step 459). Also, a CTI Server Client Application 177 runs in the Information Terminals 170,172, 174 on the agent side and knows that it is allocated (step 471). For example, it can know that it is allocated by continuously sending a query via the CTI Server Client 169 or having the CTI Server 163 bring up an event when it is allocated. Also, it can determine that it is allocated when the IP address of the collaboration server is notified in step 457.
The CTI Server Client Application 177, upon knowing that it is allocated, designates the name of the host of the Dispatcher 120 www. ccservice. co. jp as a URL to start the Web Browser 179 (step 473). An HTTP request is then sent to URL http://www. ccservice. co. jp from the web Browser 179 on the started agent side (step 475).
In the preferred embodiment of this invention, because the Agent Proxy 173 is set up to convert a given host name (www. ccservice. co. jp, in this example) to the IP address delivered in the step 459, the Agent Proxy 173 converts the IP address of www. ccservice. co. jp to 9.1.1.1 (step 461) and the agent can therefore also access the Collaboration Server 142 which has the IP address of 9.1.1.1 (step 477).
Fig. 14 shows a screen which is displayed when the Information Terminal 170 on the agent side accesses the Collaboration Server 142 to collaborate. As shown in the figure, a collaboration control window 640, a Web Browser main window 620 and a chat window 630 are displayed in the display screen of the Information Terminal 170 on the agent side in the preferred embodiment of this invention.
The upper half of the collaboration control window 640 in the preferred embodiment of this invention is a tool effective for the display screen on the agent side while the lower half excluding a"Printn button 730 and a voice connection button 740 is for remote control of a tool on the customer side. The function of the buttons provided in the collaboration control window 640 is same as those described in the tool bar 540 on the customer side.
Buttons which are not in the tool bar 540 on the customer side but are provided in the collaboration control window 640 include a Print button 683, a Disconnect button 679, a Temporarily Disconnect button 681, a Reconnection button 683, and a Chat window open button 675.
The Print button 730 sends an annotated screen to a printer. This is provided because an annotation is not printed in the print function of a normal Web Browser. The Disconnect button 679 disconnects a session with the Collaboration Server 142. The Temporarily Disconnect button is used to temporarily disconnect a session with the Collaboration Server 142. For example, this is a convenient function when only the agent wants to go to another URL for confirmation. The Reconnection button 683 is used to reconnect when temporarily disconnected. The Chat window open button 675 opens a Chat window. when this button is depressed, Chat windows 530,630 open on the agent and the customer sides. The technology relating to a remote control is not described in detail because it is known in the art.
The voice Connection button 740 is a button for an agent to voice connect to a customer manually. When the voice Connect button 740 is depressed, a message including information of an agent ID (extension telephone number) and a customer ID is sent to the CTI Server Client 169.
The CTI Server Client 169 receiving this message instructs the CTI Server 163 to voice connect the customer and the agent. The CTI Server 163 obtains the customer's telephone number from the customer information managing table 240 and instructs the PBX 165 to connect the extension number of the agent to the telephone of the customer (step 479). while the telephone number of the customer is obtained from the customer information managing table 240 in the preferred embodiment of this invention, a customer's telephone number registered beforehand in a database which the system can utilize may be obtained using a customer ID or the like as a key.
In another embodiment, the system may automatically voice connect without the voice connection button being depressed by the agent. In this case, a message instructing connection and including information about the agent ID (extension telephone number) and a customer ID are sent to the CTI Server Client 169 from the agent side in response to delivery of the customer ID from the CTI Interface to the agent side along with the IP address of the collaboration server in step 457.
In one mode of this invention, the communication means can be selected for being called back at the customer side as shown in Fig. 16.
In the case of an internet call center, for example, the method of communicating with an agent by a voice depends on the number of lines on the customer side. when there is only one line, a voice communication is impossible because a connection is already made to the web (it is possible if a portable telephone is used) so that it may be desired to communicate using an internet phone. Because the communication means is decided depending on the status of the customer side, the agent can communicate without worrying about the type of connection to be implemented.
In the example of Fig. 16, the customer can select one of a connection by a public telephone network 871, a connection by the internet 873 and a communication by Chat 875. While two lines or a portable telephone are necessary in the case of a connection by a public telephone network, one line is enough in the case of a connection by the internet or a communication by Chat. Chat is especially useful when the customer has a handicap in hearing. when the customer depresses the"Call up"button 877 after specifying the communication means, this information is sent to the CTI Server Client Application 177. The Server Client Application 177 receiving this information extracts the received information and the customer information from the customer information managing table 240 and outputs a message as shown in Fig. 17 to the Information Terminal 170 on the agent side.
The agent can be made aware of a call from the customer because an arrival screen"call from customer"is then displayed and the bell of the agent's head set rings. When the agent clicks a response button 885, the CTI Server Client Application 177 identifies the communication means as shown in Fig. 18. The CTI Server Client Application 177 first checks whether the call back information (call back address) included in the message received from the customer side is a null character (step 481).
If it is determined that the call back address is a null character, chat applications in the agent and the customer sides are started using the Collaboration Software 113,178 (step 483).
If it is determined that the call back address is not a null character, the CTI Server Client Application 177 further checks whether the call back address is in the format of an IP address (step 485). If it is determined that the call back address is not in the format of an IP address, an external call is made using the CTI Server Client 168 (step 487). If it is determined that the call back address is in the format of an IP address, the CTI Server Client Application 177 starts internet applications in the agent and the customer sides using the Collaboration Software 113,178 and connects these together (step 489).
It will be appreciated that whilst this invention has been described in relation to using a browser, it is applicable not only to systems using the internet protocol, but rather applies to any information terminal supporting server which can provide a specific service in a centralized fashion to a plurality of sessions requested from information terminals. As described in the above, in having one of a plurality of servers process a request sent from an information terminal via a network, this allows said one of the servers to be specified and accessed from another information terminal. In addition, even if the request from the information terminal is allocated by a dispatcher, this server can be accessed from other information terminals without the intervening dispatcher causing problems.

Claims (14)

  1. CLAIMS 1. A method of accessing one of a plurality of servers which are under the management of a dispatcher, wherein said servers can be accessed from a first information terminal via said dispatcher, said method comprising the steps of ; (a) storing information specifying one of the servers managed by said dispatcher and information specifying said first information terminal, in correlation to each other, and (b) accessing said one of the servers from a second information terminal based on information specifying the one of the servers which was stored in said step (a).
  2. 2. The method of claim 1, wherein communications are established between said first and second terminals by the further steps of: (a) sending a first request from said first information terminal to said one of the plurality of servers managed by said dispatcher, said first request being addressed to a cluster representing the plurality of servers managed by said dispatcher ; (b) allocating information specifying said first information terminal in said one of the servers ; (c) receiving in said one of the servers a second request requesting connection to the second information terminal from said first information terminal; (d) specifying a second information terminal to be connected to said one of the servers, and (e) communicating between said first information terminal and said second information terminal.
  3. 3. The method of claim 2, wherein said first request is sent from a web Browser of the first information terminal to a web Server of one of the plurality of servers managed by said dispatcher, said method further comprising the steps of: sending to said first information terminal a response to said first request including content which displays information specifying said first information terminal, an object instructing connection to a second information terminal, and an entry for inputting the telephone number of the operator of said first information terminal on a display device of said first information terminal, including information in said second request specifying said first information terminal and the telephone number of the operator of said first information terminal, said second request being generated by operating said object in said first information terminal, storing the telephone number of the operator of said first information terminal and information specifying said first information terminal in correlation to each other, storing information specifying said second information terminal and information specifying said first information terminal in correlation to each other, sending a third request instructing voice connection and including information specifying the telephone number of the operator of said second information terminal in response to an operation instructing voice connection of said second information terminal, and connecting the telephone of the operator of said first information terminal to the telephone of the operator of said second information terminal in response to the third request.
  4. 4. The method of claim 1, wherein communications are established between said first and second terminals by the further steps of: connecting said first information terminal to one of said plurality of servers based on address information sent to said one of the servers which can support said first information terminal, said address information being obtained by said first information terminal from a dispatcher, connecting a second information terminal desiring communication with said first information terminal to said one of the servers based on the stored information ; and communicating between said first information terminal and said second information terminal.
  5. 5. A communications system for supporting communication between a first information terminal and a second information terminal, said system comprising ; a dispatcher for managing a plurality of servers, wherein said servers can be accessed from a first information terminal via said dispatcher; means for storing information specifying one of the servers managed by said dispatcher and information specifying said first information terminal, in correlation to each other, and means for accessing said one of the servers from a second information terminal based on the stored information.
  6. 6. The system of claim 5, wherein the dispatcher allocates a first request from the first information terminal to one of said plurality of servers, and said system further comprises : a UAI Manager for allocating information which can specify said first information terminal, a Collaboration Manager for supporting collaboration software installed in said first and said second information terminals, a CTI Interface for managing a managing table which stores information specifying said first information terminal and information specifying said second information terminal in correlation to each other, a CTI Server for specifying the second information terminal to be connected to said first information terminal, and an Agent Proxy for accessing one of the servers based on information obtained from said managing table and specifying said one of the servers.
  7. 7. The system of claim 5, further comprising a web Browser for sending a first request from the first information terminal, means in said Dispatcher for allocating the first request to one of said plurality of servers, a UAI Manager for allocating information which can specify said first information terminal, a web Server for sending to said first information terminal a response including a content which displays information which can specify said first information terminal, an object instructing to connect to a second information terminal, and an entry for inputting a telephone number of the operator of said first information terminal on a display device of said first information terminal, a CTI Interface for sending a message instructing specification of the second information terminal which is to communicate with said first information terminal in response to transmission of a second request requesting connection to the second information terminal and including information specifying said first information terminal and the telephone number of the operator of said first information terminal, said second request being generated by operating said object in said first information terminal, a Matching Table for storing the information specifying said first information terminal, said second information terminal and said one of the servers, in correlation to each other, a Managing Table for storing the telephone number of the operator of said first information terminal and information specifying said first information terminal in correlation to each other, an Agent Proxy including said accessing means for accessing one of the servers from said second information terminal based on the information specifying said one of the servers which is obtained from said matching table, a CTI Server/Client Application for sending a third request instructing a voice connection and including information specifying the telephone number of the operator of said second information terminal in response to an operation instructing voice connection of said second information terminal, and a PBX for connecting the telephone of the operator of said first information terminal to the telephone of the operator of said second information terminal in response to the third request.
  8. 8. A method of communicating between a first information terminal and a second information terminal, said method comprising the steps of ; (a) sending a first request from a Web Browser of the first information terminal to a server, (b) sending to said first information terminal a response including a content which displays an object instructing to connect from said server to said second information terminal on a display device of said first information terminal, (c) receiving a second request for connection to the second information terminal which is generated by operating said object in said first information terminal and includes information held in said first information terminal which can identify said first information terminal, (d) storing said second request in a queue, (e) detecting that the second information terminal is in a connectable state among a plurality of information terminals connectable to said first information terminal, (f) connecting a session between said server and said second information terminal and a session between said server and said first information terminal to establish a session between said first information terminal and said second information terminal, and (g) collaborating between said first information terminal and said second information terminal using the session between said first information terminal and said second information terminal.
  9. 9. The method of claim 8, further comprising the steps of; searching an operator in the remote location who can respond to said second request, displaying a message instructing the second information terminal corresponding to the operator in said remote location to respond when the operator in the remote location who can respond to said second request is found, and connecting a telephone of the operator in said information terminal and a telephone corresponding to the operator in said remote location by calling the telephone number of the operator in said information terminal in response to a response operation of the operator in said remote location.
  10. 10. The method of claim 8 or 9, wherein said object allows for inputting information identifying the kind of content for a communication, and this information is included in said second request, said method further including the steps of: analyzing the information received with the second request identifying the kind of the content of the communication to obtain a telephone number corresponding to the kind of the content of the communication, and calling the telephone number corresponding to the kind of the content of said communication.
  11. 11. The method of claim 10 in which the available kinds of communication include a telephone, an internet phone or a chat.
  12. 12. Computer program code for implementing the method of any of claims 1 to 4 or 8 to 11 when executed on a computing device.
  13. 13. A communication system supporting a communication between a first information terminal and a second information terminal via a server, said system comprising ; (a) a UAI Manager for allocating information which can specify said first information terminal, (b) a CTI Server for instructing to call a telephone corresponding to an information terminal to be connected to said first information terminal and obtaining identification information of the second information terminal corresponding to a responding telephone, and (c) a Collaboration Manager for supporting a Collaboration Software installed in said first and said second information terminals and establishing a session between said first and said second information terminals.
  14. 14. A communication system supporting a communication between a first information terminal and a second information terminal, said system comprising; (a) a web Browser for sending a first request from the first information terminal, (b) a UAI Manager for allocating information which can specify said first information terminal, (c) a web Server for sending to said first information terminal a response including a content which displays on a display device of said first information terminal said information which can identify said first information terminal, an object instructing to connect to said second information terminal and an entry for inputting a telephone number of an operator in said first information terminal, (d) a CTI Interface for sending a message instructing to specify a second information terminal to communicate with said first information terminal in response to transmission of a second request for connection to the second information terminal which is generated by operating said object in said first information terminal and includes information which can identify said first information terminal and a telephone number of an operator in said first information terminal, (e) a matching table for storing information which can identify said first information terminal and information which can identify said second information terminal in correlation to each other, (f) a managing table for storing said telephone number of the operator in said first information terminal and information which can identify said first information terminal in correlation to each other, (g) a CTI Server Client Application for sending a third request instructing to connect in a voice and including information which can identify a telephone number of an operator in said second information terminal in response to an operation instructing to voice connect said second information terminal, and (h) a PBX for connecting the telephone of the operator in said first information terminal and the telephone of the operator in said second information terminal.
GB9926365A 1998-11-10 1999-11-09 Client server communication system and method Expired - Lifetime GB2346718B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP31854798A JP3550503B2 (en) 1998-11-10 1998-11-10 Method and communication system for enabling communication
JP32418298A JP3594219B2 (en) 1998-11-13 1998-11-13 Communication method, communication system, recording medium storing software product for controlling communication

Publications (3)

Publication Number Publication Date
GB9926365D0 GB9926365D0 (en) 2000-01-12
GB2346718A true GB2346718A (en) 2000-08-16
GB2346718B GB2346718B (en) 2003-07-02

Family

ID=26569399

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9926365A Expired - Lifetime GB2346718B (en) 1998-11-10 1999-11-09 Client server communication system and method

Country Status (1)

Country Link
GB (1) GB2346718B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617540A (en) * 1995-07-31 1997-04-01 At&T System for binding host name of servers and address of available server in cache within client and for clearing cache prior to client establishes connection
GB2321730A (en) * 1997-01-31 1998-08-05 Fujitsu Ltd Electronic conference system keeping consistency of messages between servers

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5008930A (en) * 1989-10-24 1991-04-16 At&T Bell Laboratories Customer definable integrated voice/data call transfer technique
CA2150060C (en) * 1994-07-08 2000-01-11 John T. Biggs Seamless multimedia conferencing system using enhanced endpoint devices
AU2935297A (en) * 1996-05-07 1997-11-26 Webline Communications Corporation Method and apparatus for coordinating internet multi-media content with telephone and audio communications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617540A (en) * 1995-07-31 1997-04-01 At&T System for binding host name of servers and address of available server in cache within client and for clearing cache prior to client establishes connection
GB2321730A (en) * 1997-01-31 1998-08-05 Fujitsu Ltd Electronic conference system keeping consistency of messages between servers

Also Published As

Publication number Publication date
GB9926365D0 (en) 2000-01-12
GB2346718B (en) 2003-07-02

Similar Documents

Publication Publication Date Title
US6567848B1 (en) System for coordinating communication between a terminal requesting connection with another terminal while both terminals accessing one of a plurality of servers under the management of a dispatcher
JP3283018B2 (en) html file acquisition method, information terminal support device, storage medium storing software product for acquiring html file
KR100443806B1 (en) Information processing method
JP3226929B2 (en) Apparatus and method for coordinating telephone and data communications
US6778661B1 (en) Multimedia call distribution system
US6912573B2 (en) Method for acquiring content information, and software product, collaboration system and collaboration server for acquiring content information
US6330243B1 (en) System and method for providing an electronic chat session between a data terminal and an information provider at the request of an inquiring party input into the data terminal
US6654815B1 (en) Contact server for call center
US6519628B1 (en) Method and system for customer service using a packet switched network
JP3165042B2 (en) Client server system
US7315616B2 (en) System and method for maintaining real-time agent information for multi-channel communication queuing
JP4781101B2 (en) Chat response system
JP3594219B2 (en) Communication method, communication system, recording medium storing software product for controlling communication
JP2007072835A (en) Service user support system
US6668054B1 (en) Service desk system architecture for a mobile service workforce
JP2004015763A (en) Call center support device and program thereof
GB2346718A (en) Client server system supporting collaboration
JP2024102470A (en) Call center system, incoming call connection method, and program
EP1288800A2 (en) Split browser
JP2002135422A (en) Method and system for conversation utilizing ip network
JP2001257782A (en) Multimedia call center system

Legal Events

Date Code Title Description
746 Register noted 'licences of right' (sect. 46/1977)

Effective date: 20071007

PE20 Patent expired after termination of 20 years

Expiry date: 20191108