Patent Publication Number: US-RE43205-E

Title: Skill based chat function in a communication system

Description:
FIELD OF THE INVENTION 
     The field of the invention relates to communication systems and, in particular, to systems with automatic call distributors. 
     BACKGROUND OF THE INVENTION 
     Automatic call distribution systems are known. Such systems are typically used, for example, within private branch telephone exchanges as a means of distributing telephone calls among a group of agents. While the automatic call distributor may be a separate part of a private branch telephone exchange, often the automatic call distributor is integrated into and is an indistinguishable part of the private branch telephone exchange. 
     Often an organization disseminates a single telephone number to its customers and to the pubic in general as a means of contacting the organization. As calls are directed to the organization from the public switch telephone network, the automatic call distribution system directs the calls to its agents based upon some type of criteria. For example, where all agents are considered equal, the automatic call distributor may distribute the calls based upon which agent has been idle the longest. The agents that are operatively connected to the automatic call distributor may be live agents, and/or virtual agents. Typically, virtual agents are software routines and algorithms that are operatively connected and/or part of the automatic call distributor. 
     Automatic call distributors are utilized in communications handling centers, such as telephone call centers, that forward incoming communications, such as telephone calls, for processing by one of several associated call-handling agents. Other communications centers may be used to forward voice-over-internet protocol communications; electronic mail messages; facsimiles or the like, to associated handling agents. 
     Telephone call centers, for example, are often used to dispatch emergency services, as telemarketing sales centers, as customer service centers, etc. to automatically distribute received calls. Each incoming call may have a number of handling requirements, depending on, for example, the nature of the call, the originating call area, and the language of the call. Agents, on the other hand, each have abilities to process calls having certain handling requirements. Typically, agents are able to process one or more call types. For example, agents are typically trained to process certain call subject matters and certain call languages. 
     In known telephone call centers, computerized automatic call distributors place incoming telephone calls, of a particular type, requiring defined skills, in queues of like calls. Appropriate agents have skills necessary to process calls in the queues, and are assigned to such queues. Agents are often assigned to multiple queues, reflective of their particular handling skills. Typically, this is done to increase the handling capacity of the center by making improved use of available communications handling resources. 
     Quite often, agents may handle calls related to one or more subject areas, and possess varied attributes that are relevant to all subject areas they are capable of handling. For example, a telephone call center agent may speak multiple languages, and may therefore be able to process telephone calls relating to a particular subject matter in all these languages. One simple approach used to deal with multiple agent attributes is to create and administer individual queues, each of which takes into account the subject matter and the attributes of the agent. This, however, is administratively very cumbersome. 
     Other known telephone call centers use agent-skill indicators, associated with agents in order to connect calls. In such centers, a call is connected to an agent having an agent-skill indicator matching that of the call, within a group of agents. Agents, however, are typically only assignable to only one, and typically only a single agent-skill indicator is used to connect the call. Disadvantageously, such call centers do not use agent attributes across different groups. This may lead to an inefficient utilization of call center resources. Moreover, these communications handling centers do not allow for easy administration and re-assignment of agents to queues, while maintaining agent skill-sets. 
     One concern in designing an automatic call distributor system is ensuring that calls are efficiently routed to an agent, so as to minimize the amount of time that any particular call is placed on hold. One basic technique of minimizing on-hold time is to employ a first-in/first-out call handling technique. The first-in/first-out technique requires that calls be routed to the next available agent in the order in which the calls are received. However, in some automatic call distributor systems the agents are specialized in handling particular types of calls, so the first-in/first-out technique is not appropriate. For example in a product support department of a software facility, agents might be grouped according to specialized expertise, so that a first group is knowledgeable in word processing, a second group is knowledgeable in a database program, and a third group is knowledgeable in a spreadsheet program. Utilizing a first-in/first-out technique in such a situation is inappropriate, because a caller with a question regarding the word processing program may be routed to an agent having specialized knowledge regarding the database program or the spreadsheet program, rather than being routed to an agent with specialized knowledge in the word processing program. 
     The focus in the management of calls has been upon maximizing availability to customers, so as to achieve an acceptable profit margin in a competitive environment of customer service. Call management approaches that increase revenue may lead to savings for customers. 
     Most present-day call-distribution algorithms focus on being “fair” to callers and to agents. This fairness is reflected by the standard first-in, first-out call to most-idle-agent assignment algorithm. Skills-based routing improves upon this basic algorithm in that it allows each agent to be slotted into a number of categories based on the agent&#39;s skill types and levels. 
     The primary objective of call-distribution algorithms is to ultimately maximize call center performance. That may involve minimizing cost, maximizing call throughput, and/or maximizing revenue, among others. For example, when a new call arrives, the call should be handled by an agent who either has the ability to produce the most revenue or can handle the call in the shortest amount of time. Also, when an agent becomes available to handle a new call, the agent should handle either the call that has the possibility of generating the most revenue or the call that the agent is most efficient in handling. 
     Although known automatic call distribution systems provide many features. there is still a need in the prior art for a system that provides the ability for an agent or an inbound caller to solicit assistance from a group of similarly or higher skilled agents, especially in remote environments where, in the case of an agent, the agent does not have direct contact with other agents. These known systems do not have the functionality to allow agents and inbound callers to “chat” in a single environment. This results in a loss of efficiency in the amount of time it takes to obtain a response to a question. Furthermore, in the computerized “rooms” that are dedicated to a subject area, as the number of participants becomes greater, it is difficult to follow the thread of a transaction. To handle large chat sessions, providers, such as AOL, place participants into rolls, isolated from other chat members, and thereby limit the availability to find the solution to an inquiry. 
     Thus, there is a need in the prior art for a method and system which overcomes the disadvantages and provides the ability to match skill sets of an inquiring agent or inbound chat members with similar skill sets of agents. 
     SUMMARY OF THE INVENTION 
     One embodiment of the present invention is a method of providing assistance to an agent in an automatic call distribution system. The method has the steps of determining skills of each agent of a plurality of agents, storing the determined skills for respective agents of the plurality of agents as skill records in a database, retrieving the skill record of a predetermined agent from the database, comparing the skill record of the predetermined agent to the skill records of the other agents in the database, selecting an agent from the plurality of agents based on the comparison of skill records, and establishing communication between the predetermined agent and the selected agent. The skill record of a predetermined agent is retrieved when the predetermined agent of the plurality of agents requests to communicate with another of the agents of the plurality of agents. 
     In another embodiment of the present invention, the present invention is an apparatus that comprises a skilled determination module that determines skills of each agent of the plurality of agents. It also includes a database in which is stored as skill records the determined skills for respective agents of the plurality of agents, the database being operatively connected to the skill determination module. Also included is a retrieving module that is operatively connected to the database. The retrieving module, when an predetermined agent of a plurality of agents requests to communicate with another of the agents of the plurality of agents, retrieves the skill record of a predetermined agent from the database. Also included is a comparator, which compares the skill records of a predetermined agent to the skill records of the other agents in the database. The comparator outputs comparisons of the skill records of the predetermined agent and the other agents. A selector receives the output of the comparator and in response thereto selects an agent from a plurality of agents based on the comparison of skill records. The communication module then establishes communication between the predetermined agent and the selected agent. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The features of the present invention, which are believed to be novel, are set forth with particularity in the appended claims. The invention, together with further objects and advantages, may best be understood by reference to the following description taken in conjunction with the accompanying drawings and in the several figures of which like reference numerals identify like elements, and in which: 
         FIG. 1  is a general blocked diagram of a communications system with a call center having a public branch exchange switch with an automatic call distributor. 
         FIG. 2  is a flow diagram depicting the method of the present invention. 
         FIG. 3  is a blocked diagram depicting in general the structure of the apparatus according to the present invention. 
         FIG. 4  is a block diagram showing in more detail the present invention. 
         FIG. 5  depicts a computer readable media having stored therein code segments according to the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  is a block diagram of a telephone system having an automatic call distributor  109  that is part of a private branch exchange  108  in a call center  106 . Calls may be connected between callers  101 ,  102 ,  103  via network  105  to the automatic call distributor  106 . The automatic call distributor  106  may distribute the calls to telemarketers or agents, such as virtual agent  110 , or live agent  112 . The network  105  may be any appropriate communication system network such as a public switch telephone network, cellular telephone network, satellite network, land mobile radio network, the Internet, etc. Similarly, the automatic call distributor  109  may be a stand-alone unit, or may be integrated in a host computer, etc. The present invention may be implemented under any of number of different formats. For example, where implemented in connection with a public switch telephone network, a satellite network, a cellular or land mobile radio network, the present invention would operate within a host computer associated with the automatic call distributor and may receive voice information (such as pulse code modulation data) from a switched circuit connection which carries a voice between the callers  101 ,  102 ,  103  and the agents  110 ,  112 . 
     Where the present invention is implemented in connection with the Internet, the present invention may operate from within a server. Voice information may be carried between the agents  110 ,  112  and callers  101 ,  102 ,  103  using packets. 
     As shown in  FIG. 1 , a caller, such as caller  101 , may place a call to the call center  106 . The caller  101  typically uses a station set that may be embodied as a conventional telephone, videophone or personal computer configured with appropriate telephony software and Internet connectivity. The call is routed via the telephone network  105  to the call center  100 , in a conventional manner. The call is preferably routed within the call center  100  to a private branch exchange switch  108  that has an automatic call distributor  109 . The private branch exchange switch  108  and the automatic call distributor  109  may comprise conventional hardware and software, as modified herein to carry out the functions and operations of the present invention. 
     Generally, the private branch exchange switch  108  and the automatic call distributor  109  form a switching system designed to receive calls destined for call center  100 , and queue them when an appropriate agent is not available. In addition, the automatic call distributor  109  distributes calls to agents or specific groups of agents according to a prearranged scheme. The automatic call distributor  109  may be integrated with the private branch exchange  108 , as in the illustrative embodiment shown in  FIG. 1 , or provided by a separate unit. 
     The telephone network  105 , as used herein, includes the combination of local and long distance wire or wireless facilities and switches known as the public switched telephone network, as well as cellular network systems and the telephony feature of the Internet. The telephone network  105  is utilized to complete calls between (i) a caller at a station set, such as callers  101 ,  102 ,  103 , and the call center  100 ; (ii) a caller on hold and a third party; and (iii) a caller on hold and a shared-revenue telephone service, such as a 900 or 976 service, provided by content provider. As is well known, shared-revenue telephone services deliver a particular service over the telephone and subsequently bill the caller. The telephone number from which a call is made typically identifies the caller. A subsequent bill is then included as part of the caller&#39;s regular telephone bill. 
     The Internet network, as used herein, includes the World Wide Web (the “Web”) and other systems for storing and retrieving information using the Internet. To view a web site, the user communicates an electronic Web address, referred to as a Uniform Resource Locator (“URL”), associated with the web site. It is noted that if the caller accesses the call center  100  from a conventional telephone, the textual portions of a premium web site may be converted to speech for presentation to the caller. 
       FIG. 2  depicts in a flow diagram the method of the present invention. Initially, the skills of each agent of a plurality of agents are determined (step  202 ). The determined skills for respective agents of the plurality of agents are stored as skill records in a database (step  204 ). When a predetermined agent of the plurality of agents requests to communicate with another of the agents, the skill record of the predetermined agent is retrieved from the database (step  206 ). This skill record of the predetermined agent is then compared to the skill records of the other agents in the database (step  210 ). In step  212 , a check is made as to whether or not the skill of the first agent matches the skills of the other agents. If no match is found, then a connection with the first agent (predetermined agent) to any of the other agents is established (step  218 ). When a match is found, then it is determined whether this agent is available (step  214 ). If the agent is unavailable, then a comparison is again made in step  210 . If the agent is available, however, a connection is established between the predetermined agent and the agent, which matches the skills (step  216 ). 
     Skill records that are stored in the database contain at least an agent identifier and at least one associated skill classification. A further embodiment of the present invention of the method may include determining a plurality of skill sets and then associating at least one skill set with the respective agent of the plurality of agents. At least one skill set is identified based on the determined skills of the respective agent. An identification of the respective agent, and the association of the respective agent and at least one skill set are then stored in the skill records in the database. 
       FIG. 3  depicts a general blocked diagram of an apparatus for providing a chat function in an automatic call distribution system. The automatic call distribution system typically has a group of agents  300 . A means for determining skills of each agent of the plurality of agents is implemented in an agent skill determination module  302 . A means for grouping the agents according to skills thereof into a plurality of skill groups or skill sets is implemented by the group agents according to skills module  304 . Finally, a means for providing the chat sessions between the agents in a respective skill group of the plurality of skill groups is implemented in a chat session module  306 . 
       FIG. 4  depicts another embodiment of the apparatus of the present invention in a more detailed blocked diagram. An agent skill determination module  402  is used to determine the skills of each agent of a plurality of agents  400 . A storing module  404  takes the data from the agent(s) skill determination module  402  and stores in a skills database for the agents  406 . The determined skills for respective agents or the plurality of agents are stored as skill records in the database  406 . A retrieving module  408  obtains skill records from the database  406  and provides the data to a comparator  410 . The comparator  410  compares the skill records of a predetermined agent to the skill records of other agents in the database  406 . A comparator  410  outputs its results to a selector  412 , which then selects an agent from the plurality of agents  400 . This selection is based on the comparison of the skill records by the comparator  410 . Finally, an agent connection module  414  connects the predetermined agent to the selected agent based on the data output by the selector  412 . 
     As to be appreciated that the agent that desires to communicate with other agents may also be an inbound caller that desires to communicate with other agents of a particular skill group. Furthermore, the predetermined agent, or inbound caller, may communicate with two or more of the agents  400  that match the criteria according to the comparator  410 . 
     The method and apparatus of the present invention may be implemented in hardware, software, or combinations of hardware and software. In a software embodiment of the present invention is a computer program product embedded in a computer readable medium. The computer readable medium comprises a computer readable media containing code segments. As depicted in  FIG. 5 , the computer readable media  500  has a skill record retrieving computer program segment  502  that when a respective agent of a plurality of agents requests to communicate with another of the agents of the plurality of agents retrieves a skill record of the respective agent from a database. The computer readable media  500  also has a skill record comparing computer program code segment that compares the skill record of the predetermined agent to the skill records of the other agents in the database. The computer readable media  500  further has an agent selecting computer program code segment  506  that selects an agent from the plurality of agents based on the comparison of skill records. Finally, the computer readable media  500  has a communication establishing computer program code segment  508  that establishes communication between the predetermined agent and the selected agent. Again, it is to be pointed out that the predetermined agent may also be an inbound caller, and that the predetermined agent or inbound caller may be connected with two or more agents of the plurality of agents. Thus, with the present invention, the agents. which are first evaluated for the skill sets they contain, have the skill sets stored in a database record that can be updated as the agent obtains training or becomes more efficient, for example. When an agent selects a skill group chat function, the skill record of the agent is retrieved from the database. Agents are then assigned potentially similar skilled chat sessions based upon the skills they have. The present invention thus overcomes the drawbacks in the known systems, which fail to recognize the benefits associated with skill as a factor in determining the chat sessions to which agents are joined. 
     The invention is not limited to the particular details of apparatus and method depicted, and other modifications and applications are contemplated. Certain other changes may be made in the above-described apparatus and method without departing from the true spirit and scope of the invention herein involved. For example, the present invention may be utilized in various types of communication systems, other than a system using an automatic call distributor. It is intended, therefore, that the subject matter in the above depiction shall be interpreted as lusterative and not illuminating sense.