# Patent

## Title
Post-session internet advertising system

## Abstract

The present invention is directed to a post-session advertising system that may be used in media such as computers, personal digital assistants, telephones, televisions, radios, and similar devices. In one preferred embodiment, a first display is viewed in a first platform in the foreground of a media by a viewer. A viewer initiates a load triggering event and in response, a post-session platform is opened to display a post-session display in the background of the media. Significantly, in the preferred embodiment, the post-session platform stays in said background until a view triggering event occurs. The type of platform and display used will depend significantly on the media. In one preferred embodiment of the present invention an optional focus timer is activated by the view triggering event to allow an accurate assessment of the actual time a viewer focuses on the display in the post-session platform. In another alternate preferred embodiment of the present invention, the number of post-session platforms is limited to, for example, one platform.

## Background
The present application is based on and claims priority from provisional application Ser. No. 60/207,698, filed May 26, 2000.


BACKGROUND OF THE INVENTION
The post-session Internet advertising system of the present invention is a system and method for delivering displays to viewers browsing displays with platforms, for exchanging traffic between platforms, and for accurately tracking focus time on display content.
Web pages can be created using Hypertext Mark-up Language (“HTML”) and Extensible Mark-up Language (“XML”). HTML is a text-based set of instructions (known as “tags”) that describe the layout of elements on a Web page. HTML can also be used to create “links” (generally, a highlighted word, phrase or graphic image that points to a target such as another Web page) on the World Wide Web. XML consists of a set of tags that abstractly describe data, which can be translated into HTML using standard tools. In addition, a Web page can be divided into subpages (using Frames, an HTML extension). A frameset is the set of subpages that together comprise a Web page. (For example, a Web page may be divided horizontally creating a frameset of two subpages comprising the top and bottom half of the Web page). In addition to its use in creating Web pages, HTML and XML can be used to create advertising for the Internet. The developer or maintainer of a Web site can insert HTML or XML code in their Web pages so that when potential customers view the Web page an advertisement and a link to another Web site is displayed.
Web pages and Internet advertising may be enhanced by small programs written in the Java language that are built into a Web page to perform a specific function (such as displaying an animation), often referred to as “applets.” In addition, scripting languages such as JavaScript or VBScript are used to enhance the capabilities of Web pages by performing functions that are beyond the scope of HTML and XML, such as popping up special windows in response to mouse clicks. Scripting languages include an event driven model responsive to changes in a client's state and an Application Programmer's Interface for defining custom behaviors to be followed in response to such “events.”
Another technique often used by Web site developers and Internet advertisers is to place a text file on the hard disc of a client when the user visits a Web site. These text files, referred to as “cookies,” are retrieved and read on subsequent visits that a user makes to the Web site. Cookies can be used to track the behavior of site visitors.
The economic potential of the Internet is enormous, but the medium is still in its early stages of development. Revenue is directly proportional to the volume of qualified potential customers (“traffic”) that reach and view a commercial Web site. Each visit (often referred to as a “hit”) to a commercial Web site has economic value. Thus, the primary goal of Internet marketing is generating traffic. A secondary goal is to get potential customers to make purchases or otherwise use a commercial Web site (i.e., “capture traffic”). Traffic is more difficult to generate than it is to capture. Further, investment made to generate traffic produces a greater economic return than investment made to capture traffic. A company can a spend a lot of money on effective Web site design so that potential customers will have a rewarding experience and thus a higher inclination to make a purchase once the customer has reached the Web site. But investment in Web site design is wasted unless the site is actually visited. A third goal is “branding,” or increasing consumer awareness or recognition of a brand.
In order to meet these goals, most Internet businesses use interrupting advertisements such as pop-up windows, or space consuming advertisements (or “real estate” consuming advertisements) such as banner advertisements, link exchanges, and banner exchanges. Other Internet businesses use alternative advertising methods such as bulk e-mail. Although interrupting advertisements guarantee that a user will see the advertisement for at least a split second, if only to locate the icon used to close the window, these interrupting advertisements are particularly offensive to potential customers because they force the user's attention to be diverted. Most users simply close the window of an interrupting advertisement. Space consuming advertisements, on the other hand, are so pervasive that they have become “white noise.” Usually, a viewer focuses his attention on the information he needs from the Web page and ignores the space consuming advertisement. Alternative advertising methods are similarly problematic.
With pop-up window advertising, a separate window of a Web browser is displayed “on top” or “in front” of the Web page being viewed. The advertisement, which may be larger, smaller, or the same size as a banner advertisement, is displayed in the new browser window. Pop-up window advertising has the advantage (for the Web site designer) of displaying an advertisement without having to change the layout of the Web page displaying the advertisement. But potential customers commonly consider the pop-up aspect disruptive and annoying.
Banner advertising, a space consuming advertising method, is currently the primary method of advertising on the World Wide Web. Banner advertising relies on HTML and some of the techniques used to create a Web site. Site maintainers insert HTML code in their Web pages that causes a small advertisement (approximately 0.5′′×2′′ on the average screen) to appear in a frame on the Web page, i.e., a “banner advertisement.” The HTML code also contains a link to another site. In short, when potential customers view a Web site with banner creating HTML code, a banner advertisement and link are displayed on the Web page. The more traffic a Web sites has, the more it can charge for displaying banner advertisements. The reason is that a banner advertisement placed on a high volume site generates a lot of traffic for the advertised Web site. In theory, this is advantageous for both parties. But market research shows that as use of the Internet becomes widespread, banner advertisements are becoming less effective. The average potential customer is becoming jaded because banner advertisements appear on almost every Web site. A measure of the effectiveness of Internet marketing is the CTR, or click-through ratio. CTR is the ratio of the number of times an advertisement is exposed to the number of hits generated by the advertisement when viewers “click through” to the advertised site. The trend is that CTRs for banner advertisements are dropping.
Link exchanges are another space consuming advertising method for generating Web traffic. A link exchange is an arrangement whereby a first Web site puts a link on its site to a second Web site. In exchange, the second Web site places a link on its site to the first Web site. In addition to exchanging links, a fee may be paid by one site to the other. Each link to the other site is generally placed in a prominent place on the referring Web site. Effectively, a link exchange is a mechanism for sharing traffic between two Web sites. Alternatively, links may not be exchanged. Instead, a first Web site pays a second Web site to put a link to it on the second Web site. Link exchange advertising has the advantage of lower cost than other advertising methods. In fact, a link exchange may be free. In addition, any consideration paid for a link exchange or link placement is generally much lower than that for banner advertisements. A drawback of link exchanges is that their effectiveness varies. The effectiveness depends on where the link is placed, whether there is an image associated with it (thus blurring the line between a link exchange and a banner advertisement), and how much traffic each site receives from other forms of marketing. Market research shows that CTRs on link exchanges are consistently lower than CTRs for banner advertising.
Banner exchanges are a hybrid of banner advertising and link exchanges. A Web site joins a Web site syndicate and adds special banner advertisement HTML code to its Web site. The special HTML code causes a banner advertisement for and a link to a syndicate member Web site to be displayed. Typically, the banner advertisement varies so that an advertisement for each syndicate member is alternately displayed. A syndicate may be joined for free or for a nominal fee. In exchange for displaying banner advertisements, banner advertisements for the member's Web site are displayed on the Web sites of other members. In addition, the company managing the exchange syndicate will usually have paid advertisers as members. Fees paid by such advertisers represent a source of revenue for the company managing the exchange syndicate. A limitation of banner exchanges is that they are still fundamentally banner advertisements and as such are experiencing the same declining CTRs as conventional banner advertisements.
Bulk e-mail is an alternative advertising method that has a reasonable return on investment but potential customers generally regard it unfavorably. If the bulk e-mail message is read, it may effectively generate traffic. But it is far more likely that the potential customer immediately identifies the message as a “UBE” (unsolicited bulk e-mail), sends complaints to the sender and to their connection provider, and deletes the message unopened and unread.
Two events that are important to understanding the experience of a viewer browsing the Web are the “focus” and “blur” events. Typically, a viewer accesses the Internet using a platform, such as a Web browser, on media, such as a computer. For example, a viewer accessing the Internet using the Internet Explorerm Web browser as a platform on media consisting of a computer running the WindowsTM operating system observes the platform as appearing in a window. Focus and blur describe states of a window. A focus event occurs if a window is selected so that it may currently receive input from a viewer. A blur event occurs if focus is removed from a window. While it is possible to simultaneously have multiple windows open, only one window may have focus at any time. If a window is in the focus state, it always fully visible (i.e., it appears “on top” of other open windows) and is sometimes referred to as the “active” window. Windows that are in the blur state are said to be in the “background” and are at least partially obscured by the window in the focus state. A viewer “clicks on” or otherwise selects a window to create a focus event. Alternatively, a computer program may cause a focus event. A focus event may also be referred to as a “view triggering event.”
With known Web marketing techniques there is no way of knowing if an advertisement has been seen by the potential customer. A banner advertisement, pop up window, or other Internet advertisement may appear at length in an active window and be fully visible, or may appear only momentarily in an active window and be at least partially obscured for most of the period it is displayed. The time an advertisement is displayed in an active window is called “focus time.” Known techniques do not verify the focus time of an advertisement that has been delivered to a potential customer.
BRIEF SUMMARY OF THE INVENTION
The post-session Internet advertising system of the present invention is a system and method for delivering displays to viewers browsing displays with platforms, for exchanging traffic between platforms, and for accurately tracking focus time on display content. This method of content delivery overcomes many of the inherent limitations of known Internet based advertising methods.
The present invention is directed to a post-session advertising system that may be used in media such as computers, personal digital assistants, telephones, televisions, radios, and similar devices. In one preferred embodiment, a first display is viewed in a first platform in the foreground of a media by a viewer. Then, a load triggering event is initiated by the viewer. Next, in response to the load triggering event, a post-session platform is opened to display a post-session display in the background of the media. Significantly, in the preferred embodiment, the post-session platform stays in the background until a view triggering event occurs. The type of platform and display used will depend significantly on the media.
In one preferred embodiment of the present invention an optional focus timer is activated by the view triggering event to allow an accurate assessment of the actual time a viewer focuses on the display in the post-session platform.
In another alternate preferred embodiment of the present invention, the number of post-session platforms is limited to, for example, one platform. Multiple load triggering events would either be ignored or would cause the display to refresh (or change) in the already loaded post-session platform.
The computer and the Internet are exemplary media that might be used in the present invention. In this exemplary embodiment, Web browsers are the platforms. Further, in this exemplary embodiment, Web sites and advertisements are exemplary display content. More specifically, while a participating Web site (display content) is being visited by a viewer using a first Web browser (platform), a second or post-session Web browser (platform) loads with a second or post-session advertisement (display content) upon a first or load triggering event such as exiting the specific Web page. The post-session Web browser does not disrupt the viewer's browsing experience in his first Web browser. Instead, a second or view triggering event, such as closing the first Web browser, allows the post-session Web browser (and the advertisement thereon) to be viewable by the viewer. The present invention may also monitor the period of time that the advertisement appears in the now active post-session Web browser and provides statistical information to advertisers.
The foregoing and other objectives, features, and advantages of the invention will be more readily understood upon consideration of the following detailed description of the invention, taken in conjunction with the accompanying drawings.



BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING
FIG. 1 is a block diagram of an exemplary embodiment of a client, a Web server, media, and at least one viewer, platforms and displays of the post-session Internet advertising system of the present invention.
FIG. 2 is a flow diagram showing the sequence of steps that a viewer observes or initiates in the process of delivering a display in an exemplary embodiment of the post-session Internet advertising system of the present invention.
FIGS. 3A, 3B, and 3C are block diagrams of an exemplary embodiment of a Web server, a client, media, and a count daemon of the present invention showing a load triggering event, a view triggering event, and data flow of the post-session Internet advertising system of the present invention.
FIG. 4 is a flow diagram of the script handler of an exemplary preferred embodiment the post-session Internet advertising system of the present invention.
FIG. 5 is a flow diagram of the event handler of an exemplary preferred embodiment the post-session Internet advertising system of the present invention.
FIG. 6 is a block diagram showing data flow of an exemplary preferred embodiment of a focus handler, media, and the count daemon of the post-session Internet advertising system of the present invention.
FIG. 7 is a block diagram showing the data path to and the thread components and data path within the count daemon of an exemplary preferred embodiment the post-session Internet advertising system of the present invention.
FIG. 8 is flow diagram of the process of the post-session Internet advertising system of the present invention.
FIG. 9 shows an exemplary screen view of a frameset displaying branding information in an upper frame and client advertising content in a lower frame in one preferred embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
The post-session Internet advertising system of the present invention is a system and method for delivering displays to viewers browsing displays with platforms, for exchanging traffic between platforms, and for accurately tracking focus time on display content. As shown in FIGS. 1 and 2, a client 20 interacts with a Web server 22 to deliver, upon the occurrence of a “load triggering event,” a post-session platform 24 to a viewer's 26 media 28 so that the viewer 26 may view the client's 20 post-session display 30 after the viewer 26 has exited (or another “view triggering event” has occurred) a foreground platform 32. Specifically, when the viewer 26 who is viewing a first or foreground display 34 in a first or foreground platform 74 exits a client's foreground platform 32 (or another load triggering event occurs 76), a post-session platform 24 is opened and is immediately sent to the background 78. Because it is in the background, the post-session platform 24 does not disrupt the viewer's 26 browsing experience. When the viewer 26 closes the foreground platform 32 (either the original or a subsequent platform 32) or another view triggering event occurs 80, the post-session platform 24 comes to the foreground 82. Finally, in one preferred embodiment, the amount of time the post-session platform 24 spends in the foreground may be monitored.
Throughout this specification terminology will be used to describe the present invention. The following definitions and examples of the terminology are not meant to exclude broader concepts, unspecified examples, or undeveloped technology that would logically fall within the scope of the invention. Viewers 26, for example, may be potential voters viewing a television program or potential customers browsing the Internet on a computer. The term “viewer” is also used to describe a telephone user, a radio listener, or any media user. Clients 20 are entities that want to advertise or direct traffic such as commercial enterprises, political, governmental, non-profit, or charitable organizations, individuals, hobbyists, or any other person or entity that wants to advertise or direct traffic. The Web server 22, as will be described in detail below, substantially controls or directs the system of the present invention. Media 28 may be any communication device, including but not limited to computers, personal digital assistants, telephones, televisions, radios, and similar devices. Platforms 24, 32 are means through which a viewer accesses a display to the exclusion of other displays. A platform may allow the viewer to play, show, enable, perform, transmit, update, or record the selected display. Platforms 24, 32 may include, for example, Web browsers, browser windows, media channels, media stations, media frequencies, audio connections, streaming media, content delivery applications, media viewing or interacting technology, and similar means. A foreground platform 32 is a platform that can be primarily sensed by a viewer 26. A post-session platform 24 is a platform that begins its life in the background and that can be fully sensed by a viewer 26 only after it has been brought to the foreground. Displays 30, 34 have content that a viewer 26 sees, hears, or otherwise senses within or from a platform 24, 32. Displays 30, 34 may include, for example, Internet content (such as streaming video, Web sites, Web pages), video broadcast content (such as television programs, movies, videos, commercials, and infomercials), audio broadcast content (such as radio programs, commercials, and sound recordings or such as commercials or sound recordings played over a telephone connection), and any other content capable of being transmitted over media.
As mentioned above, FIG. 2 is a flow diagram showing the sequence of events from the viewer's 26 perspective. The viewer 26 first views 74 a first or foreground display 34 in a first or foreground platform 32 of media 28. The viewer 26 then initiates 76 a load triggering event. This event causes the opening 78 of a second or post-session platform 24 in the background of the media 28. The post-session platform 24 remains in the background until the viewer 26 initiates 80 a view triggering event. The viewer 26 then views 82 the post-session display 30 in the post-session platform 24.
FIGS. 3A-3C show an exemplary system of the present invention with data flow between elements of the system. It should be noted that the functions shown in the Web server 22 element may be implemented by the Web server 22 alone (as shown), by a combination of the Web server 22 and the client 20, or by the client 20 alone. It should also be noted that the media 28 is shown as providing the foreground platform 32, the post-session platform 24 while it is in the background, and the post-session platform 24 while it is in the foreground. Exemplary individual elements of the system are detailed in separate figures. Specifically, FIG. 4 details an exemplary script handler 42, FIG. 5 details an exemplary event handler 44, FIG. 6 details an exemplary focus handler 46 and the timer applications, and FIG. 7 details an exemplary count daemon 48.
FIG. 8 is a flow diagram showing the sequence of steps in the process of delivering display content in the embodiment of the present invention shown in FIGS. 3A-3C. In the first step, a client 20 adds post-session instructions to its display 50. A viewer 26 requests a foreground display 52 from a first or foreground platform with post-session instructions embedded (or otherwise linked) therein. After the foreground display 34 loads, the post-session instructions cause a post-session procedure 43a to be requested 54 and, in turn, the script handler 42 returns a post-session procedure 43b, 56. At some point the viewer 26 initiates a load triggering event 58. This load triggering event causes a post-session platform to open 60 in the background (physically behind or otherwise hidden from the viewer) and also causes the post-session platform to request a post-session display 62. In one alternative embodiment, the post-session platform 24 that opens is of a type different from the foreground platform 32. The event handIer 44 receives the request for a link 45a, 62 and returns a link to post-session display 45b, 64. In an alternative preferred embodiment, the client 20 includes an event handIer 44 that receives request 62 and returns a post-session display 64 into a secondary post-session platform. Optionally, the event handler 22 returns a focus timer process 45c, 66. The post-session platform 24 and display 30 remain in the background until the viewer 26 initiates a view triggering event 68. The viewer 26 views the post-session display in the post-session platform 69. After the viewer 26 is done viewing the post-session display 30, the viewer 26 exits the post-session display 70. Optionally, when the viewer 26 exits the post-session display, time data 47 may be returned to the focus handIer 72. A count daemon 48 (which may be housed in the Web server or in a secondary server 84) optionally may monitor and/or analyze statistical data. It should be noted that the script handIer 42, event handIer 44, and focus handler 46 may be processes implemented by the Web server 22 as shown or may be processes implemented by a plurality of servers or may be multiplied or divided into any number of processes.
Applying the basic flow shown in FIGS. 3A-3C and 8 to an exemplary embodiment of a Web surfer viewer surfing the Internet, a commercial client 20 adds post-session instructions (HTML code) to its Web page display 50. A surfer 26 requests the client's Web page 52 with the post-session instructions (HTML code) embedded therein. After the foreground Web page 34 loads, the post-session instructions (HTML code) cause a script code 54 to be requested and, in turn, the Web server 22 returns a script code 56. At some point the surfer 26 initiates a load triggering event 58, usually by exiting the initially viewed client's Web page. This load triggering event causes a post-session browser to open 60 behind the foreground browser and also causes the post-session browser to request a post-session display 62. The Web server 22 receives request 62 and returns a link or address to a post-session display 64. Optionally, the Web server 22 also returns a focus timer 66. The post-session browser 24 and display 30 remain in the background until the surfer 26 initiates a view triggering event 68 such as exiting the foreground browser 32. The surfer 26 views the post-session display in the post-session browser 69. After the surfer 26 is done viewing the post-session display 30, the surfer 26 exits the post-session display 70 and time data is optionally returned to the Web server 72.
Detailed Chronological Description
The following paragraphs provide exemplary details of one exemplary method by which the present invention may be implemented. Alternate methods could be developed by those skilled in the art to implement the basic concepts of the present invention. These details will be addressed in substantially the same order in which they were discussed in relation to FIGS. 3A-3C and 8.
First, it should be noted that the present invention may be implemented on the World Wide Web service on the Internet or other analogous network service in an alternate network environment (e.g. a telephone network or a television network). The term Web server 22 is meant to be broadly construed to be applicable to alternate network environments. Details of opening and maintaining a network connection, selecting the appropriate actions for various uniform resource indicators, content negotiation, and transaction logging handled by the existing Web server system, however, are meant to be exemplary as such protocols may or may not be necessary in alternate network environments.
As shown in FIGS. 3A-3C., the functions of the Web server 22 may be divided into the three Web services: the script handler 42 (FIG. 4), the event handler 44 (FIG. 5), and the focus handler 46. These services may be implemented as separate processes by a Web server (as shown), as a single process, or as any number of processes on any number of servers. These services may also be implemented by the client's system or on the viewer's media. These services are similar in some functions, but there are differences in which portion of a single transaction each service handles. For example, each service can read its state from the information and cookies present in the HTTP connection headers. Each service can retrieve account information from a relational database about the requesting client 20. Each service may transmit statistical packets to a caching statistical collation module, referred to as the “count daemon” 48 (detailed in FIG. 7), and then may deliver an appropriate response to the post-session Web browser. The response can also optionally include state and status information about the post-session Web browser in the form of cookies. These services will be discussed individually in the order they appear in the system as shown and described in FIGS. 3A-3C and 8.
Adding Post Session Code. In order to activate the method of the present invention, a client 20 obtains post-session instructions from a Web Server 22 and adds them to its display 34. In one exemplary preferred embodiment, the post-session instructions are post-session HTML code that a client 20 adds to its Web pages. In an alternative preferred embodiment, the post-session instructions are post-session XML code that a client 20 adds to its Web pages.
Viewer Opens a Platform. A viewer 26 opens a client's 20 display 34 with a foreground platform 32. In one preferred embodiment, a viewer 26 opens a client's 20 Web page with a Web browser.
Script Code Delivery. As shown in FIG. 3A, when a viewer 26 opens a client's 20 display 34 with a foreground platform 32, the post-session instructions that the client 20 added to its display 34 cause the foreground platform 32 to download 43a, 43b a post-session procedure from the Web server 22. In one exemplary preferred embodiment the post-session procedure downloaded from the Web server 22 to the platform 32 is script code. In one preferred embodiment, the client's account number is encoded directly into foreground platform's 32 request for a post-session procedure so that proper credit is given to the client 20 for bringing in traffic to the system of the present invention, for verification, and/or for determining the appropriate category of advertisement to return.
Script Handler. In the exemplary preferred embodiment shown in FIGS. 3A and 4, when a viewer requests a display 34 to which post-session HTML code has been added, a request for a post-session procedure 43a is sent to the script handler 42. The time at which the request for the post-session procedure is made is preferably recorded, noted, and/or stored. In addition, the script handler 42 may verify that the account number present in the requesting link is valid. The script handler 42 then returns a post-session procedure 43b to the platform 32.
As illustrated in the exemplary embodiment of FIG. 4, the script handler 42 may parse each request and assemble statistics packets for transmission to the count daemon 48. If a viewer subsequently requests a second client Web page, a second request for script code is sent to the script handler 42. Using the time data that has been recorded, noted, and/or stored, the length of time that has elapsed between the initial and subsequent requests is determined. The script handler 42 determines if the elapsed time is longer or shorter than a specified time period (“time window”). If the elapsed time is shorter than the time window, script code specifying that no operations are to be performed is returned (blank script). If the elapsed time is longer than the time window, normal script code is returned. Finally, a response is assembled and returned to the viewer's foreground platform 32.
The reason for determining whether a second request for script code is made within a time window is to provide the viewer with a reasonable opportunity to view a display before replacing it with a new display. If a viewer requests a second Web page to which the same client's (or, in an alternate embodiment, any client's) post-session HTML code has been added, a load triggering event occurs. If this load triggering event occurs within the time window, a request for script code will result in blank script code being returned. In other words, the viewer is not sent a second display. On the other hand, if this load triggering event occurs after the time window, the viewer will be sent a second display to replace the first unseen display.
It should be noted that, although an optional feature of the present invention, this process of replacing unseen displays can be very strategic. Viewers tend to dislike being flooded with displays such as advertising. Where a single display causes the viewer to examine its content, multiple displays tend to aggravate the viewer. Accordingly, although the scope of the invention clearly includes opening multiple platforms with multiple displays, the preferred embodiment is to allow only a single post-session platform.
It should also be noted that the “time window” could be replaced by a “hit counter” in which the replacement is not done for a certain number of hits. Alternately, there could be a ranking system in which clients/displays with higher rankings (perhaps paying versus unpaying clients/displays) cannot be replaced by clients/displays with lower rankings. These alternatives are meant to be exemplary and not to limit the scope of the invention.
Load Triggering Event. At some point while viewing the display 34, the viewer activates a load triggering event. Load triggering events may include, for example, the viewer leaving or exiting the specific display 34 or the viewer closing the foreground platform 32. Exemplary alternative load triggering events may include clicking on an off-site link or entering a new address in a dialogue box, time delay, load, unload, click, resize, submit, focus, blur, drag, key press (including a mouse button key), select, change (contents of a form field), refresh, open, close, redirect, enter, exit, move, minimize, maximize, end of program, beginning of program, beginning of session, end of session, “switching services,” or change of service. These load triggering events are meant to be exemplary.
Additional Load Triggering Events. In one exemplary preferred embodiment, if a first load triggering event is followed by a second load triggering event, a second post-session platform 24 is opened and sent to the background. In an alternative preferred embodiment, a second post-session platform is not opened. In an additional preferred embodiment, if a first load triggering event is followed by a second load triggering event, a second post-session window is opened only if the time period between load triggering events is longer than a predetermined time period.
Post-Session Procedure. The post-session procedure consists of a set of actions to be taken in response to the load triggering event. The post-session procedure causes no immediate visible change to the foreground display 34, but when the load triggering event occurs, a new platform (post-session platform 24) opens and is immediately sent to the background. The post-session platform 24 may be a full sized window or any other sized window.
Event Handler. As shown in FIGS. 3B and 5, the event handler 44 is invoked by a request for a display link 45a by the newly opened post-session Web browser. The event handler 44 chooses and delivers a link to a client's Web site 45b. In one preferred embodiment, the event handler delivers a link to an HTML frameset. There is no requirement, however, that the post-session browser link to HTML code. In alternative preferred embodiments, the post-session browser links to any form of network content including sound, animation, streaming video, or any other form of rich media. In one preferred embodiment, the event handler 44 delivers links to automatically load the focus timer 45c. As shown in FIG. 5, the event handler 44 parses a request and assembles statistics packets which it then transmits to the count daemon 48. A response is assembled and returned to the platform 24.
The post-session procedure downloaded from the Web server 22 to the platform 32 may be written in any supported scripting language, such as JavaScript or VBscript. In an exemplary preferred embodiment, the post-session procedure is an advertising session consisting of opening a post-session platform 24, linking to the Web server 22, sending the post-session platform 24 to the background (or conversely, bringing the viewer's platform to the foreground), and optionally loading a process used for tracking focus time. In other words, one preferred embodiment of the present invention uses the load triggering event to trigger an advertising session.
Post-Session Platform. As shown in FIGS. 3B and 3C, the post-session platform 24 requests from the Web server 22 the address of display 30. In one preferred embodiment, the address of display 30 is the client 20. In alternative embodiments, the address may be, for example, other clients or the Web server. When display 30 is returned, the post-session platform 24 displays display 30. In one preferred embodiment, display 30 is advertising content for a client 20. In an alternative preferred embodiment, display 30 is a Web site or Web page of a client 20. In one preferred embodiment, as shown in FIG. 9, the post-session platform 24 shows the display 30 in a frameset with branding information of the Web server 22 in one frame and client advertising content in another frame.
In one preferred embodiment, the post-session platform 24 is a default browser window of the same type as the current foreground platform 32. One alternate embodiment could have a specific viewer-specified default platform. Another alternate embodiment could use a default platform predetermined by the client 20, Web server 22, or the specific type of display.
View Triggering Event. At some point after viewing the display 34, the viewer activates a view triggering event. View triggering events may include, for example, the viewer closing the foreground platform 32, the viewer selecting the post-session platform 24 from the task bar at the bottom of a media screen or an alternative menu structure, or the viewer minimizing or moving the foreground platform 32. Exemplary view triggering events could include clicking on an off-site link or entering a new address in a dialogue box, load, unload, click, resize, submit, focus, blur, drag, key press (including a mouse button key), select, change (contents of a field), refresh, open, close, redirect, enter, exit, maximize, end of program, beginning of program, beginning of session, end of session, “switching services,” or change of service. Still other view triggering events may be time controlled. These view triggering events are meant to be exemplary.
It should be recognized from the exemplary view triggering events set out in the preceding paragraph that one feature of a view triggering event is that it is preferably viewer driven. While a view triggering event is initiated by viewer action, a time delay may also be an aspect of a view triggering event. For example, a viewer may initiate a view triggering event by clicking an off-site link, but the set of actions to be taken in response to the view triggering event may not occur for a pre-determined time period. In other words, the view triggering event may be time delayed.
Post-Session Timer. As shown in FIGS. 3B and 6, in one preferred embodiment, the post-session procedure optionally includes the loading of a process used for tracking focus time. When the display 30 on the post-session platform 24 changes or the platform 24 is closed, the focus timer process returns time data to the Web server 22 or secondary server 84. The duration of time that the post-session platform spends in the foreground, and thus being viewed, is tracked. In the embodiment shown in FIGS. 3B, 3C, and 6, a focus timer is optionally delivered to a post-session Web browser by the event handler 44 and time data 47 is optionally returned to a focus handler 46. In an alternative preferred embodiment, the focus timer is incorporated into a post-session platform (the focus timer being implemented as a Java applet embedded in the frameset). The focus timer is linked to the post-session Web browser and monitors the activation of focus and blur events, signifying that the post-session Web browser has been brought to the foreground, sent to the background, or closed. In one preferred embodiment, the focus timer is incorporated into the post-session Web browser. It should be noted that while the focus timer process may only track the time period between when a post-session platform is brought to the foreground to when the post-session platform is closed, it may track time periods pertaining to other events relevant to a client. In one preferred embodiment, the focus timer process may track the length of the time the post-session platform is in the foreground although a viewer may bring a post-session platform to the foreground and return it to the background multiple times before the viewer ultimately closes the platform. In another alternative embodiment, the focus timer process tracks the length of time the post-session browser spends in the background.
Focus Handler. As shown in FIGS. 3C and 6, the focus handler 46 receives time data 47 from the focus timer and transmits statistical packets to the count daemon 48 to track the focus time for a display 30 displayed in a post-session platform 24. In an exemplary shown embodiment, the focus handler 46 performs only minimal data lookup and returns a response to the focus timer that indicates that no content body follows.
Count Daemon. As shown in FIGS. 3C and 7, the count daemon 48 receives statistics packets from the script handler 42, the event handler 44, and the focus handler 46 and collates statistical data. This reduces the load on the relational database. In an exemplary preferred embodiment, the count daemon 48 is implemented with three simultaneously operating processes, or “threads”: the listener, parse and cache threads.
As shown in FIG. 7, the listener thread accepts packets from the network and inserts them into a queue. In one preferred embodiment, a plurality of listener threads each listen at a separate network address so that statistics for a plurality of services can be simultaneously collated by a single count daemon 48. The parse thread reads and analyzes the packets in the queue. In one preferred embodiment, the parse thread uses standard reference libraries for the parsing of XML. This advantageously reduces the complexity of processing. The cache thread reads and performs maintenance on the parsed packets as described below.
As will be recognized by one skilled in the art, a parsed statistical packet represents all of the different pieces of information included in a single page load on a Web server. A single hit can have the effect of causing in excess of 40 individual values in the relational database to incremented. With daily hit quantities in the millions, directly updating a relational database would quickly overwhelm the capacity of the database storage media. In one preferred embodiment, the cache thread is implemented as follows: First, the cache data structures are abstracted to appear programmatically as simple data structures; second, each cache is configured with a maximum number of elements; third, when a cache member is requested that is not within the cache's current dataset, a request is made transparently to the database for the data corresponding to the specified key; fourth, if this action would cause the cache to have too many elements, the least recently used element is flushed (i.e., any changes are committed to the database) and deleted; and fifth, changed data items throughout the entire cache are periodically flushed. This embodiment is particularly advantageous where efficient use of the database storage media is desired.
The rationale for using this kind of caching scheme is based on the proportional distribution of hits per day. For example, a “busy” client Web site may receive 432,000 hits/day or 5 hits/second; an “average” client Web site may receive 86,400 hits/day, or 1 hit/second; and a “slow” client Web site may receive 2,880 hits/day or 0.033 hits/second. If the Web server of the present invention receives a 10 hits/second as a result of viewers accessing client Web sites, the distribution of hits received attributable to the busy, average, and slow Web sites is 50%, 10%, and 3.33%, respectively. If data is cached and flushed at a rate of 1 flush per minute instead updating of the database each time a hit is received, then the database load and network traffic are reduced by a factor of 600, 120, and 2 for the busy, moderate, and slow Web sites, respectively.
Post-Session Database. In one preferred embodiment, the present invention includes a relational database for storing member account information and statistical data on focus time.
Alternative Media
FIGS. 4 to 7, and 9 show one exemplary preferred embodiment of the present invention that uses computers and the Web. This exemplary preferred embodiment is explained in greater detail above.
The present invention is well suited to alternative media such as a telephone. For example, a viewer 26 may request a display 34 from a client 20 airline using as media 28 the viewer's telephone. The display 34 consists of the audio communication interface (which may be an actual person or an automated voice response unit) provided by the client 20 airline and the foreground platform 32 consists of a telephone circuit. In this example, the viewer's 26 request for an audio communication interface (e.g., dialing) from the client 20 airline is a load triggering event that causes a post-session procedure to be delivered to media 28 (e.g., the viewer's telephone). When the view triggering event (e.g., hanging up the phone) occurs, the audio communication advertisement is brought to the foreground (e.g., an automatic call back feature) and played. In this example, the post-session procedure requests a post-session platform (a second telephone circuit) which in turn requests a display 30. In this example, display 30 might be an audio communication advertisement provided by a client 20 rental car company or an audio communication advertisement provided by a client 20 lodging provider. The post-session second telephone circuit is sent to the background and does not disrupt the viewer's 26 perception of the audio communication interface 32. It should be noted that the telephone media might not actually be sent to the background, but could wait to run in the background until the view triggering event occurs.
Another alternative media is television. For example, a viewer 26 requests a display 34 from a client 20 television broadcaster using television as media 28. The display 34 consists of broadcast content, such as a television program and the foreground platform 32 consists of a television channel. In this example, the viewer's 26 request for display 34 (e.g., television program) is a load triggering event that causes a post-session procedure to be delivered to media 28 (e.g., the interactive television). A view triggering event occurs when the viewer changes the display 34 (e.g., broadcast context), and as a result a post-session platform 24 (e.g., television channel) is brought to the foreground. (It should be noted that the post-session procedure, in this example, causes the post-session platform to be opened upon and sent to the background upon a load triggering event.) In this example, post-session display 30 may consist of an advertisement that is presented within the post-session platform 24.
ALTERNATIVE EMBODIMENTS
Although the present invention has been discussed in terms of the Internet, alternative media is also contemplated within the scope of the invention. For example, as shown in the exemplary embodiments discussed above, interactive television and wireless communication devices would be ideally suited to the method described in this disclosure. Further, although the terms “Web server,” “Web site,” and “Web page,” are used throughout this disclosure, they are used in the generic sense and are not meant to exclude their equivalent as associated with intranets, LANs, WANS, or alternate media.
Alternative embodiments could be developed in which the order of the operations is changed. For example, the function of the script handler 42 may be carried out after the load triggering event. Another example would be one in which the function of the event handler 44 is carried out after the view triggering event. Yet another example would be combining the functions of the script and event handlers so that the post-session platform is opened and sent to the background by the “script handler” prior to the load triggering event. Still another example is one in which the entire system is delayed for a significant period so that the post-session platform and display 24, 30 do not become visible for a predetermined time, a predetermined number of view triggering events, or a specific type of triggering event. The invention could also be implemented by having the post-session platform and display 24, 30 come to the foreground after a predetermined period of time (for example, thirty minutes or two hours), a predetermined number of view triggering events, or a specific type of triggering event.
Although the present invention has been discussed as a sequence of steps as shown in FIG. 8, it is contemplated that the functions of the shown steps could be combined into a smaller number of steps or could be expanded to include additional steps and sub-steps. In one preferred embodiment, the functions of opening and sending to the background a post-session platform and display may be performed in a single step.
It should be noted that although FIG. 1 shows a single client 20, it should be noted that an alternative preferred embodiment contemplates multiple clients. For example, the present invention may be used with a collection of independent Web sites related by a common theme (e.g. Web sites featuring Thai cooking, a Thai restaurant, travel to Thailand, the Thai language, the Thai religion, and Thailand). The present invention may also be used with a network of related sites. For example, a commercial enterprise with several lines of business may have a Web site for each line of business, such as food products, cooking supplies, a travel agency, and a book seller. These commonly owned Web sites featuring different topics could jointly use the present invention.
It should be noted that in one preferred embodiment, a client 20 registers to use the system by accessing a Web server 22. A client 20 registering to use the present invention provides the Web server 22 with information such as client name, company name, address, e-mail address, telephone address, line of business, planned advertising budget, estimated daily traffic, Web site information, and other similar information. In a first alternate preferred embodiment, a client 20 uses the present invention without registering. In a second alternate preferred embodiment, a client 20 uses the present invention for free. In another preferred embodiment, the client 20 registers for a fee.
As has been discussed above, a load triggering event causes a post-session platform to be opened and immediately sent to the background. It should be understood that the term “immediately” ideally means instantaneously or without any perceptible time delay. But this term may also mean a momentary time delay that is perceptible so long as the delay does not disturb the viewer's viewing experience.
As shown in FIG. 8, a load triggering event 58 causes a post-session platform to open 60 and also causes the post-session platform to request a post-session display 62. In one preferred embodiment, the event handler 44 returns a link to a single post-session display 45b, 64. In alternative embodiments, the post-session display may be refreshed one or more times. In other words, the event handler may deliver multiple links to the post-session platform that are downloaded at periodic intervals while the post-session platform remains in the background. In these alternative embodiments, the post-session display may be refreshed even though a new load triggering event has not occurred.
The terms and expressions that have been employed in the foregoing specification are used as terms of description and not of limitation and are not intended to exclude equivalents of the features shown and described or portions of them. The scope of the invention is defined and limited only by the claims that follow.

## Claims

1. A system for Internet advertising capable of simultaneously maintaining a foreground window and at least one background window and capable of displaying a first browser in a said foreground window for selectively browsing the Internet, said system comprising:
(a) a device that interacts with a display to display to a user at least one browser, each said at least one browser within a respective window;
(b) a script handler that invokes a post-session procedure in said first browser, said post-session procedure opening a second browser in a said background window such that said opening is free from said background window obscuring any portion of said foreground window while said first browser is simultaneously displayed in said foreground window; and
(c) an event handler that receives, from an Internet address, a link to an advertisement and loads said advertisement into said second browser while said second browser is in a said background window, said event handler maintaining said second browser in said background window until the occurrence of a user-initiated action made after said second browser is opened in said background window, said event handler being free from instructions capable of automatically, without user interaction, causing said second browser in said background window to replace said first browser as said foreground window such that said first browser is then maintained in a background window at least partially behind said second browser, during a time interval beginning incrementally before said advertisement has completely finished loading in said second browser and ending at a time incrementally after a user action navigates said first browser to a different web site than that loaded in said first browser when said event handler received said advertisement.

2. The system of claim 1 where said second browser is opened in response to a load-triggering event.

3. The system of claim 2 where said load-triggering event comprises at least one of:
(a) clicking on an off-site link;
(b) entering a new address;
(c) refreshing a web site;
(d) exiting a web site; and
(e) being redirected to a web site.

4. The system of claim 2 where said script handler delays invocation of said post-session procedure for a predetermined time period.

5. The system of claim 4 where said script handler cancels invocation of said post-session procedure if a user loads a new web site in said first browser before said predetermined time period has elapsed.

6. The system of claim 1 where said second browser is displayed in a foreground window after the occurrence of a view-triggering event.

7. The system of claim 6 including a focus timer that tracks the duration that said second browser is displayed in said foreground window.

8. The system of claim 1 where said media comprises one of a computer, a PDA, a cell phone, and a television.

9. The system of claim 1 where said event handler selects and returns one of a plurality of advertisements maintained at said Internet address.

10. The system of claim 9 capable of opening a plurality of second browsers, each maintained in a separate said background window, said event handler capable of receiving a link to an advertisement for each said second browser and loading a respective said advertisement into each said second browser while each said second browser remains in its respective said background window.

11. A post-session advertising method for use in a media capable of simultaneously maintaining a background window and a foreground window, said method comprising the steps of:
(a) embedding post-session instructions into a first browser, said first browser for being displayed in said foreground window;
(b) said post-session instructions opening a second browser in said background window such that said opening is free from said background window obscuring any portion of said foreground window while said first browser is being displayed in said foreground window;
(c) said post-session instructions receiving, from an Internet address, a link to an advertisement; and
(d) loading said advertisement into said second browser while said second browser is in said background window, wherein said post-session instructions are free from instructions capable of automatically, without user interaction, causing said second browser in said background window to replace said first browser as said foreground window such that said first browser is then maintained in a background window at least partially behind said second browser, during a time interval beginning incrementally before said advertisement has completely finished loading in said second browser and ending at a time incrementally after a user action navigates said first browser to a different web site than that loaded in said first browser when said event handler received said advertisement.

12. The method of claim 11 where said second browser is opened in response to a load-triggering event.

13. The method of claim 12 where said load-triggering event comprises at least one of:
(a) clicking on an off-site link;
(b) entering a new address;
(c) refreshing a web site;
(d) exiting a web site; and
(e) being redirected to a web site.

14. The method of claim 12 where implementation of said post-session instructions is delayed for a predetermined time period.

15. The method of claim 14 where implementation of said post-session instructions is canceled if a user loads a new web site in said first browser before said predetermined time period has elapsed.

16. The method of claim 11 where said second browser is displayed in a foreground window after the occurrence of a view-triggering event.

17. The method of claim 16 including the step of tracking the duration that said second browser is displayed in said foreground window.

18. The method of claim 11 where said media comprises one of a computer, a PDA, a cell phone, and a television.

19. The method of claim 11 where an event handler selects and returns one of a plurality of advertisements maintained at said Internet address.

20. The method of claim 19 where a plurality of second browsers are opened, each maintained in a separate said background window, and a link is received to an advertisement for each said second browser and a respective said advertisement being loaded into each said second browser while each said second browser remains in its respective said background window.

21. A system for Internet advertising capable of simultaneously maintaining a foreground window and at least one background window and capable of displaying a first browser in a said foreground window for selectively browsing the Internet, said system comprising a device that interacts with a display to display to a user at least one browser, each said at least one browser within a respective window, and a script handler that invokes a post-session procedure in said first browser, said post-session procedure opening an advertisement in a second browser and maintaining, said second browser in a said background window while said first browser is simultaneously displayed in said foreground window, said post-session procedure being free from instructions capable of automatically, without user interaction, causing said second browser in said background window to replace said first browser as said foreground window such that said first browser is then maintained in a background window at least partially behind said second browser, during a time interval beginning incrementally before said advertisement has completely finished loading in said second browser and ending at a time incrementally after a user action navigates said first browser to a different web site than that loaded in said first browser when said event handler received said advertisement.

22. The system of claim 21 where said script handler comprises code in a web page displayed in said first browser.