`Hoyle
`
`[54] COMPUTER INTERFACE METHOD AND
`APPARATUS WITH TARGETED
`ADVERTISING
`
`[75]
`
`Inventor: Martin David Hoyle, Destrehan, La.
`
`[73] Assignee: B. E. Technology, LLC, Bay City,
`Mich.
`
`[21] Appl. No.: 09/118,351
`
`[22]
`
`Filed:
`
`Jul. 17, 1998
`
`[51]
`[52]
`
`[58]
`
`[56]
`
`Int. Cl? ........................................................ G06F 3/00
`U.S. Cl. .......................... 345/356; 345/348; 345/357;
`707/501
`Field of Search ..................................... 707/501, 514;
`345/339, 340, 341, 348, 349, 356, 357
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,602,279
`5,347,632
`5,572,643
`5,584,025
`5,600,781
`5,617,565
`5,710,884
`5,717,923
`5,724,521
`5,732,218
`5,740,549
`5,848,397
`5,890,172
`5,914,714
`5,917,491
`5,933,811
`5,937,392
`5,948,061
`5,963,208
`5,977,970
`
`7/1986 Freeman.
`9/1994 Filepp et a!. .
`11/1996 Judson .
`12/1996 Keithley et a!. .
`2/1997 Root eta!. .
`4/1997 Augenbrauun eta!. .
`1!1998 Dedrick.
`2/1998 Dedrick.
`3/1998 Dedrick .
`3/1998 Bland et a!. .
`4/1998 Reilly eta!. .............................. 705/14
`12/1998 Marsh et a!. ... ... ... ... ... .... ... ... ... .. 705/14
`3/1999 Borman eta!. ......................... 707/501
`6/1999 Brown ..................................... 345/339
`6/1999 Bauersfeld .............................. 345/352
`8/1999 Angles et a!.
`. ... ... ... ... .... ... ... ... .. 705/14
`8/1999 Alberts .. ... ... ... .... ... ... ... ... ... .... ... . 705/14
`9/1999 Merriman eta!. ...................... 707/501
`10/1999 Dolon et a!. ............................ 345/357
`11/1999 Amro eta!. ............................ 345/340
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US006141010A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,141,010
`Oct. 31, 2000
`
`OTHER PUBLICATIONS
`
`Brown, M, Using Netscape 3, special Edition p. 40, 43, 52,
`53, 58, 59, 62-64, 94-109, 1996.
`
`Primary Examiner-Raymond 1. Bayerl
`Assistant Examiner---Cao H Nguyen
`Attorney, Agent, or Firm---Reising, Ethington, Barnes,
`Kisselle, Learman & McCulloch, P.C.
`
`[57]
`
`ABSTRACT
`
`A method and apparatus for providing an automatically
`upgradeable software application that includes targeted
`advertising based upon demographics and user interaction
`with the computer. The software application is a graphical
`user interface that includes a display region used for banner
`advertising that is downloaded from time to time over a
`network such as the Internet. The software application is
`accessible from a server via the Internet and demographic
`information on the user is acquired by the server and used
`for determining what banner advertising will be sent to the
`user. The software application further targets the advertise(cid:173)
`ments in response to normal user interaction, or use, of the
`computer. Associated with each banner advertisement is a
`set of data that is used by the software application in
`determining when a particular banner is to be displayed.
`This includes the specification of certain programs that the
`user may have so that, when the user runs the program (such
`as a spreadsheet program), an advertisement will be dis(cid:173)
`played that is relevant to that program (such as an adver(cid:173)
`tisement for a stock brokerage). This provides two-tiered,
`real-time targeting of advertising-both demographically
`and reactively. The software application includes program(cid:173)
`ming that accesses the server on occasion to determine if one
`or more components of the application need upgrading to a
`newer version. If so, the components are downloaded and
`installed without requiring any input or action by the user.
`
`22 Claims, 14 Drawing Sheets
`
`Health
`bJlQJ ~
`Place Other Ad Here
`0 V1ew litle ® Yi~:V..:JJBJJ ~
`~ 8···Q"Sports"
`-:.._(])
`B···O Baseball
`8··0 Managers
`'····e Link4
`i
`r9lJ:::?t
`~ S···O Players
`i L...o Link3
`.JD__
`!··0 Linkl
`t::::::jj
`L. ... o Link2
`I:ElDJ
`
`r GiiJ
`
`80
`
`I&-\
`-
`riilJ
`0
`
`1
`
`
`
`""(cid:173)~ .... = ~ =
`
`~
`....
`0\
`
`'"""' ~
`'"""' 0 ......,
`~ .....
`'JJ. =(cid:173)~
`
`'"""' ~
`~
`!"""
`I")
`0
`
`N c c c
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`FIG. 1
`
`Server
`ADM
`
`22
`
`L__£_
`
`TCP /IP ~ e
`
`30
`
`\ 18
`
`)
`
`~----------------_____ ,
`
`Module
`ADM
`
`Module
`
`GUI
`
`I
`
`12
`
`i--------------------~ Application
`
`Software
`Client
`
`\
`10
`
`~
`34
`
`Storage
`User Data
`
`Display
`~
`
`28
`
`24
`\
`
`26~
`
`2
`
`
`
`""(cid:173)~ .... = ~ =
`
`~
`....
`0\
`
`'"""' ~
`0 ......,
`N
`~ .....
`'JJ. =(cid:173)~
`
`'"""' ~
`~
`!"""
`I")
`0
`
`N c c c
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`FIG.2
`
`22
`
`ADM Server
`
`TCP /IP
`
`26
`
`Display
`
`~ I
`
`Application
`Software
`Client
`
`38
`
`34
`
`I I
`-r------1
`
`I
`
`Module
`
`GUI
`
`3
`
`
`
`""(cid:173)~ .... = ~ =
`
`~
`....
`0\
`
`'"""' ~
`0 ......,
`~
`
`~ .....
`'JJ. =(cid:173)~
`
`'"""' ~
`~
`!"""
`I")
`0
`
`N c c c
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`46
`
`Database
`
`Demographics
`
`User I
`
`FIG. 3
`
`Ad Database
`
`44
`
`40
`
`Client
`
`ADM Server
`
`22
`
`Components
`
`Updated
`
`48
`
`Ad Servers
`
`50
`
`Client
`
`40
`
`Client
`
`Client
`
`Client
`
`40
`
`Client
`
`42
`
`Client
`
`4
`
`
`
`""(cid:173)~ .... = ~ =
`
`~
`....
`0\
`
`'"""' ~
`0 ......,
`~
`
`~ .....
`'JJ. =(cid:173)~
`
`'"""' ~
`~
`!l
`0
`
`N c c c
`
`~ = ......
`
`~ ......
`~
`•
`\Jl
`d •
`
`FIG. 4
`
`----------~----------------------------
`
`Application
`Software
`Client
`
`Module
`Auxiliary
`
`all other modules
`Interfaces with
`
`m~
`
`Module
`Builder
`
`22 __)
`
`Server
`ADM
`
`66 _:=1
`
`J
`Module
`
`Module
`PDA
`
`l 162
`
`Module
`ADM
`
`54~ [
`
`1---
`
`641
`
`Module
`Login
`
`60~
`
`T
`~ GUI Module
`
`l ;:_:}
`
`I
`I
`
`\
`
`I
`
`Module
`
`I
`:
`
`u
`
`~----~~----------~----~------~~~---y::-~8
`
`Storage
`Banner
`
`Storage
`User Data
`
`34~
`
`26__j
`
`Display
`
`5
`
`
`
`""(cid:173)~ .... = ~ =
`
`~
`....
`0\
`
`'"""' ~
`0 ......,
`Ul
`~ .....
`'Jl =(cid:173)~
`
`'"""' ~
`~
`!"""
`I")
`0
`
`N c c c
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`~ FIG. 5a
`
`01
`rlitDI
`
`""""1 ... 1 B···c;:J"Sports"
`0 Viewiitle
`
`FIG. 5
`
`Q~on
`
`---++------7 4
`
`88
`
`80
`
`24
`
`L ... 0Link2
`i ...... QLinkl
`j L ... o Link3
`8 .. ·0 Players
`j
`'""t:) Link4
`8 .. 0 Managers
`
`flOJ
`53
`~
`Gtn
`
`El·O Baseball
`
`80
`
`6
`
`
`
`""(cid:173)~ .... = ~ =
`
`~
`....
`0\
`
`'"""' ~
`0 ......,
`0'1
`~ .....
`'JJ. =(cid:173)~
`
`'"""' ~
`~
`!"""
`I")
`0
`
`N c c c
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`---------~;~----Jii<:i~-(5
`
`-100
`
`\
`
`-------
`
`L------------c.=..=._-52
`I
`
`Messaging
`
`Error Handling I
`
`114
`
`112
`
`---,
`
`110
`
`108
`ADM Module
`
`r--
`
`-----------c~;-------
`
`Component
`
`File I/0
`
`..I
`I
`r---------------------------,
`
`C: 126
`
`I
`
`I
`
`C: 124
`1/0 Module
`
`I
`
`I URL Component ~
`
`I 98
`I
`I
`
`I 92
`I
`I
`I
`I
`
`Drag Button
`-------------r-
`
`'
`
`% r-----------
`
`GUI Module
`
`I
`
`\.._56
`----------1
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`Component
`
`------,---
`
`----------
`
`Component
`
`Notes Registration
`
`120
`
`I 1
`..
`1
`r---------------------------,
`Notes Module
`
`118 ~
`
`I
`
`I
`
`116 :='\
`
`Component
`Notes Display
`
`Toolbar Com onent
`
`Collapsible
`
`I
`
`Banner Component
`
`104 I LH
`
`1
`
`90
`
`7
`
`
`
`""(cid:173)~ .... = ~ =
`
`~
`....
`0\
`
`'"""' ~
`0 ......,
`-..J
`~ .....
`'JJ. =(cid:173)~
`
`'"""' ~
`~
`!"""
`I")
`0
`
`N c c c
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`FIG. 7
`
`High
`
`travel, entertainment
`
`Banner:XX.gif www.last_link.com\cgi\login
`
`Medium
`
`www.sports.com
`
`www.espn.com
`
`www.nfl.com
`
`sports
`
`third link.com
`
`Banner03. gif
`
`High
`
`Control Panel: System
`
`Banner02.gif www.second_link.com \products business, shopping, computers
`
`General
`
`Excel™, 123™
`
`www.microsoft.com\excel
`
`business, finance
`
`www.first link.com
`
`BannerOl.gif
`
`www.lotus.com\123
`
`Level
`Priority
`
`Programs
`Associated
`
`Links
`
`Associated
`
`Categories
`Associated
`
`Destination Link
`
`. Image File
`
`8
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 8 of 14
`
`6,141,010
`
`Start
`
`User Download
`Request
`
`Send Form
`to User
`
`132
`
`134
`
`138
`
`Request Correction
`ofForm
`
`No
`
`Assign Unique
`ID to User
`
`140
`
`Store ID Along
`with Demographic
`Data
`
`142
`--_j
`
`Transmit Client
`Application to User
`
`144
`
`Stop
`
`FIG. 8
`
`9
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 9 of 14
`
`6,141,010
`
`Start
`
`Display
`Login
`
`148
`
`Yes
`
`154
`
`Access User Setup
`Preferences & Bookmarks
`from User Data Storage
`
`Display
`GUI
`
`Stop
`
`156
`
`FIG. 9
`
`160
`
`162
`
`Request
`Demographic Data
`
`No
`
`Required Data
`Present
`
`164
`
`166
`
`Report Demographic
`Data & Store New
`User Data
`
`Access Default
`Preferences & Bookmarks
`
`10
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 10 of 14
`
`6,141,010
`
`182
`
`Report computer
`Usage Information
`
`Download
`New Banners
`
`186
`
`184
`
`Reset
`Flag Alert
`
`Yes
`
`Builder
`Routine
`
`190
`
`Start
`
`FIG.
`
`10
`
`Yes
`
`No
`
`No
`
`172
`
`No
`
`Yes
`
`176
`
`No
`
`Process
`User Input
`
`Select &
`Display Banner
`
`174
`
`11
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 11 of 14
`
`6,141,010
`
`Start
`
`FIG. 11
`
`194
`
`Run Default
`Browser and open
`Banner Link
`
`12
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 12 of 14
`
`6,141,010
`
`220
`
`222
`
`Start
`
`Determine
`Priority Level
`
`Determine
`Banner Category
`
`Select & Display
`Banner
`
`Record Event, Time,
`& Banner Display
`
`Increment
`Banner Count
`
`224
`
`226
`
`228
`
`FIG. 12
`
`Move to Next
`Set of Banners
`
`234
`
`Notify Flag
`Alert Component
`
`Stop
`
`13
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 13 of 14
`
`6,141,010
`
`Start
`
`Access Version Numbers for
`each Upgradable Component
`in Client Application
`
`236
`
`FIG. 13
`
`Generate
`Current
`Blueprint
`
`238
`
`240
`
`Access updated
`Blueprint from ADM
`Server
`
`242
`
`No
`
`Is Updated
`Blueprint Equal
`to current
`Blueprint?
`
`Yes
`
`244
`
`No Upgrading
`Necessary
`
`246
`
`Determine New
`Component(s) Needed
`
`Pass Control to
`Auxiliary Module
`
`252
`
`No
`
`Terminate Builde
`Execution
`
`Download and Install
`New Component(s)
`
`250
`
`Stop
`
`14
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 14 of 14
`
`6,141,010
`
`Start
`
`256
`
`Access Updated
`Blueprint ID
`from ADM Server
`
`258
`
`Updated
`ID equal to
`current ID
`
`No
`
`FIG.14
`
`260
`
`Send Current
`ID to ADM Server
`
`No upgrading
`Necessary
`
`264
`
`266
`
`Download & Install
`Updated Component(s)
`
`Restart
`GUI
`
`Stop
`
`15
`
`
`
`6,141,010
`
`1
`COMPUTER INTERFACE METHOD AND
`APPARATUS WITH TARGETED
`ADVERTISING
`
`TECHNICAL FIELD
`
`This invention relates in general to user interfaces for
`accessing computer applications and information resources
`and, in particular, to user interfaces that provide advertising
`obtained over a global computer network such as the Inter(cid:173)
`net.
`
`BACKGROUND OF THE INVENTION
`
`The continuing expansion of the Internet and other private
`and semi-private networks has led to the now widespread
`practice of electronic distribution of software to end users,
`whether as freeware, shareware, or fully paid-up licensed
`software. Traditionally, freeware programs have generally
`been small, unsupported single-purpose programs that are of
`limited use. Since no income was derived from these
`programs, there was little incentive for the creators of this
`type of software to undertake major development efforts.
`More recently, however, a new type of free software has
`emerged which, while free to end users, does provide
`income to the creator of the software via advertising incor(cid:173)
`porated into the software. This is of benefit both to the end
`user and advertiser, as the end user obtains useful software
`at no cost and the advertiser gets advertising exposure for its
`products or services. One well known example of this type
`of arrangement is in push technology products, such as
`Pointcast™, which permits a user to receive and display
`broadcasted information over the Internet. Using this
`software, new advertising is periodically received along
`with various requested types of news information (e.g.,
`financial, business, sports) and is stored locally on the user's
`computer for later retrieval and display by the program.
`The new advertising medium provided by the Internet has
`a number of significant advantages for advertisers. First, the
`users of the software within which the advertising is placed
`have, on average, much more disposable income to spend on
`products and services than the average user of other tradi(cid:173)
`tional advertising media, such as television or print. Second,
`the advertising can, in some instances, be targeted in various
`ways, such as demographically or reactively. An example of
`the latter of these is in push technology where the user
`requests certain types of information and this request is used
`to select the type of advertisement sent to the user along with
`the requested content. Third, the advertising can not only
`include audio and video elements as well as simple visual
`elements, but can also be interactive. For example, by
`clicking on the advertisement, the user can be provided with
`additional information about the advertised products or
`services and can even be given the opportunity to purchase
`the products or services electronically.
`One of the most common methods of advertising via the
`Internet is through the use of links (e.g., URLs) embedded
`within web pages. By using embedded links, the advertise(cid:173)
`ments need not be located on the same server as the web
`pages themselves. When the web page is loaded or reloaded,
`the advertising server is accessed to obtain a new advertise- 60
`ment which is incorporated into the web page displayed on
`the user's screen. These advertisements are simple graphical
`images (such as animated gifs) that are retrieved from the
`advertising server along with an associated link to additional
`information about the advertised product or service. While 65
`this permits new advertising to be displayed each time a web
`page is loaded or refreshed, and while this allows geographi-
`
`2
`cally unlimited advertising, it at most permits targeting of
`the advertisement based upon the type of information con(cid:173)
`tained in the web page. Moreover, access to a new adver(cid:173)
`tisement is only available during the period of time that the
`5 client computer is connected to the Internet.
`Currently-available computer programs that incorporate
`advertising into their user interface include the necessary
`programming built into the software itself. That is, the
`various parameters relating to the presentation of the adver-
`10 tisement is pre-determined and programmed into the soft(cid:173)
`ware. These parameters may include such things as where on
`the screen the advertisement is displayed, the display size,
`the duration of display, the number of times a particular
`advertisement is displayed, the conditions under which a
`15 particular advertisement is to be displayed, the type of action
`taken upon a user clicking on the advertisement, and so
`forth. One problem with these currently available programs
`is that these parameters can only be changed by replacement
`of the entire program with an updated, revised version,
`20 making it difficult to respond to desired changes in adver(cid:173)
`tising approaches.
`To provide demographically-targeted advertising, the
`advertiser or distributor of the advertising must obtain
`demographic data on its end users. Perhaps the most com-
`25 mon way to acquire demographic data regarding users via
`the Internet is to request the information using a form written
`in html (HyperText Markup Language) and provided to the
`user over the World-Wide Web (WWW) using http
`(HyperText Transfer Protocol). This is sometimes done as a
`30 prerequisite to allowing the user access to information
`resources or download software from a particular web site.
`While authentication of demographic information obtained
`this way is difficult and rarely done, it has been found that
`end users typically provide accurate demographic data in
`35 return for free download access to software. Furthermore,
`studies have shown that while people are concerned about
`privacy issues and, in particular, do not wish to provide
`specific information that identifies them (such as their name,
`address, or Social Security number), they generally do not
`40 mind providing demographic information, nor do they mind
`monitoring of their computer usage as long as their usage is
`not associated with any specific information that could be
`used to identify them.
`Various other arrangements have been suggested for
`45 obtaining and reporting information about an end user over
`a computer network such as the Internet. For example, U.S.
`Pat. No. 5,724,521 to Dedrick discloses an electronic adver(cid:173)
`tising system in which a user profile is created and trans(cid:173)
`ferred to a metering server where it is used along with other
`50 end user profiles to charge advertiser's according to a
`consumer scale. The profile data is also used by the metering
`server to select advertisement titles that are sent to the end
`user for viewing at the request of the end user. When a user
`requests an advertisement, the metering server sends the
`55 advertisement to the end user, charges the advertiser, and
`provides the advertiser with profile data on that end user. The
`system can include client-side software which acquires and
`compiles information concerning the user's interaction with
`the advertising or other content provided by the metering
`server.
`U.S. Pat. No. 5,732,218 to Bland et al. discloses a system
`for gathering data concerning an end-user's access to infor(cid:173)
`mation resources and reporting the data back to the servers
`that contain the information resources. Data gathering at the
`client is accomplished using an applet, plug-in, or other
`browser extension that acquires the data and then reports
`that data to those servers accessed by the client, either
`
`16
`
`
`
`6,141,010
`
`4
`program module -One or more related program compo(cid:173)
`nents.
`program-One or more related program modules.
`
`3
`periodically or in response to a specific request by the
`servers. In this way, the servers being accessed for their
`information resources get reported back to them information
`concerning the end-user's use of that information. Limited
`demographic information (e.g., time zone, locale, client 5
`hardware) can be included in this reporting as well.
`One of the disadvantages of prior art systems that acquire
`data regarding an end-user's computer usage is that they are
`generally limited to gathering information concerning only
`certain limited uses of the computer. For example, in Bland
`et al., the focus of the gathering and use of end-user data is
`in the user's interaction with web pages, whether over the
`Internet or otherwise. Similarly, in Dedrick, the compilation
`of data is directed to interaction between the end-user and
`the advertising or other content provided by the metering 15
`server itself. By limiting the reported data in this manner, it
`is difficult to develop accurate profiles for the individual
`users that are useful in targeting the advertising.
`U.S. Pat. No. 5,347,632 to Filepp et al. discloses a
`reception system in which both user demographics and 20
`individual system usage information can be used to target
`advertising. However, this information is used to select
`which advertisements are to be placed into an advertisement
`queue from which advertisements are then accessed, appar(cid:173)
`ently in the order in which they were placed in the queue. 25
`Thus, this system permits targeting of advertising generally,
`but does not provide real time targeting of advertising based
`upon user actions.
`Except as may be explicitly indicated otherwise, the
`following definitions shall apply:
`computer-An apparatus having a processing device that is
`capable of executing instructions.
`computer usage information-Data concerning a person's
`use of a computer, including such things as what programs
`they run, what information resources they access, what time
`of day or days of the week they use the computer, and so
`forth.
`data set-A group of data items; for example, links,
`keywords, or entries in an address book.
`display object-Data capable of display by a computer,
`including graphical images as well as multimedia presenta(cid:173)
`tions or other display data that includes audio in addition to
`visually-perceived data.
`graphical image-Visually-perceived data stored in a
`graphic format (e.g., jpeg, gif, bmp, tiff, pcx, etc.), including
`electronically-reproduced photographs, graphics,
`animations, icons, and textual messages.
`information resource-A source of information stored on a
`server or other computer that is accessible to other comput- 50
`ers over a network.
`keyword-A textual data item used in locating related
`sources of information.
`link-A data item that identifies the location or address of a
`program or information resource. A URL is a link, as is a
`path and filename of an information resource.
`non-volatile data storage device-A memory device that
`retains computer-readable data or programming code in the
`absence of externally-supplied power, including such things
`as a hard disk or a floppy disk, a compact disk read-only 60
`memory (CDROM), digital versatile disk (DVD), magneto(cid:173)
`optical disk, and so forth.
`program component-A set of instructions stored in a file in
`computer-readable format, whether as object code or source
`code, and whether written in a compiled language, in byte 65
`code (such as Java™), or in a scripting or other interpreted
`language.
`
`reactively-in response to some type of user input, such as
`a mouse click on a particular user application or on a link to
`an information resource.
`server-A computer on a network that answers requests for
`information.
`10 software application-A program and associated libraries
`and other files; for example, a word processing application,
`a spreadsheet application, or a personal information man(cid:173)
`agement application.
`
`SUMMARY OF THE INVENTION
`In accordance with one aspect of the present invention
`there is provided an apparatus for use by a computer to
`provide a user of the computer with access to information
`resources via the Internet or otherwise. The apparatus com-
`prises a non-volatile data storage device with first and
`second program modules stored on the non-volatile storage
`device. The first program module is operable upon execution
`to display a graphical user interface comprising a window
`separated into a number of regions, with a first one of the
`regions including a number of user-selectable items, at least
`some of which are each associated with a different data set.
`The data sets are each representative of a different category
`of information (e.g., financial, news, sports, etc.) and each of
`the data sets comprise a number of user-selectable links to
`30 different information resources. For example, the data sets
`can be groups of related URLs, whereby the information
`resources comprise web pages accessible via the Internet. A
`second one of the regions comprises an information display
`region which can display such things as banner advertise-
`35 ments. The second program module is operable upon execu(cid:173)
`tion to select informational data to be displayed in the
`information display region. The first program module is
`operable in response to selection of a first one of the links to
`provide the user with access to its associated information
`40 resource and to notify the second program module of the
`selection of that first link. The second program module is
`operable in response to notifications from the first program
`module to select the informational data to be displayed from
`among a larger amount of informational data, and the second
`45 program module is further operable to store statistical data
`regarding the display of the selected informational data. This
`permits targeting of banner advertisements based upon the
`type of link (financial, news, sports, etc.) selected by the
`user.
`In accordance with another aspect of the invention, there
`is provided a computer-readable memory for use by a
`computer to provide a user of the computer with an
`automatically-upgradeable software application. The com(cid:173)
`puter readable memory comprises a non-volatile data star-
`55 age device and a program that is separated into a plurality of
`program modules that are stored on the non-volatile data
`storage device. Some or all of the program modules have at
`least one version identifier associated with them. One of the
`program modules is operable upon execution to access the
`stored version identifier(s) and at least one updated version
`identifier from a server via a global public network such as
`the Internet. These updated version identifier(s) represent
`updated program modules accessible from a server via the
`public network. This program module is further operable to
`download one or more updated program modules when the
`stored version identifier and the updated version identifier
`are different, with the updated program module(s) replacing
`
`17
`
`
`
`6,141,010
`
`6
`These identifiers permit real time, reactively-targeted adver(cid:173)
`tising since the program can respond to user interaction with
`the computer to determine whether the input relates to a
`particular category of information and, if so, can select
`5 advertising related to that category of information.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`A preferred exemplary embodiment of the present inven(cid:173)
`tion will hereinafter be described in conjunction with the
`appended drawings, wherein like designations denote like
`elements, and:
`FIG. 1 is block diagram of a first embodiment of the
`invention depicting a client software application comprising
`15 two program modules located on a computer connected to a
`server by way of the Internet;
`FIG. 2 is a block diagram of second embodiment that is
`a modified form of the that shown in FIG. 1;
`FIG. 3 is a block diagram depicting further details regard(cid:173)
`ing use of the server shown in FIG. 1;
`FIG. 4 is a block diagram of a third embodiment of the
`invention depicting a client software application broken into
`a number of modules including a builder module responsible
`for upgrading and addition of any of the program modules;
`FIG. 5 is an exemplary view of the graphical user inter(cid:173)
`face (GUI) generated by the client software application of
`FIG. 4;
`FIG. Sa is an exemplary view of a bookmark category
`30 window generated by the client software application of FIG.
`4;
`
`25
`
`5
`one or more of the program modules. In this way, software
`upgrades can be carried out automatically without any user
`action required. Also, upgrading can be accomplished with(cid:173)
`out having to download and install the entire software
`package.
`In accordance with another aspect of the invention, a
`method is provided for supplying demographically-targeted
`advertising to a computer user. The method includes the
`steps of:
`providing a server that is accessible via a computer 10
`network such as the Internet,
`permitting a computer user to access the server via the
`computer network,
`acquiring demographic information about the user (which
`includes information specifically provided by the user
`in response to a request for the demographic
`information),
`providing the user with download access to computer
`software that, when run on a computer, displays adver- 20
`tising content, records computer usage information
`concerning the user's utilization of the computer, and
`periodically requests additional advertising content,
`transferring a copy of the software to the computer in
`response to a download request by the user,
`providing a unique identifier to the computer, with the
`identifier uniquely identifying information sent over
`the computer network from the computer to the server,
`associating the unique identifier with demographic infor(cid:173)
`mation in a database,
`selecting advertising content for transfer to the computer
`in accordance with the demographic information asso(cid:173)
`ciated with the unique identifier,
`transferring the advertising content from the server to the
`computer for display by the program,
`periodically acquiring the unique identifier and the com(cid:173)
`puter usage information recorded by the software from
`the computer via the computer network, and
`associating the computer usage information with the 40
`demographic information using the unique identifier.
`In accordance with yet another aspect of the invention,
`there is provided a computer-readable memory for use by a
`computer to provide a user of the computer with targeted
`information. The memory comprises a non-volatile data 45
`storage device and a program stored thereon. The program
`is operable upon execution to display a window containing
`an information display region. The program is also operable
`to select and display informational data (such as a banner
`advertisement) in the information display region. The infor- 50
`mational data comprises a plurality of display objects with
`at least some of the display objects each having a data set
`associated therewith. The data sets each include one or more
`of the following data items:
`a category identifier that indicates a category of inform a- 55
`tion to which the associated display object relates,
`wherein the program is operable in response to receiv(cid:173)
`ing user input relating to one of the categories of
`information to display in the information display region
`a display object having an associated category identifier 60
`that relates to that one category of information;
`a software application identifier that identifies a software
`application that may be accessible to the user via the
`computer, wherein the program is operable in response
`to user selection of the software application to display 65
`in the information display region a display object
`associated with the selected software application.
`
`35
`
`FIG. 6 is block diagram that provides additional detail
`regarding the client software application depicted in FIG. 4;
`FIG. 7 depicts the structure of the banner database used by
`the client software application of FIG. 4;
`FIG. 8 depicts a method for providing access to the client
`software application and for obtaining and utilizing demo(cid:173)
`graphic information regarding users of the software appli-
`cation;
`FIG. 9 is a flow chart of the portion of the client software
`application of FIG. 4 that handles user login as well as
`acquisition of demographic information for new users of the
`application;
`FIG. 10 is a flow chart depicting an overview of the core
`operation of the client software application of FIG. 4;
`FIG. 11 is a flow chart of the processing of user input that
`is carried out by the client software application of FIG. 4;
`FIG. 12 is a flow chart of the processing of key events that
`is carried out by the client software application of FIG. 4;
`FIG. 13 is a flow chart of the process used by the builder
`module of FIG. 4 to upgrade different program modules or
`components used in the client software application; and
`FIG. 14 is a flow chart of a alternative process that can be
`used by the builder module of FIG. 4 to upgrade program
`modules or components used in the client software applica(cid:173)
`tion.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`Referring first to FIG. 1, there is shown an overview of a
`client software application 10 comprising a graphical user
`interface (GUI) program module 12 and an advertising and
`data management (ADM) program module 14. Working
`together, these program modules act as a single software
`application that provides the computer user with a fully
`
`18
`
`
`
`6,141,010
`
`10
`
`7
`integrated interface to the other software applications loaded
`on the user's computer 18, as well as to information
`resources located on a private or public network, such as the
`Internet 20. Client application 10 may also include other
`executables, support files, and libraries that are used by 5
`program modules 12 and 14. In general, GUI module 12
`contains the basic programming necessary to provide a user
`interface to the computer's software applications and oper(cid:173)
`ating system (e.g., Windows98 or WindowsNT), while ADM
`module 14 provides the basic management of the display
`and refreshing of advertising as well as the acquisition and
`reporting of computer usage information to an advertising
`and data management (ADM) server 22 via the Internet 20.
`Computer 18 is a conventional personal computer, such as
`one that utilizes an Intel™ Pentium™ microprocessor. As is 15
`common, computer 18 includes RAM, a hard disk drive, a
`floppy drive, a CD-ROM or DVD drive, a mouse or other
`serial input device, a keyboard (