SYSTEM AND METHOD FOR AUTOMATED WEB SITE LAUNCHING BASED ON USER-DEFINED PREFERENCES

Abstract: The present invention is a system and method for automated Web destination launching based upon user preferences. A typical system according to the present invention includes a host computer and a database server (110). The host computer receives a request for a Web destination from a Web client used by an end user. A Web destination is selected based on data associated with the end user. This data may be stored in the database server (110), included with the Web destination request as cookies or in some other suitable format or supplied by another source associated with the end user. The selected Web destination is transmitted to the Web client in a reply, which, upon receipt by the Web client, directs the Web client to the selected destination. In some embodiments, the data associated with the end user may be collected. In some of these embodiments, the data may be stored in the database server (110).

Description: SYSTEM AND METHOD FOR AUTOMATED WEB SITE LAUNCHING BASED ON USER-DEFINED PREFERENCES CROSS-REFERENCE TO RELATED PATENT APPLICATION This application claims the benefit, pursuant to 35 U.S.C. § 119(e), of applicant's provisional U.S. Patent Application Serial No. 60/106,663, filed November 2, 1998, entitled "AUTOMATED WEB SITE LAUNCHER BASED UPON USER- DEFINED PREFERENCES". BACKGROUND OF INVENTION 1. FIELD OF INVENTION The invention relates to a system and method for automated Web site launching. More specifically, this invention relates to a system and method for automated Web site launching based on user preferences. 2. DESCRIPTION OF RELATED ART Over the past several years, the Internet has experienced explosive growth. A significant portion of this growth relates to the expanded use of the World Wide Web (the Web). The Web is a group of computer on the Internet providing a distributed hypermedia framework for presenting and viewing multimedia documents. The term Web page refers to a discrete document usually formatted using the Hypertext Markup Language (HTML); however, other formatting standards may also be used such as the Extensible Markup Language (XML) or Standard Generic Markup Language (SGML). Such documents may include a variety of multimedia elements either included directly or by reference. Web pages, and elements included within such pages, may be addressed on the Web utilizing Uniform Resource Locators, or URLs. A URL has three basic components a protocol indicator, a server indicator and a location indicator. A typical URL for a Web page might be http://www.myserver.com:8080/dirl/dir2/rsrc.html. The protocol indicator indicates the protocol that a Web client should utilize to access the desired resource; typically, the protocol used to retrieve Web pages is the Hypertext Transfer Protocol (HTTP). Other protocols include the file transfer protocol (FTP), the gopher distributed document protocol (GOPHER) and a variety of other Internet standard protocols that will be known to those of skill in the art. The protocol indicator is separated from the remainder of the URL with a colon. In the example above, the URL specifies the HTTP protocol. The server indicator corresponds to a particular computer on the Internet to which a Web client should connect using the indicated protocol to retrieve the desired resource. Usually, the server indicator will be a text name of the desired server; however, the indicator could also be the underlying numeric Internet Protocol (IP) address to which the text name corresponds. As part of the server indicator, a URL may also contain a port specification indicating a particular communication port on the indicated server to which the Web client should connect. Default ports are assumed based on the communication protocol if no port specification is included. For instance, by default HTTP request connections utilize port 80 on the indicated server. In the example URL above, the URL specifies connection to port 8080 on the machine www.myserver.com. The location indicator specifies the location of the resource on the indicated server. Depending on the protocol and the server, the location indicator may vary substantially in terms of format and content. Usually such a specification will be in the form of a directory hierarchy where each level in the hierarchy is indicated by a delimiter, usually a slash. In the example, URL above, the URL specifies that the desired resource is located on the indicated server at location /dirl/dir2/rsrc.html. Many Web pages contain embedded links to other pages on the Web. In HTML, an embedded link is created using an anchor tag (<N HREF="URL">link text </N>)). The anchor tag may surround link text that when viewed through a Web client presents a visual indication of the link. Upon activation of the link by an end user via a Web client, the Web client presents the resource indicated by the link. For example, <A HREF="http://www.mycompany.com">My Company</N> might cause a Web client to render the phrase "My Company" in a difference color and/or underlined to indicate a link associated with the phrase; when a user clicks on this representation in the Web client, the Web client is directed to the URL http://www.mycompany.com. Different Web clients, such as Navigator (by Netscape) and Internet Explorer (by Microsoft) may present visual indications of links in a variety of ways. Activation of such links will usually through a pointing/clicking devise such as a mouse; however, alternate methods such as via the keyboard, a speech recognition interface or other suitable interaction interfaces are equally feasible. Currently, advertisers use paid banner bars appearing on third-party Web pages through the Web to drive end user traffic to their Web sites. Advertisers hope end users will click on links in their banner bar and visit their Web site. While banner ads are often ineffective, they also offer little demographic information on the end users accessing the advertisers' Web pages. In addition, end users are often lost in the breadth of information available on the Web. As a consequence, finding sites of interest is often a difficult task. The prior art addresses this problem in several ways. First, portal sites have evolved to provide access to Web destinations based on category hierarchies. Portals provide an organizational framework for locating sites of interest. However, to use a portal, an end user must have a specific goal in mind, namely a particular category of Web destinations. Another solution is Web search technology. Search sites allow an end user to enter keywords; and the search engine retrieves pages that may match the specified keywords. Use of such sites requires the end user to have an even narrower goal than a portal. These methods do not provide a mechanism for generating for the user a Web destination based on general preferences of the end user across multiple interest categories. The system and method of the present invention address these and other problems of both advertisers and end users by providing automated Web site launching based upon user preferences. SUMMARY OF THE INVENTION The present invention is directed to a system and method for automated Web site launching based on user preferences. A system according to the present invention causes a client to present to an end user a selected destination. N typical system according to the present invention includes a host computer and a database server. The host computer receives a request for a destination from a client used by an end user. N destination is selected based on data associated with the end user. The selected destination is transmitted to the client in a reply, which, upon receipt by the client, presents on the client the selected destination. In a preferred embodiment, the data associated with the end user is collected through a registration process and stored in the database server. The destination is selected through querying the database server for a destination meeting the data associated with the end user via SQL select statements. N relational database contains tables of data associated with all available destinations and of data associated with the end user. In other embodiments, the data associated with end users may be stored in cookies residing on a client computer running the client. Alternated storage vehicles for both the end user data and the data associated with destination and other selection methods may be used within the scope of the present invention. The above and other objects and advantages of the present invention will become more readily apparent when reference is made to the following description, taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 displays a typical system according to the present invention. FIG. 2 is an architecture diagram for a Web site that could be used in conjunction with the present invention. FIG. 3 is a screen capture of a base home page 205 of FIG. 2. FIG. 4 is a screen capture of a member area display page. FIG. 5 is a diagram of the registration process in a preferred embodiment. FIG. 6 is a process diagram detailing the steps occurring upon submission of a registration form presented in step 520 of FIG. 5. FIG. 7 is a screen capture of a registration page 220 of FIG. 2. FIG. 8 is a screen capture of a set start page 225 of FIG. 2. FIG. 9 is a screen capture of an education page 240 of FIG. 2. FIG. 10 is a screen capture of a member start page 245 of FIG. 2. FIGs. 11A-11D displays the tables in a relational database used in a preferred embodiment of the present invention. FIG. 12 is a process diagram providing an overview of the steps in a typical automatic Web site launching according to the present invention. FIG. 13 is a process diagram providing additional details on the process to handle parameters included in the request, step 1240 of FIG. 12. FIG. 14 is a process diagram providing additional details on the process select a Web destination for launch based on user data, step 1250 of FIG. 12. FIG. 15 is a process diagram providing additional details on the Web destination selection process from among campaign Web destinations, step 1440 of FIG. 14. FIG. 16 is a process diagram providing additional details on the Web destination selection process from among non-campaign Web destinations, step 1470 of FIG. 14. DETAILED DESCRIPTION OF THE INVENTION A preferred embodiment of the invention is now described in detail. Referring to the drawings, like numbers indicate like parts throughout the views. As used in the description herein and throughout the claims that follow, the meaning of "a," "an," and "the" includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of "in" includes "in" and "on" unless the context clearly dictates otherwise. Further, the use of pronouns and possessive pronouns in the masculine is intended to include both the feminine and plural forms. In a preferred embodiment, the present invention includes a Web server 105 and a database server 110 as seen in FIG. 1. The Web server 105 and the database server 110 may use any of a variety of commercially available hardware and software. In a preferred embodiment, the hardware platform is based upon microprocessor technology, specifically an Intel-based multiprocessor system, running the Windows/NT (Microsoft) operating system. In a preferred embodiment, the Web server software is the Internet Information Server (IIS) (Microsoft), and the database server software is SQL Server 7.0. As will be known to those of skill in the art other hardware and software platforms could be substituted within the scope of the present invention. The Web server 105 and database server 110 communicate via an Ethernet 115. An end user communicates with the Web server via the Internet 120. The end user may use any Internet-capable Web client to communicate with the Web server 105. Such Web clients will include Web-capable applications running on client computers or other suitable hardware platforms or Web-capable devices. Web clients will include, but are not limited to, Web browsers such as Navigator (Netscape) or Internet Explorer (Microsoft) running on suitable client computer platforms such as desktop computers, notebook computer, hand held computers, etc., other Web-capable software running on suitable hardware platforms such as Web-capable cellular telephones and other wireless devices or Web-capable personal data assistants (PDAs) such as the Palm Pilot (3Com). The database server in a preferred embodiment stores a relational database. FIGs. 11A-1 ID display the tables used in the relational database. The database server supports SQL queries and updates. Other database architectures such as object- oriented or hierarchical databases could be used in other embodiments. The Web server 105 used in conjunction with the present invention may contain pages as seen in FIG. 2. A base home page 205 is presented upon initial entry to the site; a typical base home page is seen in FIG. 3. From the home page 205, the end user may elect to view a help page 210, view a page about the owner of the site 215, view a page providing information about the automated Web destination launching 255, view a page about rewards associated with the use of the automated Web destination launching 260, view pages associated with registering for automated Web destination launching 220 - 245 or view a login page allowing access to the members' area 250. In another embodiment where rewards for usage are not available, the rewards page 260 would be eliminated. As will be obvious to those skilled in the art, any suitable Web site architecture will be within the scope of the present invention. The members' area login page 250 provides access to a variety of information for individuals already registered; a typical members' area display page shown subsequent to login is seen in FIG. 4. This area could provide an interface for end users to alter data associated with themselves such as changing preferences, add electronic mail service if available and if declined during initial registration, view information on accumulated reward points if rewards are available, quit the automated Web destination launch service, view history of sites presented to them and support other desired functionality. In a preferred embodiment, an end user must register as a member before being able to utilize the automated Web destination launching functionality. The data associated with the end user including his interest preferences is collected through this registration process. N diagram of the registration process is seen in FIG. 5. In step 510, a home page is seen by an end user via a Web client; for example, a typical home page as viewed with Internet Explorer (Microsoft) as the Web client is seen in FIG. 3. The end user selects to register. In step 520, a registration page 220, such as seen in FIG. 7, is presented to the end user. The end user may select to view a privacy information page 222 or information relevant to international users 224; in either case, the user returns back to the registration page 220. The end user fills out the provided form. In a preferred embodiment, the registration form requests personal information concerning the end user such as name, postal code, e-mail address, a password for use in subsequent login, date of birth, gender, marital status, education level, profession, residential status and income level. Additional and/or differing information could be requested in alternate embodiments. In a preferred embodiment, the form also requests interest information from the end user with interests broken into eight categories with numerous interests listed under each category, as shown in the table below. News/Information Business/Economy Health Sports Current Events/Politics Multimedia/WWW Design Technology /Internet Environment Science Arts/Entertainment Art/Museums Humor Performing Arts Books Movies Science Fiction Celebrities/Gossip Music Television Comics Online Chat/Community Video/Online Games Fashion Online Gambling Personal Finance3 Career/Employment Real Estate Taxes Home/Mortgage Retirement Insurance Stocks/Bonds/Options Hobbies Antiques Eating Out Pets/Animals Nutomobiles/Motorcycles Gardening Photography Aviation Genealogy Specialty Foods Collectibles History Travel Home Cooking Wines/Spirits/Cigars Improvement/Design Crafts Sports Nuto Racing Football Mountain/Rock Climbing Baseball Golf Pro Wrestling Basketball Hiking/Camping Running Boating/Sailing Hockey Scuba Diving Boxing Horse Racing/Equestrian Skiing/Snowboarding Canoe/Kayak Hunting/Fishing Soccer Cycling/Mountain Biking Ice Skating Surfing/Windsurfing Extreme Inline Skating Tennis Fitness/Aerobic Martial Arts Water Sports Life Interests Charity Maternity/New Parents Seniors College Men's Issues Teen Sites Education Relationship/D ating Weddings Family/Parenting S elf-Improvement Women's Issues Kids Sites Shopping Computer Accessories Greeting Cards Hardware/Software Apparel Electronics Groceries Auctions Event Tickets House/ Apartment Hunting Banking Flowers Pharmacy/Drugs Car Buying/Leasing Furniture Professional/Office Communications Gifts Toys/Games Miscellaneous Weird, Wacky & Oddly Downloads/Shareware Web Resources Useful Sweepstakes The end user selects the desired interests and submits the registration page 220. As will be known to those skilled in the art, the above set of interest is exemplary and, as such, other selections of interests, or combinations of interests, are equally within the scope of the present invention. Upon submission, a registration submission process occurs as depicted in FIG. 6. The fields in the registration form are validated 610. A determination is made as to whether all fields have valid data 630. If not 634, an error message is presented to the end user 620. For instance, if the end user neglected to fill out a required field, an error message would be presented, and the end user would be given an opportunity to correct the error. If all data is valid 638, a member record is created 640, and a member's interest record is created 650. In a preferred embodiment, these records are stored on the database server 110. FIGS. 1 IB and 11C display the tables associated with members used in a relational database in a preferred embodiment. An initiation transaction is logged with respect to the new registered end user 660. Associate counts are updated 670. Nn associate count is used to pay associates commissions based upon the count of users referred by the particular associate. Finally, a member identification is sent to the Web client for storage on the client computer associated with the end user. This identification is preferably sent and received as cookie data. In another embodiment, the end user data acquired from the registration form could be sent to the Web client for storage on the client computer associated with the end user in the form of cookie data. In a further embodiment, some of the accumulated data associated with the end user could be stored on the database server 110 while other data could be sent to the Web client for storage as cookie data. For instance, demographic data could be stored on the database server 110 while interest information was stored as cookie data, or conversely, interest information could be stored on the database server 110 while demographic data was stored as cookie data. The registration process as shown in FIG. 5 continues with the presentation of the set start page 225 in step 530. N typical set start page is seen in FIG. 8. In an embodiment having no optional e-mail service, or if the end user has selected not to avail himself of such services 544, an educational page is presented to the end user in step 580. A typical education page is seen in FIG. 9. In step 590, the process is complete and a member start page with an automatically selected and launched site based upon the user-selected preferences is presented 245 as more fully discussed below. N typical member start page is seen in FIG. 10. In a preferred embodiment, an e-mail account is available to the end user. In this embodiment, the following additional steps may be performed during the registration process. In step 540, a determination is made as to whether the end user has chosen to have an e-mail account or not. If yes 548, an e-mail sign up page 230 is presented in step 550. Upon completion of this form, a confirmation page 235 is presented in step 560. In step 570, the database of e-mail addresses is updated. If no e-mail account is selected 544, the registration process occurs as stated above. In another embodiments, users data may be collected via usage of the automated Web destination launching functionality rather than, or as a supplement to, a registration process. For instance, view time of and/or interactions with particular destinations and user indicated ratings for particular destinations could form the basis of establishing or modifying end user interest preferences. Further, the user data may be collected via a third-party. Marketing and demographic data received from third- parties such as marketing firms could be imported and form the basis of the data associated with the end user as used in the present invention. Independent of the initial collection method, user data associated with an end user may be subject to modification based upon usage. For example, interests included in the user data may be weighted rather than all or nothing flags. In such an embodiment, view times of and/or interactions with particular destinations and user indicated ratings could be used to modify the weighted values of the users interests based upon the particular destination. Under this approach, user interests are further refined and may be used to better select Web destinations for automated launching. The Web server directs the Web client used by the end user to a Web destination based on data associated with the end user upon the receipt of a request from the Web client. FIG. 12 provides an overview of the steps in this process. The request may be generated in a variety of ways by the end user 1210. First, as mentioned above, in a preferred embodiment the end user is directed to a Web destination upon the completion of the registration process. The end user could login into the Web server 105 through the member area login page 250 or the home page 205. The end user could manually enter the URL for the start page 245, click on a bookmark corresponding to this page or click on a history item in his browser corresponding to this page. The end user could simply launch is Web client to generate the request if the Web client designates the start page 245 as its home page. As will be known to those skilled in the art, other user actions may result in the invocation of automated Web site launching. No matter which user action occurred in step 1210, the Web client initiates a request to the Web server 105 in step 1220. In step 1230, a determination is made as to whether the request includes parameters indicating an override of the automated Web destination selection. If parameters are passed 1234, a process to handle the passed parameters 1240 is performed as seen in FIG. 13. In step 1310, a determination is made as to whether an edit field associated with the request is populated with a URL. If the field is populated, the URL contained in the field is formatted 1320 and returned 1360 for reply generation and transmission 1260. If the field is not populated, a further check is made to see if a query string associated with the request is populated 1330 and if the populated query string contains a URL 1340. If either of these checks generates a negative result, a selection of Web destination based upon user data occurs via step 1250, which is returned 1360 for reply generation and transmission 1260. If both checks generate a positive result, the URL in the query string is formatted 1360 and returned 1360 for reply generation and transmission 1260. If parameters are not passed 1238, a Web destination is selected based upon user data associated with the end user in step 1250 as seen in FIG. 14. First, a determination is made as to whether the request includes a specific interest of the end user 1410. If an interest is included 1414, a query is passed to the database server in SQL requesting all Web destinations meeting the included interest, and a Web destination from the query result is selected at random or under some priority scheme such as revenue generated from directing a Web client to a particular destination 1420. The URL of the selected Web destination is formatted 1430 and returned 1490 for reply generation and transmission 1260. If no specific interest is included in the request 1418, a two level approach is taken to the selection of a Web destination based upon the user data associated with the end user. In a preferred embodiment, Web destinations fall into two categories campaign Web destinations and non-campaign Web destination. N campaign Web destination is a Web destination whose owner has agreed to pay the launch service provider a commission for directing end users to the campaign Web destination; a Web destination may fall into the campaign category for a limited time period and/or for a limited number of directed end users per day. Nil Web destinations, including campaign Web destinations, fall into the non-campaign category. Campaign Web destinations are effectively a subset of non-campaign Web destinations. First, an attempt is made to locate a campaign Web destination based upon user data and to select a Web destination from among the located campaign Web destination 1440 as more fully described below. A determination is made as to whether a selected Web destination was found among campaign destination 1450. If a selected Web destination was found, the URL of the selected Web destination is formatted 1460 and returned 1490 for reply generation and transmission 1260. If a selected Web destination was not found, a Web destination is selected from among non-campaign Web destination 1470 as more fully described below. The selected Web destination is formatted 1480 and returned 1490 for reply generation and transmission 1260. FIG. 15 provides details of the campaign Web destination selection level process 1440. In step 1502, a set of active campaign Web destination is retrieved along with the selection criteria for those campaign destinations. In step 1505, a check is made to see if a campaign match based upon interests will yield a non-empty set of campaign Web destinations. If a non-empty set would result, the set is generated in step 1510. A further check is made in step 1515 to determine whether any of the campaign Web destinations matches the demographic data associated with the end user. If a demographic match occurs within the interest matched set, a finalized set of campaigns is generated in step 1520. If either an interest match 1505 or a demographic match 1515 fails, a failure condition is returned to process requesting a campaign Web destination 1550. This failure will lead to the selection of a Web destination via the second level, non- campaign approach 1470. Once a finalized set of campaigns has been generated, a campaign Web destination is selected in step 1540. If selection fails due to an empty finalized set 1545, a failure condition is returned to process requesting a campaign Web destination 1550. This failure will lead to the selection of a Web destination via the second level, non-campaign approach 1470. The selection may occur at random; however, in a preferred embodiment, the selection is based upon factors associated with the campaign Web destinations in the finalized set such as priority levels of particular campaigns, revenue generated for directing an end user to a particular campaign, the time of day and current numbers of end users directed to the campaign Web destinations. The selected campaign Web destination is return in step 1560 for formatting in step 1460 and for further return in step 1490. In a preferred embodiment, the following SQL query is used in conjunction with a relational database having the tables in FIGs. 11 A - 1 ID to generate the set of active campaign Web destinations and the selection criteria associated with these campaigns, step 1502: " select CI . CampaignID , C2. CampaignSQL from " & _ " Campaign CI, CampaignSQL C2 " & _ " Where " & _ " CI . CampaignID = C2. CampaignID AND " & _ " Revision = 1 AND " & _ " DayCount < MaxVisitsPerDay AND " & _ " AccessCount < NumberOfVisitsOrdered AND " & _ " StartDate < GETDATE ( ) AND " & _ " EndDate > GETDATE ( ) " The following two queries perform the checks of steps 1505 and 1515 to determine if an active campaign meets the interests and demographic data of the end user: "SELECT Count (InterestID) AS InterestCount FROM Campaignlnterests where CampaignID = " & rs ( "CampaignID" ) & _ "AND InterestID " & _ "In (select Campaignlnterests from MemberCampaign where MemberlD = " & e_intMemberID & _ "AND DATEPART(dy, CreateTime) = DATEPART(dy, GETDATE () ) " & __ "AND DATEPART (yyyy, CreateTime) = DATEPART (yyyy, GETDATE ( ) ) ) " and "select Count (*) AS CampSQLNum From Member Ml, Memberslnterests M2 " & _ "where Ml. MemberlD = M2. MemberlD AND Ml. MemberlD = " & e_intMemberID & _ " AND " S _ r s ( " CampaignSQL " ) FIG. 16 provides details of the non-campaign Web destination selection level process 1470. In step 1610, a set of Web destinations is selected based upon data associated with the end user. This set is preferably determined based upon the end user's interests and demographic data. In a preferred embodiment, the following SQL query is used in conjunction with a relational database having the tables in FIGs. 11 A - 1 ID to generate the set for new users or for users who have not utilized the launch service for a predetermined period of time: "select Distinct (A2.AdID) " & _ "From Adslnterests A2 (NOLOCK) , Memberslnterests Ml (NOLOCK) , Ads Al (NOLOCK) " & _ "Where Ml. MemberlD = " & strMemberlD & " and " & __ "Ml. InterestID = A2. InterestID AND Al.AdID = A2.AdID AND (Al. Status IS NULL OR Al. Status <> 'I')" For existing users who have utilized the launch service within the predetermined period of time the following SQL query is used to generate the set excluding those Web destinations already visited within the predetermined period of time: "select Distinct (A2.AdID) " & "From Adslnterests A2 (NOLOCK) , Memberslnterests Ml (NOLOCK) , Ads Al (NOLOCK) " & _ "Where Ml. MemberlD = " & strMemberlD & " and " & _ "Ml. InterestID = A2. InterestID AND Al.AdID = A2.AdID AND " & _ "Al.AdID NOT in (select AdID from Transactions (NOLOCK) " S _ "where MemberlD = " & strMemberlD & " and TranType = ' " & trantype & " ' AND AdID IS NOT NULL) AND" & _ " (Al. Status IS NULL OR Al. Status <> 'I')" A check is made as to whether the generated set is empty 1620. If the generated set is empty, temporary data associated with the end user is generated from determining the lowest differential between the user data associated with the end user and interests not selected by the end user 1630. This temporary data is used to generate a set of Web destinations 1640. The selected Web destination is returned 1660, formatted 1480 and further returned 1490 for reply generation and transmission 1260. Whether the set was generated based upon the user data 1610 or the temporary data 1630, a Web destination is selected randomly from the generated set 1650. In other embodiments, step 1250 may not include a two level selection approach. In this embodiment, a single query is used to select a Web destination without regard to distinctions between campaign Web destinations and non-campaign Web destinations. In yet another embodiment step 1250, whether using the two level selection approach of the preferred embodiment or one of the other selection approaches above, may involve a sorting step that prioritizes the group of potential selected Web destinations. For instance, in the two level approach the campaign Web destination determined based upon user data associated with the end user may be sorted according to revenue derived from the particular campaign. In another embodiment, the sorting may be made based upon weighting of the different interests associated with the end user to achieve an ordering of Web destination from the highest likely interest level to the lowest likely interest level. After the destination Web site is selected, a reply is generated and transmitted to the Web client that, upon receipt by the Web client, directs the Web client to the selected Web destination in step 1260 of FIG. 12. In a preferred embodiment, this reply includes a Web page having two component parts a display area for displaying the selected Web destination and a navigation bar allowing further interaction with the Web server 105. Upon receipt by the Web client, the Web client retrieves and formats the two components parts: the content for the display area from the selected Web destination and the content for the navigation area from the Web server 105. The Web server 105 finally determines the type of visit the end user has made in step 1270 and records a transaction corresponding to this visit in step 1280. The accumulated recorded transactions of visits by end users to selected Web destinations may be used to bill the respective owners of the Web destinations. In this embodiment, the recorded transactions are used to generate invoices to billing contacts associated with the owners of the respective Web destinations. The embodiments described above are given as illustrative examples only. It will be readily appreciated that many deviations may be made from the specific embodiment disclosed in this specification without departing from the invention. Accordingly, the scope of the invention is to be determined by the claims below rather than being limited to the specifically described embodiment above.

