Abstract:
A system and method for follow up management comprising determining if a user has a repository record, extracting information from the repository record associated with the user, and acting on information stored in the repository record. The method may be practiced on a system for managing online interaction comprising a business rules engine a follow up repository, and a follow up engine.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of patent application Ser. No. 14/970,225 filed on Dec. 15, 2015, which is a continuation of patent application Ser. No. 14/244,830 filed on Apr. 3, 2014, now issued as U.S. Pat. No. 9,525,745, which is a continuation of patent application Ser. No. 11/360,530 filed on Feb. 24, 2006, now issued as U.S. Pat. No. 8,738,732, which claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application No. 60/716,535, filed Sep. 14, 2005, and U.S. Provisional Patent Application No. 60/717,212, filed Sep. 15, 2005. The subject matter of all of the foregoing patent applications is incorporated herein by reference in their entirety and for all purposes. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates to computer browsing and, more particularly, to providing an appropriate follow up based on the interaction. 
       BACKGROUND OF THE INVENTION 
       [0003]    Networks, such as the Internet, have become an increasingly important part of our everyday lives. Millions of people now access the Internet on a daily basis to shop for goods and services and obtain information of interest. 
         [0004]    The web is built on a very simple, but powerful premise. Much of the material on the web is formatted in a general, uniform format called HTML (Hypertext Markup Language) or the like, and all information requests and responses conform to a similarly standard protocol. When someone accesses a server on the Web, the user&#39;s Web browser will send an information request to a Web server. The Web server will respond to the request by transmitting the desired information to the user&#39;s computer. There, the user&#39;s browser will display the received information on the user&#39;s screen. 
         [0005]    For example, suppose an individual wishes to purchase a printer via the Internet. The individual accesses the Internet and types in a vendor&#39;s uniform resource locator (URL). The individual may then access that vendor&#39;s home page to determine whether the vendor has the product that this individual wishes to purchase. 
         [0006]    If the individual does not know which vendors sell printers, the individual may access a web site associated with a search engine. The individual enters the generic term “printer” into the search engine to attempt to locate a vendor that sells printers. Using a search engine in this manner to locate individual web sites that offer the desired product or service often results in a list of hundreds or even thousands of “hits,” where each hit may correspond to a web page that relates to the search term. 
         [0007]    Once a user decides which web page to visit, the web page is formulated to interest the user. In particular, many web pages allow a user to customize the web pager so that each time the user visits the web page, the customized web page is presented to the user. One of the challenges of online interactions is providing customers or users with consistent online experience while using different channels such as website navigation, email, chat, bulletin boards, discussion forums, chat, and the like. For this uniform presentation, cookies are used. 
         [0008]    Cookies are pieces of information generated by a web server and stored in the user&#39;s computer, for future access. Cookies are embedded in the http information flowing back and forth between the user&#39;s computer and the servers. Cookies allow user-side customization of web information. For example, cookies are used to personalize web search engines, to allow users to participate in WWW-wide contests, to store shopping lists of items a user has selected while browsing through a virtual shopping mall, and the like. 
         [0009]    Essentially, cookies make use of user-specific information transmitted by the web server onto the user&#39;s computer so that the information might be available for later access by itself or other servers. Typically, the servers are part of the same domain. In most cases, not only does the storage of personal information into a cookie go unnoticed, so does access to it. Web servers automatically gain access to relevant cookies whenever the user establishes a connection to them, usually in the form of web requests. 
         [0010]    For a server to use cookies, first the Web server creates a specific cookie, which is essentially a tagged string of text containing the user&#39;s preferences, and it transmits this cookie to the user&#39;s computer. The cookie is then stored in the user&#39;s computer. The user&#39;s web browser receives the cookie and stores it in a special file called a cookie list. This usually happens without any notification or user involvement. Next, the cookie is automatically transferred from the user&#39;s machine to a web server. Whenever a user directs the web browser to display a certain web page from the server from which it already has a cookie, the browser will, transmit the cookie containing the user&#39;s personal information to the web server. 
         [0011]    There are many reasons a given site would wish to use cookies. These range from the ability to personalize information, help with on-line sales/services, or simply for the purposes of collecting demographic information. Cookies also provide programmers with a quick and convenient means of keeping site content fresh and relevant to the user&#39;s interests. The newest servers use cookies to help with back-end interaction as well, which can improve the utility of a site by being able to securely store any personal data that the user has shared with a site to help with quick logins, and the like. 
         [0012]    Usually, a cookie contains more than simply a name and a value. In fact, a cookie can have 6 parameters: the name of the cookie, the value of the cookie, the expiration date of the cookie, the path the cookie is valid for, the domain the cookie is valid for, and the need for a secure connection to exist to use the cookie. 
         [0013]    Two of these parameters are mandatory the cookie&#39;s name and its value. The other four can be set manually or automatically. Each parameter is separated by a semicolon when set explicitly. The name of a cookie and its value are set simply by pairing them together. The value of a cookie can also be null, for the purpose of clearing the cookie value. 
         [0014]    The expiration parameter determines the lifetime of the cookie. For example, the cookie can state “expires=Mon, 1 Jan. 2001 00:00:00 GMT.” If “expires” is not set explicitly, the default expiration is the end-of-session. The length of a session can vary depending on browsers and servers, but generally a session is the length of time that the browser is open, even if the user is no longer at that site. 
         [0015]    The path parameter sets the URL path within which the cookie is valid. Pages outside of that path cannot read or use the cookie. If Path is not set explicitly, then it defaults to the URL path of the document creating the cookie. The domain parameter takes the flexibility of the path parameter one step further. If a site uses multiple servers within a domain it is important to make the cookie accessible to pages on any of these servers. Generally, the server issuing the cookie is a member of the domain that it sets in the cookie. That is, a server called www.thisserver.com cannot typically set a cookie for the domain www.thatserver.com. If Domain is not set explicitly, then it defaults to the full domain of the document creating the cookie. 
         [0016]    The last parameter is the secure parameter. The secure parameter is a flag indicating that a cookie should be used under secure server condition, such as SSL. Since most sites do not require secure connections, this parameter defaults to FALSE. 
         [0017]    Often a consistent online experience requires the ability to recognize the customer or user across multiple interactions and recall, either in real-time or offline, the history of events and attributes associated with the customer or user. The recognition of customers or users, when applied to hundreds or thousands of online interactions a day, becomes a challenge, both from a business logic perspective and a technology perspective. Previous systems used business rules engines that parsed the activity of each visitor on the site. The activity was matched against a customized set of business rules. Once a selected rule was applied, an action that presents the site visitor with targeted content was triggered. Systems such as the LivePerson Sales Edition provided real time processing of business rules. 
         [0018]    Traditionally, web systems that wanted to access history data about the visitor would access a database for each visitor to the site, only to find out that in most cases there is no meaningful information about the visitor that warrants a special treatment for that user. In the event that this visitor is new to the site, and therefore has no history, the database search wastes time and resources. Some systems can identify that the visitor is a new visitor, not having a site cookie, but would still access the database for all repeat visitors. For the repeat visitors, they would retrieve the history data, analyze it, and most times decide to offer the generic treatment. 
         [0019]    In one prior art system, when the system identifies a user based on a previously stored cookie, the records associated with that user are pulled from memory and analyzed. The analysis is done when the user enters the website. Therefore, there is a delay between the user entering the website and when the appropriate action is taken after the system reviews the records and determines what to do based on those records. Alternatively, standard actions are taken for all users as they enter the site. 
       BRIEF SUMMARY OF THE INVENTION 
       [0020]    The unique aspects of the disclosed system and method are related to the technological challenges of allowing web-servers real-time access to the CRM system. Using the disclosed system, web servers are more effective and only access the relevant data for the relevant visitors. A system is disclosed to provide a consistent online experience to users or customers visiting a web site. 
         [0021]    There are three major modules in the disclosed system: 
         [0022]    1. Business Rules Engine 
         [0023]    2. follow up Repository 
         [0024]    3. follow up Engine 
         [0025]    The first component is the business rules engine that processes, in real-time, the events associated with each customer and decides what business action is required. Business intelligence in the rules engine identifies whether a current visitor to the site requires follow up in a subsequent interaction. This information is stored together with what needs to be done, i.e., what follow up action has to be taken. In this manner, when a new visitor arrives on the site, a lookup is performed only if it is required. Moreover, the information stored in the previous session already indicates the action to be taken and reduces the need for additional real-time decision to be made. 
         [0026]    There are at least three actions that can be taken, present (real-time) action, future follow up, and follow up on the user or customer&#39;s next visit. Preferably, future follow-ups are scheduled for a specific date and the follow-up channel is not the website. In one embodiment, a combination of actions are taken, i.e., present action with future follow up. The real-time action can include, but is not limited to presenting the user with a specific web page, presenting the user with a questionnaire, enabling a live chat, sending an event notification, and the like. The future follow up is by one or more of several communication methods such as outbound email, outbound phone, offline channel (mail), or the like. The phone follow up is an automated follow up, a live operator, or combination of the two and uses plain old telephone service (POTS) or voice over IP (VOIP). 
         [0027]    The second component of the disclosed system is the follow up repository. The follow up repository is a data repository that associates visitor-identifying information with follow up content. In a preferred embodiment, the follow up repository is hosted on a database. The repository provides data management services controlling the size and aging of the stored data. In particular, items can be marked with an expiration date and size limits can be set. In one embodiment, the repository includes user contact information or links to where such information is stored. In another embodiment, follow up instructions are stored in the follow up repository. 
         [0028]    The third component of the disclosed system is the follow up engine that is responsible for online and offline activities. The online activities include determining previous or outstanding follow up actions and establishing new follow up information and the offline activities include retrieving and acting on follow up instructions. 
         [0029]    Specifically, when a visitor arrives at a website, the follow up engine detects whether the visitor has unexpired follow up information in the repository. When there is follow up information, the follow up engine retrieves the information and acts on it. In another embodiment, the follow up engine extracts information from the repository record and acts upon instructions stored in the repository record. When a visitor interacts with the website, the follow up engine determines whether to set or add follow up information to the visitor&#39;s follow up record. The follow up engine then determines the expiration date, if any, for that information. Depending on the follow up information, the expiration date can be as little as several hours (or less) or as long as one year (or more). In some situations, there may not be any expiration date. The follow up engine stores the expiration date of the visitor&#39;s follow up record on the visitor&#39;s cookie, thereby allowing the follow up engine to detect that the visitor has follow up information when the visitor returns to the website for a new visit. Using the follow up engine allows efficient determination of a website visitor&#39;s follow up information. 
         [0030]    The follow up engine has offline functions in addition to the online functions when a user is visiting the web site. The follow up engine retrieves instructions and triggers follow up actions. In one embodiment, the follow up records stored in the follow up repository have a trigger date. The trigger date is the date a follow up action takes place. On the trigger date, the follow up engine pulls the follow up records and acts upon the instructions stored in the record. The actions the follow up engine can take include sending outbound email, initiating an outbound phone call (operator, automated, or a combination), initiating an offline channel activity (e.g. DM mailing), sending instructions to agents to take action, or the like. 
         [0031]    The combination of these three components allows for an effective handling of large volumes of interactions required in today&#39;s online environment. The disclosed system and method addresses the challenge presented to website managers who are interested in accessing in real time the history of events and attributes associated with their customers. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0032]      FIG. 1  System according to the present invention; 
           [0033]      FIG. 2  represents a cookie used in the present system; 
           [0034]      FIG. 3A  represents the data stored in the database according to the present invention; 
           [0035]      FIG. 3B  represents content data; 
           [0036]      FIG. 4 . is a flowchart of the method of user interaction according to the present invention; and 
           [0037]      FIG. 5  is a flowchart of the method to store a record. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0038]      FIG. 1  depicts an embodiment of a system according to the present invention. As shown, a user  10  is connected to a web server  30  via the internet. The user  10  has additional means of communication such as a telephone  50 , fax machine, cell phone, hand held computer, and the like. The web server  30  includes a database  22  which stores a plurality of web pages such as web page  20 . Additionally, a module  32  is used for the application of business rules and follow up procedures. In one embodiment, module  32  is part of web server  30 . In another embodiment, module  32  is housed in another computer. Module  32  accesses data from database  34 . follow up records  36  are preferably stored in database  34 . In one embodiment, module  32  also performs follow up functions. It should be noted that the functions of module  32  can be performed using separate modules. In one embodiment, the follow up function such as E-mail, voice-over IP, mail, and the like are routed through web server  30 . In another embodiment, the follow up procedures or follow up activities are performed through another server or servers. Additionally, module  32  can cause DM mailings to be performed. 
         [0039]    In operation, a user  10  requests a web page  20  from server  30 . In the case in which user  10  has not previously requested web page  20 , server  30  causes a cookie  12  (shown in  FIG. 2 ) to be stored on the user&#39;s computer. Additionally, a follow up record  36  (shown in  FIG. 3A ) is created for user  10  and stored in database  34 , based on the user&#39;s activity. 
         [0040]    In the case that the user has previously accessed web page  20 , the server  30  receives a cookie  12  from user  10 . The cookie is processed by module  32 . Module  32  determines whether the user  10  has previously stored unexpired follow up information  36  stored in database  34 . In a preferred embodiment, module  32  includes a business rules engine, a follow up repository, and a follow up engine. In another embodiment, the business rules engine, follow-up repository, and follow-up engine are separate modules. 
         [0041]    When there is follow up information  36 , the module  32  retrieves the information and acts on it. In another embodiment, the follow up engine extracts information from the repository record and acts upon instructions stored in the repository record. The follow up information is used to modify the user experience. The user experience is modified by such items as chat, popups, setting system variables, setting display variables, opening a communication channel, opening an engagement channel, and the like. 
         [0042]    The business rule engine processes, in real-time, the events associated with each user and decides what business action that is required. The business rule engine selects from one of at least three actions. If the business rule engine determines an immediate need, action is taken in real-time. If no immediate action has to be taken, follow up is scheduled for either a specific future date or upon the user&#39;s next visit. Specific actions to take include mail, both traditional and email, telephone follow up, fax, or the like. In one embodiment, the system can open a chat dialogue if the user is online using a chat agent. It should be noted that in all instances, the follow up is appropriate for the web page such as a follow up questionnaire regarding a technical problem, a replacement part being sent out if a defective component was reported, an E-mail reminder, follow-up based on the users behavior on the site, and the like. In some instances, no action is taken. 
         [0043]    The business rules engine uses rules that are based on conditions and actions taken while a user is visiting a specified website. Certain conditions will result in specific actions being taken. The conditions include both the activities that a user that performs while on a page and the user&#39;s behavior while on a page. Rules provide a way to react to customer activity. Visitor rules customize the processing of visitors and/or people communicating via chat or another channel. In a preferred embodiment, rules are created within a specific context that determines the circumstances in which the rule will apply. The rules respond to conditions that exist. Conditions specify which actions will be triggered. It should be noted that multiple conditions can be specified or Boolean logic can be used. 
         [0000]    
       
         
               
             
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Visitor Rules - Conditions 
               
             
          
           
               
                 Condition 
                 Rule Type 
                 Description 
               
               
                   
               
             
          
           
               
                 Browsing 
               
             
          
           
               
                 Current Page 
                 clicks to chat 
                 The URL or title of the current page 
               
               
                   
                 enters page 
                 match the specified pattern. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Current Page 
                 clicks to chat 
                 The referring URL of the current page 
               
               
                 Referring URL 
                 enters page 
                 match the specified pattern. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Number of 
                 clicks to chat 
                 The number of pages visited during 
               
               
                 Pages 
                 enters page 
                 this session. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Referring URL 
                 clicks to chat 
                 Matches the referrer of the visitor&#39;s 
               
               
                   
                 enters page 
                 first visit to the site. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Search Engine 
                 clicks to chat 
                 The URL from which the visitor arrived 
               
               
                 Found 
                 enters page 
                 is from a search engine. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Search Engine 
                 clicks to chat 
                 The search engine from which the request 
               
               
                 Identity 
                 enters page 
                 came. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Survey 
                 clicks to chat 
                 Response to a question in a particular 
               
               
                 Question 
                 enters page 
                 survey. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Visited Page 
                 clicks to chat 
                 The visitor visited a page whose URL or 
               
               
                   
                 enters page 
                 title matches the specified pattern. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
             
          
           
               
                 Chat 
               
             
          
           
               
                 Available for 
                 clicks to chat 
                 Visitor is available for a chat invitation. 
               
               
                 Invitation 
                 enters page 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Has Chat 
                 clicks to chat 
                 Visitor has chatted during the current 
               
               
                   
                 enters page 
                 session. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Has Chat History 
                 clicks to chat 
                 The visitor requested to chat in a 
               
               
                   
                 enters page 
                 previous visit. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 In Chat 
                 clicks to chat 
                 The visitor is currently involved in 
               
               
                   
                 enters page 
                 a chat session with an operator. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 In Chat or 
                 clicks to chat 
                 The visitor is currently in a chat, or 
               
               
                 Waiting for Chat 
                 enters page 
                 waiting for a chat to be established. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 In or After Chat 
                 clicks to chat 
                 The visitor is currently in a chat, or 
               
               
                   
                 enters page 
                 has previously been in chat 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Invited to Chat 
                 clicks to chat 
                 The visitor has been invited to chat. 
               
               
                   
                 enters page 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Refused Chat 
                 clicks to chat 
                 An invitation to chat been has sent to the 
               
               
                   
                 enters page 
                 visitor and the visitor refused to chat. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
             
          
           
               
                 Miscellaneous 
               
             
          
           
               
                 Action Fired 
                 clicks to chat 
                 The action with the specified name has 
               
               
                   
                 enters page 
                 already fired during this session. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 At Least One 
                 clicks to chat 
                 The rule with the specified name has 
               
               
                 Rule Triggered 
                 enters page 
                 already been triggered during this session. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Predictive 
                 enters page 
                 Triggers a predictive dialer with the 
               
               
                 Dialer 
                 enters site 
                 specified settings. A Predictive Dialer 
               
               
                   
                   
                 controls the number of invitations sent 
               
               
                   
                   
                 to site visitors. 
               
               
                 Random 
                 clicks to chat 
                 A random integer between 0 and the specified 
               
               
                 Number 
                 enters page 
                 number. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Rule Triggered 
                 clicks to chat 
                 The outcome with the specified rule has 
               
               
                   
                 enters page 
                 already been triggered during this session. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
             
          
           
               
                 Operators 
               
             
          
           
               
                 Available 
                 clicks to chat 
                 At least one operator is online, (i.e., 
               
               
                 Operators 
                 enters site 
                 is the operator in the “online” state, not 
               
               
                   
                 leaves site 
                 “away” or “back in 5”). 
               
               
                 Number of 
                 clicks to chat 
                 The Number of available operators available. 
               
               
                 Operators 
                 enters site 
               
               
                 Available 
                 leaves site 
               
               
                 Online 
                 clicks to chat 
                 Operators are currently in the “online” state. 
               
               
                 Operators 
                 enters site 
                 An operator that is “away” or “back in 5” is 
               
               
                   
                 leaves site 
                 not considered online. 
               
               
                 Room 
                 clicks to chat 
                 There is at least one operator of the skill 
               
               
                 Operators 
                 enters site 
                 specified online in the current visitor&#39;s Room. 
               
               
                 Online 
                 leaves site 
               
               
                 Skill Operators 
                 clicks to chat 
                 There is at least one operator of the specified 
               
               
                 Available 
                 enters page 
                 skill available. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Skill Operators 
                 clicks to chat 
                 There is at least one operator of the specified 
               
               
                 Online 
                 enters page 
                 skill online. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
             
          
           
               
                 Time Functions 
               
             
          
           
               
                 Day of the 
                 clicks to chat 
                 The day of the week. 
               
               
                 Week 
                 enters page 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Days Since Last 
                 clicks to chat 
                 The number of days since the last time this 
               
               
                 Click-to-Chat 
                 enters page 
                 visitor has requested to chat. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Days Since Last 
                 clicks to chat 
                 The number of days since the visitor&#39;s last visit 
               
               
                 Visit 
                 enters page 
                 to the site (fails if this is the first visit). 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Invitation 
                 clicks to chat 
                 The number of seconds for the visitor to be 
               
               
                 History (cross 
                 enters page 
                 invited to chat. This condition also checks 
               
               
                 session) 
                 enters site 
                 the visitor&#39;s previous sessions. To check chat 
               
               
                   
                 queued for chat 
                 invitations only in the current session use “Invited 
               
               
                   
                 leaves site 
                 to Chat” or “Time Since Last Invite” 
               
               
                 Invitation 
                 clicks to chat 
                 The number of seconds the Invitation to chat 
               
               
                 Timeout 
                 enters page 
                 timed out. If the last invitation did not 
               
               
                   
                 enters site 
                 timeout, the condition will always be false. 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Seconds in 
                 clicks to chat 
                 The number of seconds the visitor was on the 
               
               
                 Current Page 
                 enters page 
                 current page. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Seconds Since 
                 clicks to chat 
                 The number of seconds since the visitor was 
               
               
                 Decline 
                 enters page 
                 declined. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Seconds Since 
                 clicks to chat 
                 The number of seconds since the visitor last 
               
               
                 Last Visit to 
                 enters page 
                 visited a page that matches the specified pattern. 
               
               
                 Page 
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Time In Site 
                 clicks to chat 
                 The time in seconds that the visitor spent 
               
               
                   
                 enters page 
                 in the site during this session. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Time of the Day 
                 clicks to chat 
                 The number of minutes elapsed since midnight, 
               
               
                   
                 enters page 
                 Eastern Standard Time, today. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Time Since 
                 clicks to chat 
                 The time in seconds since the specified action 
               
               
                 Action Fired 
                 enters page 
                 fired. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Time Since 
                 clicks to chat 
                 The time in seconds since the custom variable 
               
               
                 Custom 
                 enters page 
                 was modified. 
               
               
                 Variable 
                 enters site 
               
               
                 Modified 
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Time Since 
                 clicks to chat 
                 The time in seconds since the visitor&#39;s last 
               
               
                 Last Invite 
                 enters page 
                 invite. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Time Since 
                 clicks to chat 
                 The time in seconds since the rule fired. 
               
               
                 Rule Fired 
                 enters page 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Wait Time 
                 clicks to chat 
                 The time in seconds that the visitor has 
               
               
                   
                 enters page 
                 been in the queue. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
             
          
           
               
                 Variables 
               
             
          
           
               
                 All Values of 
                 clicks to chat 
                 Apply the comparison to All values of the 
               
               
                 Custom 
                 enters page 
                 specified Custom Variable. All values must 
               
               
                 Variable 
                 enters site 
                 be Numeric and satisfy the comparison condition. 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 At Least One 
                 clicks to chat 
                 The Custom Variable has at least one value 
               
               
                 Numeric Value 
                 enters page 
                 that satisfies the comparison condition. 
               
               
                 of Custom 
                 enters site 
                 Enter custom variable name in the first field, 
               
               
                 Variable 
                 queued for chat 
                 and number to match in the last field. 
               
               
                   
                 leaves site 
               
               
                 At Least One 
                 clicks to chat 
                 The Custom Variable has at least one value 
               
               
                 Value of Custom 
                 enters page 
                 that satisfies the comparison condition. 
               
               
                 Variable 
                 enters site 
                 Enter custom variable name in the first field, 
               
               
                   
                 queued for chat 
                 and number to match in the last field. 
               
               
                   
                 leaves site 
               
               
                 Custom Flag 
                 clicks to chat 
                 The custom flag variable satisfies the 
               
               
                 Variable 
                 enters page 
                 comparison condition. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Custom 
                 clicks to chat 
                 The value of the Custom Variable that 
               
               
                 Variable 
                 enters page 
                 corresponds to the specified name 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Custom 
                 clicks to chat 
                 A Custom Variable with the specified 
               
               
                 Variable Has 
                 enters page 
                 name has been set. 
               
               
                 Been Set 
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Custom 
                 clicks to chat 
                 There is a Custom Variable on the 
               
               
                 Variable on 
                 enters page 
                 current page. 
               
               
                 Current Page 
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Numeric 
                 clicks to chat 
                 Apply the comparison to All values of 
               
               
                 Custom 
                 enters page 
                 the specified Custom Variable. All values 
               
               
                 Variable 
                 enters site 
                 must be Numeric and satisfy the comparison 
               
               
                   
                 queued for chat 
                 condition. 
               
               
                   
                 leaves site 
               
               
                 Numeric Values 
                 clicks to chat 
                 The numeric value of the Custom Variable 
               
               
                 of Custom 
                 enters page 
                 with the specified name (fails if Custom 
               
               
                 Variable 
                 enters site 
                 Variable has not occurred or the value is 
               
               
                   
                 queued for chat 
                 not numeric). Enter Custom Variable name 
               
               
                   
                 leaves site 
                 in the first field, and number to match 
               
               
                   
                   
                 in the last field. 
               
             
          
           
               
                 Visitor Properties 
               
             
          
           
               
                 Browser Type 
                 clicks to chat 
                 The visitor&#39;s browser matches the 
               
               
                 (User Agent) 
                 enters page 
                 specified pattern. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Hot Lead 
                 clicks to chat 
                 Visitor is specified as a hot lead. 
               
               
                   
                 enters page 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 IP 
                 clicks to chat 
                 The visitor&#39;s IP address or host-DNS 
               
               
                   
                 enters page 
                 matches the specified pattern. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Repeat Visit 
                 clicks to chat 
                 This visitor has been to the site before 
               
               
                   
                 enters page 
                 this session. 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Skill 
                 clicks to chat 
                 The visitor&#39;s skill group. 
               
               
                   
                 enters page 
               
               
                   
                 enters site 
               
               
                   
                 queued for chat 
               
               
                   
                 leaves site 
               
               
                 Visitor Group 
                 clicks to chat 
                 The group number for this visitor, if all 
               
               
                   
                 enters page 
                 visitors are grouped into groups. The site 
               
               
                   
                 enters site 
                 visitors are randomly segmented into the 
               
               
                   
                 queued for chat 
                 number of groups you set in the 3rd 
               
               
                   
                 leaves site 
                 parameter. You can then check to which 
               
               
                   
                   
                 specific group the visitor has been assigned. 
               
               
                   
               
             
          
         
       
     
         [0044]    Conditions may include the type of page, section of a page or a specific URL, can trigger a specific condition. Additionally, if the user reaches a page via a hyperlink or by typing a URL, that condition may be monitored. The time a user spends on a specific page may also be a condition. For example, the system can monitor whether a user spends more or less than a specified time on a page or group of pages. Matching pages can also be in a condition as are negative conditions such as whether a user has been on a page, added items to a cart but taken no further action, or not gone to a checkout. 
         [0045]    The rules also include variables which can be a value or an occurrence. For example, the value or occurrence may be a shopping cart total greater than a specified dollar amount or contain more or less than a specified amount/quantity. Further, other variables can include was there a transaction error (a yes or no variable). The system can also monitor at least such items as an occurrence of a specified event, entering a communication channel such as chat before or after a selection, days since chat, and the like. Further, other variables can be a new visitor, old visitor, user&#39;s IP address, and the like. 
         [0046]    The user&#39;s IP address can be important for business reasons such as identifying a competitor and limiting access to that user. For example, if the website is a telecommunication company and a user logs on from a competitor company, access can be limited until that user signs in with a user name and password, thereby designating that that person is a customer. Likewise, this may happen in the banking community where a first bank will limit access to employees of a second bank unless they are customers of the first bank. 
         [0047]    In a preferred embodiment, the follow up engine is responsible for both online and offline activities. When visitor arrives at the web site, the follow up engine determines whether the visitor  10  has unexpired follow up information  36  in the repository  34 . In those cases when there is information, the information  36  is retrieved and acted upon. Once the record  36  is retrieved, data is extracted from the repository record  36 . The extracted data includes visitor ID, account ID, session ID, Ticket ID, follow up date, expiration date, recovery mode, and content. 
         [0048]    When a visitor interacts with the website, the follow up engine determines whether to set or add follow up information to the user&#39;s follow up record  36  and determines the expiration date for that information. When the visitor interacts with the website, the follow up engine will store the expiration date of the visitor&#39;s follow up record  36  on the visitor&#39;s cookie  12 . In this manner, when the user returns, the engine can efficiently detect that the visitor has follow up information  36 . 
         [0049]    Follow up records  36  in the database  34  may have a trigger date. On the trigger date, the record is retrieved and acted upon by the follow up engine. At that time the engine sending outbound email, initiates outbound phone calls, initiating an offline channel activity (e.g. DM mailing), sending instructions to agents to take action, or the like. 
         [0050]    The follow up repository is a data repository. Preferably hosted on a database, that associates visitor-identifying information with follow up content. The repository provides data management services to control the size and aging of the stored items. In particular, items can be marked with expiration date and can have size limits. 
         [0051]      FIG. 2  is representative of a cookie  12  created by server  30  and stored on user&#39;s  10  computer. The cookie preferably includes a visitor ID, a date the record was set, and a database record expiration date. Thus, when user  10  visits website  20 , the cookie identifies the user as well as the date the cookie was created. Further, the cookie includes the date the record in database  34  expires. Thus, if user  10  returns to website  20  after the record  36  expires, there is no need to retrieve the follow up record. In this manner, resources are conserved. Due to the high volume of traffic hosted by a typical web server, if the web server had to retrieve a record for every user or, in the alternative, search its database every time a user enters the website, the resources available to the web server would be taxed. 
         [0052]      FIG. 3  represents the data string stored in database  34  created by module  32 . The record  36  is formed based from the actions of user  10  on web page  20 . The record  36 , as discussed above, includes the visitor ID which is the same ID stored in cookie  12 . In addition to the visitor ID, the record  36  includes the user&#39;s account ID, if one exists for web page  20 . If user  20  does not have an account on web page  20 , in one embodiment, a provisional account number is assigned to user  10  that correlates with the visitor ID. 
         [0053]    The session ID is an ID for the user&#39;s current login session. This session ID is a log that records the user&#39;s time on the site. For example, the session ID may represent a log entry signifying the time and date the user utilizes the website. Alternatively, the session ID may be no more than a counter indicating the number visitor the user is. The ticket ID is, in a preferred embodiment, a service ticket ID number. The service ticket number represents a service to be performed. For example, if a user requires a service call, the ticket ID would include the service ticket number for the repair man to visit the user&#39;s home, office, or the like. 
         [0054]    Record  36  also includes a follow up date and an expiration date. These two dates work hand-in-hand to provide follow up to user  10 . Based on the user&#39;s activity, a specific follow up activity or set of follow up activities are determined. However, these follow up activities are preferably only good until the expiration date in record  36 . Once the expiration date is met, the follow up prescribed by the record is no longer valid. In one embodiment, the follow up engine uses the previously determined follow up activity as a starting point for any future follow ups. 
         [0055]    The recovery mode is used to determine what action to take given certain error circumstances. For example, the recovery mode relates to how a system deals with internal inconsistencies. For example, if the cookie contains a record indicating that there should be follow-up if there is nothing in the database or, if the record states that there should be one record but in the database there are two records, the system must know how to deal with the internal inconsistency. A first way to deal with any inconsistency is not to fix anything or, to ignore the record. Alternatively, the system can try to fix the record on read or on write. Additionally, the system can self correct. For example, if there is more than one record, the most recent record will be used. 
         [0056]    The content in the extracted data, shown in  FIG. 3B , includes the follow-up activity. In other words, the content is what action will be taken upon follow-up. In a preferred embodiment, the content is an XML instruction. Potential content includes pop-up messages, slide shows, variables to be set relating to the users last visit, and the like. In one embodiment, the system monitors the follow up date in the record. When the follow up date is reached, the follow up action, if not through the web site, is taken such as a follow up call, email, letter, or the like. 
         [0057]    As discussed above, when certain conditions occur, an action is triggered. Actions may contain subactions. In one embodiment, the actions are executed in a specific order. However, in another embodiment, the actions occur in random or non-specified order. A sample of actions based on rules and alerts are shown below in Table 2. 
         [0000]    
       
         
               
             
               
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Visitor Rules - Actions 
               
             
          
           
               
                 Type 
                 Rule Type 
                 Action 
                 Parameters 
                 Description 
               
               
                   
               
               
                 Operator Alerts 
                 clicks to chat 
                 Operator Alert 
                   
                 Send an alert to operators concerning 
               
               
                   
                 enters page 
                   
                   
                 this visitor. For a list of macros 
               
               
                   
                 enters site 
                   
                   
                 available in Operator Alerts, refer 
               
               
                   
                 queued for chat 
                   
                   
                 to the LivePerson Customer Center. 
               
               
                   
                 leaves site 
               
               
                   
                 browsing site 
                   
                 Description 
                 Enter a brief description of the 
               
               
                   
                   
                   
                   
                 operator alert, if you so wish. 
               
               
                   
                   
                   
                 HTML 
                 Use the HTML box to design your 
               
               
                   
                   
                   
                   
                 alert. 
               
               
                   
                   
                   
                   
                 Plain text can be used in this area, 
               
               
                   
                   
                   
                   
                 but HTML tagging will serve to 
               
               
                   
                   
                   
                   
                 make the alert more eye-catching. 
               
               
                 Chat Audit 
                 clicks to chat 
                 Email this 
                 Email 
                 Email a copy of the chat transcript 
               
               
                   
                 enters site 
                 Transcript 
                 Sender Name 
                 to the specified address. The email 
               
               
                   
                 leaves site 
                   
                 Sender Email 
                 will arrive from the specified 
               
               
                   
                   
                   
                 Subject 
                 sender. Set the subject to help you 
               
               
                   
                   
                   
                   
                 identify the email. 
               
               
                   
                   
                 Forward transcript 
                 Email 
                 Email a copy of the chat transcript 
               
               
                   
                   
                 from visitor email 
                 Subject 
                 to the specified address. The email 
               
               
                   
                   
                   
                 Email Custom 
                 will arrive from the email 
               
               
                   
                   
                   
                 Variable 
                 associated with the visitor. You can 
               
               
                   
                   
                   
                   
                 optionally set the custom variable 
               
               
                   
                   
                   
                   
                 to be used to extract the visitor&#39;s 
               
               
                   
                   
                   
                   
                 email address (Email Custom 
               
               
                   
                   
                   
                   
                 Variable). 
               
               
                 Visitor 
                 clicks to chat 
                 Engage Visitor 
                 NA 
                 Send a proactive chat request to a 
               
               
                 Experience 
                 enters page 
                   
                   
                 visitor. 
               
               
                   
                 enters site 
                 Custom Engage 
                 &lt;custom directory&gt; 
                 Engage visitor using custom image 
               
               
                   
                 leaves site 
                 Visitor 
                   
                 directory. The directory should not 
               
               
                   
                 browsing site 
                   
                   
                 end with a “/”. 
               
               
                   
                   
                 Set Visitor Profile 
                 &lt;name of visitor 
                 Assign the session to a selected 
               
               
                   
                   
                   
                 profile&gt; 
                 Visitor Profile. 
               
               
                   
                   
                 Enable/Disable Pre- 
                 Pre-Chat Survey 
                 Enable/Disable Pre-Chat survey 
               
               
                   
                   
                 Chat Survey 
                   
                 status for the visitor during current 
               
               
                   
                   
                   
                   
                 session. 
               
               
                   
                   
                 Enable/Disable Exit 
                 Exit Survey 
                 Enable/Disable the Exit survey 
               
               
                   
                   
                 Survey 
                   
                 status for the visitor during current 
               
               
                   
                   
                   
                   
                 session. 
               
               
                   
                   
                 Enable/Disable 
                 Operator Survey 
                 Enable/Disable the Operator survey 
               
               
                   
                   
                 Operator Survey 
                   
                 status for the visitor during current 
               
               
                   
                   
                   
                   
                 session. 
               
               
                   
                   
                 Set Pre-Chat survey 
                 &lt;name of pre-chat 
                 Set specific Pre-Chat survey for the 
               
               
                   
                   
                   
                 survey&gt; 
                 visitor during current session. 
               
               
                   
                   
                 Set Exit survey 
                 &lt;name of exit survey&gt; 
                 Set specific Exit survey for visitor 
               
               
                   
                   
                   
                   
                 during current session. 
               
               
                   
                   
                 Set Operator survey 
                 &lt;name of operator 
                 Set specific Operator survey for 
               
               
                   
                   
                   
                 survey&gt; 
                 visitor during current session. 
               
               
                   
                   
                 Set Offline survey 
                 &lt;name of offline 
                 Set specific Offline survey for the 
               
               
                   
                   
                   
                 survey&gt; 
                 visitor during current session. 
               
               
                   
                   
                 Set Chat Window 
                 &lt;name of chat 
                 Set a specific Chat Window profile 
               
               
                   
                   
                   
                 window&gt; 
                 for the visitor during current 
               
               
                   
                   
                   
                   
                 session. 
               
               
                   
                   
                 Set System Messages 
                 &lt;name of system 
                 Set specific System Messages set for 
               
               
                   
                   
                   
                 message set&gt; 
                 the visitor during the current session. 
               
               
                   
                 enters page 
                 Show Popup 
                 &lt;popup&gt; 
                 Display a pop-up. New pop-ups are 
               
               
                   
                   
                   
                   
                 created in the Content Library. 
               
               
                   
                 enters page 
                 Engage Visitor 
                 NA 
                 Send a proactive chat request to a 
               
               
                   
                   
                   
                   
                 visitor. 
               
               
                   
                 enters page 
                 Custom Engage 
                 &lt;custom directory&gt; 
                 Engage visitor using custom image 
               
               
                   
                   
                 Visitor 
                   
                 directory. The directory should not 
               
               
                   
                   
                   
                   
                 end with a “/”. 
               
               
                   
                 enters page 
                 Show Warm-up 
                 &lt;popup&gt; 
                 Use the Content Library tab to 
               
               
                   
                   
                   
                   
                 define new warm-ups. 
               
               
                 Variables 
                 clicks to chat 
                 Set Custom 
                 Variable Name 
                 Add a custom variable to the 
               
               
                   
                 enters page 
                 Variable 
                 Variable Value 
                 session. 
               
               
                   
                 enters site 
                 Set Custom 
                 Flag Name 
                 Add an on/off custom variable to the 
               
               
                   
                 queued for chat 
                 Flag Variable 
                 State On 
                 session. 
               
               
                   
                 leaves site 
                   
                 &lt;HelvBold&gt; | Off 
               
               
                   
                 browsing site 
                 Set Custom Variable 
                 Variable name 
                 Add a custom variable to the 
               
               
                   
                   
                 One Time Only 
                 Variable Vale 
                 session. This action will only fire 
               
               
                   
                   
                   
                   
                 once per session. 
               
               
                 Routing 
                 queued for chat 
                 Assign to Service 
                 &lt;Service Queue&gt; 
                 Change the visitor&#39;s service queue. 
               
               
                   
                   
                 Queue 
               
               
                   
                   
                 Assign Percentage to 
                 &lt;Service Queue&gt; 
                 Assign a percentage of visitors to a 
               
               
                   
                   
                 Service Queue 
                   
                 queue. Use several of these 
               
               
                   
                   
                   
                   
                 outcomes together to create a 
               
               
                   
                   
                   
                   
                 distribution plan for a group of 
               
               
                   
                   
                   
                   
                 visitors. Note that visitors will only 
               
               
                   
                   
                   
                   
                 be assigned if the queue is online 
               
               
                   
                   
                   
                   
                 for the Skill Group. 
               
               
                 Sales Edition 
                 click to chat 
                 Set Visitor as Hot 
                 NA 
                 Visitor is defined as a hot lead. 
               
               
                   
                 enters site 
                 Lead 
               
               
                   
                 queued for chat 
                 Increment Reporting 
                 &lt;file location&gt; 
                 Include specified words that can be 
               
               
                   
                 browsing site 
                 Counter 
                   
                 viewed in the Conversion reports. 
               
               
                   
                   
                   
                   
                 Counters are defined in Rules &gt; 
               
               
                   
                   
                   
                   
                 Words &gt; Report Counters. 
               
               
                   
                   
                 Set Visitor Segment 
                 &lt;segment name&gt; 
                 Set the visitor Segment 
               
               
                   
               
             
          
         
       
     
         [0058]      FIG. 4  depicts a flow chart according to the present invention. According to one embodiment of the present invention, in step  100 , when a user visits a website, the web site server retrieves a cookie specific for that website, if any. In step  120 , the system determines whether or not the user has follow up data stored in the system. If the user has follow up data on the system based on the cookie retrieved from the user. Such follow up data is retrieved from database  190  in step  130 . The system then acts on the follow up data in step  140 . The user&#39;s interaction on the site are evaluated in step  145  and, based on subsequent actions by the user on the given website, the follow up data is revised in step  150 . The revised follow up data is then saved in database  190 . Subsequent to the storage of any required follow up, at the appropriate time, the required future follow up action is taken in step  210 . This follow up action can include a telephone call, an email, a facsimile, a mailing, or the like. 
         [0059]    In those cases when the user does not have any active follow up actions or the follow up record is expired, the users actions are evaluated, and if required, a new follow up record is created in step  170 . Subsequently, the new record is stored in database  190  in step  180 . Then, based on the user&#39;s activity on the give web page, any additional follow up activity is revised and stored. Subsequently, any future follow up activity is performed in step  210 . 
         [0060]    It should be noted that, in the present system, database access is performed for only those visitors that warrant special treatment. In this manner, valuable resources are conserved because multiple database queries are not performed. Thus, multiple database look-ups are performed only for those users requiring special attention or specified interaction. The interaction is based on previous sessions already stored in the server&#39;s database. Thus, no real-time decisions are required for present user interactions. 
         [0061]    In addition to the three modules discussed above, several other features can be used to improve system performance including caching, read buffering, and write buffering. 
         [0062]    To efficiently utilize system resources, records are preferably not immediately written into the database. As shown in  FIG. 5 , after a user&#39;s session ends, the system waits one hour. In other embodiments, other amounts of time are used. After the one hour time limit, the system uses heuristics to predict whether the user will return within 24 hours. This prediction is based on the user&#39;s activities on the website and the like. If the system predicts that the user will not return within the next 24 hours, the record is immediately written to the database. If the system determines that it is likely that the user will return within the next 24 hours, the record is kept in memory. In a preferred embodiment, the record is kept in memory for 24 hours. After 24 hours, or another predetermined time period, the record is written to the database and the memory is cleared. 
         [0063]    By maintaining the record in memory, valuable system resources are conserved because the system does not have to send the record to the database and write those records to the database. Thus, communication bandwidth as well as database record space is preserved. Additionally, if the user returns within the prescribed time period while the record is still in memory, the time to access the record is greatly reduced. As shown in  FIG. 5 , once a user session ends, the record is cached and a first time period begins where the system waits to see if the user returns. Typically, this first time period is approximately 1 hour. If the user returns during this time period, the system monitors the user&#39;s activity until the user&#39;s session ends again. If the user does not return, the system predicts if the user will return during a second time period, typically 24 hours. If the user will not likely return during the prescribed time period, the record is written to the database. If the user will likely return, the record is stored in memory. During this time period, the user&#39;s return is monitored. If the user returns, the session continues until of the new session or, after the prescribed time period, the record is written to the database and the memory is cleared. 
         [0064]    In the preferred embodiment, to conserve data storage requirements, records are saved to a partition. In this manner, when a set of records are to be deleted, the partition corresponding to the set of records to be deleted is cleared. Preferably, the partitions are sorted by date and are erased every 30 days. 
         [0065]    Heuristics are employed to estimate which follow up records will be accessed more frequently, and estimate the likelihood that a visitor will return to the site within the next 24 hours. In this way, records are readily accessible to the system. If a record will not be accessed within 24 hours, it is written to the database. For efficient database updating, write requests are buffered so that multiple follow up records are stored to the database in one operation. Once record expires, it is preferably removed from the database. Finally, read requests are buffered such that the server performs read operations only at a certain rate, for example not more frequently than 5 times per second. 
         [0066]    The present invention may be described herein in terms of functional block components, code listings, optional selections and various processing steps. It should be appreciated that such functional blocks may be realized by any number of hardware and/or software components configured to perform the specified functions. For example, the present invention may employ various integrated circuit components, e.g., memory elements, processing elements, logic elements, look-up tables, and the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. 
         [0067]    Similarly, the software elements of the present invention may be implemented with any programming or scripting language such as C, C++, C#, Java, COBOL, assembler, PERL, or the like, with the various algorithms being implemented with any combination of data structures, objects, processes, routines or other programming elements. 
         [0068]    Further, it should be noted that the present invention may employ any number of conventional techniques for data transmission, signaling, data processing, network control, and the like. 
         [0069]    It should be appreciated that the particular implementations shown and described herein are illustrative of the invention and its best mode and are not intended to otherwise limit the scope of the present invention in any way. Indeed, for the sake of brevity, conventional data networking, application development and other functional aspects of the systems (and components of the individual operating components of the systems) may not be described in detail herein. Furthermore, the connecting lines shown in the various figures contained herein are intended to represent exemplary functional relationships and/or physical or virtual couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical or virtual connections may be present in a practical electronic data communications system. 
         [0070]    As will be appreciated by one of ordinary skill in the art, the present invention may be embodied as a method, a data processing system, a device for data processing, and/or a computer program product. Accordingly, the present invention may take the form of an entirely software embodiment, an entirely hardware embodiment, or an embodiment combining aspects of both software and hardware. Furthermore, the present invention may take the form of a computer program product on a computer-readable storage medium having computer-readable program code means embodied in the storage medium. Any suitable computer-readable storage medium may be utilized, including hard disks, CD-ROM, optical storage devices, magnetic storage devices, and/or the like. 
         [0071]    The present invention is described below with reference to block diagrams and flowchart illustrations of methods, apparatus (e.g., systems), and computer program products according to various aspects of the invention. It will be understood that each functional block of the block diagrams and the flowchart illustrations, and combinations of functional blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions that execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks. 
         [0072]    These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement the function specified in the flowchart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. 
         [0073]    Accordingly, functional blocks of the block diagrams and flowchart illustrations support combinations of means for performing the specified functions, combinations of steps for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that each functional block of the block diagrams and flowchart illustrations, and combinations of functional blocks in the block diagrams and flowchart illustrations, can be implemented by either special purpose hardware-based computer systems that perform the specified functions or steps, or suitable combinations of special purpose hardware and computer instructions. 
         [0074]    One skilled in the art will also appreciate that, for security reasons, any databases, systems, or components of the present invention may consist of any combination of databases or components at a single location or at multiple locations, wherein each database or system includes any of various suitable security features, such as firewalls, access codes, encryption, de-encryption, compression, decompression, and/or the like. 
         [0075]    The scope of the invention should be determined by the appended claims and their legal equivalents, rather than by the examples given herein. For example, the steps recited in any method claims may be executed in any order and are not limited to the order presented in the claims. Moreover, no element is essential to the practice of the invention unless specifically described herein as “critical” or “essential.” 
         [0076]    In the specification, the term “media” means any medium that can record data therein. The term “media” includes, for instance, a disk shaped media for such as CD-ROM (compact disc-read only memory), magneto optical disc or MO, digital video disc-read only memory or DVD-ROM, digital video disc-random access memory or DVD-RAM, a floppy disc, a memory chip such as random access memory or RAM, read only memory or ROM, erasable programmable read only memory or E-PROM, electrical erasable programmable read only memory or EE-PROM, a rewriteable card-type read only memory such as a smart card, a magnetic tape, a hard disc, and any other suitable means for storing a program therein. 
         [0077]    A recording media storing a program for accomplishing the above mentioned apparatus maybe accomplished by programming functions of the above mentioned apparatuses with a programming language readable by a computer or processor, and recording the program on a media such as mentioned above. 
         [0078]    A server equipped with a hard disk drive may be employed as a recording media. It is also possible to accomplish the present invention by storing the above mentioned computer program on such a hard disk in a server and reading the computer program by other computers through a network. 
         [0079]    As a computer processing device, any suitable device for performing computations in accordance with a computer program may be used. Examples of such devices include a personal computer, a laptop computer, a microprocessor, a programmable logic device, or an application specific integrated circuit. 
         [0080]    While this invention has been described by reference to a preferred embodiment, it should be understood that numerous changes could be made within the spirit and scope of the inventive concepts described. Accordingly, it is intended that the invention not be limited to the disclosed embodiment, but that it have the full scope permitted by the language of the following claims.