SYSTEM AND METHOD FOR PROVIDING COMPUTER NETWORK
ACCESS TO A USER
BACKGROUND Field of the Invention
This invention relates generally to a system and method for providing computer network access to a user and in particular to a system and method for providing user access to the Internet and the World Wide Web (the Web).
Description of the Related Art
There are many different methods in existence for accessing an open computer network such as the Internet. For example, one may use a service, such as America Online, which tends to provide the user with everything that a user may need to access the network. Such a system is also designed to be easy to use and navigate between Web pages. Other user access services provide only the basic connection software applications, such as a Web browser, a file transfer protocol (FTP) client and an e- mail client application and the user must then know how to navigate and find the information that the user needs. These prior systems for providing user access to a computer network have a number of limitations and problems which limit their usefulness to users, Internet Service Providers (ISPs), and to advertisers.
One area in which these typical user access systems are deficient is in advertisement reporting and control of the channel connection. In prior approaches to controlling the channel connection, the advertisement impressions (instances of a user viewing a displayed advertisement) are reported by an advertisement server during either the start or the completion of an advertisement download. One problem is the lack of ability to account for the display or redisplay of the advertisement at a later time from the cache of the user's computer or that the advertisement content may have been delivered from a third party so that that impression is not recorded. In addition, with most typical advertisement reporting systems, if the user begins to load a Web page but stops loading the page before the advertisement is displayed to the user, then the advertisement system normally reports that as an impression which the ISP must pay for even though the user did not see the advertisement. Thus, an advertiser may lose advertisement revenue if the impression is not reported and the ISP may lose revenue if an impression is reported when the user has not actually seen the advertisement.
Typical user access systems also do not provide a technique for providing advertisement history to the user, for example, in the form of an advertisement history menu. Previously, users were required to immediately click on an advertisement while it was being displayed in order to follow the link attached to the advertisement. If the user did not immediately click on the advertisement to follow the link, even with the readily available Web browser history, the user may not have been able to locate the advertisement at a later time. Thus, the user may never find the advertiser's site which can result in lost revenues for the advertiser. In addition, with these conventional systems, the user may have learned to immediately click on Web advertisements despite interrupting the task at hand for fear of never finding the advertisement again. This can distract the user because clicking on the Web advertisement takes the user away from the current page and may cause the user to lose his/her location in the Web or may result in the user not returning at all.
Furthermore, conventional access systems typically offer differing pricing plans. In particular, many wholesale-managed service providers offer different pricing plans to account for different usage expectations. Examples of two basic plans include a price per hour plan and a flat rate plan for unlimited usage per user. An ISP reseller must then anticipate and predict the usage patterns of its users to choose the most economical plan. Historically, the reseller chooses a plan which matches the plan that the user selects (unlimited or hourly) and charges an uplift charge. If a user chooses an unlimited usage plan, the reseller pays the wholesaler for unlimited usage, even if the user is consistently online for very few hours each month.
Typical user access systems also do not provide a cost optimization method for advertisement delivery or a rewards odometer for tracking reward points. In particular, users must currently go back to the rewards provider's site in order to check their rewards point total. Often, these rewards programs are not as effective as they could be because the point totals are not displayed to the user and therefore do not encourage the user to increase those points by performing one or more actions.
Thus, it is desirable to provide a user access system and method which overcomes the above limitations and problems with conventional access systems and it is to this end that the present invention is directed.
SUMMARY OF THE INVENTION
In accordance with an embodiment of the invention, a user access system and method are provided which overcome some of the limitations and problems with typical access systems. In particular, a system in accordance with an embodiment of the invention may include a system for controlling channel connection with third party advertisement impression reporting, an advertisement history menu, an automatic ISP realm change monitoring system for cost optimization, a rewards provider odometer, an advertising revenue optimization module, and a real-time advertisement targeter. The channel connection controller enables accurate advertisement impression reporting even when advertisements may be delivered from a third-party server or redisplayed from the cache of the user's computer. This impression reporting enables accurate impression reporting even when advertisements may be redelivered from an intermediate server or not immediately displayed.
The advertisement history menu can enable users to browse through one or more advertisements that have been previously displayed to the user, including, for example, in order of their presentation to the user. The advertisement history menu can permit a user to locate a commercial or advertisement banner without having to stop Web navigation at the time the advertisement was seen on-screen, thereby permitting the user to continue browsing. The automatic ISP realm change system permits an ISP reseller to optimize its costs based on the fact that users subscribing to unlimited internet usage plans may, in fact, rarely access the network. The rewards odometer allows users to monitor and view their rewards points directly on their screen without having to visit the rewards provider site thus encouraging the user to perform more actions (e.g., viewing certain Web sites) which increases the user's reward points. The real-time advertisement targeter permits the system to determine the URL of the Web site or a keyword being used by the user and then display an advertisement to the user based on the URL or the keyword. For example, the user may be going to a car purchase site and the user interface may display an advertisement for Volvo .
Embodiments of the invention may also include an advertising revenue optimizer in the client application which permits the client to choose the advertisements to be displayed at any point in time. In particular, the module may display certain advertisements before other advertisements in an attempt to maximize the ISP's revenue for showing the advertisements. For example, an advertisement which is not clicked by a user often, but pays a large amount of money only for a click-through might not be shown to the user as frequently as an advertisement that pays a lower amount for impressions and click-throughs, but has more click-throughs. Thus, the system attempts to maximize the ISPs revenue from advertisement impressions and click-throughs by adaptively changing which advertisements are shown to the user.
BRIEF DESCRIPTION OF THEDRA WINGS Figure 1 is a diagram illustrating a typical client/server computer system that may include the accessing system in accordance with an embodiment of the invention.
Figure 2 is a block diagram illustrating more details of the client application that is part of the user access system shown in Figure 1.
Figures 3a and 3b are diagrams illustrating a typical desktop that incorporates a user interface portion in accordance with an embodiment of the invention and more details of the user interface, respectively.
Figure 4 is a screen shot illustrating an example of the operation of the user access system and in particular the real-time targeted advertising system in accordance with an embodiment of the invention.
Figure 5 is a screen shot illustrating another example of the operation of the user access system and in particular the real-time targeted advertising system in accordance with an embodiment of the invention.
Figure 6 is a flowchart illustrating a method for generating an advertisement history in accordance with an embodiment of the invention.  Figure 7 is a diagram illustrating an example of an advertisement history menu in accordance with an embodiment of the invention.
Figure 8 is a diagram illustrating a system for third party impression reporting in accordance with an embodiment of the invention.
Figure 9 is a flowchart illustrating an automatic realm change monitoring system in accordance with an embodiment of the invention.
Figure 10 is a flowchart illustrating a rewards provider odometer in accordance with an embodiment of the invention.
Figure 11 is a flowchart illustrating an advertising revenue optimization module in accordance with an embodiment of the invention.
Figure 12 is a flowchart illustrating a real-time targeted advertisement system in accordance with an embodiment of the invention.
DETAILED DESCRIPTION Embodiments of the invention can be particularly applicable to a user access system and method for accessing the Internet or the Web and it is in this context that the invention will be described. It will be appreciated, however, that the system and method in accordance with the invention has greater utility, such as being used for accessing other types of computer networks.
Figure 1 is a diagram illustrating an example of a system 10 for establishing a connection between one or more user computers 12 and an Internet Service Provider (ISP) server 14 over a typical communications link 16. In this example, the communications link 16 may be a modem 18 connected to the user computer, a modem 20 at the ISP server 14 and a typical telephone line 22 interconnecting the two modems. As is well known, the connection between the user and the ISP may also include other types of communications links, such as an ISDN connection, a cable modem connection, a fiber optic connection and the like.  User computer 24 (only one is described here although each user computer may have similar components and features) may include a display unit 26, including, for example, a cathode ray tube or a liquid crystal display; a processing unit 28; the modem 18 for communications with the ISP, and one or more peripheral devices, such as a keyboard 30 and a mouse 32, that can permit the user to interact with the computer. Processing unit 28 may further include central processing unit (CPU) 34, memory 36 and persistent storage device 38.
Typically, a software application may be loaded from persistent storage device 38 into memory 36 so that the software application may be executed by CPU 34. Memory 36 may be any memory device, such as random access memory (RAM), and the persistent storage device 38 may be any device that permanently stores data when the power to the computer is turned off, such as a hard disk drive, a tape drive, an optical drive or the like. In order to communicate with and connect to the ISP, an ISP client application 40 may be stored in the persistent storage device and loaded into the memory 36 so that it may be executed by the CPU. The ISP software application may perform various functions as described below with reference to Figure 2.
ISP server 14 may include modem 20, and CPU 50 that can control the operations of server memory 52. Server memory 52 can include, for example, RAM 53 and persistent storage device 54. As detailed above with respect to persistent storage device 38, persistent storage device 54 can store one or more software applications that may be loaded into memory 52 to be executed by CPU 50. In this example, several software applications are shown already loaded into the memory and can include realm changer 55, impression reporter 56, rewards provider odometer 58, and advertising revenue optimizer 59. Also in this example, server 14 can provide the connectivity for the user to communications network 45, which can, in an embodiment, be the Internet.
Realm changer 55 permits the ISP to change the billing plan being used for the particular user in order to match the user to the appropriate billing plan. For example, many users may select the unlimited time plan and then not be on-line very often so that it is desirable for the ISP to switch that person to a billing by the hour plan which saves money for the ISP. In the event that the user suddenly begins using the account a lot, the ISP can always switch back to the unlimited plan. The system may automatically track the user's usage of the account and suggest that appropriate billing plan changes be made.
Impression reporter 56 permits the ISP to more accurately record advertisement impressions (an impression may be a single user viewing at least a portion of an advertisement) so that the advertisers get a more accurate count of impressions. In accordance with an embodiment of the invention, in addition to the impressions typically tracked, the impression manager can track both advertisement viewings made from advertisements located in the cache of the client application as well as advertisement viewings from a third party's Web site as will be described below with reference to Figure 8.
Rewards provider odometer 58 may track reward points accumulated by the user while using the system and display a rewards odometer on the user interface. In particular, a portion of the rewards provider odometer may be stored and executed by the user computer, but it may send data about the current reward levels to the reward system. The reward system in combination with the rewards odometer may also be used to provide incentives to a user to perform certain actions, such as filling out information used for targeting advertisements to the user for a predetermined number of reward points.
Embodiments of the invention may also include an advertising revenue optimizer module 59 which permits the ISP to maximize its profits from advertisement impressions and advertisement click-throughs by adaptively selecting which advertisement to show to the user. In general, the advertiser may pay the ISP a certain amount for each 1) impression (the user viewing the advertisement) and 2) each click-though when the user clicks on the advertisement to go to the advertised Web site. In particular, advertisements which pay more money per impression or click-through may be shown before advertisements with lower fees. As another example, advertisements that are not often clicked-through are less likely to be shown to the user.
Figure 2 is a block diagram illustrating further details of ISP client application 40 that is part of the user access system shown in Figure 1. Client application 40 can include one or more software modules that implement the various features of the user access system such as the rewards odometer, the advertisement history menu and the impression reporting system. In the example shown, ISP client application 40 may include user interface module 42, rewards provider odometer 44, advertisement history 46 and impression reporter 48. All of the modules may then display graphical representations via user interface module 42.
User interface module 42 displays graphical images that can make up the user interface of the user access system. Rewards odometer 44 permits the user to view his/her accumulated rewards points at any time on the user interface so that the user is encouraged to perform acts and activities which increase those rewards points. The advertisement history 46 generates a history of the advertisements that a user has seen as the user browses through various Web pages while connected to the ISP. The user may then browse back through the displayed advertisements at a later time. The impression reporter 48 permits the user access system to track cache based advertisement viewings and advertisement viewings initiated by third parties. Thus, an advertiser may be more willing to advertise using the user access system since the advertiser will get a more accurate count of the number of advertisement impressions.
Figure 3 a is a diagram illustrating a typical browser software application user interface 50 that incorporates a user interface portion 52 in accordance with an embodiment of the invention and Figure 3b illustrates more details of the user interface portion 52. As shown in Figure 3a, when the user is logged into the user access system, the user interface portion 52 may be displayed on the desktop 50 as a window. The user interface portion 52 may further be easily moved to a different location on the desktop.
Now referring to Figure 3b, the user interface portion 52 may include an interactive advertisement space 60 for displaying various interactive advertisements while the user is logged into the user access system. The advertisements shown in this portion can be displayed to the user in a predetermined order and the advertisements actually shown may be controlled by an advertisement revenue optimization module. In accordance with an embodiment of the invention, advertisements can be displayed for some varying amount of time to the user. In doing so, the advertiser can be charged more money for a longer period of time or less money for a shorter period of time. The advertisements displayed may also include an idle advertisement that is displayed when the user's computer is idle (for example, when there are no keyboard keys pressed or mouse buttons depressed) for some predetermined amount of time. In one embodiment, the idle advertisement may be a less expensive advertisement since it is being shown when the computer is idle.
The user interface may further include a quicklink to e-mail 62, a quicklink to signing up a friend 64, a reward odometer and quicklink 66, a properties portion 68, navigation buttons 70 and an integrated search bar (not shown). In an embodiment, each quicklink can be a button on the client that links a user to specific content. Furthermore, each quicklink can be sold by an ISP to deprive revenue. The integrated search bar can permit the user to enter a search request from the user interface. The client software application can then process the search request (by, for example, accessing the appropriate search engine Web site) and can return search results to the user without the user leaving the user interface. The quicklink to e-mail 62 permits the user to have easy access to the user's e-mail, tasks and appointments software applications through the user interface. The sign up quicklink 64 permits the user to sign up a friend for the access system and receive rewards points. The reward odometer and quicklink 66 permit the user to always view the current reward points and then link to the rewards site to redeem the points. The properties portion 68 permits the user to customize the user interface and the navigation buttons 70 permit the user to navigate through the past advertisements seen by the user. The user may also navigate through the advertisements using an advertisement history menu as will be described in more detail below.
Real-time targeted advertising system
Figure 4 is a screen shot illustrating an example of the operation of the user access system and in particular the real-time targeted advertising system in accordance with an embodiment of the invention. Figure 4 illustrates an example of a typical search engine user window 80 with the user interface 52 in accordance with an embodiment of the invention displayed on top of the search engine window. In accordance with an embodiment of the invention, an advertiser of the user access system may buy the right to display an advertisement when the keyword "coffee" is used. Then, when a user performs a search on the keyword "coffee" (as shown in dialog box 82), the user access system searches an advertisement database on a server of the ISP for advertisements about coffee. The user access system then matches the keyword to the appropriate advertisement, downloads the relevant advertisement, and displays it to the user as the search is being completed. In this example, the user typed in "coffee" and the interactive advertisement space 60 of the user interface 52 displays an advertisement for a coffee Web site.
Figure 5 is a screen shot illustrating another example of the operation of the user access system and in particular the real-time targeted advertising system in accordance with an embodiment of the invention. Figure 5 illustrates a typical Web site page 90 and the user interface 52 overlaid on top of the Web page. In this example, the advertiser may buy the right to display an advertisement whenever someone visits a particular Web site. Then, when an individual visits that site, the advertiser's advertisement is displayed to the user in the interactive advertisement portion 60. In this example, the user is visiting the URL www.autobytel.com (as shown in dialog box 92) and the user interface is displaying a Volvo advertisement in the interactive advertisement portion 60.
Advertisement history
Figure 6 is a flowchart illustrating a method 600 for generating an advertisement history in accordance with an embodiment of the invention. The method begins as the next advertisement in the rotation of advertisements displayed to the user during a user access session is displayed to the user in step 602. In accordance with an embodiment of the invention, a group of advertisements can be displayed to a user during a session wherein each advertisement is displayed for a predetermined time, such as 15 - 30 seconds, so that the user sees more advertisements when compared with the prior art. The duration of the advertisement can be varied and the advertiser may purchase a particular duration advertisement. In step 604, that advertisement is added to the advertisement history. In step 606, the method determines if the advertisement history menu is selected. If the advertisement history menu is not selected, then the method continues to play the current advertisement until it is time to display the next advertisement in step 608. In step 610, the method determines if it is time to display the next advertisement and loops to step 606 if the time to display the next advertisement has not arrived. If the next advertisement is to be displayed, then the method loops back to step 602.  If the advertisement history menu has been selected, then the method displays the advertisement history menu with the titles of the advertisements (with the current advertisement being flagged) in step 612. Next, the method determines if any of the advertisements in the menu are selected in step 614 and either loops to step 608 if no advertisement is selected or goes to step 616 in which the selected advertisement is displayed and the advertisement viewing timer is reset. Then, the method loops back to step 108 until the advertisement viewing time expires.
Figure 7 is a diagram illustrating an example of an advertisement history menu 120 in accordance with the present invention. As shown, the menu permits the advertisements seen by the user during the session to be displayed so that the user may select an advertisement to view. In this example, the current advertisement is "San Jose Local Sports." In the menu list, the San Jose Local Sports advertisement is checked. As described above, the menu permits the user to view any previously displayed advertisement from the session without having to immediately go to the advertisement's site while browsing. Thus, the user may go to the site at the user's convenience. Now, a method for third party impression reporting will be described.
Third party impression reporting
Figure 8 is a diagram illustrating an embodiment of a system 830 for third party impression reporting in accordance with an embodiment of the invention. In addition to the ISP client application 40 and the ISP server 14, the system may also include an advertisement server 832, a first third party reporting server 834 and a second third party reporting server 836. In operation, the advertisement server 832 may download advertisements in the background and the advertisements may be displayed to the user in a rotation. This could occur, for example, in conjunction with the real-time targeted advertising system described above.
The control of the advertisements over control channel 850 can be accomplished with the ISP server 14 and the client application 40 in that the user may request a URL for display and the ISP server 14 may provide the advertisement to ISP client application 40. ISP client application 40 may also generate information about user behavior, including, for example, impression and click through reporting data, which permits the ISP server 14 to report the impression to the proper advertiser who has a third party reporting server. For example. ISP server 14 may report the requested URL to third party reporting server 834 along with the advertisement impression that the ISP server 14 downloaded to the client. In another example, the ISP server 14 may generate a simulated or phony request for an advertisement to third party reporting server 836 in order to accurately reflect impression from viewing advertisements in cache or advertisements from third parties.
Automatic ISP realm change monitoring
An automatic ISP realm change monitoring system can permit an ISP reseller to optimize costs. When users subscribe to unlimited Internet access plans but then use the network on a relatively infrequent basis, it can be more costly for the ISP than if the user had subscribed on timed-usage basis. Each access plan (or "realm") may have different costs associated with it.
Figure 9 depicts an automatic realm change monitoring system in accordance with an embodiment of the invention that can allow an ISP to make an automated determination of what realm a user should be using in order to save money (for both the user and the ISP). For example, Realm A may correspond to an hourly plan, while Realm B may correspond to a monthly plan. In step 3305, the user begins a login process to gain access to the network. In step 3310, an authentication request is sent by the user to the ISP. A realm name can be passed as a parameter as part of the login authentication request from the client machine of the user to the ISP server. In step 3315, the ISP can authenticate the user, in response to the authentication request.
Based on the authentication information provided by the user, the ISP can determine, in step 3317, the realm plans for which the user is currently eligible. The user may be eligible for a monthly plan (MP) that may cost a fixed amount of money per month (e.g., $20 per month). The user may also be eligible for an hourly plan
(HP) that may cost a fixed amount of money per hour of use, for example $4 per hour. From this determination, the ISP can calculate the "break even" usage in step 3320 (i.e., an equivalency value), which can be the usage at which a subscription to a monthly plan is equivalent to that of an hourly plan. Thus, break even usage (BEU) can be calculated as:  BEU = MP / HP
When using the example numbers above, the break even point would be five hours (calculated as: BEU = $20 / $4/hour = 5 hours).
In step 3325, a prediction can be made of the usage for the user that has logged in. In an embodiment, the predicted usage (PU) can be an averaged value based upon the prior usage of the network by the user over a certain period of time, although other heuristics could be used as well. Once PU has been determined, a decision can be made in step 3330 of whether the predicted usage is greater than the break even usage. If PU is greater than BEU, the ISP can inform the dialer in step 3335 to utilize the monthly plan (i.e. Realm B). However, if PU is equal to or less than BEU, the ISP can inform the dialer in step 3340 to utilize the hourly plan (i.e. Realm A).
In an embodiment, a single ISP could provide both Realm A and Realm B for the user. Where only a single ISP is involved, the realm change could simply involve changing a phone number in the automated dialer contained in the ISP software module. However, in an alternate embodiment, Realm A could be provided by one ISP and Realm B could be provided by a different ISP.
Rewards provider odometer
A rewards provider odometer can allow a user to track rewards that a provider may have given to the user. For example, after establishing a user rewards account for a user, a merchant may allow a user to accrue rewards (in the form of points) for visiting the Web site of the merchant, for making purchases directly from the merchant, or for referring other people to the merchant. Further, the user may be allowed to accrue these points over time. Thus, a rewards provider odometer that is displayed to the user can allow the user to track the accumulation and depletion of the rewards account.
Figure 10 illustrates an embodiment of the rewards odometer according to the present invention. In step 3510, a rewards provider timer can be initialized with a value that specifies how often the client software checks the rewards balance. In step 3515, the rewards provider timer can be updated. In step 3520, a determination can be made of whether the rewards provider timer has expired. If the rewards provider timer has not expired, control returns back up to step 3515 where the rewards provider timer can be updated again. If the rewards provider timer has expired, control passes to step 3525 where the client software can poll the server of the rewards provider for updated values for the rewards provider odometer. In step 3530, the rewards provider can report the reward balance of the user. For example, the rewards provider can report the point balance of the user in a system that uses points as the reward measurement. In step 3535, a determination can be made of whether to continue checking the rewards odometer (by transferring control to step 3510), or to exit the rewards provider.
A dvertising reven ue optimization
Figure 11 illustrates an advertising revenue optimizer according to an embodiment of the invention that can be used to prioritize advertisements according to various criteria. For example, an advertiser may pay an ISP a certain amount for each impression and each click-though. In step 3710, an advertisement database can be set up for a particular network access session by a user. This database can, for example, contain the advertisement content, the revenue available for showing each advertisement, and the originator of the advertisement.
In one embodiment of the invention, an adaptive selection process can determine which advertisement to show to the user. Based on a system for scoring and then comparing advertisements from different sources, those advertisements that pay more money per impression or click may be shown before advertisements with lower fees. In step 3720 in Figure 11, the estimated revenue per advertisement impression or click through can be computed. The value determined in step 3720 can then be normalized in step 3730 as the score for a particular advertisement. For example, the estimated revenue per advertisement could be normalized on a scale of one to 100. In an embodiment, the score can be adjusted in step 3740 according to any bonuses, and the score can then be recorded in the advertisement database. In step 3750, all of the advertisements in the database can be played in the order of the scores. Once all of the advertisements have been displayed, a decision can be made in step 3755 of whether to continue playing the advertisements. If so, control passes back to step 3750, otherwise a decision is made in step 3760 of whether to update the ad history. If the ad history is to be updated, control passes to step 3720, otherwise the process terminates.
Real-time targeted advertising method
Figure 12 depicts a process of real-time targeted advertising, according to an embodiment of the invention. In step 5505, a link is established between the ISP client application 40 shown in Figure 2 and the browser software used for navigating the Web. For example, the ISP client application 40 could establish a Dynamic Data Exchange (DDE) link with either the Internet Explorer browser, from Microsoft, or the Netscape Communicator browser, from Netscape, two well known Web browsers. A DDE link, as described in Netscape's DDE Implementation, Version 0x00020000, (available at http://developer.netscape.com/docs/manuals/communicator/DDE/ddeapi.htm), can provide a mechanism by which ISP client application 40 and the browser can exchange information. In alternate embodiments, other techniques, including, for example, network packet capture, can be used to interrogate the user's browser.
In this example, the user can navigate to a particular site by specifying a particular Uniform Resource Locator (URL). In step 5510, ISP client application 40 can receive the URL via the DDE established with the browser. In step 5515, ISP client application 40 can send the URL to the ISP server 14 shown in Figure 1. ISP server 14 can then parse the URL in step 5520, find the desired Web site for the user, and can determine all of the keywords associated with the URL. In step 5525, the ISP server 14 can determine whether any advertisements exist in its advertisement database (i.e. the collection of advertisements which it has stored and available for display) that are targeted to the particular URL or associated keywords. If any advertisements do exist that are targeted, ISP server 14 can send a catalog (i.e. a listing) of URLs that ISP client application 40 can use to download relevant advertisements in step 5535. In step 5540, ISP client application 40 can download the advertisements from the catalog received in the preceding step to an advertisement cache and can then begin displaying one or more of the advertisements. If, on the other hand, the determination is made in step 5525 that there are no advertisements that exist that are targeted to a specific URL or keyword, the ISP server 40 can store the URL in step 5530 to predict the amount of future inventory. In an embodiment, advertisement prediction can be performed by taking either a sample or all of the URLs that have been visited and stored, and, based on that information, predicting how many advertisements could be delivered based on targeting to URL content over a period of time in the future. For example, if a certain automobile brand appeared in 50,000 URLs over the previous three days, then a prediction could be made that the same automobile brand will appear in 500,000 URLs over the next month. This could then justify selling approximately 500,000 advertisements targeted to that automobile brand over the next month. Other prediction factors can include growth in the number of subscribers, and increasing web traffic trends (i.e., more URLs). While the invention has been described in detail, including references to specific embodiments, it will be apparent to one skilled in the art that changes and modifications can be made to the invention without departing from the spirit and scope thereof. For example, in other embodiments a weighted average heuristic could be used to measure the usage of a user. Additionally, although certain functionality in the examples may have been described regarding the client, that same functionality could occur in the server (and vice versa). Furthermore, although particular embodiments have been described in terms of computer programs, the invention could easily be applied to systems utilizing hardware that performs similar functions, such as application specific integrated circuits (ASICs). Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.