RELATED APPLICATIONSThis application is a divisional of U.S. patent application Ser. No. 09/866,425, filed May 24, 2001, which is based on and claims the benefit of provisional application serial No. 60/207,698, filed May 26, 2000.[0001]
BACKGROUND OF THE INVENTIONThe 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.[0002]
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.[0003]
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.”[0004]
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.[0005]
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.[0006]
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.[0007]
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.[0008]
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″ times[0009]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.[0010]
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.[0011]
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.[0012]
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 Windows™ 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.”[0013]
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.[0014]
BRIEF SUMMARY OF THE INVENTIONThe 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.[0015]
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.[0016]
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.[0017]
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.[0018]
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.[0019]
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.[0020]
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGFIG. 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.[0021]
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.[0022]
FIGS. 3A, 3B, and[0023]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.[0024]
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.[0025]
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.[0026]
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.[0027]
FIG. 8 is flow diagram of the process of the post-session Internet advertising system of the present invention.[0028]
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.[0029]
DETAILED DESCRIPTION OF THE INVENTIONThe 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[0030]client20 interacts with aWeb server22 to deliver, upon the occurrence of a “load triggering event,” apost-session platform24 to a viewer's26media28 so that theviewer26 may view the client's20post-session display30 after theviewer26 has exited (or another “view triggering event” has occurred) aforeground platform32. Specifically, when theviewer26 who is viewing a first orforeground display34 in a first orforeground platform74 exits a client's foreground platform32 (or another load triggering event occurs 76), apost-session platform24 is opened and is immediately sent to thebackground78. Because it is in the background, thepost-session platform24 does not disrupt the viewer's26 browsing experience. When theviewer26 closes the foreground platform32 (either the original or a subsequent platform32) or another view triggering event occurs 80, thepost-session platform24 comes to theforeground82. Finally, in one preferred embodiment, the amount of time thepost-session platform24 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.[0031]Viewers26, 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.Clients20 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. TheWeb server22, as will be described in detail below, substantially controls or directs the system of the present invention.Media28 may be any communication device, including but not limited to computers, personal digital assistants, telephones, televisions, radios, and similar devices.Platforms24,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.Platforms24,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. Aforeground platform32 is a platform that can be primarily sensed by aviewer26. Apost-session platform24 is a platform that begins its life in the background and that can be fully sensed by aviewer26 only after it has been brought to the foreground.Displays30,34 have content that aviewer26 sees, hears, or otherwise senses within or from aplatform24,32.Displays30,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[0032]26 perspective. Theviewer26 first views74 a first orforeground display34 in a first orforeground platform32 ofmedia28. Theviewer26 then initiates76 a load triggering event. This event causes theopening78 of a second orpost-session platform24 in the background of themedia28. Thepost-session platform24 remains in the background until theviewer26 initiates80 a view triggering event. Theviewer26 then views82 thepost-session display30 in thepost-session platform24.
FIGS.[0033]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 theWeb server22 element may be implemented by theWeb server22 alone (as shown), by a combination of theWeb server22 and theclient20, or by theclient20 alone. It should also be noted that themedia28 is shown as providing theforeground platform32, thepost-session platform24 while it is in the background, and thepost-session platform24 while it is in the foreground. Exemplary individual elements of the system are detailed in separate figures. Specifically, FIG. 4 details anexemplary script handler42, FIG. 5 details anexemplary event handler44, FIG. 6 details anexemplary focus handler46 and the timer applications, and FIG. 7 details anexemplary count daemon48.
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.[0034]3A-3C. In the first step, aclient20 adds post-session instructions to itsdisplay50. Aviewer26 requests aforeground display52 from a first or foreground platformwith post-session instructions embedded (or otherwise linked) therein. After theforeground display34 loads, the post-session instructions cause apost-session procedure43ato be requested54 and, in turn, thescript handler42 returns apost-session procedure43b, 56. At some point theviewer26 initiates aload triggering event58. This load triggering event causes a post-session platform to open60 in the background (physically behind or otherwise hidden from the viewer) and also causes the post-session platform to request apost-session display62. In one alternative embodiment, thepost-session platform24 that opens is of a type different from theforeground platform32. Theevent handler44 receives the request for alink45a,62 and returns a link topost-session display45b, 64. In an alternative preferred embodiment, theclient20 includes anevent handler44 that receivesrequest62 and returns apost-session display64 into a secondary post-session platform. Optionally, theevent handler22 returns afocus timer process45c, 66. Thepost-session platform24 anddisplay30 remain in the background until theviewer26 initiates aview triggering event68. Theviewer26 views the post-session display in thepost-session platform69. After theviewer26 is done viewing thepost-session display30, theviewer26 exits thepost-session display70. Optionally, when theviewer26 exits the post-session display,time data47 may be returned to thefocus handler72. A count daemon48 (which may be housed in the Web server or in a secondary server84) optionally may monitor and/or analyze statistical data. It should be noted that thescript handler42,event handler44, and focushandler46 may be processes implemented by theWeb server22 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.[0035]3A-3C and8 to an exemplary embodiment of a Web surfer viewer surfing the Internet, acommercial client20 adds post-session instructions (HTML code) to itsWeb page display50. Asurfer26 requests the client'sWeb page52 with the post-session instructions (HTML code) embedded therein. After theforeground Web page34 loads, the post-session instructions (HTML code) cause ascript code54 to be requested and, in turn, theWeb server22 returns ascript code56. At some point thesurfer26 initiates aload triggering event58, usually by exiting the initially viewed client's Web page. This load triggering event causes a post-session browser to open60 behind the foreground browser and also causes the post-session browser to request apost-session display62. TheWeb server22 receivesrequest62 and returns a link or address to apost-session display64. Optionally, theWeb server22 also returns afocus timer66. Thepost-session browser24 anddisplay30 remain in the background until thesurfer26 initiates aview triggering event68 such as exiting theforeground browser32. Thesurfer26 views the post-session display in thepost-session browser69. After thesurfer26 is done viewing thepost-session display30, thesurfer26 exits thepost-session display70 and time data is optionally returned to theWeb server72.
Detailed Chronological Description[0036]
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.[0037]3A-3C and8.
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[0038]term Web server22 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.[0039]3A-3C., the functions of theWeb server22 may be divided into the three Web services: the script handler42 (FIG. 4), the event handler44 (FIG. 5), and thefocus handler46. 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 requestingclient20. 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 and8.
Adding Post Session Code. In order to activate the method of the present invention, a[0040]client20 obtains post-session instructions from aWeb Server22 and adds them to itsdisplay34. In one exemplary preferred embodiment, the post-session instructions are post-session HTML code that aclient20 adds to its Web pages. In an alternative preferred embodiment, the post-session instructions are post-session XML code that aclient20 adds to its Web pages.
Viewer Opens a Platform. A[0041]viewer26 opens a client's20display34 with aforeground platform32. In one preferred embodiment, aviewer26 opens a client's20 Web page with a Web browser.
Script Code Delivery. As shown in FIG. 3A, when a[0042]viewer26 opens a client's20display34 with aforeground platform32, the post-session instructions that theclient20 added to itsdisplay34 cause theforeground platform32 to download43a,43ba post-session procedure from theWeb server22. In one exemplary preferred embodiment the post-session procedure downloaded from theWeb server22 to theplatform32 is script code. In one preferred embodiment, the client's account number is encoded directly into foreground platform's32 request for a post-session procedure so that proper credit is given to theclient20 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[0043]display34 to which post-session HTML code has been added, a request for apost-session procedure43ais sent to thescript handler42. The time at which the request for the post-session procedure is made is preferably recorded, noted, and/or stored. In addition, thescript handler42 may verify that the account number present in the requesting link is valid. Thescript handler42 then returns apost-session procedure43bto theplatform32.
As illustrated in the exemplary embodiment of FIG. 4, the[0044]script handler42 may parse each request and assemble statistics packets for transmission to thecount daemon48. If a viewer subsequently requests a second client Web page, a second request for script code is sent to thescript handler42. 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. Thescript handler42 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'sforeground platform32.
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.[0045]
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 allow a single post-session platform.[0046]
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.[0047]
Load Triggering Event. At some point while viewing the[0048]display34, the viewer activates a load triggering event. Load triggering events may include, for example, the viewer leaving or exiting thespecific display34 or the viewer closing theforeground platform32. 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[0049]post-session platform24 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 shorter 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[0050]foreground display34, but when the load triggering event occurs, a new platform (post-session platform24) opens and is immediately sent to the background. Thepost-session platform24 may be a full sized window or any other sized window.
Event Handler. As shown in FIGS. 3B and 5, the[0051]event handler44 is invoked by a request for adisplay link45aby the newly opened post-session Web browser. Theevent handler44 chooses and delivers a link to a client'sWeb site45b. 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, theevent handler44 delivers links to automatically load thefocus timer45c. As shown in FIG. 5, theevent handler44 parses a request and assembles statistics packets which it then transmits to thecount daemon48. A response is assembled and returned to theplatform24.
The post-session procedure downloaded from the[0052]Web server22 to theplatform32 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 apost-session platform24, linking to theWeb server22, sending thepost-session platform24 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[0053]post-session platform24 requests from theWeb server22 the address ofdisplay30. In one preferred embodiment, the address ofdisplay30 is theclient20. In alternative embodiments, the address may be, for example, other clients or the Web server. Whendisplay30 is returned, thepost-session platform24displays display30. In one preferred embodiment,display30 is advertising content for aclient20. In an alternative preferred embodiment,display30 is a Web site or Web page of aclient20. In one preferred embodiment, as shown in FIG. 9, thepost-session platform24 shows thedisplay30 in a frameset with branding information of theWeb server22 in one frame and client advertising content in another frame.
In one preferred embodiment, the[0054]post-session platform24 is a default browser window of the same type as thecurrent foreground platform32. One alternate embodiment could have a specific viewer-specified default platform. Another alternate embodiment could use a default platform predetermined by theclient20,Web server22, or the specific type of display.
View Triggering Event. At some point after viewing the[0055]display34, the viewer activates a view triggering event. View triggering events may include, for example, the viewer closing theforeground platform32, the viewer selecting thepost-session platform24 from the task bar at the bottom of a media screen or an alternative menu structure, or the viewer minimizing or moving theforeground platform32. 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.[0056]
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[0057]display30 on thepost-session platform24 changes or theplatform24 is closed, the focus timer process returns time data to theWeb server22 orsecondary server84. 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, and6, a focus timer is optionally delivered to a post-session Web browser by theevent handler44 andtime data47 is optionally returned to afocus handler46. 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[0058]focus handler46 receivestime data47 from the focus timer and transmits statistical packets to thecount daemon48 to track the focus time for adisplay30 displayed in apost-session platform24. In an exemplary shown embodiment, thefocus handler46 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[0059]count daemon48 receives statistics packets from thescript handler42, theevent handler44, and thefocus handler46 and collates statistical data. This reduces the load on the relational database. In an exemplary preferred embodiment, thecount daemon48 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[0060]single count daemon48. 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.[0061]
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[0062]5 hits/second; an “average” client Web site may receive 86,400 hits/day, or1 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.[0063]
Alternative Media[0064]
FIGS.[0065]4 to7, and9 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[0066]viewer26 may request adisplay34 from aclient20 airline using asmedia28 the viewer's telephone. Thedisplay34 consists of the audio communication interface (which may be an actual person or an automated voice response unit) provided by theclient20 airline and theforeground platform32 consists of a telephone circuit. In this example, the viewer's26 request for an audio communication interface (e.g., dialing) from theclient20 airline is a load triggering event that causes a post-session procedure to be delivered to media28 (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 adisplay30. In this example,display30 might be an audio communication advertisement provided by aclient20 rental car company or an audio communication advertisement provided by aclient20 lodging provider. The post-session second telephone circuit is sent to the background and does not disrupt the viewer's26 perception of theaudio communication interface32. 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[0067]viewer26 requests adisplay34 from aclient20 television broadcaster using television asmedia28. Thedisplay34 consists of broadcast content, such as a television program and theforeground platform32 consists of a television channel. In this example, the viewer's26 request for display34 (e.g., television program) is a load triggering event that causes a post-session procedure to be delivered to media28 (e.g., the interactive television). A view triggering event occurs when the viewer changes the display34 (e.g., broadcast context), and as a result a post-session platform24 (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 display30 may consist of an advertisement that is presented within thepost-session platform24.
Alternative Embodiments[0068]
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.[0069]
Alternative embodiments could be developed in which the order of the operations is changed. For example, the function of the[0070]script handler42 may be carried out after the load triggering event. Another example would be one in which the function of theevent handler44 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 anddisplay24,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 anddisplay24,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.[0071]
It should noted that although FIG. 1 shows a[0072]single client20, 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[0073]client20 registers to use the system by accessing aWeb server22. Aclient20 registering to use the present invention provides theWeb server22 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, aclient20 uses the present invention without registering. In a second alternate preferred embodiment, aclient20 uses the present invention for free. In another preferred embodiment, theclient20 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.[0074]
As shown in FIG. 8, a[0075]load triggering event58 causes a post-session platform to open60 and also causes the post-session platform to request apost-session display62. In one preferred embodiment, theevent handler44 returns a link to a singlepost-session display45b, 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.[0076]