`Hoyle
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,771,290 B1
`Aug. 3, 2004
`
`US006771290B1
`
`(54)
`
`COMPUTER INTERFACE METHOD AND
`APPARATUS WITH PORTABLE NETWORK
`ORGANIZATION SYSTEM AND TARGETED
`ADVERTISING
`
`(75)
`
`(73)
`
`Inventor: Martin David Hoyle, Metairie, LA
`(Us)
`Assignee: B.E. Technology, LLC, Bay City, MI
`(Us)
`
`Notice:
`
`(21)
`(22)
`(86)
`
`Appl. N0.:
`
`PCT Filed:
`
`PCT N0.:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`09/744,033
`Jul. 16, 1999
`PCT/US99/16135
`
`§ 371 (6X1),
`(2), (4) Date: Apr. 11, 2001
`
`(87)
`
`PCT Pub. No.: WO00/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, ?led 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 al.
`
`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, PC.
`(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 speci?cation 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 pro?le
`that is accessible to any computer on the network.
`Furthermore, multiple users of the same computer can
`possess Internet web resources and ?les that are
`personalized, maintained and organized.
`
`(List continued on neXt page.)
`
`3 Claims, 16 Drawing Sheets
`
`300
`22 /
`
`/
`Server
`
`330
`Database J
`Services
`42
`; 34“\
`
`Advertiser
`Services
`|
`
`Accounting
`Services
`\
`
`346\
`
`Management
`Services
`/
`
`I
`Web
`Browser
`
`/
`\
`Managgnem
`Terminal
`
`370
`
`/
`w A 00
`
`335 \‘
`
`_? Client&User
`/
`Registration
`338
`\
`
`K340
`
`User
`Services
`
`/’
`l 8
`
`Internet / Intranet
`L'20
`
`*l
`Other
`C1‘ t
`Suffix/[are - Client
`Application
`SO?Ware
`!
`.1
`\
`\350
`10
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 1
`
`
`
`US 6,771,290 B1
`Page 2
`
`US. PATENT DOCUMENTS
`
`5,572,643
`5,584,025
`5,600,781
`5,617,565
`5,710,884
`5,717,923
`5,724,521
`5,732,218
`5,740,549
`
`A
`A
`A
`A
`A
`A
`A
`A
`A
`
`11/1996
`12/1996
`2/1997
`4/1997
`1/1998
`2/1998
`3/1998
`3/1998
`4/1998
`
`Judson
`Keithley et al.
`Root et al.
`Augenbrauun et al.
`Dedrick
`Dedrick
`Dedrick
`Bland et al.
`Reilly et al.
`
`5,848,397
`5,890,172
`5,914,714
`5,917,491
`5,933,811
`5,937,392
`5,948,061
`5,963,208
`5,977,970
`* cited by examiner
`
`*
`
`12/1998
`3/1999
`6/1999
`6/1999
`8/1999
`8/1999
`9/1999
`10/1999
`11/1999
`
`Marsh et al.
`Borman et al.
`Brown
`Bauersfeld
`Angles et al.
`Alberts
`Merriman et al.
`Dolan ...................... .. 345/853
`
`Amro ....................... .. 345/839
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 2
`
`
`
`U.S. Patent
`
`4
`
`M1
`
`/09SU
`
`Bmzéomall
`
`M.I|IIIIIIIIIIIIIIIIII2_J,3_2252mg_2Q<
`
`
`:o:mo:.E<III!IIIIIL
`
`Mom
`
`%.wuwfioi
`
`Siam
`
`
`
`65%:om
`
`E020
`
`9
`
`«SQ$mD
`
`2mm_I|L
`
`o
`“o
`
`
`
`
`
`owfioumbu._mm_Dwm
`
`1
`
`1
`
`BS%.2,H05E
`W2Q<
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 3
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 3
`
`
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 2 0f 16
`
`US 6,771,290 B1
`
`2232???
`
`EQSU w m L
`
`?mgcom _ | I | | | I l | I I I | I l I I l I I I | I 1 l | !
`
`
`
`@ED .55
`
`(i.
`
`EEBE
`
`cm
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 4
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 3 0f 16
`
`US 6,771,290 B1
`
`cm
`
`202mm @<
`
`$522560
`82%: 5
`
`@wgSmQ
`
`SEQEwOEQQ
`
`ow
`
`
`
`A) 58w 29,,
`
`_'||_ 1
`
`ow
`
`E26
`
`E26
`
`BEBE
`
`m .UE
`
`ow
`
`E26
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 5
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 4 of 16
`
`US 6,771,290 B1
`
`3%H®CCNm
`
`owfiofim
`
`SamSmb
`
`owfioum
`
`_
`
`O:
`
`om
`
`\fll
`
`\
`
`BEBEK
`
`ED/w
`
`Siam
`
`mm
`
`o~3UOE05O2m<_u25w
`
`8
`
`]m3¢omE25
`
`:o:mo:mm<
`
`525m
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 6
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 6
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`m
`
`m
`
`%£IE.___2,.&.
`
`45%..:m_mIU<50>momaEom.»E:o~NB.§§\E=m_=_%
`
`Wmxmmowvm
`%fi.@@@@@
`
`we
`
`Nbcm
`
`ow
`
`mm.UE
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 7
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 7
`
`
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 6 of 16
`
`US 6,771,290 B1
`
`1
`LB
`«mm III
`
`
`
`
`
` mucaoccm@wmmwm:mmmi.32my
`
`u:wE:_.mtBcuU.
`
`wm_tm>nmW-
`
`
`
`>._m.:__._Ea_._._.u_anew
`
`ILII
`
`32$3963
`
`Sow@95810582WEwEBBmVa»mmww
`958105
`
`om.05
`
`u_§_m_>:3
`
`”u2_m_>85:
`
`
`
`.:.._u:mmmww®>.mE_._E_mu_£S9_5S_ _m.___._:.sa1
`
`
`
`
`
`
`
`
`
`mE~=om_
`
`
`
`mzwzmmwsmzm>__mo_
`
`
`
`
`
`$_u_t<0.:_U.mm..
`
`wwmmflmmmmmi59m:
`_
`
`
`
`.€_wm>>..cm9vE
`
`6::>>m_>
`
`
`
`
`
`mzmzmmmfimsm>_xwo>>
`
`._~_D>>o_>
`
`
`
`mzazmmmgmsm25:02
`
`mwu_u£mutaxuoum
`uu2E>:3%_
`
`62_m_>35:
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 8
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 8
`
`
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 7 of 16
`
`US 6,771,290 B1
`
`__
`
`__
`
`
`
`
`mEmo.:mmfitomomBwoqm2oZNQEEDm2oZ
`
`
`
` _mm:_________fl_flEozomfioum=_._=Ewan_Eo:omEoUEo:omEoU
`
`2352o:2252862
`
`
`
`
`
`flO:BEflflu>_ooom%:omm8oZsoumbflmomm8oZ
`
`
`
`_____Eocomfiov“__Eo:omEoUEocomfiov
`
`
`
`\mczccmflHotm
`
`wEwmmmoS_
`
`xflmma\55:1
`
`Eocomfiou
`
`E955M
`
`Eucomfioo
`
`_H
`
`I
`
`H_II
`llllllllllllllllllllll{IL
`
`ca
`
`32352so
`
`2.=a2_ou
`
`Eoao.ECU.~mn=OOr—.
`
`E28.EoU:52Eocozcou
`
`2ea2_ou
`
`
`
`wmooo<2_..8ESm:
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 9
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 9
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Aug. 3, 2004
`Aug. 3, 2004
`
`Sheet 8 0f 16
`Sheet 8 of 16
`
`US 6,771,290 B1
`US 6,771,290 B1
`
`
`
`.964:...:w..._..$2.54$_swa5
`
`
`
`
`
`
`
`>.:SEmc3a_oomm<_—.2n_uomm<_.2n_oomm<:54:o=«::$QBE“.93:
`
`
`
`
`
`
`
`
`
`
`
`E5200EMS.:E8xmEoxM./E8.:omoS_E.>r?$8.8::._mmuEm=pEoo.v_E_I§:.>§r$bmgobccam
`
`
`
`
`
`
`
`mN_/:.HOU.m#.50—.>»>./>w
`
`
`
`
`
`
`
`nwiE2mzm.._u:mm_ob:oUmS§mEoo,.mEnEo;m,mmoEm_3mfiswoa/Eoo.v_=:Iw:ouom.>»>§>rwmoficcmm
`
`
`
`
`
`
`
`
`
`
`
`55:32fiCOu.$E.>/>35mfiommrEOu.MC:J—v1:_.:tcwmouuccmm
`
`
`
`
`
`\l .GE
`5.05
`
`ifor
`
`
`
`:_oE=Et2:u.36.:
`
`=_wo_,.,_m9/:.o3E__:.E53%
`u_m.NX.u§mm4
`
`Eoo.:m$.>r53
`
`Eoo.m:omm...$>»>»
`
`1
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 10
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 10
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 9 0f 16
`
`US 6,771,290 B1
`
`@511
`
`132
`User Download
`Request \)
`
`134
`Send Form
`to User \)
`
`All
`Required Fields
`Filled Out
`?
`
`136
`
`(138
`Request Correction
`of Form
`
`140
`Assign Unique
`ID to User \)
`
`142
`Store 1D Along
`with Demographic \J
`Data
`
`144
`Transmit Client
`Application to User i\)
`
`<
`
`>
`
`FIG. 8
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 11
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 10 0f 16
`
`US 6,771,290 B1
`
`Display
`Login
`
`/‘ 148
`
`150
`
`New
`Login Name
`?
`
`NO
`
`Password
`
`Access User Setup
`Preferences & Bookmarks
`from User Data Storage
`
`Display
`GUI
`L/ 156
`
`1
`
`Stop
`
`1
`
`FIG. 9
`
`Setup
`New Account
`
`Request
`
`162
`
`Required Data
`Present
`
`164 '\
`
`Report Demographic
`Data & Store New
`User Data
`
`166 '\
`
`l
`Access Default
`Preferences & Bookmarks
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 12
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 11 0f 16
`
`US 6,771,290 B1
`
`Access
`ADM Server
`
`170
`
`User
`Input
`
`Yes .
`
`176
`
`Process
`User Input
`
`FIG. 10
`
`Internet
`Connection
`Available
`‘.7
`
`182
`f
`Report computer
`Usage Information
`
`Download
`New Banners
`
`186
`
`\184
`
`Reset
`Flag Alert
`
`Update
`Components
`‘2
`
`Builder
`Routine
`
`k190
`
`174
`
`Select &
`Display Banner
`l
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 13
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 12 0f 16
`
`US 6,771,290 B1
`
`FIG. 1 1
`
`Banner
`Selected
`7
`
`k Run Default
`Browser and open j
`Banner Link
`
`Shortcut/
`Application
`Selected
`
`198
`Set
`Priority : M6di1lm
`
`S 200
`Execute Shortcut/
`Application
`
`:
`
`204
`Set
`Priority I Medium
`
`206
`Open Category
`Links Window
`
`__>
`
`Link
`Selected
`
`2 1 O
`Set
`= -
`
`2 12
`Run Default
`—— Browser and open
`
`Selected Link
`
`>
`
`-
`
`-
`
`pnonty Hlgh
`
`216
`S
`.
`.
`at
`.
`Pnomy ‘ H‘gh
`
`2 l 8
`
`Run Default
`Browser and open
`Speci?ed Link
`
`'
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 14
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 13 0f 16
`
`US 6,771,290 B1
`
`- 220
`Determine K
`Priority Level
`
`Determine
`Banner Category
`
`M 222
`/
`
`224’\
`
`Select & Display
`Banner
`
`226
`/\ Record Event, Time,
`& Banner Display
`
`FIG. 12
`
`Banners
`Expired
`?
`
`r232
`
`Move to Next
`
`Banner Count
`
`234
`
`Notify Flag
`Alert Component
`
`6D
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 15
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 14 0f 16
`
`US 6,771,290 B1
`
`FIG. 13
`
`236
`Access Version Numbers for /
`each Upgradable Component
`in Client Application
`
`Generate
`Current
`Blugpnm
`
`23 8
`
`240
`
`Access updated
`Blueprint from ADM
`Server
`
`242
`
`ls Updated
`Blueprint Equal
`to current
`Blueprint ‘.7
`
`No Upgrading
`Necessary
`
`244
`/
`
`l
`
`1
`
`246
`
`Determine New
`Component(s) Needed
`
`New
`Builder Module
`Needed
`
`Pass Control to
`Auxiliary Module
`
`\\
`252
`
`Terminate Builder
`Execution
`
`254
`
`Download and Install
`New Component(s)
`
`250
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 16
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 15 0f 16
`
`US 6,771,290 B1
`
`Access Updated
`Blueprint ID
`from ADM Server
`
`- 258
`
`Yes
`
`Updated
`ID equal to
`current ID
`'7
`
`/ 262
`
`/' 260
`
`Send Current
`ID to ADM Server
`
`No upgrading
`Necessary
`
`Download & Install
`Updated C0rnponent(s)
`
`266
`Restart /
`GUI
`
`4
`
`€
`Stop
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 17
`
`
`
`U.S. Patent
`
`Aug. 3, 2004
`
`Sheet 16 of 16
`
`US 6,771,290 B1
`
`Mi
`
`Em
`
`_.-mczcbrw
`
`26569252
`
`E2UBmitom83§=_o-:55I
`
`oS>_£ow
`
`_§§=&<
`
`S
`
`EoEowm:£Z
`
`mooriom
`
`wauczooo/w
`
`muuvfiom
`
`Sm_to>_o<
`
`Barium
`
`com
`
`o
`m
`m
`
`mm
`
`.5>.5m
`
`ommnfimo
`
`moorzom
`
`mmm
`
`bmb6%25:0
`
`aoumbflwox
`
`mm
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 18
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 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, ?led Jul. 17, 1998,
`noW Pat. No. 6,141,010.
`
`10
`
`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 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., uniform resource
`
`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 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 (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 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
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 19
`
`
`
`US 6,771,290 B1
`
`3
`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
`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.
`Internet users typically employ broWser applications and
`related technologies in order to access the WWW; and to
`locate and vieW ?les, 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 ?les 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 ?exibility 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, the
`folloWing de?nitions 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.
`
`10
`
`15
`
`25
`
`35
`
`40
`
`45
`
`55
`
`65
`
`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
`sentations or other display data that includes audio in
`addition to visually-perceived data.
`?le—Any digital item, including information, documents,
`applications, audio/video components, and the like, that
`is stored in memory and is accessible via a ?le 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
`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 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.
`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 ?oppy disk, a compact
`disk read-only memory (CDROM), digital versatile
`disk DVD), magneto-optical disk, and so forth.
`pro?le—User-speci?c information relating to an indi
`vidual using a computer.
`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 J avaTM), 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.
`
`Petitioner Microsoft Corporation - Ex. 1001, p. 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 (eg, 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-
`par