TARGETED NETWORK VIDEO DOWNLOAD INTERFACE
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to network access schemes and, more particularly,
to an interface for targeted network video download.
2. Description of the Related Art
The early beginnings of the network commonly referred to as "the Internet"
involved scientists, researchers, and technology experts exchanging information over a
secure computer network. Now, the Internet is fast becoming popular with the general
populace not just for information exchange, but also for entertainment and recreation.
Users can access thousands of files stored in computers that comprise Internet sites that
contain text, graphics, video, and audio content by using graphical user interface (GUI)
computer browser programs that navigate the collection of such sites commonly called the
"world wide web".
For the typical home user, access to the Internet is gained by connecting their
computer to an Internet service provider (ISP) through a telephone line, although other
connection services are gaining popularity. In most cases where a home user has an ISP,
the user pays a fee to the ISP in exchange for access to the Internet through the ISP. The
connection from the user computer to the ISP can be virtually any type of network access,
such as typical analog telephone line access through a local exchange carrier or telephone
company. Other connection services include cable modem services and Digital
Subscriber Line (DSL) services.
For typical telephone connections, a modem is connected between the user
computer and the telephone line, to provide an interface between the digital data used by
the computer and the analog signal transmitted over the telephone line. The user uses a
dial-up connection utility program to connect the user computer to the ISP system via the
modem. At the ISP, a modem converts the transmitted analog signal back to computer
data. An ISP will usually have several telephone numbers available in a user's local
calling area for a dial-up connection. Such a connection system can provide data
exchange rates of 36K bytes per second upload (computer user to ISP) and up to 56K
bytes per second download (ISP to computer user). The connection from the ISP to the
Internet "back bone" is typically over relatively expensive, high-speed digital lines such
as fiber optic cable over Tl or T3 connections that can provide data exchange rates of 1 M
bytes per second or greater.
Recently, Internet service companies have begun to provide Internet content to
users based on the broadcast television model of content delivery. That is, Internet
content is delivered to users for no charge, in exchange for the content being delivered
with banner display advertising materials, which are observed by the users. The
companies who provide the advertising materials pay fees to the Internet content
providers, the ISPs, for the advertising exposure in the hope that it will keep their
products and services uppermost in user's minds and will influence purchasing decisions.
The fees paid by advertisers are typically a function of click-through rate, which is the
rate of ad viewers (users) who visit the advertiser's web site from the banner ad.
The Internet advertising typically consists of images that take up a portion of a
user's browser window on the computer display screen, so-called "banner" advertising.
The banner advertising leaves most of the browser window free for viewing, and typically
places the banner across a top area of the window. A typical Internet access-for-
advertising arrangement uses a dial-up connection that continuously downloads a banner
ad from the ISP while the user is connected. That is, as soon as the user's browser or
viewer program is ready for a new banner ad, a new banner ad is downloaded from an ad
server. The download may or may not interfere with the user's Internet activity.
Because the banner advertising occupies a relatively small area of the user's
display window, the advertising does not preempt viewing of Internet content. Thus,
banner advertising does not intrude on the user's Internet experience, but because it is
static, it unfortunately can rather easily be ignored by the user. This is unlike the model
of broadcast television, which generally ensures that no other display interruption will
occur during the viewing of advertising content. Moreover, banner advertising does
nothing to catch the attention of the user, and this reduces the likelihood that a user will
take the time to view the banner advertising, and reduces its effectiveness.
Video images, comprising data files that provide full-motion video displays, can
be viewed over the Internet. Video files are desirable for providing a moving image
display with audio, which will more likely attract and hold a viewer's interest. Video
files, however, are relatively large and can take an inordinate amount of time to
download. Banner ads may require 5K to 25K bytes of data, but a video file of 30
seconds duration may require 1.3 M bytes of data, even with data compression
techniques. As noted above, banner ads are sufficiently small that they may be
downloaded without notice by a user while the user is viewing Internet content. In
contrast, video files are so large that a user's Internet viewing almost certainly would be
interrupted while the large file was being downloaded. Hence, video files are not
conducive to the access-for-advertising, broadcast television model of providing Internet
access.
Compounding the greater amount of time necessary to download video files is the
problem of variety and staleness. Viewers can quickly become familiar with Internet
video advertising images, just as with television commercials in the broadcast context.
Experience is showing that the Internet user has a short attention span. Therefore, it is
important to provide the Internet user with a variety of advertising that is constantly
refreshed. If video advertising is to be useful for the Internet, then it is important to
provide a variety of video files, notwithstanding the fact that such files take longer to
download. With these conflicting ideals, it can be seen that video advertising is not
currently practical in the access-for-advertising model of Internet access, because they
take a greater amount of time to download than banner advertising, and they must be
refreshed frequently to avoid becoming stale.
In addition, most Internet advertising is indiscriminately directed. That is, banner
ads are sent to users without regard to the demographic profile of individual users.
Typically, access providers can charge higher rates if they can ensure a target viewing
audience with a particular demographic profile.
Alternatively, advertising may be directed to a user based on that user's network
browsing habits. For example, some advertisers may monitor the banner ads to which a
user responds with a "click-through". These user click-throughs may be collected into a
database that can be used to direct future banner ads. Unfortunately, directing advertising
in this manner takes time to accumulate, is not very precise, and only reflects past user
browser history. Thus, a user's present demographic profile is not necessarily reflected in
the database and ineffective or inappropriate advertising may still be directed to the user.
From the discussion above, it should be apparent that there is a need for an
Internet access-for-advertising technique that provides Internet content to targeted users
along with video advertising that will more likely hold the interest and attention of
Internet users and also ensures a fresh supply of video files, without interrupting the
Internet experience of the user. The present invention fulfills this need.
SUMMARY OF THE INVENTION
The present invention provides a technique for providing free computer user
access to a network, in which an access control system sends video advertising files to a
user who gains network access through a network connection process that includes a file
viewer program operating independently of the user's network application programs. In
the case of Internet access, the network applications may include browser and e-mail
programs. The user receives advertising files from the access control system and the
viewer program collects them into an ad pool stored in the user's computer. Video
advertising files are downloaded when the user is not actively using the bandwidth of the
network connection to download content through the network application programs. The
viewer program periodically opens a viewer window, which opens on top of any other
open user application windows, and in which an ad from the ad pool is displayed. When
one or more video ads are finished, the viewer window is hidden or made an inactive
window for a quiet interval. At the conclusion of the quiet interval, the viewer window is
activated and the next ad in the ad pool is displayed. The viewer program manages the ad
pool such that ad files are not viewed after they have reached a predetermined play limit,
thereby determining that new ad files are needed. New ad files are then received over the
network connection during access, preferably such that each ad is displayed or viewed for
not less than the time it takes the ad to be downloaded. This ensures that the ad pool is
managed so as to maximize the amount of advertising to which the user will be exposed
while minimizing the impact of downloading on the user's network access experience. In
this way, the invention keeps the ad pool fresh within a predetermined ad pool size, and
provides network access to users for no charge or fee, and also ensures a fresh supply of
video advertising files that will more likely hold the interest and attention of the computer
user.
In one aspect of the invention, user demographic information is collected from
each user and is utilized to direct video ad files to targeted users according to their
demographic information. In another aspect of the invention, the viewer program
provides fraud detection features to ensure that users do not disable the viewer program.
In this way, advertisers can be confident that their video ads will be viewed by the
intended audience. In another aspect of the invention for Internet access, users are
provided with a link window that permits users to select a web site that corresponds to
one of the video ads in the ad pool. Selecting the web site of a video ad sponsor results in
the user's browser receiving content from the sponsor's web site.
Other features and advantages of the present invention should be apparent from
the following description of the preferred embodiment, which illustrates, by way of
example, the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a representation of a system that provides Internet access in accordance
with the present invention.
Figure 2 is a representation of a computer of the Figure 1 system.
Figure 3 is a flow diagram that illustrates the processing steps executed by the
computer processing system of Figure 1 to implement the Internet access technique in
accordance with the present invention.
Figure 4 is a representation of the display viewed by a user at the computer
illustrated in Figure 2.
Figure 5 is a flow diagram that illustrates the processing steps performed by the
system illustrated in Figure 1 in providing Internet access.
Figure 6 is a flow diagram that illustrates the processing steps performed by the
system illustrated in Figure 1 in managing the playback of video ads.
Figure 7 is a representation of the viewer window display that is shown during ad
playback.
Figure 8 is a representation of the Recent Ads pop-up menu selected from the
viewer window of Figure 7.
Figure 9 is a representation of the Open Link dialogue box display that is shown
during ad playback, selected from the Recent Ads display of Figure 8.
Figure 10 is a flow diagram that illustrates the processing steps performed by the
system to implement playback management control bar functions.
Figure 11 is a flow diagram that illustrates the processing steps performed by the
system in managing the ad download function.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Figure 1 is a representation of a system 100 that provides Internet access in
accordance with the present invention. A user computer 102 gains access to Internet
content from servers 104 through an access control system 106 that provides video
advertising files. Requests from users 102 for service, receipt of Internet content, and
communication with the access control system 106 all take place over a network 108 that
includes conventional telephone lines and high-speed digital access lines, collectively
referred to as the Internet. The Internet content that can be received includes e-mail, ftp
files, "World Wide Web" content, chat services, and all other content available through
the Internet. Thus, the user 102 is connected via a network connection line 110 that
typically is a conventional analog telephone line. Similarly, the access control system
106 is connected to the Internet via a connection 112 and the Internet content servers 104
are connected via a connection 1 14. The access control and content connections 112, 114
are typically high-speed digital lines.
In the preferred embodiment, the access control system 106 includes a Network
Access Server (NAS) 116, an Access, Authorization, and Accounting (AAA) server 118,
and an Advertising file (Ad) server 120. The NAS identifies dial-up network connections
initiated by users and assigns Internet protocol (IP) addresses to the user connections,
taking the IP addresses from a pool of available IP addresses established by the service
provider. The AAA server 1 18 communicates with a standard protocol, such as
commonly referred to as Remote Authentication Dial-In Service (RADIUS) or Terminal
Access Controller Access Control System (TACACS), or the "TACACS+" system from
Cisco Systems, Inc. of San Jose, California^ USA. Other means of access authorization
can be readily implemented by those skilled in the art.
In the preferred embodiment, the AAA server 118 authorizes each user to have
access to the network 108 and performs various accounting functions to maintain a record
of users who have logged onto the network and at what time, as well as other functions
such as loading specific network profile information. One such network profile
information, for example, is referred to as Virtual Private Dial Network (VPDN)
information. The accounting function includes keeping track of each user's logon time
and logoff time, for every online communications session. The Ad server 120 provides ad
files and communicates with the AAA server 118 to deny a user access if fraud is detected
in connection with that user. Fraud detection is described in greater detail below. In the
preferred embodiment, each of the Network Access Server 116, AAA server 118, and Ad
server 120 comprise a separate, independent server computer. This provides the greatest
reliability, responsiveness, and user accommodation. It should be understood, however,
that the functionality of all three may be provided in a single machine. The functionality
of all three servers 116, 118, 120 will be referred to collectively as the "communications
server".
In a system where a user 102 will connect to the Internet through a dial-up
connection over an analog telephone line, the user will launch a dial-up connection
program that causes the user computer to contact the AAA server 118. The AAA server
receives identification information from the user and authenticates that user for
permission to receive Internet access. If desired, the AAA server may access accounting
and compliance records to check for detected usage fraud and the like. If permission is
indicated, then the AAA server provides an approval signal to the NAS server 116, which
permits the user to have access to the Internet. Thus, the Access Control System 106
functions as an Internet Service Provider (ISP). The ISP may revoke a user's access by
removing the user's account information from the AAA server because of previously
detected fraud.
In accordance with the invention, a user 102 receives ads from the
communications server 106. A viewer program installed at the user maintains a user ad
pool in which video advertising files are collected. Each video advertising file contains
sufficient data to provide a video "program" that typically has a run time of between thirty
seconds and 2.5 minutes. It should be understood that faster connections and download
technologies could be used to increase the program length without affecting the user's
access.
Those skilled in the art will appreciate that the Internet content servers 104
comprise multiple file servers at which web site files are stored. Those skilled in the art
also will appreciate that the user computer 102, access control system 106 computers, and
Internet content servers 104 can all have a similar computer construction. Figure 2 is a
block diagram of an exemplary computer 200 such as might comprise any of the
computers 102, 104, 106. Each computer 200 operates under control of a central
processor unit (CPU) 202, such as a "Pentium" microprocessor and associated integrated
circuit chips, available from Intel Corporation. A user can input commands and data from
a keyboard 204 and can view inputs and computer output at a display 206. The display is
typically a video monitor or flat panel display. The CPU 202 operates under control of
programming steps that are stored, temporarily, in memory 208 of the computer. Each
computer communicates with the Internet 108 through a network interface 210 that
enables communication over a connection 212 between the network 108 and the computer
200. The computer also can receive computer instructions, or data, from a storage media
reader 214. The storage media reader 214 receives storage media 216 from which it can
read stored information. That is, the storage media can contain program steps that are
executed by the CPU to perform a method for providing Internet access as described
above. The storage media thereby comprises a program product that embodies a storage
media that is received by the storage media reader.
To provide user access in accordance with the invention, a viewer program is
installed at the user computer 102 to make it act as a client with respect to the
communications server 106. The viewer client program manages the ad files and may
comprise a viewer client with the required functionality, or may comprise a targeted
viewer client that is capable of greater functionality.
In one aspect of the invention, a viewer client program at the user 102 manages
the ad pool such that the oldest ad is discarded when a new ad is received, and such that
the expected or average time to download an ad file is approximately equal to the total
time an ad is displayed from the ad pool. For example, if each ad in the ad pool has a 30-
second playing time, and if the average download time for an ad file is expected to be
fifteen minutes, then each 30-second ad should be played thirty times before the ad is
cycled out of the ad pool. In this way, any single ad should have fifteen minutes of total
display time before deletion. Thus, the ads are shown from the ad pool so that download
time is averaged to be approximately equal to the total display time.
As described further below, a "quiet interval" during which no ads are shown can
be used to automatically reduce the number of times an ad would otherwise be shown.
More particularly, given the 15-minute download time and the corresponding 15-minute
display time described above, it may be desirable to provide a portion of the display time
as a "quiet interval" during which the user will see no ads, but during which ads will
continue to be downloaded. A ratio of 1 :5 may be used, so that 2.5 minutes of ad display
will be followed by 12.5 minutes of no display. When a new ad is downloaded, the oldest
ad will still be deleted. Thus, in the example above, an ad in a system with a 12.5 minute
quite interval will be shown five times (during the 2.5 minute display interval) rather than
thirty times.
In the viewer client of the preferred embodiment, an initial ad pool of ad files is
downloaded or otherwise installed with the viewer program at the user computer before
the user can utilize the Internet access system and viewer program. Thereafter, an
expected Internet connection speed is assumed such that ad files can be continuously
downloaded during the user's Internet access, and an ad file should complete downloading
approximately when the oldest ad file in the ad file pool will have been played the
appropriate number of times. For example, using a 28.8K band modem, a 30-second
video clip using conventional technology can generally be downloaded in no more than
fifteen minutes of a user's Internet access time.
More particularly, the expected average ad file download time sets the number of
plays for each ad before it should be cycled out of the ad pool. For example, if the
Internet connection speed (baud rate) of the user's network connection 110 is such that an
ad of typical size requires fifteen minutes to download, then the number of plays for each
thirty-second ad before cycling out (in accordance with the example given above) should
be thirty. Such a connection speed may be provided, for example, by a 28.8K baud
modem. Accordingly, the ad pool will be initially stocked so that, after a sufficient total
time of Internet access by the user to provide for fifteen minutes download of a new ad
file, the oldest thirty-second ad in the ad pool should have been played thirty times.
Setting the system design of the client viewer program in this way minimizes the amount
of operational sophistication needed by the viewer program for proper management of the
ad pool, so that no tracking of individual ad files is necessary. If the speed of the Internet
connection is faster than 28.8K, or if the bandwidth otherwise improves, ads of greater
size may be downloaded to preserve the fifteen minute average download time.
Video advertising files are downloaded when the system detects that the user is
not actively using the bandwidth of the user's Internet connection 110 to download
Internet content. During the time a user is connected to the Internet via the access control
system 106, the viewer program is continuously running, and periodically opens a viewer
window that is placed on top of any other active window and in which an ad from the ad
pool is displayed. When the video ad is finished displaying, the viewer window is closed
for a quiet interval. At the conclusion of the quiet interval, the viewer window is opened
and the next ad in the ad pool is displayed. The viewer program cycles through existing
ads in the ad pool until a new ad is received from the communications server.
Figure 3 is a flow diagram that illustrates the processing steps executed by the
computer processing system 100 of Figure 1 to implement the Internet access technique in
accordance with the present invention. In the first step, represented by the Figure 3 flow
diagram box numbered 302, the user launches an Internet access program constructed in
accordance with the invention that causes launch of the dial-up connection program,
which will dial a prescribed telephone access number for the ISP. In the next step, after
establishing communication, the system starts the viewer program. A browser program is
preferably started as well, to display a predetermined web page such as the home page of
the Internet access provider. The operating system of the user's computer will launch the
appropriate Internet browser application, and the dial-up connection program for the no-
charge ISP will start the viewer application program. This processing is represented by
the flow diagram box numbered 304. Next, after the browser and viewer have been
launched, the system performs ad file download tasks and ad pool management, as
described further below. This processing is represented by the Figure 3 flow diagram box
numbered 306.
Figure 4 is a representation of the display window 402 viewed by a user at the
computer illustrated in Figure 2, showing a browser application window 404 with a
viewer window 406 in the lower right corner of the display window. The browser
window contains display artifacts that should be familiar to those skilled in the art,
including a menu bar 408 with title, window sizing icons 412, and a tray 414 of the
display window that includes an icon 416 for the viewer program. The "START" icon
418 provides access to a variety of operating system commands and will be familiar to
those skilled in the art. Although the display 402 shows a configuration typical for an
operating system such as "Windows 98" by Microsoft Corporation, it should be
understood that the viewer program also can be interfaced with other computer operating
systems, such as the "Macintosh" operating system by Apple Computer Corporation and
the various UNIX variants that are available.
Figure 5 is a flow diagram that illustrates the processing steps performed by the
system 100 illustrated in Figure 1 in providing Internet access to a user without charge,
after the user first launches the dial-up connection program and establishes
communication with the access control system and, in particular, the Ad server, as
indicated in box 302 of Figure 3. Those skilled in the art will understand that a user may,
at any time, halt operation of the free access program by losing a line connection or
terminating the connection with the user's operating system. The first step indicated in
Figure 5 following establishment of communications is to perform fraud control. This is
of critical importance because advertising sponsors, who are being asked to pay the
operating costs of the access server, will only be willing to pay costs if they have
reasonable assurances that users are, in fact, viewing the video ads. The fraud control
step 502 provides this assurance.
In particular, the fraud control step 502 involves sending a "Pulse" message to the
Ad server. The fraud Pulse message is sent at regular intervals and contains a user
identification number (user ID) and a date and time indication. If the Ad server does not
receive a Pulse message from a user when such a message is expected, then the Ad server
will terminate the communications session with the user. This can be done, for example,
by the Ad Server sending a termination message to the viewer program to terminate, or to
the NAS to deactivate the user's IP address. Other means of terminating access upon
command by the Ad server are also suitable. A predetermined interval of, for example,
five minutes should be sufficient to ensure that users are not attempting to bypass ad
viewing. Thus, if the Ad server does not receive a Pulse message once every five
minutes, communication will be terminated. The fraud interval may be set as desired.
Fraud control can be implemented using an encryption method for network
authentication rather than the Pulse message and disconnection technique described
above. Such a fraud control system might be implemented with a custom authentication
server and custom authentication protocols. In addition, a number of standard,
commercially available authentication servers can be used with an encryption technique
that keeps an access name and password hidden from the user. In this way, a user would
not be permitted to complete the log-on process without using the supplied fraud control
program to make the network connection. This would ensure that the supplied fraud
control program runs on the user machine as a requirement of permitting Internet access,
and is preferred where maximum fraud security is desired.
In the next step of operation, represented by the Figure 5 decision box numbered
504, the dial-up connection program results in a viewer icon located in the display tray
(see Figure 4), and the viewer program thereafter checks to determine if the user has
clicked on the display tray icon. If the user has clicked on the icon, an affirmative
outcome at the decision box 504, then a pop-up menu is displayed, as indicated at box
506. The pop-up menu permits the user to view parameters and actions. For example, the
pop-up menu may show items including "Disconnect", "Settings", and "Help". The user
may select any one of these three alternatives. It should be noted that a "Dial-Up
Networking" icon may be automatically placed in the display tray by the computer
operating system. Those skilled in the art will understand that the Internet connection
also can be terminated by the user through the Dial-Up Networking icon.
User selection of "Disconnect" is indicated as an affirmative outcome at the Figure
5 decision box numbered 508. If the user selects "Disconnect" from the pop-up menu,
then at box 510 the dial-up program is halted and the user is disconnected from the
Internet, ending the session. If "Disconnect" is not selected, a negative outcome at the
decision box 508, then at box 512 the system performs the display action associated with
the action. For example, the resulting actions if "Help" is selected include display of the
"help" menu. Those skilled in the art will be able to determine the set of topics that
would be helpful to users and should therefore be included in the help menu. If the user
selects "Settings" from the pop-up menu, then a dialog box will be shown that will
contain program operating parameters. The user may want to change the display time
options. For example, the user may select between seeing ads for 30 seconds every three
minutes, and seeing 2.5 minutes straight viewing time of ads every 15 minutes.
If the user clicks on a display icon (box 506) and then performs a display action
(box 512), or if the user does not click on the display tray icon (a negative outcome at the
decision box numbered 504), then the next operation step is the same, as indicated at the
box numbered 514: update the ad pool and database. Such update actions involve the
viewer program removing the oldest ad in the ad pool if a new ad has been successfully
downloaded. Any local databases are updated with ad file information from the Ad
server, such as the new ad name, ad ID, product, sponsor company, ad file name, path,
and size. In the preferred embodiment, the local database is kept secure from access by
the user. After the ad pool update action, the system next checks for file tampering at the
flow diagram box numbered 516.
To detect tampering, the system checks for a match between ad file information in
the secure local database and actual ad file information. The local database is maintained
by receiving ad file information along with a new ad file. The received ad file
information includes, for example, file name, path, file size, creation date, and the like.
For example, each ad in the ad pool will have a file size specified by received ad file
information in the secure database. The operating system of the user computer can
determine the actual block size of the file. Other file parameters may be checked for
changes. If there is a discrepancy, a mismatch-indicating message is sent to the Ad server
with the user ID and the date and time of detected discrepancy. The Ad server records the
fact that the viewer sent a mismatch message, an indication that possible fraud has
occurred. The viewer program then displays a fraud message on the viewer's computer.
Preferably, the fraud message indicates that fraud has been detected and that such fraud
comprises a violation of the usage agreement. The message can request that the user
contact the ISP, or some other corrective or remedial action may be suggested. The dial-
up connection program is then terminated and user access is halted. Thus, the fraud
detection ensures that the file entries in the local database match the entries expected by
the authorization server. This ensures that the user has not tampered with the files.
If no fraud is detected, the user continues to be provided with Internet access. The
next processing step, at the flow diagram box numbered 518, is to perform ad viewer
actions. The ad viewer actions comprise the automatic processing by the viewer program
to periodically display video ads from the ad pool. The ad viewer actions are described
further below in conjunction with Figure 6. Next, during ad showing, the viewer program
detects when the display cursor is placed over the viewer window. When the cursor is
over the viewer window, the viewer program causes the viewer control bar to be
displayed and any user control bar actions to be performed, as indicated by the flow
diagram box numbered 520. The viewer program performs the control bar functions and
thereby provides a means for the user to manage the window in which the ads are viewed.
The control bar function processing is described further below in conjunction with
Figures 7, 8, and 9.
At the completion of each video ad, a "play completion" message is sent to the Ad
server. This ensures that the server has the most current information available on ad
viewing. One or more ad viewings comprise an ad showing interval, depending on the
implementation. When the ad showing interval is completed, the viewer program hides
the viewer window and enforces a quiet interval during which no ads are shown. This
processing is represented by the flow diagram box numbered 522. The viewer program
then enforces the quiet interval, and processing control returns to the fraud control
operation represented by the Figure 5 flow diagram box numbered 502.
Further details of the viewer program operation during ad showing are illustrated
in the Figure 6 flow diagram. As indicated by the Figure 6 flow diagram box numbered
602, the viewer program first shows ads from the ad pool stored in the user's computer.
The viewer program keeps track of the order in which the ads should be shown, such as
by keeping an ad information table of the local database in the computer memory, to cycle
through the ads in the ad pool in proper viewing sequence. As noted above, the ads are
shown in order of download, from oldest to newest, and each time a new ad is
downloaded, the viewer program deletes the oldest ad from the ad pool. Also as noted
above, a "play completion" message is sent after completion of each ad showing. The
play completion message includes the user ID, ad name or ID, and the date and time of
completion. If the Ad server is not available to receive and acknowledge the play
completion message, then the play completion message is temporarily stored in the
viewer program message queue. This is part of the processing in box 602.
In the next viewer program operating step, represented by the decision box
numbered 604, the program checks to determine if the ad showing interval has completed.
As noted above, the viewer program opens or launches the viewer window at regular
intervals, showing ads for a predetermined time interval and then hiding the viewer
window or making it inactive. The viewer window runs on top of any other open window
and provides a picture-in-picture viewing format. For example, in the preferred
embodiment, the viewer program shows 2.5 minutes of ads in the viewer window, cycling
through ad pool files that each provide a 30-second video presentation. Thus, five
consecutive ads will be shown during an ad showing interval. After the 2.5 minute ad
showing interval, the viewer program implements a 12.5 minute quiet interval during
which the viewer window is hidden or made inactive. Other intervals may be selected,
depending on programming needs. Alternatively, each ad showing may comprise an ad
showing interval, so that a 15-minute period still will include a total of 2.5 minutes of ad
viewing. That is, a 30-second viewing interval will be followed by a 2.5 minute quiet
interval.
If the ad showing interval is not completed, a negative outcome at the decision
box 604, then the viewer program detects and responds to any user display actions and
cursor movement, as represented by the flow diagram box numbered 606. If the ad
showing interval is complete, a positive outcome at the decision box numbered 604, then
the viewer window is hidden or made inactive for the duration of the quiet interval.
System processing then continues.
As noted above for the Figure 5 box numbered 520, the viewer program detects
when a user moves the cursor over the viewer window, and as described above for the
Figure 6 box numbered 606, the viewer program responds to such viewer display actions.
Those skilled in the art will be familiar with how the viewer program can be programmed
to obtain such information from the computer operating system. Moving the cursor over
the viewing window display area and clicking on the ad being shown causes the viewer
program to direct the user's browser to the web site associated with the ad (according to a
URL stored in the local database) and sends an "ad click" message to the Ad server with
user information such as user ID, ad ID, and date and time of click. If the Ad server is not
available to receive and acknowledge the ad click message, then the ad click message is
temporarily stored in a message queue of the viewer program for later sending. Other
messages may also be stored in the message queue, except that only one "Pulse" message
described above, which confirms a user connection, should be permitted in the queue, to
prevent the Ad server from being flooded if it becomes offline for an extended time.
Moving the cursor over any portion of the viewer window causes the viewer program to
display the viewer control bar, which then permits the user to modify the ad window
viewing experience.
Figure 7 illustrates details of the viewer window 406 (Figure 4) and control bar.
The window control bar 702 is a vertical bar that includes a sizing icon 704 that permits a
user to modify, within predetermined limits, the size of the window 406. The viewer
program does not permit moving the viewer window completely off the user's desktop
display area, and does not permit reducing the size of the window display beyond a
minimum size. This ensures advertising sponsors of a minimum display area for their
ads. The control bar 702 also includes a "Recent Ads" button 706 that opens a pop-up
menu that lists the ten most recent ad sponsor names, as described further below, for
accessing ad web sites. The viewer window of Figure 7 also includes a volume control
708 that adjusts playback sound level. Finally, the viewer window has a mute button 710,
for viewing ads without sound. A blank area 712 of the control bar provides a Move Bar
that permits the user to move the viewer window 406 within the desktop area in usual
windowing fashion by clicking and dragging.
Figure 8 shows an exemplary Recent Ads pop-up menu 802 that results from user
selection of the Recent Ads button 706 (Figure 7) and contains information about recently
viewed ads from the ad pool stored on the computer. Preferably, the menu 802 shows the
title or description of the ten most recently viewed ads of ad sponsors. Each entry in the
pop-up menu corresponds to an ad in the ad pool. If the user clicks on any of the listed
web sites, then the viewer program directs the user's browser to the corresponding web
site. Other suitable formats of the "Recent Ads" menu will occur to those skilled in the
art.
The "Recent Ads" pop-up menu of Figure 8 includes a "More" entry that when
selected, causes an "Open Link" dialogue box to be opened. This dialogue box is shown
in Figure 9. The dialogue box lists the ad names, ad sponsor, and ad sponsor web site
link. The link comprises a Universal Resource Locator (URL) address that directs the
user browser to the corresponding web site. If an advertiser does not have a URL for a
web site, then the Figure 9 dialogue box inserts the web site of the ISP or some other
designated web site. Thus, with the control bar and Open Link dialogue box, the user has
management control of the Internet viewer window.
Figure 10 is a flow diagram that illustrates the processing steps performed to
permit the playback management control bar functions available to the user during ad
showing. In the first processing step, represented by the Figure 10 decision box
numbered 1002, the viewer program detects when the user clicks on the Recent Ads
control bar button 706 (see Figure 7). If a button click is detected, an affirmative outcome
at box 1002, then the viewer program responds appropriately by showing the Recent Ads
menu described above. This processing is represented by the flow diagram box numbered
1004. In accordance with the invention, the user does not lose control of the browser
when an ad is being shown. Therefore, if the user clicks on the Recent Ads button and the
browser is directed to a sponsor's web site, the viewer window continues to show ads and
continues to be active. Therefore, after the user clicks on the Recent Ads button and the
viewer program performs its response at box 1004, or if there was no user click (a
negative outcome at the decision box 1002), the viewer program operation continues.
Next, as indicated by the decision box numbered 1006, the viewer program
determines if the user clicks on the resize button 704 (Figure 7). If the user does, an
affirmative outcome at the decision box 1006, then the viewer program permits resizing,
within predetermined limits. The resizing operation is indicated by the flow diagram box
numbered 1008. After window resizing, or in the event of no user display click (a
negative outcome at the decision box 1006), the viewer program operation continues.
Finally, the viewer program determines if the user clicks on the control bar
"Move" area 712 (Figure 7). If yes, an affirmative outcome at the decision box 1010, then
the viewer program permits the user to move the viewer window within the desktop
display area, but will not permit the viewer to hide the viewer window. This operation is
represented by the flow diagram box numbered 1012. After moving is complete at box
1012, or if there was no click (a negative outcome at the decision box 1010), the viewer
program continues normal operation, including the display and download of ads.
As noted above in conjunction with the description of Figure 3, the system
performs ad file download tasks (box 306). Figure 11 is a flow diagram that illustrates
the processing steps performed by the system in managing the ad download function.
In the first download processing step, represented by the Figure 1 1 flow diagram
box numbered 1102, the current user state is stored in the local database. This
information comprises status information, including the current ad file that is
downloading in a background operation, where ad playback is on the play list, and the
current ad file block that is being received. The state information is maintained by the
viewer program so it can continue a download operation in progress even after the
program has been shut down and restarted. The initial information is received from the
Ad server when a new ad is requested. The viewer program then keeps track of where the
download operation is, using the database to store the information. Thus, the Ad server
need not store information relating to, or otherwise control operations for, the download
process.
Next, the viewer program determines the ad block size to request from the Ad
server, as indicated by the flow diagram box numbered 1104. The viewer program makes
this determination based on the data rate available from the dial-up connection and,
optionally, system resources such as processor speed, available memory, download
latency, and modem speed. At the decision box numbered 1106, the viewer program next
determines if the user is actively using the Internet connection (modem line) for external
communication. The connection will only be indicated as currently in-use if, for example,
the user is in the middle of downloading a web page or receiving a file from the Internet,
or sending or receiving electronic mail. If the connection is being used, an affirmative
outcome at the decision box numbered 1106, then the viewer program waits for a
predetermined check interval (box 1108) and then checks again (box 1106).
When the Internet connection is not being used by the user, a negative outcome at
the decision box numbered 1106, the viewer program sends a request to the Ad server for
the file name from which download will commence (or continue), the offset from the file
start where the block should be downloaded, and the determined ad block size. The user's
viewer program then receives the requested data and stores the block to a local file. These
file request and saving steps will be familiar to those skilled in the art, without further
explanation.
After each ad block has been downloaded, the viewer program checks to
determine if the entire ad has been received. This step is indicated by the Figure 11
decision box numbered 1112. If the download is not complete, a negative outcome at the
box 1112, then processing goes back to the flow diagram box numbered 1106, where
availability of the connection is determined. If all blocks in the next ad have been
received, an affirmative outcome at the decision box 1112, then the viewer program
updates the secure local database, provides the completed ad information to the Ad server,
and obtains information for download of the next ad, as indicated by the flow diagram
box numbered 1114. The viewer program next updates the current state information in
the secure local database, as indicated by the flow diagram box numbered 1116. The
viewer program continues with other normal processing.
The viewer program preferably includes an Application Program Interface (API)
that permits its functionality to be available to other programs, as known to those skilled
in the art. In addition, means other than the viewer program may be used in download
control. For example, the well-known "BackWeb" client/server products from BackWeb
Technologies, Inc. of San Jose, California may be used for download control.
As described above, the client viewer program of the preferred embodiment
manages an ad pool stored in the user computer so that the oldest ad is discarded when a
new ad is received. A targeted client of the preferred embodiment provides greater
flexibility in managing the ad pool and targeting ad files to individual users. The targeted
client permits selection of ad files to be provided to individual subscribers of the access
service by collecting demographic information upon initiation of the access service to a
subscriber. That is, both the viewer client and the targeted client send ad files to specific
users, but an ad server that works with the targeted client will send ad files to specific
users based on demographic information received from each particular user.
In the preferred embodiment, a single targeted client installed at a user computer is
associated with a single user who subscribes to the Internet access service, although the
user of an installed targeted client can also be associated with multiple member accounts.
For example, the initial user who establishes a subscriber account at a computer or
machine becomes the "master" account, and additional member accounts may be
associated with that master user account. After the user account is established and user
demographic information is collected for the master account, the additional member
accounts may be established from the same computer, and corresponding demographic
information will be collected from each new member. It should be understood that
references to "user" in this discussion will mean either a master user account or an
associated member account, unless otherwise specified. Ad files will be targeted to each
different user. Moreover, the preferred embodiment permits multiple users to share ad
files on the same computer, to conserve network bandwidth and avoid waste of resources
that would be associated with downloading the same ad file multiple times.
The present invention has been described above in terms of a presently preferred
embodiment so that an understanding of the present invention can be conveyed. There
are, however, many configurations for Internet access systems not specifically described
herein but with which the present invention is applicable. For example, use of Internet
bandwidth may be detected by identifying the occurrence of Internet browser events, such
as new links or page download completion. Similarly, ftp-programs and e-mail use can
be watched for and avoided. Also, the viewer window control functions can be varied
from that shown above. A fully configurable window or a window that pops out on the
desktop could be provided, if desired. The present invention should therefore not be seen
as limited to the particular embodiments described herein, but rather, it should be
understood that the present invention has wide applicability with respect to providing
Internet access generally. All modifications, variations, or equivalent arrangements and
implementations that are within the scope of the attached claims should therefore be
considered within the scope of the invention.