Patent Publication Number: US-7917623-B2

Title: Method of allocating data communication sessions based upon user information

Description:
FIELD OF THE INVENTION 
     The field of the invention relates to the Internet and more particularly to “chat sessions” among Internet users. 
     BACKGROUND OF THE INVENTION 
     Chat rooms and chat sessions on the Internet are concepts that are generally well understood and used by many people. Chat rooms are typically provided through a web site, a portion of a web site or as an online service provided by an Internet service provider (ISP) such as America Online. A chat room provides a venue for communities of users with a common interest to communicate in real time. In contrast, forums and discussion groups allow users to post messages, but do not have the ability to provide interactive messaging. 
     The use of chat sessions has also be adopted by some organizations (e.g., merchants, political organizations, etc.) operating web sites as a means of increasing the impact of a web site. Typically, the web site provides one or more web pages touting the benefits of the organization. On one of the web pages a softkey may be provided with the label “chat with us”. 
     If a user (e.g., a customer) activates the softkey, the customer is placed into contact with an agent of the organization for a private chat session. Once placed into contact with an agent, the customer may ask questions and receive specific answers to those questions, usually through the exchange of short text messages. 
     While the concept of private chat sessions works well, the agent is often hampered by a lack of information about the customer. Because of the lack of information, a simple, albeit ambiguous, question from a customer may elicit an improper response, leading to the creation of a negative impression in the mind of the customer. Because of the importance of the Internet and the promotion of organizational activities, a need exists for a better method of interacting with customers. 
     SUMMARY OF THE INVENTION 
     A method and apparatus are provided for establishing communication sessions through the Internet. The method includes the steps of receiving a request from an Internet requester by a website for a communication session with an agent of the website, analyzing browser associated information relating to the request and selecting an agent for the communication session based upon a content of the analyzed browser associated information. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a message exchange system in accordance with an illustrated embodiment of the invention; 
         FIG. 2  depicts a web page that may be used by the system of  FIG. 1 ; and 
         FIG. 3  is a block diagram of the host of  FIG. 1 . 
     
    
    
     DETAILED DESCRIPTION OF AN ILLUSTRATED EMBODIMENT 
       FIG. 1  is a block diagram of a message exchange system  10 , shown generally under an illustrated embodiment of the invention. The message exchange system  10  is intended primarily for the private exchange of text, video and/or audio information between two users. The message exchange system  10  may be used by an organization (e.g., a merchant, a political organization, etc.) to setup message exchange (e.g., “chat” or video) sessions through the Internet between an external client of the organization and a selected agent of the organization for purposes of advancing the agenda of the organization. 
     For example, where the organization is a merchant, the message exchange system  10  may be structured around a website  24 , that is provided to promote the wares of the merchant. For example, the merchant may advertise the Internet address (i.e., the URL) of the website  24  through television or newspaper. Alternatively, the organization may set up links to the website  24  from search engines or from the websites of other merchants selling related merchandise. 
     To access the website  24 , a customer may simply activate a browser on his terminal  16 ,  18  and enter the URL of the website  24 . Upon activating an ENTER button, the browser within the customer&#39;s terminal  16 ,  18  may compose an access request and forward the access request to the host  14 . Upon receiving the information request, the host  14  may decode the access request and recover the URL of the website  24  and a URL of the customer  16 ,  18 . 
     Upon decoding and recognizing from the URL that the access request is intended for the website  24 , the host  14  may forward the access request to the application providing the functionality of the website  24 . In addition to routing access and information requests, the host  14  may also function to open files and track website usage. To this end, the host  14  may open a contact file  26  based upon the URL of the customer  16 ,  18 . 
     The website  24  upon receiving and decoding the information request may download an html document (e.g., webpage  50 ,  FIG. 2 ) to the customer&#39;s terminal  16 ,  18 . Included within the web page  50  may be text and graphical information. For example, the web page  50  may include sales information  52  and a series of menu options  54 . Menu options may include hyperlinks to different lines of merchandise and, possibly a search option. If a search option is provided, a text box  58  may be provided for entry of search terms. 
     The web page  50  may also include an ASK QUESTION soft key  56 . Activation of the ASK QUESTION soft key  56  may be regarded by the host  14  as an agent request and used as an indication that a customer  16 ,  18  has a specific question to ask an agent  20 ,  22  or that the customer  16 ,  18  wishes to place an order. In either case, the host  14  may take specific steps (discussed in more detail below) to determine which agent is best suited to service the customer  16 ,  18 . 
     In order to enhance the functionality of a webpage  50 , the website  24  may include one or more processing routines (e.g., Java scripts) associated with predetermined areas of the web page  50 . For example, positioning of a cursor over a particular menu option may activate a first Java script that causes the customer&#39;s browser to send a URL associated with that menu selection back to the website  24 . Alternatively, entry of text into a text box  58  and activation of the SEARCH soft key may activate another Java script that collects the entered text and sends it to a search engine associated with the website  24 . 
     Upon receiving and reviewing the web page  50 , the customer  16 ,  18  may review the sales information and may make a menu selection for more information. Upon making a menu selection, the user&#39;s browser may forward the menu selection to the website  24 . The website  24  may receive and process the menu selection and may download a second web page  50 . 
     In addition to downloading web pages  50 , the website  24  may also transfer information to the host  14  regarding website use by the customer  16 ,  18 . The website use may include any web pages  50  visited along with any information entered through text boxes  58 . The host  14  may receive the information and add it to the contact file  26  created for the customer  16 ,  18 . 
     In addition to visiting a number of web pages  50 , the customer  16 ,  18  may decide that he has a question and may activate the ASK QUESTION soft key  56 . The website  24  may receive the request and forward the agent request (along with the URL of the customer  16 ,  18 ) to an agent selection application (ASA)  70  ( FIG. 3 ) within the host  14 . 
     Before determining which agent  20 ,  22  to assign to the customer  16 ,  18 , the host  14  may first recover and process browser associated information. Browser associated information may be obtained from a number of sources. As used herein, browser associated information relating to the request means information delivered to a server along with the information request from the browser, router information retrieved by the server based upon the URL of the browser or information retrieved by the server from the browser about communication sessions with other servers. 
     As a first step, a packet processor (PP)  72  within the ASA  70  may analyze browser associated information to identify a location and a domain name of the sender. Identification and knowledge of the location of the customer  16 ,  18  may allow the host  14  to select an agent  20 ,  22  who is physically present in the same locale as the customer  16 ,  18 . The selection of a local agent  20 ,  22  may be a significant element in achieving customer satisfaction because of the personal knowledge that a local agent  20 ,  22  may have about local suppliers of the organization. 
     Once the locale of the customer  16 ,  18  has been determined, then the ASA  70  may attempt to correlate a domain name (from the URL of the customer  16 ,  18 ) with organizations within that local. While some domain names (e.g., AOL) are nonspecific with regard to location, other domain names (e.g., Rockwell) can be correlated to a specific company and location based upon the nearest router switch and, possibly, the domain name of the company embedded within the identifier of the router. 
     The correlation of a domain name used by the customer  16 ,  18  with a location may be important in selecting an agent with a proper training to service the customer. For example, some customers  16 ,  18  may be employees of large companies that do business with the organization controlling the message exchange system  10 . In achieving customer satisfaction with large companies, the host  14  must be able to identify queries from those companies and select an agent trained in the specifics of the relationship with that company. 
     The analysis of the browser associated information and determination of the location of the sender (i.e., the customer  16 ,  18 ) may be determined, on a first level, by identifying the packet switches through which the access request passed on its way from the sender  16 ,  18  to the website  24 . The path may be determined from the URL of the browser by using the well-known “TRACEROUTE” utility. For example, Windows 95, 98, NT and 2000 include a traceroute utility called tracert. The route of an access request may be determined by opening a DOS or command prompt window, and entering “tracert” followed by the IP number or domain name of the host serving the customer  16 ,  18 . A set of router identifiers (path identifiers) may be returned and stored in the contact file  26 . 
     The path identifiers provide a list of the identities of the Internet routers that the access request traversed from the sender (customer  16 ,  18 ) to the web site  24 . From the path identifiers, the PP  72  may retrieve an identifier of the first router that the access request passed through on its way from the customer  16 ,  18  to the website  24 . By knowing a location of a router closest to the customer  16 ,  18 , the ASA  70 , by inference, also knows the relative location of the customer  16 ,  18 . Further, where the first router is part of a private network, the identifier of the router typically contains the name of the owner of the private network. 
     The actual location of the first router may be determined based upon prefixes appended to the router identifiers or by reference to a router location lookup table  76  within memory  74 . When using the lookup table  76 , the PP  72  may simply enter the table with the router identifier and search a set of files  78 ,  80  for a matching router identifier and retrieve the associated location stored within that same file. 
     Once the location of the customer  16 ,  18  is determined, the ASA  70  may select an agent  20 ,  22  based upon the proximity of the agent  20 ,  22  to the customer  16 ,  18 . To select an agent, an agent analyzer (AA)  88  may enter an agent location lookup table  82  containing information on agent location and other agent information. Using the location of the first router, the AP  88  may select the agent  20 ,  22  in the same locale as the customer  16 ,  18  to handle the communication session. 
     To further enhance agent selection, the PP  72  may compare a domain name of the URL with a list  92  of domain names and locations of known customers. Where a match is found, the criteria for selection of the agent  20 ,  22  may be further based upon a skill or prior training in handling the specific problems associated with that customer at that location. 
     To initiate the contact, the AA  88  may transfer a URL of the selected agent  20 ,  22  to a communication processor (CP)  90  within the host  15  along with the URL of the requesting customer  16 ,  18 . The CP  90  may retrieve additional information from the contact file  26  including any web pages  50  visited and also an identifier of the web page  50  from which the communication session request originated. The host  14  may compose a packet message, including the contact information and forward the composed packet message to the selected agent  20 ,  22 . Upon receiving the message, a terminal  20 ,  22  of the selected agent may automatically initiate a communication session with the requesting customer  16 ,  18  while at the same time displaying the transferred contact information. 
     Under another illustrated embodiment of the invention, browser associated information may exist in the form of shared files  19  ( FIG. 1 ) that may be used to determine and control agent selection. Under the illustrated embodiment, files  19  (e.g., directories) within the terminal  16 ,  18  of the customer may be made available for analysis by the host  14 . Analysis of shared files may be used to enhance customer satisfaction by providing information regarding the context of the customer&#39;s agent request (e.g., the customer&#39;s communication preferences, the customer&#39;s visits to other websites, etc.). 
     Sharing may be accomplished under a format similar to that developed for sharing music. Software for sharing files may be downloaded from any of a number of sources (e.g., napster.com, kazaa.com, etc.). 
     Under the shared file format, a customer  16 ,  18 , in return for certain financial or service incentives, may download the file sharing software from the sources referenced above or from the website  24 . In preparation for accessing the website  24 , the customer  16 ,  18  may designate (through his browser) the paths to certain files (or folders) that are to be designated as being shared files. In an analogy to Napster, the shared files would be the directories to shared music and the shared music files. Under the illustrated embodiment, the shared files are file directories related to communication activity (e.g., “C:\WINDOWS\History”, “C:\WINDOWS\Recent”, “C:\WINDOWS\Cookies”, “C:\WINDOWS\MEDIA” etc.). 
     Shared files under illustrated embodiments of the invention are used for an entirely different purpose than under the prior art. Under the prior art, shared files represent information received from outside sources. Under the illustrated embodiments, shared files, with the exception of cookies, are files generated by the user&#39;s browser. 
     Further, the use of the shared files herein is also different from the prior use of “cookies”. For example, shared files are available herein to any website  24  that identifies itself as being part of that same shared file network. In contrast, (and except as noted below) a cookie is only supposed to be available to the website depositing the cookie. 
     By making the files and file directories related to communication activity available to the ASA  70 , the host  14  may be able to improve customer service drastically. For example, if the ASA  70  is able to identify shared files with an “MPEG” file extension, then the ASA  70  may use such information to verify that the customer  16 ,  18  has video conferencing software. If the ASA  70  can verify that the customer  16 ,  18  has video conferencing software, then the ASA  70  may select an agent  20 ,  22  that also has video conferencing software and a high-speed connection to the Internet sufficient to service that software. 
     In order to use the information from the shared files, a file analyzer (FA)  96  may compare the file extensions of the shared files with a communications capability index (CCI)  94 . Within the CCI  94 , the file extensions may be used to retrieve a specific set of communications capability that an agent may need to effectively communicate with the requester  16 ,  18 . 
     For example, if the file extensions indicate that the requester  16 ,  18  has the capability of using Voice-over-Internet Protocol (VoIP), then the FA  96  may further access the “MEDIA” file of the requester  16 ,  18  to determine the VoIP software supplier and revision level used by the requester  16 ,  18 . With a supplier and revision level, the FA  96  may transfer the file information to the AA  88  as further criteria for selection of an agent  20 ,  22 . 
     The AA  88  may access the agent table  82  using the additional information from the shared files. Within the agent table  82 , the AA  88  may search for an agent  20 ,  22  with a compatible VoIP application and Internet service sufficient to service the customer  16 ,  18 . Upon locating and selecting an agent  20 ,  22 , the AA  88  may transfer the identifier of the customer  16 ,  18  to the selected agent  20 ,  22  along with instructions to active the compatible VoIP application. As described above, the contents of the contact file  26  may also be transferred to the selected agent for use during the session. 
     Similarly, the FA  96  may identify shared files with a JPEG or MPEG extension. As above, the FA  96  may identify a software supplier and version available to the customer  16 ,  18  and may transfer any identified information to the AA  88 . 
     The AA  88  may access the agent files  82  to identify an agent with similar JPEG or MPEG software and an Internet connection capable of supporting such a connection. Upon selection of an agent  20 ,  22 , the AA  88  transfers information to the agent  20 ,  22  and the communication session begins. 
     By accessing the directories of other Internet contacts (e.g., “C:\WINDOWS\History”, “C:\WINDOWS\Recent”, “C:\WINDOWS\Cookies”, etc.), the ASA  70  may also be able to identify customers  16 ,  18  that are in the mood to buy. For example, if a contact list contains paths (URLs) to webpages of competitors, then the ASA  70  may consider the customer  16 ,  18  a better prospect for closing a sale and may select a more qualified agent than would otherwise be chosen. Alternatively, where the organization using the system  10  sells many products, the path content of the contact list may provide information of a particular product (e.g., a URL of a webpage) that the customer  16 ,  18  is interested in from prior contacts. The knowledge of customer interest may be used to ensure that the proper agent  20 ,  22  is selected in advance of the communication contact. 
     In another illustrated embodiment of the invention, the ASA  70  may retrieve cookies left by competitors, without the need for a shared file format. As has been described from any of a number of sources (e.g., the website, “www.peacefire.org/security/iecookies”) a website can read Internet Explorer cookies set from any domain. For example, for a website named “peacefire.org” to read cookies left on a browser by “amazon.com”, the website would direct the user&#39;s browser to peacefire.org%2fsecurity%2fiecookies%2fshowcookie.html%3F.amazon.com org%2fsecurity%2fiecookies%2fshowcookie.html%3F.amazon.com”. The substitution of “%2f” for “/” and “%3F” for “?” allows the website “peacefire.org” to download cookies left by “amazon.com”. 
     Using similar methods, the website  24  may download cookies left by competitors in the browsers of the customers  16 ,  18 . The downloading of cookies left by competitors allows the ASA  70  to select an agent  20 ,  22  familiar with competitor&#39;s products and the ability to anticipate the customer&#39;s questions, thereby increasing the odds of completing a sale. 
     Specific embodiments of methods and apparatus for establishing communications sessions through the Internet according to the present invention have been described for the purpose of illustrating the manner in which the invention is made and used. It should be understood that the implementation of other variations and modifications of the invention and its various aspects will be apparent to one skilled in the art, and that the invention is not limited by the specific embodiments described. Therefore, it is contemplated to cover the present invention any and all modifications, variations, or equivalents that fall within the true spirit and scope of the basic underlying principles disclosed and claimed herein.