`Hoyle
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US006771290Bl
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6, 771,290 Bl
`Aug. 3, 2004
`
`(54) COMPUTER INTERFACE METHOD AND
`APPARATUS WITH PORTABLE NETWORK
`ORGANIZATION SYSTEM AND TARGETED
`ADVERTISING
`
`(75)
`
`Inventor: Martin David Hoyle, Metairie, LA
`(US)
`
`OTHER PUBLICATIONS
`
`Brown, M., Using Netscape™ 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, P.C.
`
`(73) Assignee: B.E. Technology, LLC, Bay City, MI
`(US)
`
`(57)
`
`ABSTRACT
`
`( *)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21)
`
`Appl. No.:
`
`09/744,033
`
`(22)
`
`PCT Filed:
`
`Jul. 16, 1999
`
`(86)
`
`PCTNo.:
`
`PCT/US99/16135
`
`§ 371 (c)(l),
`(2), ( 4) Date: Apr. 11, 2001
`
`(87)
`
`PCT Pub. No.: W000/04434
`
`PCT Pub. Date: Jan. 27, 2000
`
`(63)
`
`(51)
`(52)
`(58)
`
`(56)
`
`Related U.S. Application Data
`
`Continuation-in-part of application No. 09/118,351, filed on
`Jul. 17, 1998, now Pat. No. 6,141,010.
`Int. Cl? . ... ... .. ... ... ... ... .. ... ... ... ... ... .. ... ... .. G06F 15/00
`U.S. 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 a!.
`
`A method and apparatus for providing an automatically
`upgradeable software application includes targeted advertis(cid:173)
`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(cid:173)
`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(cid:173)
`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
`
`/3 00
`
`22
`
`Server
`
`330
`
`3 3 5 ------,._
`
`338
`
`10
`
`348
`
`1
`
`
`
`US 6, 771,290 Bl
`Page 2
`
`U.S. 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
`5,724,521 A
`5,732,218 A
`5,740,549 A
`
`11/1996 Judson
`12/1996 Keithley et a!.
`2/1997 Root et a!.
`4/1997 Augenbrauun et a!.
`1/1998 Dedrick
`2/1998 Dedrick
`3/1998 Dedrick
`3/1998 Bland et a!.
`4/1998 Reilly et a!.
`
`5,848,397 A
`12/1998
`5,890,172 A
`3/1999
`5,914,714 A
`6/1999
`5,917,491 A
`6/1999
`5,933,811 A
`8/1999
`5,937,392 A
`8/1999
`5,948,061 A
`9/1999
`* 10/1999
`5,963,208 A
`* 11/1999
`5,977,970 A
`* cited by examiner
`
`Marsh eta!.
`Borman eta!.
`Brown
`Bauersfeld
`Angles eta!.
`Alberts
`Merriman et a!.
`Dolan ........................ 345/853
`Amro ......................... 345/839
`
`2
`
`
`
`1--"
`~
`Q
`\0
`'N
`1--"
`""-l
`""-l
`-..a-..
`rJ'l
`e
`
`'"""' 0'1
`'"""' 0 ......,
`~ .....
`'JJ. =(cid:173)~
`
`FIG. 1
`
`N c c
`~
`
`~~
`
`~
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`22
`
`Server
`ADM
`
`Internet
`
`30
`
`Storage
`Banner
`
`TCP I IP
`
`20
`
`32
`
`18
`
`____ J
`
`~----------------
`
`Application
`Software
`Client
`
`Module
`ADM
`-~----~
`10
`
`Storage
`User Data
`
`34
`
`28
`
`Module
`
`GUI
`
`I
`1
`
`12
`
`,----
`
`Display
`
`26
`
`3
`
`
`
`1-"
`~
`Q
`\0
`'N
`1-"
`""-l
`""-l
`-..a-..
`rJ'l
`e
`
`'"""' 0'1
`0 ......,
`N
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`~~
`
`~ ({Q
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`FIG.2
`
`22
`
`ADM Server
`
`32
`
`I
`
`~__:jion
`
`Software
`Client
`
`1
`
`38
`
`Internet
`
`20
`
`TCP I IP
`
`26
`
`Display
`
`Module
`ADM
`
`Module
`
`GUI
`
`Banner
`
`User Data
`
`30
`
`34
`
`4
`
`
`
`1--"
`~
`Q
`\0
`'N
`1--"
`""-l
`""-l
`-..a-..
`rJ'l
`e
`
`'"""' 0'1
`......,
`0
`~
`
`.....
`'JJ. =-~
`
`~
`
`~
`
`N c c
`> =
`
`~~
`({Q
`
`~ =
`
`......
`......
`~
`~
`•
`\Jl
`d •
`
`46/
`
`I
`
`FIG. 3
`
`I
`
`Database
`
`Demographics
`
`User I
`
`I I
`
`Ad Database
`
`44~
`
`40
`
`I
`
`Client
`
`)
`
`22
`
`ADM Server L
`
`I
`
`Components
`
`Updated
`
`48~
`
`I
`I
`
`Ad Servers
`
`50
`
`Internet
`
`-;..--
`
`20
`
`Client
`
`Client
`
`Client
`
`40
`
`Client
`
`40
`
`Client
`
`42
`
`Client
`
`5
`
`
`
`1--"
`~
`Q
`\0
`'N
`1--"
`""-l
`""-l
`-..a-..
`rJ'l
`e
`
`'"""' 0'1
`0 ......,
`~
`
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`~~
`
`~ ({Q
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`FIG. 4
`
`-----------I
`1
`
`-------
`
`--cli~~s;ft--~---------
`I
`
`ware
`
`Application
`
`.
`
`Module
`Auxiliary
`
`all other modules
`
`~De=) Interfaces with
`
`66 -~
`
`I
`
`Module
`Builder
`
`641
`
`Server
`ADM
`
`) J-y
`co
`
`.-
`
`et
`
`Intern
`
`7
`
`ly
`
`--
`
`(
`
`Module
`
`PDA
`
`1 c62
`
`Module
`ADM
`
`------------r--r----,
`
`l
`
`0
`
`Storage
`Banner
`
`Storage
`User Data
`
`34
`
`~58
`
`I
`I
`
`GUI Module
`
`~
`
`I
`Module
`
`l/0
`
`54\ I
`
`52\
`
`Module
`Notes
`
`Module
`Login
`
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I 60)
`I
`I
`I
`
`H-
`
`I
`I
`I
`I
`I
`I
`I
`T
`I
`I
`
`26-=.=;
`
`Display
`
`6
`
`
`
`1--"
`~
`Q
`\0
`'N
`1--"
`""-l
`~
`0'1
`rJ'l
`
`e
`
`'"""' 0'1
`0 ......,
`Ul
`~
`
`'JJ. =(cid:173)~
`
`~
`
`~
`
`N c c
`> = ~
`
`~
`
`FIG. 5
`
`Q!JQon
`
`Place Other Ad Here
`
`CJ_Q]IEJ
`
`eJ')Health
`
`72
`
`86
`
`74
`
`Place Your Ad Here
`
`84
`
`L-Olink2
`j Olinkl
`i Lo linkJ
`~-OPiayers
`i t..a link4
`$--Q Managers
`
`B··D Baseball
`
`·-----------
`® :-v~~~-uRi·:
`
`o View Title
`
`-
`
`8Q "Sports•
`
`1fu
`~
`flJ
`~
`l!1J
`ee
`
`r--·
`
`FIG. 5a
`
`80
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`.-.
`
`0
`
`I
`
`I
`
`L-l.t'::"'.ln.
`
`yiew Iools
`
`I
`69
`
`80
`
`.-----24
`
`68
`
`7
`
`
`
`1--"
`~
`Q
`\0
`'N
`1--"
`""-l
`~
`0'1
`rJ'l
`
`e
`
`'"""' 0'1
`0 ......,
`0'1
`~
`
`'JJ. =(cid:173)~
`
`~
`
`~
`({Q
`
`~
`
`N c c
`> =
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`I--•
`
`-·
`
`f--
`
`...
`
`FIG. 5c
`
`FIG. 5b
`
`I
`
`C!ose
`
`I
`
`Times Visited:
`
`Last Visited:
`
`..
`
`r--
`
`-
`
`I
`
`qose
`
`I
`
`~ 2001 pro_forma
`~ 2000 pro_forma
`~ ~ Y2K statement
`~ ~announce
`~ ~ May Press release
`B--~ advertise
`$--ESJ Entertain
`ffi-.0 Entertainment
`
`I
`
`83 Library
`
`Share
`
`Qelete
`
`View URL
`
`View Title
`
`B.ename
`
`_Move to Folder
`
`~reate Folder
`
`I
`I
`I
`I
`I
`I
`I
`
`I
`r--,
`
`• r--
`
`l±:J-0 Stock Price Indices
`I ~--Monthly Business News
`8--Weekly Business News
`$·0 Merger Press Releases
`l $-·Mergers Weekly
`$-0 IPO Articles
`
`1 $--Daily Business News
`
`~Search ...
`
`I EB Library
`I Business
`
`Times Visited:
`
`Last Visited:
`
`Qelete
`
`View URL
`
`View Title
`
`fiename
`
`Move to Folder
`
`~reate Folder
`
`8
`
`
`
`1--"
`~
`Q
`\0
`'N
`1--"
`""-l
`""-l
`-..a-..
`rJ'l
`e
`
`'""" 0'1
`0 ......,
`-..J
`~ ......
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`~~
`
`~ ({Q
`
`~ = .......
`
`~ .......
`~
`•
`\Jl
`d •
`
`FIG. 6
`
`54__;
`
`L-------------1-------------
`1 i
`
`Messaging
`
`1
`
`Component
`Flag Alert
`
`114
`
`Component
`
`Timer I Display
`
`112
`
`i ~---c--=-10s---~--.---r= 11o-------.
`
`ADM Module
`
`!
`
`I
`I
`I
`I
`I
`I
`I
`I
`
`l--------~------------------1
`I
`I
`I
`I
`I
`I
`1
`1
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`1
`"'I
`1
`
`\___58
`
`t
`
`Component
`
`File l/0
`
`.
`
`
`
`11
`
`1
`I
`1
`
`128
`
`126
`
`124
`I/0 Module
`
`----1----...J
`I 98
`I
`I
`
`I
`~~~~~~~~ I
`
`Collapsible
`
`U_RL Component ~2
`
`Drag Button
`
`I
`I
`I
`I
`I
`
`I 00
`
`---
`
`L-52
`
`L ___________ T _________ _ ______ J
`
`T oolbar Component
`
`I
`
`102:
`
`j
`
`I
`
`Toolbar Component
`
`1
`
`1041 lf-j Banner Component I
`
`Component
`
`\._j_
`
`I 1j User Profile Access
`
`~---------------------------,
`
`~---------------------------,
`
`l----------------~-------1
`I
`I
`I
`1 Notes RegistratiOn
`I
`1 120
`I
`I
`I
`I
`I
`1
`1
`I 116
`Notes Module
`
`
`
`11
`
`I
`
`1
`I
`I
`I
`I
`I
`
`lollll
`1
`
`96 r--------------·----------r-
`94
`
`GUI Module
`
`I
`
`56
`
`Component
`
`Component
`
`Component
`Notes Logic
`
`118
`
`.
`
`.
`
`Component
`Notes Display
`
`9
`
`
`
`1--"
`~
`Q
`\0
`'N
`1--"
`""-l
`""-l
`-..a-..
`rJ'l
`e
`
`'"""' 0'1
`0 ......,
`00
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`~~
`
`~ ({Q
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`FIG. 7
`
`I
`
`High
`
`Medium
`
`--
`
`-------··----·-r---·-~~~-----~ ·-
`
`travel, entertai!l.I11ent
`
`www.last_lin.k.com\cgi\login
`
`BannerXX.gif
`
`www.sports.com
`
`www.espn.com
`
`www.nfl.com
`
`sports
`
`third link.com
`
`Banner03 .gif
`
`.
`
`High
`
`Control Panel:System
`
`business, shopping, computers
`
`www.second _link.com \products
`
`Banner02.gif
`
`www.lotus.com\123
`
`,
`I
`
`General
`I
`Level
`Priority
`
`Exce\TM, 123H1
`
`www.microsoft.com\excel
`
`business, finance
`
`www.first link.com
`
`BannerO l.gif
`
`Prog~ams
`Associated
`
`Links
`
`Associated
`
`Categories
`Associated
`
`Destination Link
`
`Image File
`
`10
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 9 of 16
`
`US 6, 771,290 Bl
`
`Start
`
`)
`
`132
`
`134
`
`136
`
`138
`
`Request Correction
`of Form
`
`User Download
`Request
`
`Send Form
`to User
`
`All
`Required Fields
`Filled Out
`?
`
`Yes
`
`Assign Unique
`ID to User
`
`140
`
`Store ID Along
`with Demographic
`Data
`
`142
`------____)
`
`Transmit Client
`Application to User
`
`144
`
`Stop
`
`)
`
`FIG. 8
`
`11
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 10 of 16
`
`US 6, 771,290 Bl
`
`Start
`
`Display
`Login
`
`148
`
`150
`
`Yes
`
`New
`Login Name
`?
`
`No
`
`152
`
`158
`
`No
`
`Setup
`New Account
`?
`
`No
`
`Password
`Correct
`?
`
`Yes
`
`154
`
`Yes
`
`160
`
`Access User Setup
`Preferences & Bookmarks
`from User Data Storage
`
`Display
`GUI
`
`Stop
`
`156
`
`FIG. 9
`
`Request
`Demographic Data
`
`162
`
`No
`
`All
`Required Data
`Present
`?
`
`Yes
`
`164
`
`166
`
`Report Demographic
`Data & Store New
`User Data
`
`Access Default
`Preferences & Bookmarks
`
`12
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 11 of 16
`
`US 6, 771,290 Bl
`
`FIG. 10
`
`Start
`
`182
`
`Report computer
`Usage Information
`
`Access
`ADM Server
`?
`
`Yes
`
`No
`
`Internet
`Connection
`Available
`')
`
`No
`
`180
`
`Download
`New Banners
`
`186
`
`Yes
`
`184
`
`188
`
`No
`
`Reset
`Flag Alert
`
`Update
`Components
`?
`
`Yes
`
`Builder
`Routine
`
`No
`
`190
`
`170
`
`172
`
`User
`Input
`?
`
`No
`
`Yes ~------------~
`
`176
`
`No
`
`Key
`Event
`
`Process
`User Input
`
`Ad
`Timer
`Expired
`?
`
`Yes
`
`178
`
`Select &
`Display Banner
`
`174
`
`13
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 12 of 16
`
`US 6, 771,290 Bl
`
`192
`
`Yes
`
`196
`
`Yes
`
`202
`
`Yes
`
`208
`
`Yes
`
`214
`
`Yes
`
`Start
`
`Banner
`Selected
`?
`
`No
`
`Shortcut/
`Application
`Selected
`'J
`
`No
`
`Category
`Selected
`?
`
`No
`
`Link
`Selected
`?
`
`No
`
`URL
`Input
`?
`
`No
`
`12116
`
`194
`
`FIG. 11
`
`Run Default
`Browser and open
`Banner Link
`
`198
`Set
`Priority= Medium
`
`-200
`Execute Shortcut/
`Application
`
`204
`Set
`Priority = Medium
`
`206
`Open Category
`Links Window
`
`210
`Set
`Priority = High
`
`212
`
`Run Default
`Browser and open
`Selected Link
`
`216
`Set
`Priority = High
`
`218
`
`Run Default
`Browser and open
`Specified Link
`
`Stop
`
`14
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 13 of 16
`
`US 6, 771,290 Bl
`
`Start
`
`Determine
`Priority Level
`
`Determine
`Banner Category
`
`-220
`
`-222
`
`Select & Display
`Banner
`
`230
`
`Record Event, Time,
`& Banner Display
`
`Increment
`Banner Count
`
`224
`
`226
`
`228
`
`FIG. 12
`
`Banners
`Expired
`?
`
`No
`
`232
`
`Move to Next
`Set ofBanners
`
`Notify Flag
`Alert Component
`
`Stop
`
`15
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 14 of 16
`
`US 6, 771,290 Bl
`
`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
`
`248
`
`Pass Control to
`Auxiliary Module
`
`New
`Builder Module
`Needed
`?
`
`No
`
`Yes
`
`252
`
`Terminate Builder
`Execution
`
`Download and Install
`New Component(s)
`
`250
`
`Stop
`
`16
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 15 of 16
`
`US 6, 771,290 Bl
`
`Start
`
`FIG. 14
`
`256
`
`Access Updated
`Blueprint ID
`from ADM Server
`
`Updated
`ID equal to
`current ID
`?
`
`No
`
`- 258
`
`Yes
`
`-----262
`
`----260
`
`Send Current
`ID to ADM Server
`
`No upgrading
`Necessary
`
`264
`
`266
`
`Download & Install
`Updated Cornponent(s)
`
`Restart
`GUI
`
`Stop
`
`17
`
`
`
`1--"
`~
`Q
`\0
`'N
`1--"
`""-l
`""-l
`-..a-..
`rJ'l
`e
`
`'"""' 0'1
`0 ......,
`'"""' 0'1
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`~~
`
`~ ({Q
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`348
`
`I
`
`\
`
`'---~
`I
`
`Terminal
`
`Management
`
`I
`
`\
`
`I
`
`Services
`
`\
`
`Services
`
`Management
`
`...........
`
`Accounting
`
`342 ~ 346\
`
`Services
`Database __)
`330
`Server
`
`/300
`
`/
`
`/_
`
`22
`
`FIG. 15
`
`350
`
`\
`
`10
`
`\
`I
`
`Browser
`
`Web
`
`Software
`
`Client
`Other
`
`'---
`
`20
`
`I
`Internet I Intranet
`
`Application
`18~ Software
`Client
`I
`\
`
`\
`
`\
`\
`
`335~ ~ v
`
`Services
`Advertiser
`
`~
`
`I
`
`I
`
`Services
`
`User
`
`Registration
`Client & User
`
`338
`
`18
`
`
`
`US 6,771,290 Bl
`
`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 U.S.
`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(cid:173)
`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(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., uniform resource
`
`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
`5 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(cid:173)
`ing server along with an associated link to additional infor-
`10 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(cid:173)
`cally unlimited advertising, it at most permits targeting of
`the advertisement based upon the type of information con-
`15 tained in the web page. Moreover, access to a new adver(cid:173)
`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
`20 programming built into the software itself. That is, the
`various parameters relating to the presentation of the adver(cid:173)
`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,
`25 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
`30 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(cid:173)
`tising approaches.
`To provide demographically-targeted advertising, the
`35 advertiser or distributor of the advertising must obtain
`demographic data on its end users. Perhaps the most com(cid:173)
`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
`40 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
`45 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
`50 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
`55 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, U.S.
`Pat. No. 5,724,521 to Dedrick discloses an electronic adver-
`60 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
`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
`65 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
`
`19
`
`
`
`US 6,771,290 Bl
`
`5
`
`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
`~~
`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 10
`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 25
`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.
`U.S. 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 35
`queue from which advertisements are then accessed, appar(cid:173)
`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 WWW; 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 45
`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 50
`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 55
`receive and store electronic information on a limited net(cid:173)
`work system. However, the usefulness and flexibility of such
`systems are severely limited, because each browser instal(cid:173)
`lation traditionally has been independent of other browser
`installations to which a user has access. Thus, information 60
`within one browser is not easily transportable to the other
`browser.
`Except as may be explicitly indicated otherwise, the
`following definitions shall apply:
`browser-A program that can communicate over a net- 65
`work using http or another protocol and that can display
`html information and other digital information.
`
`30
`
`15
`
`20
`
`40
`
`4
`client computer-A computer that is connected to a
`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, links,
`keywords, or entries in an address book.
`display object-Data capable of display by a computer,
`including graphical images as well as multimedia pre(cid:173)
`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(cid:173)
`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
`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(cid:173)
`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(cid:173)
`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 Java™), or in a
`scripting or other interpreted language.
`program module-One or more related program compo(cid:173)
`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.
`
`20
`
`
`
`US 6,771,290 Bl
`
`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(cid:173)
`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(cid:173)
`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
`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(cid:173)
`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(cid:173)
`mational data. This permits targeting of banner advertise(cid:173)
`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(cid:173)
`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- 65
`puter readable memory comprises a non-volatile data stor(cid:173)
`age device and a program that is separated into a plurality of
`
`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
`5 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 module