`US 6,771,290 B1
`(10) Patent N0.:
`
`(45) Date of Patent: Aug. 3, 2004
`Hoyle
`
`USOO6771290B1
`
`(54)
`
`(75)
`
`(73)
`
`(21)
`
`(22)
`
`(86)
`
`COMPUTER INTERFACE METHOD AND
`APPARATUS WITH PORTABLE NETWORK
`ORGANIZATION SYSTEM AND TARGETED
`ADVERTISING
`
`Inventor: Martin David Hoyle, Metairie, LA
`(US)
`
`Assignee: B.E. Technology, LLC, Bay City, MI
`(US)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`Appl. No.:
`
`09/744,033
`
`PCT Filed:
`
`Jul. 16, 1999
`
`PCT No.:
`
`PCT/US99/16135
`
`§ 371 (C)(1),
`(2), (4) Date: Apr. 11, 2001
`
`(87)
`
`PCT Pub. No.: W000/04434
`
`PCT Pub. Date: Jan. 27, 2000
`
`(63)
`
`(51)
`(52)
`(58)
`
`(56)
`
`Related US. Application Data
`
`Continuation—in—part of application No. 09/118,351, filed on
`Jul. 17, 1998, now Pat. No. 6,141,010.
`
`Int. Cl.7 ................................................ G06F 15/00
`US. Cl.
`........................................ 345/745; 717/170
`Field of Search ................................. 345/745, 762,
`345/763, 852, 853, 854, 839; 717/120
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,602,279 A
`5,347,632 A
`
`7/1986 Freeman
`9/1994 Filepp et a1.
`
`OTHER PUBLICATIONS
`
`Brown, M., Using NetscapeTM 3, Special Edition 1996, p.
`40, 43, 52, 53, 58, 59, 62—64, 94—109.
`
`Primary Examiner—Cao (Kevin) Nguyen
`(74) Attorney, Agent, or Firm—Reising, Ethington. Barnes,
`Kisselle, RC.
`
`(57)
`
`ABSTRACT
`
`A method and apparatus for providing an automatically
`upgradeable software application includes targeted advertis-
`ing based upon demographics and user interaction with the
`computer. The software application includes a display
`region used for banner advertising that is downloaded over
`a network such as the Internet. The software application is
`accessible from a server via the network and demographic
`information on the user is acquired by the server and used
`for determining what advertising will be sent to the user. The
`software application further targets the advertisements in
`response to normal user interaction with the computer. Data
`associated with each advertisement is used by the software
`application in determining when a particular advertisement
`is to be displayed. This includes the specification of certain
`programs that the user may have so that, when the user runs
`the program (e.g., a spreadsheet program), a relevant adver-
`tisement will be displayed (e.g., an advertisement for a stock
`brokerage). This provides two-tiered, real-time targeting of
`advertising—both demographically and reactively. The soft-
`ware application includes programming that accesses the
`server to determine if one or more components of the
`application need upgrading. If so, the components can be
`downloaded and installed without further action by the user.
`A distribution tool is provided for software distribution and
`upgrading over the network. Also provided is a user profile
`that
`is accessible to any computer on the network.
`Furthermore, multiple users of the same computer can
`possess Internet web resources and files that are
`personalized, maintained and organized.
`
`(List continued on next page.)
`
`3 Claims, 16 Drawing Sheets
`
`300
`
`22 /
`7L_____—_
`Server
`330
`
`Database
`
`338
`
`I 8
`
`Client
`Software
`Application
`
`Other
`Client
`Soflware
`
`10
`
`350
`
`WEb
`Browser
`
`Management
`Temimal
`\
`
`370
`
`/ J
`348
`
`Google Ex. 1001, pg 1
`
`335
`
`\‘
`
`Internet / Intranet >
`20
`
`
`Services
`342
`K340
`H 344 N
`346 \
`Client & User
`User
`Advertiser
`Accounting
`Management
`
`
`Registration
`Services
`Services
`Services
`Services
`
`
`
`
`
`
`Google Ex. 1001, pg 1
`
`
`
`US 6,771,290 B1
` Page 2
`
`US. PATENT DOCUMENTS
`
`5,572,643 A
`5,584,025 A
`5,600,781 A
`5,617,565 A
`5,710,884 A
`5,717,923 A
`5724521 A
`5,732,218 A
`5,740,549 A
`
`11/1996 Judson
`12/1996 Keithley et 211.
`2/1997 Root et 211.
`4/1997 Augenbrauun et 211.
`1/1998 Dedrick
`2/1998 Deduck
`3/1998 Dedrlck
`3/1998 Bland et 211.
`4/1998 Reilly et a1.
`
`12/1998 Marsh et 211.
`5,848,397 A
`3/1999 Borman et 211.
`5,890,172 A
`6/1999 Brown
`5,914,714 A
`6/1999 Bauersfeld
`5,917,491 A
`8/1999 Angles et a1.
`5,933,811 A
`8/1999 Alberts
`5,937,392 A
`9/1999 Merriman et 211.
`5,948,061 A
`5,963,208 A * 10/1999 Dolan ........................ 345/853
`5,977,970 A * 11/1999 Amro ......................... 345/839
`
`* cited by examiner
`
`Google Ex. 1001, pg 2
`
`Google Ex. 1001, pg 2
`
`
`
`n
`
`0
`
`1
`
`9C2,H0E
`
`7ENE
`
`Bmm
`
`US. Patent
`
`4
`
`Mf0
`
`6,SU
`
`E25
`
`0n.IlI1|!IIIIIIIIIIIIIIIIm._3,.1_
`lfiswoz2352m50S
`
`cosmozmm<III!IIIIL.
`Buzéom1'
`
`
`2w:v<SoIVmWNL:v
`owfiowmQEED
`
`
`
`1cmmmm”.meon\.S6:83A:\.59
`
`
`
`
`
`M:
`
`
`
`BEBEom
`
`Google Ex. 1001, pg 3
`
`Google Ex. 1001, pg 3
`
`
`
`
`
`lB092,
`
`6,SU
`
`1DwNGEa
`
`LON/hum2Q<
`
`BEBE
`
`om
`
`US. Patent
`
`40023,
`
`mf02mhS
`
`Emaaom
`
`E25
`
`_
`
`one_u_Ajcomma???
`_So
`
`®_SUOEOfisfiuoz
`
`3mm.55
`
`QM
`
`mm
`
`A:\QUE
`
`cm
`
`Google Ex. 1001, pg 4
`
`Google Ex. 1001, pg 4
`
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 3 0f 16
`
`US 6,771,290 B1
`
`mbtomw<
`
`€25
`
`a
`
`N?H
`
`83%:
`
`$528800
`
`BEBE
`
`E020
`
`E25
`
`Siwm2Q<
`
`\SmD
`
`moEmfionoQ
`
`38st
`
`3m.05
`335mm.c< :55
`
`Google Ex. 1001, pg 5
`
`Google Ex. 1001, pg 5
`
`
`
`
`
`
`
`
`
`
`
`S.U
`
`tnet
`
`uA
`
`one
`
`
`a0meonD...om3285
`8mmSm:
`
`owEBm
`
`Oh
`
`US 6,771,290 B1
`
`4002
`
`1f04w
`
`3,cm
`
`%\fli\
`
`BEES&
`
`6EQ<
`
`55$
`
`NN
`
`<1-
`
`r—4
`L14
`
`EngaomEEC
`
`cosmozmm<
`
`2:82
`
`beié
`
`
`
`52:5
`
`23on
`
`
`
`2.60.20:602502Q<,
`
`mm
`
`Google Ex. 1001, pg 6
`
`Google Ex. 1001, pg 6
`
`
`
`
`
`
`
`
`
`
`US. Patent
`
`one
`
`m.
`
`(Wm
`
`1B%
`
`M:0W_W_BEwQQm
`3,E@LGIU<.:JO>mwOw—n—Lb:
`
`
`
`
`AuEDMQSCONNJD.333:gal;—aVw
`
`
`mmowvm
`
`
`W.5
`
`EIN2m:flooH39>55%“
`
`we
`
`
`
`$5.1.I.Hum
`
`
`
`
`NBow
`
`6Emma—BEBE
`
`
`1=23;Umcm3.5%.DEn1w.“Eqflmfiflfleanaso%whmIU<550@031%mwmHVHWWH.IHEIgififiW
`
`gum.
`
`_E:UW
`
`QEDUJ
`
`2,mommUHL
`
`
`
`
`
`
`
`35$mow
`
`Google Ex. 1001, pg 7
`
`Google Ex. 1001, pg 7
`
`
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 6 0f 16
`
`US 6,771,290 B1
`
`EwEEmthw8
`
`38.2mmmiF:@m
`3???WT?“
`
`
`
` mELEIoa82@mrEEIoaODDN@“552%x?@m
`
`mucaoccm@@
`
`{5
`E-EEIII
`
`52::E52...”.28a
`
`uanl
`
`
`52$396.2
`
`ӣ55m
`
`2th32>
`
`.ED32>
`
`68:3:3
`
`figs;85:
`
`255%WW>533mm52$39.6.2
`
`$02$9532:5:I
`
`$320.:DE
`
`
`
`2:82,Emma:mm
`
`m2:32>
`
`mEacom_
`
`
`
`952mmmfimsm>_xwo>>m
`
`$23.9.mmmi59m:am.
`
`:532>
`_
`
`
`
`$62$2.5525:02..H
`
`”839:8ExuoumU.i
`
`”@255:3
`
`“RES85:
`
`om.05
`
`,9
`l0
`
`r—4
`Ln
`
`Google Ex 1001, pg 8
`
`Google Ex. 1001, pg 8
`
`
`
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 7 0f 16
`
`US 6,771,290 B1
`
`__
`
`\@59828th
`
`wEwammoE
`
`035923
`
`
`
`“:28.:80:52
`
`035330
`
`
`___“Eocomfiou"“95:09:00
` _wmfi___________flEozomEoUmiEtm95"EosanoUEESQEoU
`
` E25.E00:BBOF
`25:09:00“O:25”"uzoooyrwcommBOZ:oumbflmom$qu
`
`
`
`_382%9.503%_omwoq$onzfimma852
`
`
`52%5\SEE,EgmNEM
`EocomEoUEncomfioo
`
`2352O:0:602.8on
`
`
`
`
`
`
`wmooo<2.085Sm:
`
`
`
`E25.:80
`
`Google Ex. 1001, pg 9
`
`Google Ex. 1001, pg 9
`
`
`
`
`
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 8 0f 16
`
`US 6,771,290 B1
`
`2358953333
`
`Ecodmmvaaa
`
`800.35%.333
`
`
`.961—mEEwP—mSE:,motcwfiau
`
` 55:32
`
`
`
`
`
`
`
`kmwmhomhhCohamocmw<FwoefimuOmméucmuflmoAvwmdwv—fimwfiflow—«sigma0:erawn—n:
`
`Eoudséag3.5%quxczlEE.bmfiobccmm
`
`
`
`
`
`
`E520053;518%._8x2E8,582285338.8::£8525Eco.v_E_I§:.>r?$bmgobccam
`
`
`
`
`
`
`nwiEgmxmgucmm75on$259.50,mzamozm68:53£0:on/EcoJE—stouoméiaEmNoEESm
`
`
`
`
`
`
`
`I“
`
`iffl
`
`
`
`
`
`:5553326496.:
`
`Eonwu/EB9251.3—33,5
`“$522354
`
`5.0:
`
`Google Ex. 1001, pg 10
`
`Google Ex. 1001, pg 10
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 9 0f 16
`
`US 6,771,290 B1
`
`Start
`
`>
`
`User Download
`Request
`
`Send Form
`to User
`
`132
`
`134
`
`All
`
`?
`
`Yes
`
`Assign Unique
`ID to User
`
`140
`
`
`
`142
`Store ID Along
`with Demographic \J
`Data
`
`Transmit Client
`
`144
`
`Application to User
`
`Stop
`
`>
`
`FIG 8
`
`Google Ex. 1001, pg 11
`
`Required Fields
`Filled Out
`
`
`N0
`
`
`
`
`138
`
`Request Correction
`of Form
`
`Google Ex. 1001, pg 11
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 10 0f 16
`
`US 6,771,290 B1
`
`
`
`
`
`Password
`Setup
`New Account
`
`
`?
`
`
`?
`
`
`Yes
`
`No
`
`152
`
`New
`Login Name
`?
`
`No
`
`Correct
`
`154
`
`Access User Setup
`Preferences & Bookmarks
`
`from User Data Storage
`
`Display
`GUI
`
`Stop
`
`1 5 6
`
`
`
`FIG . 9
`
`160
`
`
`
`Request
`Demographic Data
`
`
`
`
`?
`
`Yes
`
`162
`
`
`A11
`Required Data
`Present
`
`164
`
`Report Demographic
`Data & Store New
`User Data
`
`1 66 Access Default
`
`Preferences & Bookmarks
`
`Google Ex. 1001, pg 12
`
`Google Ex. 1001, pg 12
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 11 0f 16
`
`US 6,771,290 B1
`
`
`
`FIG. 10
`
`1 80
`
`
`
` Access
`Yes
`
`ADM Server
`7
`
`
`
`
`
`182
`
`Report computer
`Usage Information
`
`Download
`New Banners
`
`I 86
`
`1 84
`
`Reset
`Flag Alert
`
`188
`
`No
`
`
`
`Update
`Components
`
`?
`
`Yes
`
`Internet
`
`
`Connection
`
`Available
`7
`
`
`
`170
`
`172
`
`
`
`Ad
`Timer
`
`
`Expired
`?
`
`N0
`
`Routine
`
`190
`
`Yes
`
`176
`
`
`
`Process
`
`User Input
`
`
`
`
`Select &
`
`Display Banner
`
`174
`
`Google Ex. 1001, pg 13
`
`Google Ex. 1001, pg 13
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 12 0f 16
`
`US 6,771,290 B1
`
`i‘l||||||||l%H%HIIIIIIIIII}
`
`12/16
`
`FIG. 11
`
`1 92
`
`Yes
`
`
`Banner
`Selected
`
`
`
`?
`
`No
`
`196
`
` Shortcut/
`Application
`Selected
`
`Yes
`
`
`
`
`?
`
`No
`
`202
`
`Yes
`
`
`Category
`Selected
`
`?
`
`No
`
`
`
`
`208
`
`
`
`
`Yes Link
`Selected
`
`?
`
`194
`
`Run Default
`
`Banner Link
`
`Browser and open
`
`198
`
`Set
`
`Priority = Medium
`
`‘ 200
`
`Execute Shortcut/
`
`Application
`
`204
`
`Set
`
`Priority = Medium
`
`206
`
`Open Category
`Links Window
`
`210
`
`Set
`
`Priority = High
`
`2 12
`
`Run Default
`
`Selected Link
`
`Browser and open
`
`No
`
`1J0
`
`214
`
`Yes
`
`216
`
`Set
`
`Priority = High
`
`218
`
`Run Default
`
`Specified Link
`
`Browser and open
`
`
`
`Google Ex. 1001, pg 14
`
`Google Ex. 1001, pg 14
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 13 0f 16
`
`US 6,771,290 B1
`
`Start
`
`FIG. 12
`
`-220
`
`Determine
`
`Priority Level
`
`Determine
`
`Banner Category
`
`#222
`
`
`Banner
`
`
`224
`
`226
`
`228
`
`Select & Display
`
`Record Event, Time,
`& Banner Display
`
`Increment
`Banner Count
`
`Banners
`
`
`
`Expired
`?
`
`
`
`
`Move to Next
`
`
`Set of Banners
`
`
`
`Notify Flag
`Alert Component
`
`
`
`
`
`Google Ex. 1001, pg 15
`
`Google Ex. 1001, pg 15
`
`
`
`Component(s) Needed
`
`Generate
`
`Current
`Blueprint
`
`
`
`Determine New
`
`
`
`
`Pass Control to
`
`Auxiliary Module
` 252
`
`New
`Server
`Builder Module
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 14 0f 16
`
`US 6,771,290 B1
`
`FIG. 13
`
`Access Version Numbers for
`
`236
`
`each Upgradable Component
`
`in Client Application
`
`238
`
`246
`
`240
`
`Access updated
`Blueprint from ADM
`
`Needed
`
`
`?
`
`
` Terminate Builder
`
`
`
`ls Updated
`Blueprint Equal
`
`to current
`
`Blueprint ?
`
`
`Yes
`Download and Install
`
`New Component(s)
`
`
`N0 Upgrading
`Necessary
`
`Execution
`
`254
`
`250
`
`
`
`Google Ex. 1001, pg 16
`
`Google Ex. 1001, pg 16
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 15 0f 16
`
`US 6,771,290 B1
`
`Start
`
`FIG. 14
`
`Access Updated
`Blueprint ID
`
`from ADM Server
`
`256
`
`- 258
`
`Updated
`ID equal to
`
`current ID
`
`Yes
`
`
`
`Send Current
`ID to ADM Server
`
`
`
`No upgrading
`Necessary
`
`
`
`/' 260
`
`
`
`
`
`
`
`
`Download & Install
`
`Updated C0rnponent(s)
`
`
`Restart
`
`GUI
`
`Stop
`
`Google Ex. 1001, pg 17
`
`Google Ex. 1001, pg 17
`
`
`
`US. Patent
`
`Aug. 3, 2004
`
`Sheet 16 0f 16
`
`US 6,771,290 B1
`
`258%ng
`
`muorfiom
`
`wsucsooo<
`
`muovfium
`
`Hummtofiifl
`
`mauviom
`
`com
`
`mm
`
`
`
`
`
`o
`m
`m
`
`Stow
`
`333mm
`
`mwomiom
`
`mmm
`
`Hombav28:0
`
`souwbflwox
`
`mmm
`
`wvm
`
`Ohm
`
`#.I«BEEF
`
`EoEewmcmz
`
`32uenamom835&0-226I
`
`mgmatow
`
`conmozmm<
`
`2
`
`Google Ex. 1001, pg 18
`
`Google Ex. 1001, pg 18
`
`
`
`
`
`
`
`
`
`
`
`
`US 6,771,290 B1
`
`1
`COMPUTER INTERFACE METHOD AND
`APPARATUS WITH PORTABLE NETWORK
`ORGANIZATION SYSTEM AND TARGETED
`ADVERTISING
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`
`The present application is a continuation-in-part of US.
`patent application Ser. No. 09/118,351, filed Jul. 17, 1998,
`now Pat. No. 6,141,010.
`
`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. This invention also relates to user interfaces for
`
`maintaining, organizing and communicating information
`accessible to a computer network such as the Internet and,
`in particular, to user interfaces that provide the user with
`availability to that information in a personalized manner.
`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 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
`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.,
`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-
`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., uniform resource
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`locators, known as URLs) embedded within web pages. By
`using embedded links,
`the advertisements 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 advertisement 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 advertis-
`ing server along with an associated link to additional infor-
`mation 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-
`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 difficult to respond to desired changes in adver-
`tising approaches.
`the
`To provide demographically-targeted advertising,
`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 (WWW 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 difficult 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
`specific information that identifies 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 specific 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 profile is created and trans-
`ferred to a metering server where it is used along with other
`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
`advertisement to the end user, charges the advertiser, and
`
`Google Ex. 1001, pg 19
`
`Google Ex. 1001, pg 19
`
`
`
`US 6,771,290 B1
`
`3
`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.
`
`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
`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
`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 difficult to develop accurate profiles 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.
`Internet users typically employ browser applications and
`related technologies in order to access the WW; and to
`locate and view files, documents and audio/video clips.
`Exemplary browser applications include Opera by Opera
`Software, Netscape Navigator, Netscape Communicator 4.6
`and Microsoft Internet Explorer 5.0. Browser applications
`are loaded onto a user’s computer, and then can be used for
`communication over networks using protocols such as that
`utilized by the WWW. Browsers are useful for accessing
`desired files and web sites, and also have the capability of
`storing information regarding visited or favorite web sites on
`the user’s computer. However, it has been common practice
`for browsers to be employed by the user for fairly limited
`purposes, such as for accessing information. Certain
`applications, such as Windows NT 4.0, allow a user to
`receive and store electronic information on a limited net-
`
`work system. However, the usefulness and flexibility of such
`systems are severely limited, because each browser instal-
`lation traditionally has been independent of other browser
`installations to which a user has access. Thus, information
`within one browser is not easily transportable to the other
`browser.
`
`Except as may be explicitly indicated otherwise,
`following definitions shall apply:
`browser—A program that can communicate over a net-
`work using http or another protocol and that can display
`html information and other digital information.
`
`the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`is connected to a
`client computer—A computer that
`network (including computers that are connected only
`occasionally to the network such as, for example, by a
`modem and telephone line) and that can be used to send
`requests for information to other computers over the
`network.
`
`computer—An apparatus having a processing device that
`is capable of executing instructions, including devices
`such as personal computers,
`laptop computers, and
`personal digital assistants, as well as set top television
`boxes,
`televisions, radios, portable telephones, and
`other such devices having a processing capability.
`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,
`keywords, or entries in an address book.
`display object—Data capable of display by a computer,
`including graphical images as well as multimedia pre-
`sentations or other display data that includes audio in
`addition to visually-perceived data.
`file—Any digital item, including information, documents,
`applications, audio/video components, and the like, that
`is stored in memory and is accessible via a file alloca-
`tion table or other pointing or indexing structure.
`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
`
`links,
`
`a server or other computer that is accessible to other
`computers 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.
`network—A system having at least two computers in
`communicable connection,
`including intranets, per-
`sonal networks, virtual private networks, and global
`public networks such as the Internet.
`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 memory (CDROM), digital versatile
`disk DVD), magneto-optical disk, and so forth.
`profile—User-specific information relating to an indi-
`vidual using a computer.
`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 code (such as JavaTM), or
`in a
`scripting or other interpreted language.
`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 stores information
`and that answers requests for information.
`
`Google Ex. 1001, pg 20
`
`Google Ex. 1001, pg 20
`
`
`
`US 6,771,290 B1
`
`5
`software application—A program and associated libraries
`and other files;
`for example, a word processing
`application, a spreadsheet application, or a personal
`information management 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
`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 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
`resource and to notify the second program module of the
`selection of that first link. The second program module can
`be operable in response to notifications from the first pro-
`gram module to select the informational data to be displayed
`from among a larger amount of informational data, and the
`second program module can be further operable to store
`statistical data regarding the display of the selected infor-
`mational data. This permits targeting of banner advertise-
`ments based upon the type of link (financial, news, sports,
`etc.) selected by the user, the software applications clicked
`on by the user, and other network accessible files accessed
`by the user.
`In addition, the apparatus further includes user specific
`maintenance and organization of that user’s individual files
`and resources represented by the user-selectable links con-
`tained within the first program module,
`in order that an
`individual user can gain access to those files and resources
`from a computer having network access, or that multiple
`users can gain access to individual files stored on the same
`computer. Preferably, this is accomplished by storing a user
`profile and user library on a server connected to the network.
`Then, when a user runs the first program module, it identifies
`the user and connects to the server to access that user’s
`
`profile and library, with the profile being used to specify that
`individual’s user-selected links to be displayed in the first
`region and the library being used to store these individual
`files and resources that the user wishes to be able to access
`
`from anywhere on the network. Furthermore, either of the
`two program modules can be disabled, and instead of using
`both modules,
`the user can use either of the modules
`individually and independently.
`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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`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 network, including a global
`public network such as the Internet. These updated version
`identifier(s) represent updated program modules accessible
`from a server via the 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 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 without having to download and install the
`entire software package. Preferably, the computer-readable
`memory is such that software can be updated even if
`multiple users have access to individual files stored on the
`same computer. Such updated software can be provided for
`the computer itself, or for selected users of that computer.
`In accordance with another aspect of the present
`invention, there is provided a computer-readable memory
`for use by a computer that provides a software developer/
`distributor with an efficient mechanism for distributing
`software via a network. The computer readable memory
`comprises a non-volatile data storage 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 network, including a global public network
`such as the Internet. These updated version identifier(s)
`represent updated program modules accessible from a server
`via the network. This program module is further operable, if
`desired, 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 one or more of the program modules. In this way,
`software upgrades can be carried out, either as desired and
`requested or automatically without any user action required.
`Also, upgrading can be accomplished without having to
`download and install an entire software package. Preferably,
`the computer-readable memory is such that software can be
`updated even if different users have access to individual files
`stored on the same computer. Alternatively, rather than
`replacing its own program modules, the program can be
`operable to handle distribution and upgrading of a separate
`software application using version identifiers for the various
`modules of the software application. Also, rather than com-
`paring version identifiers at the client computer, this com-
`parison can be carried out at the server, with the necessary
`upgraded modules then being downloaded to the client
`computer. Thus, new software can be distributed to a user,
`software updates can be provided to a user (e.g., applications
`and anti-virus software), and software maintenance can be
`carried out. This, provides third party software developers/
`distributors with a distribution tool to distribute, upgrade,
`service and maintain their software.
`
`In accordance with another aspect of the invention, a
`method is provided for supplying demographically-targeted
`advertising to a computer user. For comput