Claims: What is claimed is: 1. A method for directing a client used by an end user to present a destination based on data associated with the end user, the method comprising the steps of: (a) receiving a request for a destination from the client; (b) selecting a destination based on the data associated with the end user; and (c) transmitting a reply including the selected destination to the client that, upon receipt by the client, causes the client to present the selected destination to the end user. 2. The method of claim 1, and further comprising the step of collecting data associated with the end user. 3. The method of claim 2, wherein the step of collecting data associated with the end user comprises transmitting a registration form to the client and receiving a completed registration form from the client. 4. The method of claim 2, and further comprising the step of assigning default values to data associated with the end user. 5. The method of claim 2, wherein the step of collecting data associated with the end user comprises monitoring interactions of the end user with the selected destination through the client. 6. The method of claim 5, and further comprising the step of modifying the data associated with the end user based upon the monitored interactions. 7. The method of claim 2, wherein the step of collecting data associated with the end user comprises receiving rating information from the end user via the client about the selected destination. 8. The method of claim 7, and further comprising the step of modifying the data associated with the end user based upon the received rating information. 9. The method of claim 2, wherein the step of collecting data associated with the end user comprises receiving data associated with the end user from a third- party computer. 10. The method of claim 2, and further comprising the step of storing the collected data associated with the end user. 11. The method of claim 10, wherein the step of storing the collected end user data comprises storing the collected end user data in a database. 12. The method of claim 11, and further comprising the step of transmitting a member identifier associated with the end user to the client. 13. The method of claim 10, wherein the step of storing the collected end user data comprises storing the collected end user data in a data store accessible by the client. 14. The method of claim 1, and further comprising the step of billing a billing contact associated with the selected destination. 15. The method of claim 1, and further comprising the step of receiving data associated with the end user. 16. The method of claim 1, wherein the step of receiving a request for a destination from the client used by the end user comprises receiving data associated with the end user. 17. The method of claim 1, and further comprising the steps of receiving a member identifier associated with the end user and locating data associated with the end user based upon the received member identifier. 18. The method of claim 1 , wherein the step of receiving a request for a destination from the client used by the end user comprises receiving a member identifier associated with the end user and further comprising the step of locating data associated with the end user based upon the received member identifier. 19. The method of claim 1 , wherein the data associated with the end user comprises demographic data concerning the end user. 20. The method of claim 19, wherein the data associated with the end user further comprises interest preference information associated with the end user. 21. The method of claim 1 , wherein the data associated with the end user comprises interest preference information associated with the end user. 22. The method of claim 1 , wherein the step of selecting a destination based on data associated with the end user comprises the steps of: (i) generating a set of destinations matching data associated with the end user; and (ii) for each destination in the generated set of destinations, determining a likelihood of interest level based upon data associated with each destination and data associated with the end user; and (iii) selecting a destination from the generated set with the highest determined likelihood of interest. 23. The method of claim 1, wherein the step of selecting a destination based on data associated with the end user comprises the steps of: (i) generating a set of destinations matching data associated with the end user; and (ii) randomly selecting a destination from the generated set. 24. The method of claim 23, wherein generating a set of destinations matching data associated with the end user comprises querying a database. 25. The method of claim 1 , wherein the step of selecting a destination based on data associated with the end user comprises the steps of: (i) generating a set of campaign destinations matching data associated with the end user; (ii) for each campaign destination in the generated set of campaign destinations, determining a priority level associated with that campaign destination; and (iii) selecting the campaign destination from the generated set of campaign destinations with the highest determined priority level as the selected destination. 26. The method of claim 25, wherein generating a set of destinations matching data associated with the end user comprises querying a database. 27. The method of claim 25, wherein the step of selecting a destination based on data associated with the end user comprises the further steps of generating a set of non-campaign destinations if the step of generating a set of campaign destinations yielded an empty set and randomly selecting a destination from the generated set of non-campaign destinations as the selected destination if the step of generating a set of campaign destinations yielded an empty set. 28. A computer-readable storage device containing instructions that, upon execution cause a processor to direct a client used by an end user to present a destination based on data associated with the end user by performing the steps comprising of: (a) receiving a request for a destination from the client; (b) selecting a destination based on the data associated with the end user; and (c) transmitting a reply including the selected destination to the client that, upon receipt by the client, causes the client to present the selected destination to the end user. 29. The storage device of claim 28, and storing further instructions that upon execution cause the processor to perform the additional step comprising of collecting data associated with the end user. 30. The storage device of claim 29, wherein the stored instructions causing the processor to perform the step of collecting data associated with the end user comprise instructions causing the processor to transmit a registration form to the client and receiving a completed registration form from the client. 31. The storage device of claim 29, and storing further instructions that upon execution cause the processor to perform the additional step comprising of assigning default values to data associated with the end user. 32. The storage device of claim 29, wherein the stored instructions causing the processor to perform the step of collecting data associated with the end user comprise instructions causing the processor to monitor interactions of the end user with the selected destination through the client. 33. The storage device of claim 32, and storing further instructions that upon execution cause the processor to perform the additional step comprising of modifying the data associated with the end user based upon the monitored interactions. 34. The storage device of claim 29, wherein the stored instructions causing the processor to perform the step of collecting data associated with the end user comprise instructions causing the processor to receive rating information from the end user via the client about the selected destination. 35. The storage device of claim 34, and storing further instructions that upon execution cause the processor to perform the additional step comprising of modifying the data associated with the end user based upon the received rating information. 36. The storage device of claim 29, wherein the stored instructions causing the processor to perform the step of collecting data associated with the end user comprise instructions causing the processor to receive data associated with the end user from a third-party computer. 37. The storage device of claim 29, and storing further instructions that upon execution cause the processor to perform the additional step comprising of storing the collected data associated with the end user. 38. The storage device of claim 37, wherein the stored instructions causing the processor to perform the step of storing the collected end user data comprise instructions causing the processor to store the collected end user data in a database. 39. The storage device of claim 38, and storing further instructions that upon execution cause the processor to perform the additional step comprising of transmitting a member identifier associated with the end user to the client. 40. The storage device of claim 37, wherein the stored instructions causing the processor to perform the step of storing the collected end user data comprise instructions causing the processor to store the collected end user data in a data store accessible by the client. 41. The storage device of claim 28, and storing further instructions that upon execution cause the processor to perform the additional step comprising of billing a billing contact associated with the selected destination. 42. The storage device of claim 28, and storing further instructions that upon execution cause the processor to perform the additional step comprising of receiving data associated with the end user. 43. The storage device of claim 28, wherein the stored instructions causing the processor to perform the step of receiving a request for a destination from the client used by the end user comprise instructions causing the processor to receive data associated with the end user. 44. The storage device of claim 28, and storing further instructions that upon execution cause the processor to perform the additional steps comprising of receiving a member identifier associated with the end user and locating data associated with the end user based upon the received member identifier. 45. The storage device of claim 28, wherein the stored instructions causing the processor to perform the step of receiving a request for a destination from the client used by the end user comprise instructions causing the processor to receive a member identifier associated with the end user and storing further instructions that upon execution cause the processor to perform the additional step comprising of locating data associated with the end user based upon the received member identifier. 46. The storage device of claim 28, wherein the stored instructions causing the processor to perform the step of selecting a destination based on data associated with the end user comprise instructions causing the processor to perform the steps comprising of: (i) generating a set of destinations matching data associated with the end user; and (ii) for each destination in the generated set of destinations, determining a likelihood of interest level based upon data associated with each destination and data associated with the end user; and (iii) selecting a destination from the generated set with the highest determined likelihood of interest. 47. The storage device of claim 28, wherein the stored instructions causing the processor to perform the step of selecting a destination based on data associated with the end user comprise instructions causing the processor to perform the steps comprising of: (i) generating a set of destinations matching data associated with the end user; and (ii) randomly selecting a destination from the generated set. 48. The storage device of claim 47, wherein the stored instructions causing the processor to perform the step of generating a set of destinations matching data associated with the end user comprise instructions causing the processor to query a database. 49. A system for directing a client used by an end user to present a destination based on data associated with the end user, the method comprising the steps of: (a) a data store for storing data associated with one or more destinations; and (b) a host computer in communication with the data store comprising a processor for performing the steps of: (i) receiving a request for a destination from the client; (ii) selecting a destination based on the data associated with the end user from the destinations with associated data in the data store; and (iii) transmitting a reply including the selected destination to the client that, upon receipt by the client, causes the client to present the selected destination to the end user. 50. The system of claim 49, wherein the processor performs the further step comprising of collecting data associated with the end user. 51. The system of claim 50, wherein the processor performs the step of collecting data associated with the end user by performing the step comprising of transmitting a registration form to the client and receiving a completed registration form from the client. 52. The system of claim 50, wherein the processor performs the further step comprising of assigning default values to data associated with the end user. 53. The system of claim 50, wherein the processor performs the step of collecting data associated with the end user by performing the step comprising of monitoring interactions of the end user with the selected destination through the client. 54. The system of claim 53, wherein the processor performs the further step comprising of modifying the data associated with the end user based upon the monitored interactions. 55. The system of claim 50, wherein the processor performs the step of collecting data associated with the end user by performing the step comprising of receiving rating information from the end user via the client about the selected destination. 56. The system of claim 55, wherein the processor performs the further step comprising of modifying the data associated with the end user based upon the received rating information. 57. The system of claim 50, wherein the processor performs the step of collecting data associated with the end user by performing the step comprising of receiving data associated with the end user from a third-party computer. 58. The system of claim 50, wherein the processor performs the further step comprising of storing the collected data associated with the end user. 59. The system of claim 58, and further comprising a user data store, in communication with the host computer, for storing the data associated with the end user and wherein the processor performs the step of storing the collected end user data by performing the step comprising of storing the collected end user data in the user data store. 60. The system of claim 59, wherein the processor performs the further step comprising of transmitting a member identifier associated with the end user to the client. 61. The system of claim 58, wherein the processor performs the step of storing the collected end user data by performing the step comprising of storing the collected end user data in a data store accessible by the client. 62. The system of claim 49, wherein the processor performs the further step comprising of billing a billing contact associated with the selected destination. 63. The system of claim 49, wherein the processor performs the further step comprising of receiving data associated with the end user. 64. The system of claim 49, wherein the processor performs the step of receiving a request for a destination from the client used by the end user by performing the step comprising of receiving data associated with the end user. 65. The system of claim 49, and further comprising a user data store, in communication with the host computer, for storing data associated with the end user and wherein the processor performs the further steps comprising of receiving a member identifier associated with the end user and retrieving the data associated with the end user based upon the received member identifier from the user data store. 66. The system of claim 49, and further comprising a user data store, in communication with the host computer, for storing data associated with the end user and wherein the processor performs the step of receiving a request for a destination from the client used by the end user by performing the step comprising of receiving a member identifier associated with the end user and wherein the processor performs the further step comprising of retrieving data associated with the end user based upon the received member identifier from the user data store. 67. The system of claim 49, wherein the data associated with the end user comprises demographic data concerning the end user. 68. The system of claim 67, wherein the data associated with the end user further comprises interest preference information associated with the end user. 69. The system of claim 49, wherein the data associated with the end user comprises interest preference information associated with the end user. 70. The system of claim 49, wherein the processor performs the step of selecting a destination based on data associated with the end user by performing the steps comprising of: (i) generating a set of destinations matching data associated with the end user; and (ii) for each destination in the generated set of destinations, determining a likelihood of interest level based upon data associated with each destination and data associated with the end user; and (iii) selecting a destination from the generated set with the highest determined likelihood of interest. 71. The system of claim 49, wherein the processor performs the step of selecting a destination based on data associated with the end user by performing the steps comprising of: (i) generating a set of destinations matching data associated with the end user; and (ii) randomly selecting a destination from the generated set.

Inventors: BARNETTE JAMES R, BONNETT JENNIFER, CARRANO RICHARD, LANZONE JAMES R, ZOU YONG, BARNETTE, JAMES, R., BONNETT, JENNIFER, CARRANO, RICHARD, LANZONE, JAMES, R., ZOU, YONG
Applicants: ETOUR INC, ETOUR, INC.
Application year: 1999
Main classification: G06F13
IPC codes: G06F17, H04L29