U.S. patent application number 08/962135 was filed with the patent office on 2002-02-28 for information and advertising distribution system and method.
Invention is credited to HASSETT, GREGORY P., REILLY, JAMES P..
Application Number | 20020026349 08/962135 |
Document ID | / |
Family ID | 23944476 |
Filed Date | 2002-02-28 |
United States Patent
Application |
20020026349 |
Kind Code |
A1 |
REILLY, JAMES P. ; et
al. |
February 28, 2002 |
INFORMATION AND ADVERTISING DISTRIBUTION SYSTEM AND METHOD
Abstract
In summary, the present invention is an information and
advertising distribution system. A data server stores and updates a
database of information items and advertisements. The information
items and advertisements are each categorized so that each has an
associated information category. Workstations remotely located from
the data server each include a display device, a communication
interface for receiving at least a subset of the information items
and advertisements in the data server's database and local memory
for storing the information items and advertisements received from
the data server. An information administrator In each workstation
establishes communication with the data server from time to time so
as to update the information, items and advertisements stored In
local memory with at least a subset of the information items and
advertisements stored by the data server. An information display
controller in each workstation displays on the workstation's
display device at least a subset of the information items and
advertisements stored in local memory when the workstation meets
predefined idleness criteria. At least a subset of the workstations
include a profiler for storing subscriber profile data. The
subscriber profile data represents subscriber information viewing
preferences, indicating information categories for which the
subscriber does and does not want to view information items. The
information display controller includes a filter for excluding from
the information items displayed on the display device those
information items inconsistent with the subscriber profile
data.
Inventors: |
REILLY, JAMES P.; (SAN
FRANCISCO, CA) ; HASSETT, GREGORY P.; (CUPERTINO,
CA) |
Correspondence
Address: |
BLAKELY SOKOLOFF TAYLOR & ZAFMAN
12400 WILSHIRE BLVD
7TH FLOOR
LOS ANGELES
CA
90025
|
Family ID: |
23944476 |
Appl. No.: |
08/962135 |
Filed: |
October 31, 1997 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
08962135 |
Oct 31, 1997 |
|
|
|
08489591 |
Jun 12, 1995 |
|
|
|
5740549 |
|
|
|
|
Current U.S.
Class: |
705/14.55 ;
705/26.1; 707/E17.109 |
Current CPC
Class: |
G06Q 30/0277 20130101;
G06Q 30/0272 20130101; G09G 2330/04 20130101; G09F 27/00 20130101;
H04N 21/812 20130101; H04N 21/44224 20200801; G06Q 30/0257
20130101; G06Q 30/0243 20130101; G06Q 30/0601 20130101 |
Class at
Publication: |
705/14 ;
705/27 |
International
Class: |
G06F 017/60 |
Claims
What is claimed is:
1. An information and advertising distribution system, comprising:
a data server for storing and updating a database of information
items and advertisements, at least a subset of said information
items having an associated information category; a plurality of
workstations remotely located from said data server for use by a
corresponding set of subscribers; each workstation including: a
display device; a communication interface for establishing a
communication connection with said data server and for receiving at
least a subset of said information items and advertisements in said
data server's database; local memory for storing the in(information
items and advertisements received from said data server; an
information administrator that establishes communication with said
data server from time to time so as to update the information items
and advertisements stored in said local memory with at least a
subset of said information items and advertisements stored by said
data server; and an information display controller for displaying
on said display device at least a subset of said information items
and advertisements stored in said local memory when said
workstation meets predefined idleness criteria.
2. The information and advertising distribution system of claim 1,
wherein said information display controller also displays said
information items and advertisements on said display device upon
request by one of said subscribers using said workstation.
3. The information and advertising distribution system of claim 1,
wherein said data server includes means for receiving new
information, for updating said information items stored by said
data server with new information items corresponding to said new
information and for deleting older ones of said stored information
items; said information administrator in at least a subset of said
workstations Includes a scheduler that prompts said information
administrator to download said information items from said data
server so as to update the information items stored in those
workstations' local memory more often than said information
administrator downloads said advertisements from said data server
so as to update the advertisements stored in those workstations'
local memory.
4. The information and advertising distribution system of claim 1,
wherein at least a subset of said information items stored in said
local memory and in said data server each have associated therewith
at least one information category selected from a defined set of
information categories; at least a subset of said workstations
include a profiler for storing subscriber profile data, said
subscriber profile data including data representing subscriber
information viewing preferences for viewing information items
associated with various ones of said defined set of information
categories; and said information display controller includes a
filter for excluding from the information items displayed on said
display device those of said information items inconsistent with
said subscriber information viewing preferences.
5. The information and advertising distribution system of claim 1,
wherein at least a subset of said information items stored in said
local memory and in said data server each have associated therewith
at least one information category selected from a defined set of
information categories; at least a subset of said workstations
include a profiler for storing subscriber profile data, said
subscriber profile data including data representing subscriber
information viewing preferences for viewing information items
associated with various ones of said defined set of information
categories; and said information administrator includes a filter
for excluding from the information items stored in said local
memory those of said information items inconsistent with said
subscriber information viewing preferences.
6. The information and advertising distribution system of claim 1,
wherein at least a subset of said information items stored in said
local memory and in said data server each have associated therewith
at least one information category selected from a defined set of
information categories; said information display controller
displays on said display device, in successive time periods, ones
of said information items stored in said local memory associated
with successively selected ones of said information categories.
7. The information and advertising distribution system of claim 1,
wherein said local memory of each said workstation stores a
plurality of display scripts, each display script for controlling
display of at least one information item in conjunction with
display of at least one advertisement; and said information display
controller displays on said display device, in successive time
periods, said information items stored in said local memory in
conjunction with advertisements stored in said local memory,
utilizing successive ones of said display scripts stored in said
local memory during said successive time periods.
8. The information and advertising distribution system of claim 7,
wherein at least a subset of said information items stored in said
local memory and in said data server each have associated therewith
at least one information category selected from a defined set of
information categories; at least a subset of said advertisements
stored in said local memory and in said data server each have
associated therewith at least one information category selected
from a defined set of information categories; and said information
display controller displays on said display device, during each of
at least a subset of said successive time periods, ones of said
information items and advertisements associated with a same one of
said defined set of information categories.
9. The information and advertising distribution system of claim 7,
wherein said information items stored in said local memory and in
said data server each have associated therewith an information
category selected from a defined set of information categories;
said advertisements stored in said local memory and in said data
server each have associated therewith at least one information
category selected from a defined set of information categories; and
said information display controller displays on said display
device, during each said successive time period, at least one of
said locally stored advertisements and ones of the locally stored
information items associated with a selected one of said defined
set of information categories, wherein said selected one of said
defined set of information categories changes during successive
time periods.
10. The information and advertising distribution system of claim 1,
wherein said data server stores a set of display scripts, each
display script for controlling display of at least one information
item in conjunction with display of at least one advertisement;
said local memory of each said workstation stores at least a subset
of said display scripts; said information administrator updates the
display scripts stored in said local memory with at least a subset
of said display scripts stored by said data server; and said
information display controller displays on said display device, in
successive time periods, said information items stored in said
local memory in conjunction with advertisements stored in said
local memory, utilizing successive ones of said display scripts
stored in said local memory during said successive time
periods.
11. The information and advertising distribution system of claim
10, wherein at least a subset of said information items stored in
said local memory and in said data server each have associated
therewith at least one information category selected from a defined
set of information categories; at least a subset of said
advertisements stored in said local memory and in said data server
each have associated therewith at least one information category
selected from a defined set of information categories; and said
information display controller displays on said display device,
during each of at least a subset of said successive time periods,
ones of said information items and advertisements associated with a
same one of said defined set of information categories.
12. The information and advertising distribution system of claim
10, wherein said information items stored in said local memory and
in said data server each. have associated therewith an information
category selected from a defined set of information categories;
said advertisements stored in said local memory and in said data
server each have associated therewith at least one information
category selected from a defined set of information categories; and
said information display controller displays on said display
device, during each said successive time period, at least one of
said locally stored advertisements and ones of the locally stored
information items associated with a selected one of said defined
set of information categories, wherein said selected one of said
defined set of information categories changes during successive
time periods.
13. An information and advertising distribution system, comprising:
a data server for storing and updating a database of information
items and advertisements, at least a subset of said information
items having an associated information category; a plurality of
workstations remotely located from said data server for use by a
corresponding set of subscribers; each workstation including: a
display device; a communication interface for establishing a
communication connection with said data server and for receiving at
least a subset of said information items and advertisements in said
data server's database; local memory for storing the information
items and advertisements received from said data server, an
information administrator that updates the information items and
advertisements stored in said local memory from time to time with
at least a subset of said information items and advertisements
stored by said data server, and an information display controller
for displaying on said display device at least a subset of said
information items and advertisements stored in said local memory
when said workstation meets predefined idleness criteria.
14. An information and advertising display system, comprising: a
display device; local memory for storing information items and
advertisements; a plurality of display scripts, each display script
for controlling display of at least one information item in
conjunction with display of at least one advertisement; and an
information display controller for displaying on said display
device at least a subset of said information items and
advertisements stored in said local memory when said workstation
meets predefined idleness criteria; wherein said information
display controller displays on said display device, in successive
time periods, said information items stored in said local memory in
conjunction with advertisements stored in said local memory,
utilizing successive ones of said display scripts stored in said
local memory during said successive time periods.
Description
BACKGROUND OF THE INVENTION
[0001] The use of advertising revenues to pay for information
dissemination is well established in domains such as television and
radio in which end users are tuned to a continuous signal over a
lengthy period of time. In such systems, due to the continuous
nature of the signal being monitored by the end users, the end
users are sufficiently similar to a "ocaptive audience" that many
or most end users remain tuned to the same signal even when the
main program to which they are listening or viewing is interrupted
by advertisements.
[0002] Another example of advertising mixed with information
dissemination is the use of scrolled text at the bottom of a
television of computer screen, where the main program occupies most
of the end user's visual field and a smaller portion is occupied by
advertisements and the like on a "scroll bar" or similar visual
device along the periphery of the screen. In some contexts, such as
cable television channels that display a "stock ticker tape," this
relationship is reversed: the information portion of the screen
occupies a small part of the screen, such as horizontally scrolling
image region at the top or bottom of the display and the remainder
of the screen is occupied by advertisements, "infomercial" and the
like.
[0003] Yet another example of mixing advertisements with
information dissemination are newspapers and magazines.
[0004] Most, and perhaps all such examples of mixing advertisements
with information content are based on systems in which the end user
has actively elected to view or listen to a program or to otherwise
receive information. Furthermore, in virtually all such systems or
media, the juxtaposition or placement of advertisements and
information content is explicitly programmed or determined by human
beings working as "editors" or in a similar content and/or
presentation editing capacity.
[0005] Up until the present, distributing information via the
Internet or other publicly accessible computer communication
networks has been largely unsupported by advertising revenues due
to the lack of good mechanisms for mixing advertising and
information content in such a way as to be acceptable to both end
users and advertisers. There are, of course, some exceptions where
advertising/content mixtures from other contexts, such as
newspapers and television, have been simply replicated on the
Internet. For instance, some newspapers have been "published" at
least in part on the Internet, and include advertisements along
with information content. In fact, some newspapers sell advertising
space on an associated World Wide Web (WWW) site, which often
includes extensive listings of certain types of advertisements such
as real estate advertisements, personal advertisements, and so on.
Similarly, the scroll bar type advertisement at the bottom of a
computer screen is based on similar advertising techniques used in
cable television and other television contexts.
[0006] There are also examples of computer programs which contain
advertisements. In all such examples known to the inventors, the
advertisements are either permanently embedded In the computer
programs or reside permanently with computer programs such that
they cannot be easily updated.
[0007] The present invention addresses a problem prevalent in
electronic information distribution systems. In particular, "on
line" newspapers and magazines are notoriously difficult and
tedious to read. Graphics and animation and full motion video, all
techniques widely used in television news programs, require
substantial data transmission bandwidth. Such data transmission is
expensive both in terms of communications bandwidth (capacity) and
time. In non-computer publishing such as printed magazines and
newspapers, graphics are often used to make reading less difficult
and tedious. In television the majority of information is delivered
with movement (animation), although graphics are also often
used.
[0008] The use of large bandwidth data transmissions is not
economically practical in the context of data dissemination via the
Internet and other computer networks, although the cost of such
data transmissions will undoubtedly continue to decrease. As a
result, graphics and animation have typically received relatively
little use in computer network based information dissemination
systems.
[0009] The present invention mixes advertising and information
content dissemination in a manner unlike the examples mentioned
above.
[0010] It is a goal of the present invention to disseminate
information and advertisements to subscribers' computers in a
system where the information and advertisements are automatically
displayed when the subscriber's computer is on but meets predefined
idleness criteria. For example, the predefined idleness criteria
could be the failure to receive any input for a period of at least
five minutes.
[0011] Another goal of the present invention is to automatically
update each subscriber's local database of news stories at least
once per day, and preferably multiple times per day so as to
present subscribers with timely information.
[0012] Another goal of the present invention is present news
stories and advertisements in a dynamic and easy to read
manner.
[0013] Another goal of the present invention is to categorize news
stories and advertisements, and to display advertisements
associated with each category at the same time that new stories
associated with same category are displayed, thereby providing a
"targeted" audience for advertisers.
[0014] Another goal of the present invention is provide each
subscriber with the ability to set up and change a user profile
indicating categories and subcategories of topics which are of
interest and not of interest to the subscriber, and to select the
news stories displayed on the subscriber's computer
accordingly.
[0015] Yet another goal of the present invention is to divide news
stories into at least two portions, a preliminary portion and a
secondary portion, where the preliminary portions of news stories
are automatically displayed during idle periods, and this secondary
portions are displayed only upon subscriber request.
SUMMARY OF THE INVENTION
[0016] In summary, the present invention is an information and
advertising distribution system. A information server stores and
updates a database of information items and advertisements. The
information items and advertisements are each categorized so that
each has an associated information category. Workstations remotely
located from the information server each include a display device,
a communication interface for receiving at least a subset of the
information items and advertisements in the information server's
database and local memory for storing the information items and
advertisements received from the information server. An information
administrator in each workstation establishes communication with
the information server from time to time so as to update the
information items and advertisements stored in local memory with at
least a subset of the information items and advertisements stored
by the information server. An information display controller in
each workstation displays on the workstation's display device at
least a subset of the information items and advertisements stored
in local memory when the workstation meets predefined idleness
criteria.
[0017] At least a some of the workstations include a profiler for
storing subscriber profile data. The subscriber profile data
represents subscriber information viewing preferences, indicating
information categories for which a subscriber associated with the
workstation does and does not want to view information items. The
information display controller includes a filter for excluding from
the information items displayed on the display device those
information items inconsistent with the subscriber profile
data.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Additional objects and features of the invention will be
more readily apparent from the following detailed description and
appended claims when taken in conjunction with the drawings, in
which:
[0019] FIG. 1 is a block diagram of an information and advertising
distribution system in accordance with the present invention.
[0020] FIG. 2 is a block diagram of a subscriber's computer in the
information and advertising distribution system of FIG. 1.
[0021] FIG. 3 schematically depicts the procedures and data
structures in a set of category managers.
[0022] FIG. 4 schematically depicts a user profile data structure
stored in a subscriber's computer to store status and configuration
information for a particular subscriber and workstation.
[0023] FIG. 5 schematically depicts the dialog box used to define
the user profile for one information category.
[0024] FIG. 6 schematically depicts a display generated on a
subscriber's display device using the screen saver procedure in a
preferred embodiment of the present invention.
[0025] FIGS. 7A and 7B schematically depicts the dialog box used to
define a display script and the resulting data structure.
[0026] FIGS. 8 and 9 schematically depict data structures stored in
a subscriber's computer to indicate advertisements and news stories
available for display in various information categories.
[0027] FIG. 10 schematically depicts a display generated on a
subscriber's display device using a data viewer procedure in a
preferred embodiment of the present invention.
[0028] FIG. 11 depicts the relationships between various processes
in the information server.
[0029] FIG. 12 is a flow chart depicting the procedure for updating
the local database and software modules of a subscriber's
computer.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0030] Referring to FIG. 1, there is shown a computer based
information and advertising distribution system 100 having many
client computers 102 and at least one information server computer
104. Client computers are often called "subscribers' computers" in
the present document, and the terms "subscriber computer" and
"client computers" will be used synonymously. In many instances, a
set of subscribers 102 will be located within a common local area
network (LAN) 106, and are connected to a LAN server 108.
[0031] In the preferred embodiment, each subscriber's computer 102
is connected to the information server 104 via the Internet 119 for
a small fraction of each day. Other forms of electronic
communication connections, including private wide area networks
similar to CompuServe, America OnLine or Prodigy, can be used to
connect subscribers' computers to the information server 104 in
alternate embodiments of the invention.
[0032] While most client computers are desktop computers, such as
IBM compatible computers and Macintosh computers, virtually any
type of computer can be a client computer so long as it can support
the "screen saver" mode of operation of the preferred
embodiment.
Information Server
[0033] The information server 104 includes a central processing
unit 110, primary memory 112 (i.e., fast random access memory) and
secondary memory 114 (typically disk storage), a user interface
116, an Internet interface 118 for communication with the client
computers 102 via the Internet 119, and one or more news wire
interfaces 120 for receiving news feeds from information
transmission services such as the AP news feed, the DOW news feed
and various sports news feeds. An information editor 130 is used,
typically under the direction of a person using the user interface
116, to select news stories received from the new feeds and to edit
and format the news stories into a form suitable to dissemination
to subscribers' computers using the present invention. The selected
and edited news stories 132 are stored in an information database
134 in the information server 104.
[0034] In the preferred embodiment, the information editor 130 is
used to assign each news story to an information category and,
where appropriate, to also assign the news story to one or more
sub-categories. The information editor maintains a list of the
currently defined categories and sub-categories. The category list
can be updated by the personnel operating the information server,
typically to add and delete special new categories associated with
major news events such as a famous trial or event which generates
many news stories. The category to which each news story is
assigned is represented in one or more Data Access Tables 136.
[0035] The Information editor 130 is also used to divide most news
stories into two components or portions: a primary component or
portion and a secondary component or portion. The primary component
is what is displayed on a subscriber's workstation when the
subscriber's workstation is turned on but has been idle, while the
secondary component is what is displayed, along with the primary
components only upon a subscriber's request. For instance, as will
be described below, there are number of ways in which a subscriber
can request the display of the "full texts" of a news item (which
may include photographs and the like). For convenience, the primary
component of each news story is sometimes herein called the
"headlines", even though ft will often contain more information
than just the headline of the news item, and the secondary
component of each news story will sometimes be called the
"body."
[0036] Advertisements 138 are also stored in the information
database 134 and each advertisement is assigned to at least one of
the predefined information categories. Each advertisement is
displayed on subscribers' workstations simultaneously with news
items assigned to the same category as the advertisement. When an
advertisement is assigned to multiple categories, it is treated in
most respects as several advertisements each assigned to one
category, except that only one copy of the advertisement is
actually stored.
[0037] Next, the information database in the server computer
includes a set of images 140 used during the display of news items
and advertisements. For instance, different "wallpaper" or
background images may be useful when displaying news items in
various types of information categories. As an example, the images
140 include three fixed images for indicating that the stock market
has risen, fallen or stayed largely unchanged. Then, depending on
what has happened to the stock market on any particular day,
information concerning the amount of change in the stock market
during the relevant time period, and sometimes other associated
information, is superimposed on a selected one of those fixed
images. Other images stored in the information database include
various "actors" that can be moved around the display with the news
items when the system is in screen saver mode.
[0038] The information. database 134 also stores a set of "display
scripts" 142. A script controls the display of news items and
advertisements, typically displaying a selected number of news
items and one advertisement for a period of 30 seconds. A script
determines the number of news items displayed, determines the
positions of the news items and advertisement on the display,
determines any movement of the news items around the displayed
image, and determines what background image or images are displayed
in conjunction with the news items.
[0039] An important concept associated with the present invention
is that constantly varying the presentation of news items and
advertisements, through the use of a rotating set of scripts, makes
it easier for subscribers to read the news headlines and
advertisements being presented. In a preferred embodiment, at least
two distinct scripts, and preferably three or more distinct scripts
are provided for most information categories, with a total of at
least ten different scripts being used. Most scripts can be used
with multiple categories of news items. The procedure for defining
display scripts and the associated data structure are described
below with reference to FIG. 7A.
[0040] The information database 134 also stores software modules
144 for downloading to subscribers' computers. The information
administration management procedures and information viewing
procedures in subscribers' computers will need updating and
upgrading from time to time. The new versions of these software
procedures are stored in the information server's information
database 134 for downloading into the computers of subscribers at
the same time that the information items or advertisements in the
subscriber computers' information database 184 is updated. Since
numerous types of subscriber computers are supported, the server's
information databise 134 will typically store a set of updated
software modules for each of the supported types of computers.
[0041] Finally, the information database 134 includes advertising
display statistics 148 and news item display statistics 149. The
display statistics are collected from the subscribers' computers
when the subscribers' computers call in for updated news stories
and the like. Advertising display statistics indicate how many
times each advertisement has been displayed on subscribers'
computers. In a preferred embodiment, display statistics for each
advertisement are divided into a display count for displaying
during data viewer usage, a display count for other display
instances, and an indication of each advertisement the user has
interacted with, such as by "cliking" on the advertisement to
connect to the advertiser's World Wide Web page. News item display
statistics 149 concern how much time the subscriber spent viewing
each non-advertising item in the data viewer as well as the amount
of time the screen saver was active for each information
category.
[0042] Other procedures stored in the information server's
secondary memory are a router procedure 150, application server
procedures 152, and data server procedures 154. The utility of
these procedures is explained below with reference to FIGS. 8 and
9.
Subscriber's Workstation
[0043] FIG. 2 is a schematic representation of the subscriber's
workstation or computer 102 that is not connected to the
information server 104 via a LAN server. For subscribers'
workstations connected to the information server 104 via a LAN
server 108, FIG. 2 is representative of the LAN server, but the
display device used by each such subscriber's computer to view news
items and advertisements is part of the subscriber's workstation
rather than the LAN server 108.
[0044] The subscriber workstation 102 includes a central processing
unit 170, primary memory 172 (i.e., fast random access memory) and
secondary memory 174 (typically disk storage), a user interface
176, and an Internet interface 178 for communication with the
information server 104 via the Internet 119. In this document,
whenever the phrase "clicking on X" is used, that phrase means a
subscriber selecting the X image on a display device by positioning
a pointer image over the X image, using the subscriber computer's
mouse or trackball device, and then depressing a button or key to
indicate selection of the X image.
[0045] An administration manager 180 schedules and controls all
communications with the information server 104. The administration
manager 180 includes a connection scheduler 181 that initiates the
execution of a connection manager 182 that handles communications
with the information server as well as the integration of
information and software procedures received from the information
server into the information and software procedures stored in the
client computer.
[0046] The workstation's secondary memory is used to store a local
information database 184 that includes news stories 183,
advertisements 188, images 190 and display scripts 192. In each
case the workstation's secondary memory stores at least a subset of
the corresponding items stored in the Information server 104. The
amount of information stored in the workstation's secondary memory
depends on the amount of secondary memory available for storing
such information, as well as a user profile 194 for the subscriber
that indicates which categories and subcategories of news stories
are of interest to the subscriber.
[0047] Data Access Tables 186, which are discussed in more detail
below with reference to FIGS. 5 and 6, are used to access news
stories, advertisements and display scripts associated with each of
the categories of news items that are to be displayed on the
subscriber's workstation.
[0048] Screen Saver and Viewer Procedures 200 are a set of
procedures for controlling the display of news stories and
advertisements. These procedures. include a main screen saver
procedure 201, category managers 202, an animation engine 204, a
profiler 206, a data viewer 208 and an advertisement display
statistics generator 210.
[0049] Each of the category managers 202 is a collection of
programs and data associated with particular information
categories. In the preferred embodiment there is a separate
category manager for each information category, although in some
cases it may be more efficient to use the same category manager for
two or more information categories.
[0050] Referring to FIG. 3, each category manager 202 includes a
category profiler 202A, a category profile data structure 202B, one
or more display drivers 202C for viewing items in the corresponding
information category with the data viewer, a sprite generator 202D
generating images displayed by the screen saver procedure, and an
update manager 202E.
[0051] The category profiler in each category presents a category
profile dialog to the subscriber to determine the subscriber's
interest in receiving information relating to particular
subcategories. Subcategories may relate to specific companies,
geographic regions, specific sports and sports teams, and so on,
depending on the category. The result of the decisions made by the
subscriber during the category profile dialog is stored as a
category profile data structure.
[0052] The update manager in each category handles the process of
updating the local information database with new items from the
information server for that information category as well as the
deletion of all items and the rebuilding of the portion of the data
access tables used to control access to the information items,
advertisements and display scripts in that information
category.
[0053] The display drivers in each category manager are customized
to generate images specifically needed in the corresponding
categories. For instance, in the category manager for the sports
category, the display driver includes instructions for generating a
simulated scoreboard which is automatically updated every few
seconds to show a sequence of game scores or contest outcomes in
various sporting events. In another example, the display driver for
the weather category includes instructions specifically designed
for efficiently displaying weather maps and other weather
information.
[0054] Referring once again to FIG. 2, the animation engine 204
interprets a currently selected display script and controls the
display of a selected set of news stories and an advertisement in
accordance with the instructions in the currently selected display
script.
[0055] The profiler 206 is actually a set of procedures that define
and update the subscriber's user profile 194. Referring to FIG. 4,
in the preferred embodiment, the user profile 194 includes:
[0056] a subscriber identifier 212;
[0057] a connection password 213 used in conjunction with the
subscriber identifier when connecting to the information server to
identify the calling computer as a registered subscriber;
[0058] subscriber hardware and software configuration information
214 that identifies for the information server hardware and
software information needed to determine the type of software and
image files that are compatible with the subscriber's computer;
[0059] a connection schedule 215 that specifies to the connection
scheduler 181 within the administrative manager 180 how often the
subscriber's computer should connect to the information server 104
to update its information database 184;
[0060] category and subcategory preferences information 216 that
identifies categories and subcategories of news stories that the
subscriber does not want to view, as well as a list of "special
categories" of news stories of special interest to the subscriber
which override any categories noted as not being of interest to the
subscriber;
[0061] timestamps 217a-217c indicating the time of the last updates
to the subscriber computer's locally stored set of news stories,
advertisements and administrative files (including scripts, images
and software modules);
[0062] advertising and news item display statistics 218;
[0063] screen saver information 219 indicating the last displayed
information category and the last displayed advertisement and, news
items in each information category are stored in a portion of the
user profile 194 not transmitted to the information server; and
[0064] a screen saver exit mode indicator 220, indicating what
actions cause the screen saver procedure to terminate and what
actions cause the data viewer 208 to be executed.
[0065] The default connection schedule is for the subscriber's
computer to initiate a connection to the information server once
during the middle of the night (e.g., a randomly selected time
between 11 p.m. and 7 a.m. local time) for an "administrative
update," and once every four hours during the rest of the day for
"news story updates." During the administrative update connection,
the set of advertisements, scripts and images in the subscriber
computer's local information database are updated as necessary, and
any software upgrades are also downloaded onto the subscriber's
computer. During both "administrative update" and "news story
update" connections, the news stories in the subscriber computer's
local information database are updated. At the option of the
information server's system operator, script and/or software
updates can be made during "news story update" connections,
especially when a malfunction has been detected in previously
distributed scripts or software.
[0066] In one preferred embodiment, the profiler 206 can be used to
specify a connection schedule other than the default schedule. For
instance, if the subscriber's computer is typically turned off at
night, the administrative update connection may be scheduled to
occur (A) during the subscriber's typical lunch time, or (B) once
per day when the subscriber's computer has not received any user
input for a specified minimum period of time (e.g., ten minutes)
that indicates the subscriber is away from his/her computer.
[0067] The downloading of advertisements (which are typically
images), fixed Images used by display scripts, and software modules
is preferably performed during the night or long periods of user
inactivity because images and software modules are typically much
larger than the news items, which are primarily text data. Images,
including advertisements, and software modules are compressed using
well known data compression techniques to make the download
transmissions as time efficient as possible. Even so, downloading
images is a time consuming process. For instance, downloading two
high resolution advertisement images having pixel sizes of, say,
400.times.300 pixels each, even when using data compression, will
typically take over two minutes using conventional 14.4K baud
modems. By way of contrast, downloading a dozen news stories and
corresponding database base update instructions will typically take
less than fifteen seconds of connection time using conventional
14.4K baud modems. Therefore, updating the local database's set of
news items can be accomplished relatively unobtrusively even while
the subscriber is using his/her workstation, while updates to the
advertisements and fixed images in the local database take longer
and are therefore more intrusive.
[0068] It is noted that the secondary portions of news items can
also include images, such as photographs that accompany the text of
a news story. The transmission of such news story images can
significantly increase the amount of connection time required for
news item updates, and thus most news stories in the preferred
embodiment do not use images, and every effort is made to transmit
those news stories that have images to subscribers' computers
during the overnight administrative update rather than during the
daytime news item updates.
[0069] The data viewer 208 is a program for viewing news items that
the subscriber specifically wants to read. The data viewer 208 can
be executed at the subscriber's explicit command, and can also be
launched from the screen saver if the user indicates he/she wants
to read a news story shown in the screen saver display. This is
explained in more detail below.
[0070] The display statistics generator 210 keeps tracks of how
many times each advertisement in the local information database has
been displayed since the last time advertisement display statistics
have been transferred to the information server. The display
statistics generator 210 also keeps track of how many times each
news item has been displayed in the same time period. These display
statistics are stored in the user profile 194 at 218. In the
preferred embodiment, the advertisement display statistics, and
news items display statistics, are transferred to the information
server once per day during a connection also used to update the
subscriber computer's information database. In alternate
embodiments, the advertisement display statistics could be
transferred more often (e.g., every time the subscriber's computer
connects to the information server) or less often (e.g., once per
week).
Category Profiler Dialog
[0071] As mentioned earlier, each of the category managers includes
a profiler procedure for defining the subscriber's interest in
receiving news items within each information category. An example
of the profile definition dialog generated by a category profiler,
for the Sports category, is shown in FIG. 5. In this example, the
Sports Definition Profile dialog box 222 includes, on the left
side, a scroll box 223 in which the user can select and deselect
subcategories of sports information by clicking on boxes next to
the listed subcategories. A "Select All" button in the dialog box
can be used (i.e., by clicking the subscriber computer's mouse or
trackball device on the image of the box) to select all
subcategories, and a "Deselect All" button can be used to indicate
that the subscriber does not want to receive any news hems for the
Sports category. For each subcategory, either an "include only" or
an "exclude" fiter (but not both) can be defined where the user
types in key words to be used to select (for the include only) or
deselect news items within that subcategory. For instance, if the
subscriber types in the words "49ers, Rams" in the box for the
include only filter for the "football news" subeategory, only news
items using either of those words will be shown to the
subscriber.
[0072] The category manager profile procedure generates a category
profile data structure 202B that represents the subcategories of
interest to the subscriber as well as any associated filters that
have been defined.
Display Script Definition Procedure
[0073] Referring to FIG. 6, there is shown in outline form a
snapshot of typical display generated by the screen saver procedure
of the present invention. On this particular exemplary display are
shown three news story "headlines" 230a-232c and one advertisement
image 232. Each of the headlines 230 is an image representing the
text of the "primary component" of a news items, as explained
above. While the image shown in FIG. 6 appears static, in the
preferred embodiment the display script that controls the display
of the headlines and advertisement can and most often does contain
instructions for continuously moving the headline images around the
screen.
[0074] The display scripts also mix fixed images with the headline
images to create varied and interesting displays. In one example of
a display script, cartoon characters appear to move the headlines
around. In another example of display script, the background behind
and surrounding the headlines is a sequence of fixed images such as
pictures of peaceful landscapes, while the headlines gently float
around the portions of the display not occupied by the
advertisement image 232.
[0075] Referring to FIG. 7A, the preferred embodiment provides an
easy to use dialog 234 for display script definition. A display
script consists of definitions for two or more actors, plus an
optional definition of a background image, called the wallpaper
image. Each "actor" represents a sprite, which is a displayable
image, that can move around the screen and whose size can vary
dynamically. An new actor is initially defined by selecting the
"new actor" command in the Actor menu, as shown in FIG. 7A, and
then entering a text string (shown in box 235) that specifies (A)
the sprite generator procedure to use to generate the image for the
actor, (B) the source of the information to be displayed, (C) the
nominal width and height of the sprite (e.g., in units of pixels),
and (D) any optional parameters that are specific to the specified
sprite generator (e.g., a font may be specified for the News
information category's sprite generator, whereas a font designation
parameter may be meaningless for other ones of the sprite
generators).
[0076] In the preferred embodiment, the specified sprite generator
must be either the static sprite generator that is part of the
animation engine 204, or is any specified one of the sprite
generators 202D in the category managers 202. In an alternate
embodiment, additional sprite generators may be provided by the
animation engine 204, such as an animated sprite generator for
successively displaying a sequence of images to simulate a motion.
The source of information to be displayed is either a static image,
in the case of the static sprite generator, or information items in
a specified information category. For instance, the parameter
"NextHL" in an actor definition indicates that the information to
be displayed in the corresponding sprite is the next headline in
the information category corresponding to the specified sprite
generator for the actor. In another example, the parameter "NextAd"
in an actor definition indicates that the information to be
displayed in the corresponding sprite is the next advertisement
image for the information category corresponding to the specified
sprite generator for the actor.
[0077] The second stage of defining a sprite is to define its
position and size at one second intervals, for 30 seconds in the
preferred embodiment. The position of the sprite for a particular
time can be defined by either typing in an X,Y, or by selecting a
box representing the sprite with the user interface and then moving
it to a position on a simulated display screen 236. The size
specification for the sprite at each time is a percentage of the
sprite's nominal size (e.g., "size=120" indicates the sprite is to
be displayed at 120% of its nominal size). The full definition for
a sprite includes thirty X,Y, size tuples for a thirty second
screen saver display period. In a typical display script, nor more
than one advertisement, three news items and two static images are
used because the resulting display will be excessively busy,
although the display script definition procedure allows a virtually
unlimited number of sprites to be specified.
[0078] The data structure 237 representing each display script is
shown in FIG. 7A: a header specifying the script's name, the number
of actors defined in the script, an optional Wallpaper definition,
and a list of all static images referenced by the script; plus a
set of Actor definition arrays.
[0079] The screen save procedures interpret each display script and
generate an animated display for 30 seconds based on the script.
During display, the image corresponding to each actor is moved and
sized in a virtually continuous manner, where the position and size
of each sprite is linearly interpolated between the instantaneous
position and size specifications for each second. During the
display definition process, the sequence X,Y, size parameters for
acurrently selected actor can be smoothed, to produce more fluid
movement and size changes of the actor by selecting the "smooth
path" command in the Actor menu.
[0080] Referring to FIGS. 7A and 7B, the person preparing a display
script using the display script definition dialog 234 can see the
movement and sizing of the actors in the simulated display screen
236 by selecting the simulate command in the File menu, which cause
the boxes in the simulated display screen 236 to move and be sized
in accordance-with the sequence of X,Y, size parameters for each
specified actor.
[0081] While in the preferred embodiment advertisements are always
simultaneously displayed with news items, in other embodiments
advertisements and news items could be displayed sequentially.
Computer programmers of ordinary skill in the art could modify the
script definition dialog of the preferred embodiment, as described
above, to define display scripts with sequential display of
advertisements and news items.
Screen Saver Procedures
[0082] In the preferred embodiment, the screen saver procedures for
displaying news items and advertisements are invoked using the same
types of criteria as are used by other types of screen saver
procedures. Generally, whenever the system detects a lack of user
inputs via either keyboard or pointer device (e.g., a mouse or
trackball) for a user configurable or otherwise specified length of
time (e.g., 5 minutes), the screen saver procedures of the present
invention begin the display of news items and advertisements from
the local information database. In the preferred embodiment, the
screen saver procedures display news items and advertisements for a
sequence of information categories in a sequence of 30 second time
slots.
[0083] More specifically, under the control of the screen saver
procedures, news stories and an advertisement assigned to a first
information category are displayed using a first display script for
30 seconds, then news stories and an advertisement assigned to a
second information category are displayed using a second display
script for the next 30 seconds, and so on until news stories and an
advertisement have been displayed in all the information categories
indicated in the subscriber's user profile 194 as being of interest
to the subscriber, at which point the process repeats with the
first information category.
[0084] Referring to FIG. 8, news stories, advertisements and
display scripts are stored in files or similar data structures
which have assigned unique file names. Each news story (herein
usually called a news item) is usually assigned to a single
information category, although nothing in the system of the
preferred embodiment would prevent a news story from being assigned
to multiple information categories. Advertisements can be assigned
to multiple information categories as can display scripts.
[0085] As shown in FIGS. 8 and 9, the advertisements assigned to
each information category are organized, through the use of a set
of data access tables 186, in a separate linked list so as to
create a separate "queue" of advertisements for each information
category. Similarly the news items and display scripts assigned to
each information category are organized in separate linked lists so
as to generate separate queues of news items and display scripts
for each information category.
[0086] FIG. 8 includes an example of an advertisement (A001)
assigned to two information categories (News and Sports). This
advertisement is stored only once in the workstation's local hard
disk, but is included in two of the linked lists of
advertisements.
[0087] The basic procedure for determining what display script,
advertisement and news stories to display during each 30 second
time slot is shown in pseudocode form in Table 1.
1TABLE 1 Pseudocode Representation of Screen Saver Procedure Store,
indication of last information category displayed, and for each
category an indication of the last advertisement, news story and
display script used. Do Until Screen Saver Mode is exited: { Select
next information category (SIC). Select next display script (SDS)
from queue of display scripts and next advertisement (SA) from
queue of advertisements for the selected information category.
Inspect selected display script to determine NN, the number of news
items to be displayed. Select the NN next news items (SNI) from
queue of news items for the selected information category. Update
User Profile to indicate the last selected information category,
and to indicate for the selected information category, the selected
display script, advertisement and last selected news story. Call
Animation Engine (SDS, SA, SNI) to display for the next 30 seconds
the selected advertisement (SA) and news items (SNI) under the
direction of the selected display script (SDS). Call Ad Display
Statistics Generator to update displayed advertisement statistics
to include the advertisement displayed during current screen saver
display period. }
[0088] Each time the Screen Saver procedure 201 is invoked, it
starts with the next information category after the last one to
have been used, and starts with the next advertisement and news
stories after the last ones used in that information category. The
screen saver status information 219 indicating the last displayed
information category and the last displayed advertisement and news
items in each information category are stored in a portion of the
user profile 194 not transmitted to the information server.
[0089] Execution of the Screen Saver procedure 201, like other
screen savers. Is terminated and the subscriber's computer's
display is returned to whatever was being displayed before the
Screen Saver was executed, upon detection of certain types of user
input. In the preferred embodiment, the user can use the profiler
to select one of at least two exit modes: in a first mode, the
Screen Saver procedure is terminated by hitting any key on the
subscriber computer's user interface keyboard or by moving the user
interface's mouse or trackball; in a second mode, the Screen Saver
procedure is terminated by hitting any key on the subscriber
computer's user interface keyboards but movement of the mouse or
trackball does not cause the Screen Saver procedure to terminate.
Rather, in the second screen saver exit mode, the subscriber can
use the mouse or trackball to point to any of the news items being
displayed and upon clicking one of the mouse or trackball's
buttons, the data viewer 208 is executed with the news item
selected by the subscriber being displayed.
[0090] When using the second screen saver exit mode, if subscriber
user clicks on an advertisement, the subscriber's computer is
automatically connected to the an associated World Wide Web page on
the Internet that provides additional information from the
advertiser. This is accomplished by World Wide Web connection and
viewer procedures 211 (see FIG. 2) stored on subscriber's computer.
Each advertisement is stored on both the information server and
subscriber computers as a C++ data structure that includes (A) an
image data array, typically representing a "GIF" format image, as
well as (B) a list of static images (such as corporate logos and
legends), if any, incorporated into the advertisement, and (C) a
Web site address that is used by the World Wide Web connection and
viewer procedures 211 to connect the subscriber to the advertiser's
specified Web page when the subscriber clicks on the image of the
associated advertisement.
Data Viewer
[0091] Referring to FIG. 10, the data viewer 208 is a program for
viewing news items that the subscriber specifically wants to read.
The data viewer 208 can be executed at the subscriber's explicit
command, and as just described in the immediately preceding section
of this document, the data viewer can also be launched from the
screen saver when the subscriber indicates that he/she wants to
read a news story shown in the screen saver display by "clicking"
the subscriber's computer's mouse or trackball on that news
story.
[0092] The news stories shown in the center section 248 of the data
viewer's display is selected by first selecting an information
category by clicking on any of the category buttons 250 on the left
margin of the display, and a subcategory button 252, if any, on the
bottom margin of the display, and then clicking on the article
advance backward and forward buttons 254 to scroll through the news
items in the selected information category. When a news item has
more than one photo image associated with it, the subscriber can
click on the photo advance backward and forward buttons 256 to
scroll through the photos.
[0093] Each news item displayed in the center section 248 of the
data viewer's display includes both the primary and secondary
portions of the news item, thereby providing the subscriber in most
instances with access to a fuller version of the news item than was
shown by the screen saver. In the case of very short news items,
the entire news item may be contained in its primary component.
Furthermore, in client computers with very limited hard disk space
available for storing, news items, as indicated by the user profile
194 for the client computer, the secondary component of news items
may not be stored in the local information database in order to
conserve disk space.
[0094] A portion of the data viewer screen is always occupied by an
advertisement image 258. The advertisement image shown is selected
on the basis of the information category associated with the news
item being viewed. In a preferred embodiment, the advertisement
shown in the data viewer screen is changed (A) every time the
subscriber clicks on a category button 250 so as to select a
different information category than the one previously selected,
and (B) every 30 seconds when subscriber continues to view news
items in a single information category for more than 30 seconds.
The advertisements are selected in rotating order among the
advertisements assigned to each information category, as described
above for the screen saver procedure.
[0095] When using the data viewer, if subscriber use clicks on the
displayed advertisement, the subscriber's computer is automatically
connected to the an associated World Wide Web page on the Internet
that provides additional information from the advertiser.
[0096] The Options button 260 is used to invoke dialog procedures
in which the subscriber specifies general preferences, such as how
quickly data scrolls in the scrolling windows, and which mode of
screen-saver termination the subscriber prefers.
Connecting the Subscriber's Computer to the Information Server
[0097] Referring to FIGS. 11 and 12, the information server is
preferably a set of computers interconnected by a local area
network that each operate under a multi-tasking, multi-threading
operating system such as Microsoft's Windows NT. The information
server 104 has multiple "application servers" 272, which are
processes run on one or more computers. Each application server 272
preferably has multiple threads, each of which can service one
connection with a client computer at any one time.
[0098] A primary concern with the architecture of the information
server is that the information be able to handle a very large
volume of connection requests from client computers. The
information server may need to service thousands of connection
requests per hour, and thus efficient handling of each connection
request is important.
[0099] In a preferred embodiment, during each connection of a
subscriber computer to the information server, the information
server sends a "next recommended download time" to the subscriber
computer along with the other information being downloaded onto the
subscriber computer. The server computer selects the next
recommended download times sent to the various subscriber computers
so as to spread their connection requests fairly evenly over time.
In an alternate embodiment, connection requests are spread over
time by having the subscriber computers randomly select connection
times within the general boundaries of a specified schedule of
connections (e.g., a randomly selected time anywhere within a half
hour, plus or minus, of each scheduled connection time).
[0100] When a client computer first initiates a connection to the
information server, it sends a first message to the Internet
address associated with a router process 270 in the information
server. The router selects an application server 272 with at least
one available thread and passes back to the client computer an
Internet address associated with that application server.
[0101] The client computer then sends a portion of its user profile
to the assigned application server. If an administrative update is
being requested, the locally accumulated advertising display
statistics 218 (see FIG. 4) are also sent to the application
server.
[0102] Based on the time of day and the information in the
transmitted user profile, the application server determines (A)
what type of update is to be performed (i.e., a news item update or
an administrative update), and (B) what new information needs to be
downloaded to the client computer and what items in the client
computer's local information database should be deleted. The
application server 272 then makes calls to one or more data servers
274 to collect all the information that needs to be sent to the
client computer and then sends those items to the client computer,
along with instructions on what items, if any, should be deleted
from the client computer's local information database.
[0103] The client computer then loads the received information into
its local database, and replaces software modules with received
software modules, if any. It also deletes the items, if any,
specified for deletion by the information server. Finally, it
updates its data access tables 186 to incorporate all the changes
to the information from database so that the client computer is
ready to display news items and advertisements in each information
category.
[0104] A more detailed explanation of the local database update
process is provided by a pseudocode representation of that process
in Table 2.
[0105] In one preferred embodiment, when the "client" that is
connected to the information server for an update is itself a local
area network server, the client downloads all news items into its
local database. In a second preferred embodiment, the client/LAN
server generates a group profile that represents the union of all
news category and subcategory preferences of the subscribers
connected to the client computer, and news items are downloaded
into the client's local database based on that union group profile.
In either embodiment, the screen saver procedures filter out news
items in the LAN server's local information database that are not
consistent with each subscriber's user profile, thereby showing
each subscriber only the subset of. news items corresponding to the
subscriber's user profile. In the preferred embodiments, the
subscriber level news item filtering is accomplished by setting up
the subscriber's data access tables 186 to include only news items
corresponding to the subscriber's user profile. In the computers of
stand alone subscribers, the filtering of news stories is handled
during the data download process, by only downloading news items
corresponding to the subscriber's user profile.
[0106] The subscriber level news item filtering function is also
used to enable the information server to instruct the subscribers'
computers to "black out" an advertisement, without deleting it from
the local database. For example, a company may want to suspend its
advertisements for a few days after a disaster involving the
company. The black out function is achieved by simply removing the
corresponding advertisement(s) from the advertisement queues in the
data access tables. For this purpose, the information server and
subscriber computers may temporarily define a "non-use" information
category and a corresponding advertisement queue for keeping track
of blacked out items.
2TABLE 2 Pseudocode Representation of Database Update Procedure
Connect to Information Server If Update Type=Administrative /*
i.e., not a news story only update */ { Client sends display
statistics to server, and clears display statistics upon
confirmation that server has successfully received them /* Pool
Synchronization */ Server Sends list of items (i.e., advertisement
and scripts) that should be included in the client's advertisement
and script pools Client deletes items in its advertisement and
script pools that are not included in the list received from the
Server Client determines what items are missing from its
advertisement and script pools Client sends requests to Server for
advertisements and scripts determined to be missing from local
pools Server sends requested items to Client Client stores received
advertisements and scripts in their respective disk directories
Client opens all advertisement and script files to determine the
static images referenced by those files, but not included in the
local static image pool. Client sends requests to Server for static
images determined to be missing from local pool Server sends
requested items to Client Client stores received static images in
their assigned disk directory /* Software Module Synchronization */
Client sends message indicate it is ready for software synchro-
nization, including date and time of last administrative update
Server sends new software modules, if any, based on date and time
of last administrative update } For each Category Manager (CMx) {
/* CMx.Fetch Procedure: */ Client (CMx.Fetch procedure) sends
profile data for CMx to Server, including subcategory data and
filter data, if any Server sends items consistent with profile data
Client (CMx.Fetch procedure) stores received items in data
structures and files for that category Client (CMx.Fetch procedure)
deletes items, in FIFO order, for current category which (A) exceed
data storage limit in date, (B) exceed item count limit, or (C)
exceed specified age limit /* Item storage limits 221 for each
category are defined in a portion of the user profile 194 (see
Figure 4) */ } Client updates data access tables Return
Alternate Embodiments and Extensions
[0107] While the present invention has been described with
reference to a few specific embodiments, the description is
illustrative of the invention and is not to be construed as
limiting the invention. Various modifications may occur to those
skilled in the art without departing from the true spirit and scope
of the invention as defined by the appended claims.
[0108] For instance, in an alternate embodiment of the present
invention, the server's information database 134 also includes a
client catalog which lists all subscriber's authorized to receive
news items and advertisements from the server, including a
connection password that is checked whenever the subscriber's
computer calls the information server for an update, and status
information included the last time that each subscriber's computer
received updated news items, advertisements, scripts, and software
modules.
[0109] In another alternate embodiment, the information server
broadcasts information updates to all the subscriber computers, for
example by sending an e-mail message or a sequence of e-mail
messages containing all news item, advertising, display script and
software updates to all the computers of registered
subscribers.
* * * * *