U.S. patent application number 10/784358 was filed with the patent office on 2004-08-26 for post-session internet advertising system.
Invention is credited to Bloodgood, Robert D. III, Middleton, Matthew G., Vilcauskas, Andrew J. JR..
Application Number | 20040167930 10/784358 |
Document ID | / |
Family ID | 22771628 |
Filed Date | 2004-08-26 |
United States Patent
Application |
20040167930 |
Kind Code |
A1 |
Vilcauskas, Andrew J. JR. ;
et al. |
August 26, 2004 |
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.
Inventors: |
Vilcauskas, Andrew J. JR.;
(Tualatin, OR) ; Bloodgood, Robert D. III;
(Portland, OR) ; Middleton, Matthew G.; (Portland,
OR) |
Correspondence
Address: |
CHERNOFF, VILHAUER, MCCLUNG & STENZEL
1600 ODS TOWER
601 SW SECOND AVENUE
PORTLAND
OR
97204-3157
US
|
Family ID: |
22771628 |
Appl. No.: |
10/784358 |
Filed: |
February 23, 2004 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10784358 |
Feb 23, 2004 |
|
|
|
09866425 |
May 24, 2001 |
|
|
|
60207698 |
May 26, 2000 |
|
|
|
Current U.S.
Class: |
1/1 ;
707/999.107 |
Current CPC
Class: |
Y10S 707/99945 20130101;
G06Q 30/0253 20130101; G06Q 30/0264 20130101; G06Q 10/06 20130101;
G06Q 30/02 20130101; G06Q 30/0277 20130101 |
Class at
Publication: |
707/104.1 |
International
Class: |
G06F 007/00 |
Claims
1. A post-session advertising system for use in a media having a
background and a foreground, comprising the steps of: (a)
displaying a first display in a first platform in said foreground
of said media; (b) initiating a load triggering event; (c) opening
a post-session platform in response to said load triggering event
in said background of said media; (d) displaying a post-session
display on said post-session platform; and (e) maintaining said
post-session platform in said background until a viewer driven view
triggering event occurs.
2. The system of claim 1 wherein said steps of displaying a first
display in a first platform and said step of opening a post-session
platform further include the steps of displaying a first display in
a first interactive media platform and opening a post-session
interactive media platform, respectively.
3. The system of claim 1, further comprising the step of timing the
duration from said view triggering event to said platform being
closed.
4. The system of claim 1, further comprising the step of bringing
said post-session platform to the foreground in response to a view
triggering event.
5. The method of claim 1, further comprising the step of timing the
duration said post-session platform remains in the foreground.
6. The method of claim 1, wherein said step of opening a
post-session platform in response to said load triggering event is
forgone if a predetermined time period has not elapsed.
7. A post-session advertising system for use in a media having a
background and a foreground, said system comprising: (a) a first
platform for displaying a first display in said foreground of said
media; (b) a post-session platform for displaying a post-session
display in said background of said media in response to a load
triggering event; (c) a Web server for providing a link to said
post session display in response to said load triggering event; (d)
said post-session platform coming to said foreground of said media
in response to a viewer driven view triggering event.
8. The system of claim 7 wherein said media is selected from a
group consisting of: (a) a communication device; (b) a computer;
(c) personal digital assistant; (d) telephone; (e) television; and
(f) radio.
9. The system of claim 7 wherein said first and post-session
displays are selected from a group consisting of: (a) a Web site;
(b) a Web page; (c) interactive media; (d) video broadcast content;
and (e) audio broadcast content.
10. The system of claim 7 wherein said first and post-session
platforms are selected from a group consisting of: (a) a Web
browser; (b) a television channel; (c) a telephone line; (d) a
radio station; (e) streaming media; (f) content delivery
applications; (g) media viewing technology; and (h) interactive
technology.
11. The system of claim 7 wherein said load triggering event is
selected from a group consisting of: (a) clicking on an off-site
link; (b) entering a new address; (c) load; (d) unload; (e) click;
(f) resize; (g) submit; (h) focus; (i) blur; (j) move; (k) key
press; (l) select; (m) change; (n) refresh; (o) open; (p) close;
(q) redirect; (r) enter; (s) exit; (t) end of program; (u)
beginning of program; (v) end of session; (w) change of service;
(x) time; and (y) a combination of at least two of said load
triggering events of (a)-(x).
12. The system of claim 7 wherein said view triggering event is
selected from a group consisting of: (a) closing said first
platform; (b) selecting said post-session platform; (c) clicking on
an off-site link; (d) entering a new address; (e) load; (f) unload;
(g) click; (h) resize; (i) submit; (j) focus; (k) blur; (l) move;
(m) key press; (n) select; (o) change; (p) refresh; (q) open; (r)
redirect; (s) enter; (t) exit; (u) end of program; (v) beginning of
program; (w) end of session (x) change of service; (y) time; and
(z) a combination of at least two of said load triggering events of
(a)-(y).
13. The system of claim 7 wherein said view triggering event causes
a focus timer process to initiate.
14. A post-session advertising method comprising the steps of: (a)
accessing a first display by a viewer; (b) initiating a load
triggering event as said viewer exits said first display; (c)
providing delayed post-session display to be held until a viewer
driven view triggering event occurs; and (d) displaying said
post-session display upon the occurrence of said view triggering
event.
15. A method for delivering displays to viewers and for exchanging
traffic between platforms, comprising the steps of: (a) obtaining
post-session instructions from a Web server and adding said
post-session instructions to a display; (b) opening said display
with a foreground platform; (c) initiating a load triggering event;
(d) opening a post-session platform in the background of said
foreground platform in response to said load triggering event; and
(e) maintaining said post-session platform behind said foreground
platform until a viewer driven view triggering event occurs.
16. The method of claim 15, further comprising the step of timing
the duration from said view triggering event to said platform being
closed.
17. The method of claim 15, further comprising the step of moving
said post-session platform to the foreground in response to a view
triggering event.
18. The method of claim 17, further comprising the step of timing
the duration said post-session platform remains in the
foreground.
19. The method of claim 15, wherein said step of opening a
post-session platform in response to said load triggering event is
forgone if a predetermined time period has not elapsed.
Description
RELATED APPLICATIONS
[0001] This 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.
BACKGROUND OF THE INVENTION
[0002] 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.
[0003] 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.
[0004] 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."
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.TM. 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."
[0014] 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
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] FIG. 8 is flow diagram of the process of the post-session
Internet advertising system of the present invention.
[0029] 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
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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
platformwith 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 handler 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 handler 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 handler 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
handler 42, event handler 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.
[0035] 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.
[0036] Detailed Chronological Description
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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 shorter than a predetermined time period.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] Alternative Media
[0065] 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.
[0066] 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.
[0067] 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.
[0068] Alternative Embodiments
[0069] 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.
[0070] 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.
[0071] 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.
[0072] It should 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
* * * * *