`Hoyle
`
`US006141010A
`[11] Patent Number:
`[45] Date of Patent:
`
`6,141,010
`Oct. 31, 2000
`
`[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
`
`Int. Cl.7 ...................................................... .. G06F 3/00
`[51]
`[52] US. Cl. ........................ .. 345/356; 345/348; 345/357;
`707/501
`[58] Field of Search ................................... .. 707/501, 514;
`345/339, 340, 341, 348, 349, 356, 357
`
`[56]
`
`References Cited
`
`U'S' PATENT DOCUMENTS
`7/1986 Freeman _
`4,602,279
`9/1994 Filepp et a1. _
`5,347,632
`5,572,643 11/1996 Judson .
`5,584,025 12/1996 Keithley eta1~~
`57600781 2/1997 Root ct a1~ -
`gzgglreirirauun et a1‘ '
`2/1998 Dedrick
`5’717’923
`3/1998 Dedrick'
`5’724’521
`3/1998 Bland et a1. '
`5:732:218
`4/1998 Reilly et a1. ............................ .. 705/14
`5,740,549
`5,848,397 12/1998 Marsh et a1, _ _ _ _ _ _
`_ _ _ __ 705/14
`5,890,172
`3/1999 Borman et a1.
`707/501
`345/339
`5,914,714
`6/1999 Brown --------- -
`579177491
`6/1999 Bauersfeld
`~~ 345/352
`579337811
`8/1999 Angles et a1‘
`705/14
`5’937’392
`8/1999 Albqts ' ' ' ' ' ' ' ' ' ' ' ' ' '
`' ' ' ' " 705/14
`5,948,061
`9/1999 Mernman et a1.
`707/501
`5,963,208 10/1999 Dolon et a1. .......................... .. 345/357
`5,977,970 11/1999 Amro et a1. .......................... .. 345/340
`
`OTHER PUBLICATIONS
`
`BroWn, M, Using Netscape 3, special Edition p. 40, 43, 52,
`53, 58, 59, 62—64, 94—109, 1996.
`
`Primary Examiner—Raymond J. Bayerl
`Assistant Examiner—Cao H Nguyen
`Attorney, Agent, or Firm—Reising, Ethington, Barnes,
`Kisselle, Learman & McCulloch, PC.
`[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
`rnents 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 speci?cation 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
`played that is relevant to that program (such as an adver
`?sement for a Stock brokerage) This Provides two-tiered,
`real-time targeting of advertising—both demographically
`and reactively. The softWare application includes program
`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
`
`[J1EE]
`Health
`Place Other Ad Here _
`
`0 VIEW litle @ "Sports"
`
`El-El Baseball
`Managers
`Link4
`
`LinkZ
`
`lg
`(3%
`K
`80
`%
`[Ell]
`
`%
`n
`%
`
`
`
`US. Patent
`
`Oct. 31, 2000
`
`Sheet 1 0f 14
`
`6,141,010
`
`H.05
`
`academia?
`
`oak/wow
`
`226
`
`8mmlamb
`
`vwmhopm
`
`EQ<
`
`2352
`
`Hoaamm
`
`“~meon
`
`2352u50
`
`mm[L
`
`om
`
`
`
`
`
`
`
`
`US. Patent
`
`a0
`
`21,
`
`41f02m
`
`6,141,010
`
`3IIIIIII
`_IIIIII_A/u23522382_n2%50_om
`
`N.0:aIa?g
`
`mmm3&5
`
`Sa\m88
`
`noflmozmg<_
`
`oEBflom_
`
`E020wm
`
`IIIIIIIIIIIIIIIIIIIIIIIIIIIL
`
`Scamm8mmH33
`
`0mwm
`
`
`
`U.S. Patent
`
`0a. 31, 2000
`
`Sheet 3 0f 14
`
`6,141,010
`
`cm
`1
`
`mm
`
`1/
`
`\HomD
`
`863:
`
`BQQQOQEQU
`
`3
`
`ow
`
`E26
`
`ow
`
`E26
`
`JQ
`
`E26
`
`e26
`
`vw
`
`m .UE
`
`ow
`
`/ e26
`
`
`
`US. Patent
`
`Oct. 31, 2000
`
`Sheet 4 0f 14
`
`6,141,010
`
`ON
`
`<1-
`
`‘2
`
`Ln
`
`EQ<
`
`Stem
`
`NM
`
`2%
`
`235—2
`
`2332
`
`béii
`
`52:5
`
`2302
`
`
`
`fill!E020
`
`oak/“mom
`
`cosmozmmdfl
`
`om
`
`hoscwm
`
`owSBm
`
`3mmLamb
`
`
`
`owfismvm
`
`
`
`23522352
`
`Ohmopoz_
`
`_
`
`—_\nfimmmm
`
`om
`
`
`
`
`
`
`U.S. Patent
`
`0a. 31, 2000
`
`Sheet 5 0f 14
`
`6,141,010
`
`m6
`E
`
`Bum
`
`E1
`
`E
`1]
`E _ Eooincnugnéiiaxdzz _
`
`mm .95
`
`ED|
`20-.- U( .550 GOG-Ll
`
`
`FEmoI
`
`ow
`
`§\> mm
`
`IJ
`on
`
`)3
`
`
`
`
` 1 2o: w< 50> wumE !
`52g?
`
`NhJ
`
`ww
`
`oh
`
`
`
`US. Patent
`
`Oct. 31, 2000
`
`Sheet 6 0f 14
`
`6,141,010
`
`_
`
`_
`
`__028IIIIIIFIIIIIIIIIIIIIIIIIIIIIIIIIII__IIIIIIIIIIIIIII
`
`25002O:080028002
`
` “808098008080080080809800“_0:2EoZoooySéom430Z8058383088Znu_______"80800800@8858880800800
`
`
`
`80800800“_m8mobmwcfitomomofiwoq3002@380382u
`
`
`
`
`
`
`
`-........J.....................U................4_
`mmom
`
`
`
`8080508008080m800mm__om____IIIIIIIIIIIIIIIIIIIIIIIIIIILmma2:00250
`
`8080m800\3:88Sum:02g_
`wEwmmmoE
`
`26:82:00
`
`#500.SODHm£oorfi
`
`8080.800802
`
`“COCO.CHOU
`
`_E:
`
`
`
`mo_02:30:00mmooo<050iHomD“nm:
`
`
`
`
`
`
`
`
`
`
`
`US. Patent
`U.S. Patent
`
`0a. 31, 2000
`Oct. 31, 2000
`
`Sheet 7 0f 14
`Sheet 7 0f 14
`
`6,141,010
`6,141,010
`
`
`
`8:602EoodHHégaEooaHHHHHIEHfi
`HHmNNHoEEm
`
`
`
`
`
`
`
`in3883m.:5me6:80|£33980nwnHmmoHHmmmoHHHmHHnH326on/EcoVHHHHHwing>255.HHw.85::me
`
`
`
`
`Hooxo/Eoo.HzH0moHoHE.§302$quammoHHHmHfiEoo.vH:HH1HmHH.H.EHHw.HoHoHHHHam
`
`
`
`w .UE
`
`
`
`.3388.£52.333
`
`Eoodmmoézrg
`
`58.38%.355
`
`
`
`HHHoEHHHmtBHHo425E
`
`:HwoH/Hmo/Eoo.vH:HHIHmmH.B>>B
`
`
`
`
`
`.HHm.moHo§mm
`
`
`
`
`
`H2250EmNHEHooxm
`
`
`
`EHHoHHmcoHaHoomm<
`
`H95:magma;
`
`
`
`counHoommaw
`
`9?:
`
`c3fi8$<
`
`moHchBwD
`
`HES552:8:2:wag:
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 8 0f 14
`
`6,141,010
`
`l
`
`Start
`
`)
`
`1 3 2
`User Download
`Request \)
`
`134
`Send Form
`to User \)
`
`1 3 6
`
`All
`Required Fields
`Filled Out
`‘.7
`
`K 1 3 8
`
`Request Correction
`of Form
`
`140
`Assign Unique
`ID to User \)
`
`142
`Store ID Along
`with Demographic \)
`Data
`
`Transmit Client
`Application to User
`
`144
`
`(
`
`Stop
`
`)
`
`
`
`FIG. 8
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 9 0f 14
`
`6,141,010
`
`Start
`
`11 ll
`
`Display
`Login
`
`/
`
`148
`
`150
`
`Yes
`
`_
`
`Login Name
`?
`
`158
`
`Setup
`New Account
`
`Access User Setup
`Preferences & Bookmarks
`from User Data Storage
`
`ll
`
`Display
`GUI
`L/ 156
`
`Stop
`
`, 9
`
`Yes
`
`160 a
`Request
`Demographic Data
`
`162
`
`All
`Required Data
`Present
`?
`
`164 ’\
`
`Report Demographic
`Data & Store New
`User Data
`
`166 ’\
`
`Access Default
`Preferences & Bookmarks
`l
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 10 0f 14
`
`6,141,010
`
`m FIG. 10
`
`Access
`ADM Server
`
`180
`
`Internet
`Connection
`Available
`
`Report computer
`Usage Information
`
`Download
`New Banners
`K
`186
`\ 184
`Reset
`Flag Alert
`
`188
`
`N0
`
`Update
`Components
`4')
`
`A
`
`170
`
`A
`
`User
`Input
`
`Yes
`
`176
`
`Process
`User Input
`
`Ad
`Timer
`Expired
`‘.7
`
`Builder
`Routine
`
`k190
`
`Yes
`
`Select &
`Display Banner
`l
`
`174
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 11 0f 14
`
`6,141,010
`
`FIG. ll
`
`194
`
`K Run Default
`Browser and open
`Banner Link
`
`Banner
`Selected
`
`Shortcut/
`Application
`Selected
`
`/\ 1 98
`Set
`Priority = Medium
`
`/_\ 200
`Execute Shortcut/
`Application
`
`:
`
`caiegorg
`Se some
`
`/\204
`Set
`Priority = Medium
`
`/\206
`Open Category
`Links Window
`
`_,
`
`Link
`
`Selected
`_
`
`/\ 210
`Set
`
`/\ 212
`Run Default
`
`‘
`
`.
`. _ .
`Pnomy — Hlgh
`
`—— Browser and open
`Selected Link
`
`=
`
`/\ 216
`
`P . .86; Hi
`nonty
`gh
`
`2 l 8
`/\
`Run Default
`Browser and open
`Specified Link
`
`=
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 12 0f 14
`
`6,141,010
`
`FIG. 12
`
`Determine
`Priority Level
`
`Determine
`Banner Category
`
`Select & Display
`Banner
`
`226
`/\ Record Event, Time,
`& Banner Display
`
`228 /\
`
`Increment
`Banner Count
`
`Banners
`
`Move to Next
`Set of Banners
`
`234
`
`Notify Flag
`Alert Component
`
`{
`
`Stop
`
`I
`
`
`
`U.S. Patent
`
`Oct. 31, 2000
`
`Sheet 13 0f 14
`
`6,141,010
`
`FIG. 13
`
`Access Version Numbers for / 236
`each Upgradable Component
`in Client Application
`
`/' 23 8
`
`I
`
`246
`
`Determine New
`Component(s) Needed
`
`Generate
`Current
`-
`B]
`t
`uepnn
`
`/ 240
`
`Access updated
`Blueprint from ADM
`Server
`
`242
`
`Is Updated
`Blueprint Equal
`to current
`Blueprint ?
`
`New
`Builder Module
`Needed
`
`Pass Control to
`Auxiliary Module
`
`\\
`2 52
`
`Terminate Builder
`Execution
`
`\
`254
`
`244
`N U d‘
`o pgra mg
`Necessary /
`
`Download and Install
`New Component(s)
`
`\
`250
`
`
`
`U.S. Patent
`
`0a. 31, 2000
`
`Sheet 14 0f 14
`
`6,141,010
`
`<
`
`)
`
`FIG. 14
`
`256
`Access Updated /
`Blueprint ID
`from ADM Server
`
`258
`
`Yes
`
`Updated
`ID equal to
`current ID
`?
`
`262
`
`260
`
`Send Current
`ID to ADM Server
`
`No upgrading
`Necessary
`
`264
`Download & Install /
`Updated C0mp0nent(s)
`
`266
`Restart /
`GUI
`
`(
`
`Stop
`
`)
`
`
`
`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
`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
`porated into the softWare. This is of bene?t 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
`PointcastTM, 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.,
`?nancial, 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 signi?cant 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
`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
`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
`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
`this permits neW advertising to be displayed each time a Web
`page is loaded or refreshed, and While this alloWs geographi
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6,141,010
`
`2
`cally unlimited advertising, it at most permits targeting of
`the advertisement based upon the type of information con
`tained in the Web page. Moreover, access to a neW adver
`tisement is only available during the period of time that the
`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
`tisement is pre-determined and programmed into the soft
`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
`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,
`making it dif?cult to respond to desired changes in adver
`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
`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
`using http
`(HyperText Transfer Protocol). This is sometimes done as a
`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 dif?cult and rarely done, it has been found that
`end users typically provide accurate demographic data in
`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
`speci?c information that identi?es them (such as their name,
`address, or Social Security number), they generally do not
`mind providing demographic information, nor do they mind
`monitoring of their computer usage as long as their usage is
`not associated With any speci?c information that could be
`used to identify them.
`Various other arrangements have been suggested for
`obtaining and reporting information about an end user over
`a computer netWork such as the Internet. For example, US.
`Pat. No. 5,724,521 to Dedrick discloses an electronic adver
`tising system in Which a user pro?le is created and trans
`ferred to a metering server Where it is used along With other
`end user pro?les to charge advertiser’s according to a
`consumer scale. The pro?le 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
`advertisement to the end user, charges the advertiser, and
`provides the advertiser With pro?le 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.
`US. Pat. No. 5,732,218 to Bland et al. discloses a system
`for gathering data concerning an end-user’s access to infor
`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
`
`
`
`6,141,010
`
`3
`periodically or in response to a speci?c 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
`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
`server itself. By limiting the reported data in this manner, it
`is dif?cult to develop accurate pro?les for the individual
`users that are useful in targeting the advertising.
`US. Pat. No. 5,347,632 to Filepp et al. discloses a
`reception system in Which both user demographics and
`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
`ently in the order in Which they Were placed in the queue.
`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 de?nitions shall apply:
`computer—An apparatus having a processing device that is
`capable of executing instructions.
`computer usage inforrnation—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
`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
`ers over a netWork.
`keyWord—A textual data item used in locating related
`sources of information.
`link—A data item that identi?es the location or address of a
`program or information resource. A URL is a link, as is a
`path and ?lename 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 ?oppy disk, a compact disk read-only
`memory (CDROM), digital versatile disk (DVD), magneto
`optical disk, and so forth.
`program component—A set of instructions stored in a ?le in
`computer-readable format, Whether as object code or source
`code, and Whether Written in a compiled language, in byte
`code (such as JavaTM), or in a scripting or other interpreted
`language.
`
`4
`program module —One or more related program compo
`nents.
`program—One or more related program modules.
`
`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.
`softWare application—A program and associated libraries
`and other ?les; for example, a Word processing application,
`a spreadsheet application, or a personal information man
`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 ?rst and
`second program modules stored on the non-volatile storage
`device. The ?rst program module is operable upon execution
`to display a graphical user interface comprising a WindoW
`separated into a number of regions, With a ?rst 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., ?nancial, neWs, sports, etc.) and each of
`the data sets comprise a number of user-selectable links to
`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
`ments. The second program module is operable upon execu
`tion to select informational data to be displayed in the
`information display region. The ?rst program module is
`operable in response to selection of a ?rst one of the links to
`provide the user With access to its associated information
`resource and to notify the second program module of the
`selection of that ?rst link. The second program module is
`operable in response to noti?cations from the ?rst program
`module to select the informational data to be displayed from
`among a larger amount of informational data, and the second
`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 (?nancial, 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
`puter readable memory comprises a non-volatile data stor
`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 identi?er associated With them. One of the
`program modules is operable upon execution to access the
`stored version identi?er(s) and at least one updated version
`identi?er from a server via a global public netWork such as
`the Internet. These updated version identi?er(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 identi?er and the updated version identi?er
`are different, With the updated program module(s) replacing
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`
`
`6,141,010
`
`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
`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
`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 speci?cally 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
`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 identi?er to the computer, With the
`identi?er uniquely identifying information sent over
`the computer netWork from the computer to the server,
`associating the unique identi?er With demographic infor
`mation in a database,
`selecting advertising content for transfer to the computer
`in accordance With the demographic information asso
`ciated With the unique identi?er,
`transferring the advertising content from the server to the
`computer for display by the program,
`periodically acquiring the unique identi?er and the com
`puter usage information recorded by the softWare from
`the computer via the computer netWork, and
`associating the computer usage information With the
`demographic information using the unique identi?er.
`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
`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
`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 identi?er that indicates a category of informa
`tion to Which the associated display object relates,
`Wherein the program is operable in response to receiv
`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 identi?er
`that relates to that one category of information;
`a softWare application identi?er that identi?es 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
`in the information display region a display object
`associated With the selected softWare application.
`
`6
`These identi?ers permit real time, reactively-targeted adver
`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
`advertising related to that category of information.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`A preferred exemplary embodiment of the present inven
`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 ?rst embodiment of the
`invention depicting a client softWare application comprising
`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 modi?ed form of the that shoWn in FIG. 1;
`FIG. 3 is a block diagram depicting further details regard
`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
`face (GUI) generated by the client softWare application of
`FIG. 4;
`FIG. 5a is an exemplary vieW of a bookmark category
`WindoW generated by the client softWare application of FIG.
`4;
`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
`graphic information regarding users of the softWare appli
`cation;
`FIG. 9 is a How 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 How chart depicting an overvieW of the core
`operation of the client softWare application of FIG. 4;
`FIG. 11 is a How chart of the processing of user input that
`is carried out by the client softWare application of FIG. 4;
`FIG. 12 is a How chart of the processing of key events that
`is carried out by the client softWare application of FIG. 4;
`FIG. 13 is a How 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 How 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
`tion.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`Referring ?rst 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
`
`65
`
`
`
`6,141,010
`
`15
`
`25
`
`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 ?les, and libraries that are used by
`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
`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 IntelTM PentiumTM microprocessor. As is
`common, computer 18 includes RAM, a hard disk drive, a
`?oppy drive, a CD-ROM or DVD drive, a mouse or other
`serial input device, a keyboard (all not shoWn), as Well as a
`monitor 26. Computer 18 also includes a netWork adapter
`card through Which it accesses the Internet. Alternatively, it
`can include a modem for accessing the Internet via a
`standard telephone line. As Will be discussed beloW, client
`softWare application 10 is initially stored on a computer
`readable memory (such as a hard drive) at server 22 and a
`copy is then doWnloaded and stored on the hard drive of
`computer 18 in response to a doWnload request by the user.
`As Will be discussed in greater detail beloW in connection
`With FIGS. 5 and 6, GUI module 12 generates an application
`WindoW 24 that is displayed on the computer monitor 26.
`This WindoW is separated into a number of regions, one of
`Which is a banner region 28 for advertisements or other
`messages processed by ADM module 14. The advertise
`ments displayed in banner region 28 are display objects such
`as graphical images that are stored on the computer’s hard
`drive or in other non-volatile memory as a ?le or multiple
`?les Which are collectively represented in FIG. 1 as banner
`storage 30. They are accessed as needed by ADM module 14
`and displayed in banner region 28. Upon ADM module 14
`determining that neW advertising is needed, it accesses the
`Internet via an existing TCP/IP connection 32 and doWn
`loads neW banners from ADM server 22. Periodically,
`computer usage information is sent to ADM server 22 for
`use in pro?ling the end user and better targeting future
`advertising to the end user. This computer usage information
`is stored on the end user’s computer 18 in user data storage
`34, Which again can be the computer’s hard drive or other
`non-volatile storage.
`By separating out the advertising and end-user data man