throbber
||||||||||||||||||||||||||||||||||||||||||lllll||||||||||||||||||||||||||||
`
`U3006799277BZ
`
`{12)
`
`United States Patent
`Colvin
`
`(10) Patent N0.:
`
`(45) Date of Patent:
`
`US 6,799,277 B2
`*Sep. 28, 2004
`
`(54)
`
`(75}
`
`(73}
`
`SYSTEM AND METHOD FOR MONITORING
`SOFTWARE
`
`Inventor: David S. Calvin, Commerce 'Ibwnship,
`M] (US)
`
`Assignee: 14 'lbcl‘tnologles, Inc., Commerce
`Township, MI (US)
`
`(‘l
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C‘. 154(b) by 0 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`{21)
`
`(22)
`
`(65)
`
`(63)
`
`(60)
`
`(51)
`(52)
`(58)
`
`(56)
`
`Appl. N0.: 09,818,819
`
`I-‘iled:
`
`Mar. 27, 2001
`Prior Publication Data
`
`US 20iiltfi034712 Al Oct. 25, 200]
`
`Related U.S. Application Data
`
`Continuation-impart of application No. 09535521, filed on
`Mar. 27, 2000, new Pat. No. 6,460,142, which is a continu-
`ation of application No. 09,090,620, filed on Jun, 4. 1998,
`now Pat. No. 6,044,471.
`Provisional application No. 601192284, filed on Mar. 27,
`2000.
`
`HIM-L 9732
`Int. Cl.7
`713,202; 705151
`U.S. CI.
`
`7137200, 201,
`Field of Search
`7137202, 193; 7091229; 70504.51, 52,
`53, 55, 57, 59
`
`References Cited
`
`U.S. PA'l'EN'I' DOCUMENTS
`
`4,796,220 A
`4,827,508 A *‘
`5,014,234 A
`5,182,770 A
`5,199,066 A
`5,287,403 A
`
`1.0989 Wolfe
`5t1989 Shear
`5099]. Edwards, in
`1t1993 Medvcezky et :11.
`3.31993 Logan
`2fl994 Samson
`
`70553
`
`705359
`
`5,341,429 A
`5,495,4ll A
`5,509,070 A
`5,548,645 A
`5,553,139 A *
`5,564,038 A
`5,579,479 A
`5,606,614 A
`5,638,513 A
`5,652,793 A
`5,717,756 A
`5,771,347 A
`
`80994 Stringer el all.
`231996 Ananda
`4.31996 Schull
`$1996 Ananda
`9.31996 Ross et al.
`102‘ 1996 Grant: et al.
`1121996 Plum
`2.31997 Brady at a].
`6.31997 Ananda
`7t’l997 l’rienl et al.
`2.31998 Coleman
`60998 Grant: ct at.
`
`(List continued on next page.)
`OTHER PUBLICATIONS
`
`Garceau el at, “General controls in a local area network”
`Feb. 1995, Ohio CPA Journal, vol. 54, #1, p. 24—29.*
`Magid, “Software Rentals Revisited—The growth of the
`Internet, intranets, and extrancts has revived the concept of
`renting software—and added a twist." Aug. 18, 1997, Infor-
`mationweek, n. 644-, p. 132.
`Li el al, Mattab Tutorial Jan. 3, 1999, http:ttwww.me.umn-
`.edutcoursestem4232ttuloria1.hlrnl.
`
`(List continued on next page.)
`
`Prt‘ttmtjv Exatttinerfiyaz Sheikh
`Assistant Examiner—Christopher Revak
`(74) Attorney. Agent, or Firm—Brooks Kushman RC.
`
`(57)
`
`ABSTRACT
`
`Systems and methods for monitoring, testing, distribution,
`and use of computer software with aswciated methods and
`systems for repeatedly contacting a software user and
`exchanging information. such as passwords. authorization
`information, marketing, advertising, or promotional infor-
`mation include associating a list of passwords with each
`copy or group ofeopies of computer software which must be
`entered at predetermined intervals to provide continued use
`of the software. Software monitoring and network license
`metering may be providing by storing information relative to
`software operation on a local computer or server and trans
`ferring the information to a remote computer or server at
`predetermined intervals.
`
`40 Claims, 17 Drawing Sheets
`
`
`
`am mun“:
`A!”:sww
`:
`mull!
`.
`m I nan-Ln on r)
`mama: wetsuit
`
`
`”fall cIM'mn-ou
`
` mil mum M'- n?
`
`Wm um I
`“mm
`I! m: It mind...
`mm sad-cry
`mm as:
`
`in
`
`LYFT 1035
`
`LYFT 1035
`
`1
`
`

`

`U.S. PATENT DOCUMENTS
`4‘
`
`5,790,664
`5,812,764
`5,842,124
`5,845,065
`5,845,077
`5,848,397
`5,862,299
`5,870,543
`5,870,610
`5,931,901
`5,940,074
`5,974,454
`5,974,461
`5,991,402
`6,023,268
`
`I!
`
`>>>>Zb>>>>ibbbl>>>
`
`831998
`911998
`1 1.11998
`1 23' 1998
`127'1998
`1211998
`13' 1999
`2.? 1999
`2.? 1999
`$1999
`$1999
`10,3 1999
`101' 1999
`l 1/ 1999
`232000
`
`Coley at a].
`Heinz, Sr.
`Kenagy el al.
`Come el al.
`Faweett
`Marsh et 8.].
`Lee et al.
`Renning
`Beyda
`Wolfe et al.
`Britt, Jr. el al.
`Apfel et al.
`Goldman et al.
`.1161 et al.
`Britt, Jr. el al.
`
`US 6,799,277 B2
`Page 2
`
`7091203
`
`386794
`
`272000 Barriiz et al.
`6,029,145 A
`412000 Slivka elal.
`6,049,671 A
`572000 Liff el al.
`6,068,156 A
`672000 1-‘awcelt
`6,073,214 A
`6,134,593 A * 10(2000 Alexander et al.
`6,182,144 Bl
`1.320101 England
`6,349,335 Bl
`212002 Jenney
`6,697,948 Bl *
`2.32004 Rabin et a].
`
`OTHER PUBLICATIONS
`
`7091229
`
`213K200
`
`Games, “Rumer Abnul Windenws 95 snooping program
`refuses to die" Aug. 17, 1995, The Gazelle.
`Duncan, “What ’5 New in thWare 3.2", Feb. 1998, Novell
`Research, pp. 1—12.
`
`* cited by examiner
`
`2
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 1 0f 17
`
`US 6,799,277 B2
`
`ozoz
`
`29.2255.mug;5mm
`
`
`5%.35:8.75in5%Egg:25%:fig
`
`
`
` mmgfié2.gmEmafizwmmfiwmmngow851255
`
`Em225:2$.35232&on$52$8
`
`mm_
`mm295anE?SalaamE
`
`mma232.58mo8s:
`magma5m:1.55
`mm¢>>tom
`
`A.‘$25528Empmflwfioflmw:m?55288BE20%m,22bwwwflwwfimm
`
`35:51?$85$2SEE2:239.295?:
`$2$8“5BE;582:
`
`we,oz
`
`5mm
`
`
`.E222322.3&2:.zozémez.222823.”.madamE92$335E5:$25:35238x?_
`
`
`
`
`
`
`\
`
`
`
`
`
`mapmxgzozq NM_.“N§Badge—2mmEm:wzfiauémum:mo“.qumfigmSSmmmq
`
`zQfi<E¢EE
`
`3
`
`
`
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 2 0f 17
`
`US 6,799,277 B2
`
`mm;
`
`mm
`
`agge
`
`
`5.2sz02memsE.BEBEwmou—EéfimozmmEmmmo2958393
`
`
`
`
`
`Edam:SE525:mmmScmm20563;?m5:221%.EAmi:cm
`
`
`
`zo_._.<E¢ou_z_mmmEmmmdFmE
`Ema2:sz“a'E
`
`mmgéé_,__Em33%5.:mean:m8m2
`ZigzfiohndzoEofinid.
`$93—28
`
`9m.
`
`33%no$2.$25528E8:29:.233828mm>3?
`
`3720:5154wmooxoEm:55:;4553.320:5an
`
`
`wwmEamDmmm¢mqam:55.29“D...
`
`
`$2$8”asaga$39%
`
`
`
`Q26.Em:.2meE33%.5:$28...3342.58:9»‘
`
`
`
`
`
`
`
`
`
`.05iEEEmEEwagon:.zoflqfimcmz‘.EzEEEoEwmznaam
`
`
`
`
`
`
`
`§\§mmEE3:32mm:8%?zOEQEEE::21;Ewas8.EggmagmaE:8:35:85.22%:325%23.35%
`
`
`
`
`
`
`wm_zQEEmEEwz_Exm<Ea2:
`
`
`.oiméuDEwaEm:352.52.Em:mop.mm<m¢EaBEE:qu
`
`mm
`
`
`
`
`
`$05282552054295:?
`
`
`
`35%3a$23:a2:2
`
`
`
`
`
`
`
`WE:ommEommxflmEmofimzzEmcEwEmammmmmuoma
`
`
`
`mmEEmso>m_SEEN—mmmq:9me
`
`4
`
`
`
`
`
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 3 0f 17
`
`Us 6,799,277 B2
`
`USER INSTALLs
`PRDGRAM
`
`USER ENTERS
`DISCRETE SERIAL NUMBER
`
`154
`
`
`l5
`SERIAL NUMBER
`
`INSTALLED
`?
`
`YES
`
`150
`
`I52
`
`N0
`
`_
`HE ENTER SERIAL NUMBER
`
`156
`
`CONTACT ASR FOR
`FIRST PASSWORD
`
`158
`
`150
`
`162
`
`
`IS
`' DOES
`
`
`USER DATABASE
`NO
`YES‘
`SERIAL NUMBER
`
`
`MATCH REGISTRA-
`ALREADY
`
`
`
`TION INFO?
`FIEGISJEFIED
`
`
`
`NO
`
`
`ASH REGISTERS SOFTWARE AND
`
`BEGINS BUILDING USER DATABASE
`
`
`
`164
`
`
`
`ATIS’ITHI‘AIIITIEfiffifi’éfififlfiI‘Dn
`
`IGDODflM-QDMS)
`
`APPLICATION
`OPERABLE FOR 30 DAYS
`
`PROGRAM CALCULATES THAT
`PASSWORD UPDATE IS NEEDED
`15 DAYS IN ADVANCE OF PROGRAM
`TERMINATION
`
`
`
`
`’53
`
`’79
`
`172
`
`STOP INSTALLATION AND
`ALERTUSER—TRAT-LICENSE
`TRRRUAATM
`MAY BE PIRATED AND TD
`CDNTACT ASH BY CLICKING
`BUTTON OR BY TELEPHONE
`
`PROGRAM SILENTLY
`CDNTACTs ASH
`
`’74
`
`we
`
`5
`
`

`

`US. Patent
`
`US 6,799,277 B2
`
`
`
`0DOm353%;Egg:Hnm,$3.555%
`Damage;-mam“Wm1mm.me53->I_‘w3533:-min8$58amamamma
`5Eggs:-$383::
`
`
`45.5%memo:Eugen;-was8E3”.2588256
`
`m$5.958::as:..swflmfimfimfl?”n
`
`
`
`5853:usingmozmzawm30>...me
`
`
`
`EN
`
`33805...-m><oon30.0mm
`
`
`
`gamuofim-22:5QO.252.
`
`2032”.
`
`GE8EE
`
`EN
`
`EN
`
`
`
`
`
`
`
`
`
` Exam;U35onwe-amJ2::E2&onE933295.599345:;\mE.253:95...8859:“5-33$528.0.22>me
`
`WNW
`
`«3ka
`
`335353.925cm5...:
`
`aka—.EEX-minam$55
`
`Sham—.25:-min.om9:1...
`
`menacwgfiq.943onazoomm
`
`mama—.255,.maneomEm=8
`
`55:33..-238EIC
`
`NE
`
`6
`
`
`
`
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 5 0f 17
`
`US 6,799,277 B2
`
`
`
`
`
`haI.zofiSJsz—"552:.ozazommmmmoo
`
`EN
`
`mmm
`
`
`
`\mmwIma:mommmoommK“gENl300mmszfiazqfi
`
`
`
`mum:>mommmhzm0%}...me
`
`ummlzo:.<._._<._.m2_”5m2;
`
`EmIchbxmem
`
`N3.|ESwsE.
`
`wwwImean24m
`
`EmI.memomama92:
`
`
`
`NmmIawn—2:2$.4sz
`
`
`
`
`
`
`
`.3“IE5axmmaaazazEmmmmS3%on
`
`.ENL80$52552azazemwmmoomfiwwmwwwwmfiw:
`
`
`.Nww$28.E:azazonEES7.452%mm522%.
`
`
`
`«aw:“atmamas”:mzazagms
`
`ENI882%$252338ahwwfimmmmwm
`
`
`
`
`
`~vmm[mooomamaHES.—szzomwmmmoo85$szmwmoo
`
`
`
`§‘ka
`
`
`
`Edge...”2—ammopmBEEzwwWES$24195
`
`
`
`ha.ImmmzszNEE:wz_ozon_mwmmoo
`
`
`
`mummmdgg>m$5.5szmnoo550mm4.9.2an
`
`
`
`
`
`aaaaaaaaaaaaaaanaaaaaaanam—maaaaannaanaaaaaauaanmanaa
`
`EN
`
`mum
`
`7
`
`
`
`
`

`

`US. Patent
`
`Sep. 28,2004
`
`Sheet 6 0f 17
`
`US 6,799,277 B2
`
` .
`
`£00295
`
`
`..0.0.0000..0_.0..
`
`
`
`.2505sz..0.=_._=o-10:01:04..
`
`
`
`
`
`
`
`
`......00M0080000¢E=...00.00.000.0._2.fi__...020000aafia..fi..§..fl8.§.____§._
`
`
`
`mcioozu00..:0»0.50:...
`Boos03:0c0005.:
`
`noonuuF—O9:0:£505a—EEEfiEE
`
`
`>03.5002:0.50:_naE3.0....0anm=°
`
`
`
`
`
`.comohoi
`
`
`
`
`
`
`..magi»........9000.
`
` ......0200000.g0.30.50.00.00.._.....
`.._..0..0..000,_0__...._
`
`
`
`....,_.__m__._.__0
`
`......m.“._0.000000....
`
`
`
`0000000085000002.
`
`can
`
`
`
`
`
`
`
`
`
`..........”_.venom—5.0620.2296
`...u....E.0:00th.zfimEBi.
`
`8
`
`
`
`
`
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 7 0f 17
`
`US 6,799,277 B2
`
`.w
`
`§Q
`
`5:22:E58».3.
`
`
`
`
`
`
`
`
`>=awmuuuaman:EczemaEwd....
`
`
`
`
`
`5..onEnigma50>uuumun:“Eu
`
`ooowquOroach-.5.Banana—mo.—
`
`.955
`58922
`
`:35...g5
`35,350:
`Ego“.
`swam
`
`
`
`
`
`.5535}5:83:92..........8...“.4.3.5.
`
`aw.
`
`9
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 8 0f 17
`
`US 6,799,277 B2
`
`
`
`k\~%....me3>9:5:83Eugen?Eucop—fig
`_.._.HI...L._.
`:ofihgfix83:25:ESE-.822:€38!
`
`
`
`...
`._....._.....nmu:.m_nohm.mofigmm3&5“:_._..:vM...2mm.
`
`
`
`
`
`
`n........._m....new“..._._.....__.__...._.._......_..._......m.G._._....fl
`
`
`.EEm1.83325.603.8can903mgaREE1%258#3:.8Buntocma..noafime2%n.CDmOhOEcr
`..wwmmfiméow2a82355038:88a..5...=9,
`
`.33..3.2"..5s58.mm...a.:9«i=83%:IQO—hho
`”_._......_.._........_..me“:..fimfim.gnaw...
`
`
`
`
`
`.53an;SEQ:S9.5..Eu:32E32:.
`
`..um—OFFOZ
`
`E.
`
`.952
`
`
`
`
`€222...on.bEfiqué.._;5:952;as“an:328:aEu:9»=.323553:32Q.3:
`
`2339.a;.355929.385.5.
`
`
`
`.3has:2Emguom252a..33mm”:2mcunsufiasis=Inigo:
`
`10
`
`10
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 9 0f 17
`
`US 6,799,277 B2
`
`
`
`
`
`
`
`TOW—Lam
`
`.
`
`EEOEms...
`
`8..5.52.2.3..
`
`
`83.:3:22....
`i.Ea...BEE
`\INUMT».....3:32....
`
`.23..»
`
`_u_._._3mL...
`
`.2:353
`
`E...u...fi=..
`
`Egan.»
`
`a.au...5I...«.I..3...:.§.—O
`
`
`
`.1...0...:Eur-Ii.
`
`h:&.ufl&u0
`5.3..3302.3“
`
`
`11
`
`__Esau”...
`._H.mafia....5”833.5%.
`.fin..53.“.22..
`
`
`_3525.59.5..wa
`
`
`
`
`
`
`
`11
`
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 10 Of 17
`
`Us 6,799,277 B2
`
`PROGRAM CALCULATES THAT
`PASSWORD UPDATE IS NEEDED
`- 15 DAYS IN ADVANCE OF
`
`PROGRAM TERMINATION
`
`PROGRAM OPENS BROWSER
`AND CONTACTS ASH FOR
`NEXT PASSWORD
`
`ASR CHECKS DATABASE AND
`COMPARES SERIAL NUMBER
`AND USER FILE TO REQUEST
`
`350
`
`352
`
`354
`
`
`
`HAS
`
`IS
`
`PASSWORD UPDATE
`OTHER USER
`
`
`INFORMATION CONSISTENT
`BEEN DOWNLOADED
`
`
`
`TO THAT SERIAL
`WITH USER DATA-
`
`
`BASE?
`NUMBER
`
`
`?
`
`
`
`353
`
`NO
`
`NO
`
`362
`
`364
`
`“UPLOAD
`_
`__
`NEXT OPERATIONAL
`PASSWORD (GOOD
`
`DO NOT UPDATE PASSWORD.
`AEERT'USER'THAT'EICENSE'
`15 ALREADY REGISTERED AND
`
`FOR NEXT 30 DAYS) USER'S SOFTWARE MAY BE PIRATED
`BUTTON OR BY TELEPHONE
`
`AND TO CONTACT ASR BY CLICKING
`
`32?”?
`
`12
`
`12
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 11 OH?
`
`Us 6,799,277 B2
`
`DECRYPT
`LICENSE FILE
`
`370
`
`374
`
`378
`
`
`
`372
`
`
`
`
`VALID
`YES
`ATTEMPT TO
`NOTIFY THE
`
`SERVER
`NOTIFY THE
`USER
`
`
`
`KEY?
`SERVER
`0F ERROR
`
`
`“0
`
`oecgglEDATE
`EXPIRATI
`
`380
`
`332
`
`334
`
`375
`
`39"
`-£er
`
`YES
`
`DISPLAY
`
`392
`
`> 15
`
`
`
`
`DAYS IN THE -FUTURE? RU”
`
`MEEFEFSEEE
`
`
`
`388
`
`“0
`390
`386
`
` YES
`
`
`CONNECT
`TO
`SERVER
`
`
`
`
`DOWNLOAD
`LICENSE,
`
`CONE. ABS.
`
`4
`
`
`DOWNLOAD
`LICENSE,
`
`CONE. ADS.
`
`
`
`13
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 12 0f 17
`
`US 6,799,277 B2
`
`AC SEPT
`ACTIVATI 0N
`KEY
`
`.
`
`YES
`
`422
`
`430
`
`ALREADY
`USED?
`
`N0
`
`420
`
`428
`
`N0
`
`LOG
`ERROR
`MESSAGE
`
`424
`
`434
`
`INFORM USER
`OF POSSIBLE
`MlS-TYPING
`
`42
`6
`
`446
`
`454
`
`YES
`
`436
`
`443
`
`450
`
`PRFOORAPT
`uses no a
`
`
`
`YES
`
`
`
`SAME AS
`IN DAT'IABASE
`
`
`
`NO
`
`LOG
`ERROR
`MESSAGE
`
`”0
`
`T
`MANY
`
`
`IfigTALLS
`
`?
`
`YES
`
`LOG
`ERROR
`MESSAGE
`
`438
`
`440
`
`442
`
`INFORM'USER
`OF LICENSE
`VIOLATION
`
`INFORM‘USE‘R
`OF LICENSE
`VIOLATION
`
`452
`
`444
`
`W I!
`
`14
`
`14
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 13 0f 17
`
`Us 6,799,277 B2
`
`ACCEPT
`ACTIVATE 0 N
`KEY
`
`470
`
`472
`
`474
`
`476
`
`478
`
`® MESSAGE
`
`LOG
`ERROR
`
`NO
`
`INFORM USER
`OF POSSIBLE
`
`MlS—TYPWG -
`
`EXIT
`
`YES
`
`488
`
`450
`
`
`ACT'VMED
`KEY?
`
`
`
`NO
`
`YES
`
`4
`
`99
`
`432
`
`434
`
`LOG
`ERROR
`MESSAGE
`
`INFORM USER
`OF LICENSE
`VIOLATION
`
`REVOKE KEY,
`INFORM
`AOMIN.
`
`492
`
`494
`
`REVDKED
`
`YES
`
`LOG
`ERROR
`MESSAGE
`
`INFORM USER
`OF LICENSE
`VIOLATION
`
`.EXIT
`
`4'86
`495
`
`505
`
`500
`
`502
`
`L0G
`ERROR
`MESSAGE
`
`INFORM USER
`OF LICENSE
`VIOLATION
`
`REVGKE KEY,
`INFORM
`ADMIN.
`
`504
`
`508
`
`$5? 14
`
`NO
`
`498
`
`
`RENEWAL
`PREVIOUSLY
`
`SENT?
`
`YES
`
`”0
`
`
`UPDATE
`
`
`ACCOUNT
`STATUS
`
`
`
`510
`
`15
`
`15
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 14 0f 17
`
`Us 6,799,277 B2
`
`1. PROCESS AOMINISTRATORS;
`
`53"
`
`M; (a) LOGIN ID.
`534 f (b) PASSWORD.
`536 f (0) FULL NAME.
`538 f (d) ACCESS RIGHT.
`54m,- (e) DATE OF LAST PASSWORD CHANGE.
`542/— (t) HASHED PASSWORD HISTORY.
`
`2. CATALOG OF PROTECTED SOFTWARE PROGRAMS:
`
`550
`
`sszf (a) UNIQUE PROGRAM IDENTIFIERS.
`554x (b) NAMES.
`556/ (c) VENDOR INFORMATION.
`553! (d) REVISION INFORMATION.
`560! (e) PRIVATE AND PUBLIC KEYS USED FOR EACH PROGRAM.
`
`3. ACTIVATION KEY DATABASE
`
`57"
`
`Hzf (a) PROGRAM IDENTIFIER.
`574*,- (b) ACTIVATION KEY.
`575-—/‘ (c) CREATION DATE.
`mf (:1) CUSTOMER ID (INITIAL BLANK).
`4. CLIENT DATABASE
`
`59"
`
`592_/- (a) UNIQUE RANDOM IDENTIFIER.
`594x (b) NAME.
`595/ (C) ADDRESS.
`Sggf-(d)-PHGNE—ANDFAX-NUMBERS
`goof (e) E-MAIL ADDRESS.
`602f (1) FIRST REGISTRATIONDATE.
`604!" (Q) DEMOGRAPHIC AND MARKETING INFORMRTIUN.
`
`5. CLIENTIPROGRAMTLICENSE DATABASE.
`
`510
`
`512—” (a) CLIENT ID.
`614—” (b) PROGRAM ID.
`f (0) FIRST SUCCESSFUL DOWNLOAD.
`
`31;, (a) FIRST UNSUCCESSFUL DOWNLOAD. W A?”
`620/ (3) LAST SUCCESSFUL DowN LOAD.
`622 J.— (1') LAST UNSUCCESSFUL DOWNLOAD.
`
`'
`
`16
`
`16
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 15 0f 17
`
`Us 6,799,277 B2
`
`524"— (0) CURRENT LICENSE EXPIRES DATE.
`525“» (h) STATUS IAGTIVEIREVOKE D)
`
`6. EVENT LOG:
`
`530
`
`WI (3) ADMINISTRATOR ID.
`534/ (b) CLIENT ID.
`max (0) PROGRAM ID.
`”sf (a) ACTIVATION KEY.
`540! (e) DATBTIME.
`542/" (1‘) TYPE CODE.
`545/ (g) DETAIL TEXT.
`523;. 1.5%
`
`650/. (3) ASSIGN A SINGLE RANDOM. 64-BIT MASTER PASSWORD TO THE BATCH.
`652/ (b) CREATE ONE UNIQUE ACTIVATION KEY PER COPY OF THE
`INSTALLED MEDIA MANUFACTURED.
`f (8) FOR EACH ACTIVATION KEY, CREATE A RANDOM 128-BIT ENCRYPTIDN KEY.
`654 f (d) ENCRYPT A 123-BIT BLOCK, COMPOSED OF THE MASTER PASSWORD
`656
`PLUS A RANDOM 64-BIT NUMBER, WITH THE ENCRYPTION KEY FOR
`EACH ACTIVATION KEY.
`
`w 145?
`
`670 \
`
`CD #
`
`672
`
`674
`
`676
`
`673
`
`Encrypted Key
`
`Encrypt (E3, Master Key + Randomfl)
`
`
`Encrypt {E1, Master Key + Randam())
`Encrypt (E2, Master Key + Randomfl)
`
`Encrypt (En, Master} Key + Randam())
`
`17
`
`17
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Sheet 16 0f 17
`
`US 6,799,277 B2
`
`E
`
`N E
`
`mum
`
`w-
`Q
`
`mE1JM“202%BE.__"memo:
`mica“:__unH-53%E332..._fl
`_._92$Edam:"m$25:$25:m“52mm”M£3m
`
`NE
`
`Em
`
`Em
`
`
`m52.5mu222%n
`
`9.52m
`
`omxotgm
`
`mzozmmzmt
`
`xmogmz
`
`man
`
`$23:
`
`“.3893
`
`own
`
`Em...
`
`29.53%;
`
`-5052...:-+$2.3
`
`52005
`
`$50:-zQEEEnE
`
`-x8525;-+wmz=5
`
`mum:
`
`zo_._.¢._.mxmo§
`
`zo_Eo_._n_n_¢
`
`8k
`
`«E
`
`van
`
`8h
`
`EK
`
`NE.
`
`3K
`
`m3
`
`18
`
`18
`
`
`
`
`
`
`

`

`US. Patent
`
`Sep. 28, 2004
`
`Shect17 0f17
`
`US 6,799,277 B2
`
`New
`
`52mm
`
`:48:
`
`own
`
`mHoEmm
`
`mu>mmw
`
`afim
`
`mhm
`
`new
`
`emu
`
`19
`
`19
`
`
`
`
`
`

`

`US 6,799,277 B2
`
`1
`SYSTEM AND METHOD FOR MONITORING
`SOFTWARE
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation—impart of U.S. appli—
`cation Ser. No. 09535321 filed Mar. 27, 2000, now 0.3.
`Pat. No. 6,460,142 which is a continuation of U.S. patent
`application Ser. No. 09i090,620, filed Jun. 4. 1998, now US.
`Pat. No. 6,044,471, the disclosures of which are hereby
`incorporated by reference in their entirety. This application
`also claims priority to US. provisional application Serial
`No. 60t192,284 filed Mar. 27, 2000 titled “System and
`Method for Monitoring Software," the disclosure of which
`is hereby incorporated by reference in its entirety.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`
`The present invention relates to systems and methods for
`monitoring, testing, distribution, and use of computer soft-
`ware with associated methods and systems for repeatedly
`contacting a software user and exchanging information, such
`as passwords, authorization information, marketing,
`advertising, or promotional information, quality assurance
`information, and network monitoring and metering.
`2. Background Art
`Software developers are often victims of illicit copying
`and unauthorized use of their software in violation of
`
`contractual obligations imposed by licensing agreements
`and subject to civil and criminal penalties under various
`domestic and foreign laws. Unauthorized entities range from
`a relatively small percentage of the total users to an over—
`whelming majority of illegal users. Likewise, unauthorized
`use may range from an “extra” copy on a laptop computer
`or for an office mate to “try” the software, to understating the
`number of users for a “site" license or networked version of
`
`the software, to wholesale copying and black market selling
`or distribution of pirated software. Such unauthorized use
`not only amounts to theft of the developers’ intellectual
`property, but also reduces the number of programs sold and
`therefore the associated profitability of the developer. This
`may ultimately diminish the creative effort expended by the
`software developers due to the reduced financial incentive.
`The advent of the Internet has contributed to the prolifera-
`tion of pirated software. known as “warez", which is easily
`located and readily downloaded.
`Various strategies have been employed to make unautho—
`rizcd duplication and use of software more difficult. One
`such approach is to provide a hardware “key” which is
`typically installed in the parallel port of the computer to
`provide a software interlock. If the key is not in place, the
`software will not execute. This method is relatively expen-
`sive for the developer and cumbersome for the authorized
`user while remaining vulnerable to theft by duplication of
`the hardware key.
`Another approach requires the user to enter a serial
`number or customer identification number during installa-
`tion of the software. Missing or invalid registration infor-
`mation prevents installation of the software. This approach
`is easily defeated by transferring the serial number or
`customer identification number to one or more unauthorized
`users.
`
`Yet another approach requires registering the software
`with the manufacturer or distributor to obtain an operational
`code or password necessary for installation of the software.
`
`‘JI
`
`It)
`
`15
`
`toU!
`
`3!]
`
`4E}
`
`45
`
`SD
`
`55
`
`60
`
`2
`Again, once the operational code or password is obtained, it
`may be perpetually transferred along with pirated copies to
`numerous unauthorized users.
`
`Various copy protection strategies have been employed to
`reduce the number of unauthorized copies available. This
`approach is generally disfavored by users who may have a
`legitimate need to make backup or archival copies or trans-
`fer a copy to a new computer or hard drive.
`In addition to revenue lost due to unauthorized copying of
`software, developers expend significant
`resources to
`research and develop new software features which will be
`embraced by users. The increasing complexity of software
`combined with the wide variety of hardware platforms
`makes it virtually impossible for a developer to test every
`combination of features for compatibility and proper
`operation, particularly while subject to market pressures to
`release new versions of the software on a regular basis.
`Compatibility issues may arise when a particular application
`is used with one or more other applications which may be
`specific to a particular field or discipline. Minor errors or
`compatibility issues often are not reported by users but
`contribute to overall dissatisfaction with the product and
`may result
`in reduced sales for future versions. Product
`research relative to the strengths and weaknesses of the
`software and the desirability of new features is often costly
`and time consuming which contributes to the market sensi-
`tive release of new versions of the software.
`
`While prior art strategies have enjoyed various levels of
`success in reducing unauthorized use of software, they often
`impose a significant burden on the authorized users or are
`easily defeated by unauthorized users. As such, software
`developers need an apparatus andtor method for reducing
`unauthorized use of software which does not burden the
`
`authorized users to dissuade them from purchasing and
`using the protected software.
`
`SUMMARY OF THE INVENTION
`
`As such, it is an object of the present invention to provide
`systems and methods for monitoring, testing, distribution,
`and use of computer software.
`invention is to provide
`Another object of the present
`systems and methods for repeatedly contacting a software
`user and exchanging information, such as passwords, autho-
`rization information, marketing, advertising, or promotional
`information.
`
`A further object of the present invention is to provide
`systems and methods for monitoring software use to reduce
`unauthorized software use through repeated contact with
`users.
`
`invention is to provide
`Another object of the present
`systems and methods for monitoring, metering or auditing
`networked computers having access to particular computer
`software for compliance with software licensing terms.
`Yet another object of the present invention is to provide
`systems and methods for improving software quality assur—
`31366.
`
`A further object of the present invention is to provide
`systems and methods for collecting operational data relative
`to various software features which may include program use,
`errors, help requests, and the like.
`In carrying out
`the above objects and other objects,
`features, and advantages of the invention, a system and
`method for generating a plurality of authorization codes for
`use in monitoring software to reduce unauthorized copying
`or use of the software include repeatedly requiring a user or
`
`20
`
`20
`
`

`

`US 6,799,277 B2
`
`3
`user computer to obtain an authorization code upon expiran
`tion of an authorization interval for continued operation of
`the computer software. in one embodiment, the system and
`method include assigning a unique customer code with a
`software developer, publisher, or distributor, generating a
`serial number for each copy of the computer software,
`generating a password code identifying a plurality of pass—
`words or a password algorithm for each copy of the
`software, and combining the customer code,
`the serial
`number, and the password code to form an authorization
`code for each copy of the software. In one embodiment, the
`system and method require a user of the software to contact
`an authorized software representative during installation of
`the software, collect registration information from the user
`or the user computer including an activation key or code,
`and determine whether the user is an authorized user based
`
`on some or all of the registration information and the
`activation key or code. The codes corresponding to the
`activation on key or code based on the determination of
`whether the user is an authorized user.
`
`In another embodiment of the present invention, a system
`and method for monitoring computer software installed on a
`plurality of computers in communication with one another
`or a central computer to form a computer network include
`associating an activation code or password with the com-
`puter software for authorizing one or more copies of the
`software to be installed on computers associated with the
`computer network, the activation code or password corre—
`sponds to a plurality of authorization codes or passwords
`(which may be identical if desired), collecting registration
`information from one or more computers or servers associ-
`ated with the computer network during installation of the
`computer software, providing a first authorization code or
`password from the plurality of authorization codes or pass
`words for the software to authorize operation of the com—
`puter software for a first interval, and requiring entry of
`another one of the plurality of authorization codes or pass-
`words for each copy of the computer software to continue
`operating beyond the first interval.
`Systems and methods for monitoring computer software
`to provide quality assurance and marketing information to
`software developers andr‘or remote monitoring of network!
`site license compliance are also provided.
`In these
`embodiments, the systems and methods may include storing
`information relative to use of the computer software and
`automatically transmitting the stored information to an
`authorized software representative at predetermined inter-
`vals.
`In one implementation. a system and method for
`monitoring computer software used by a plurality of com~
`puters connected to a local server to form a
`local area
`netwurk to reduce unauthorized use of the computer soft-
`ware include monitoring a number of computers using the
`computer software, storing information associated with the
`computers using the computer software on the local server.
`and repeatedly transferring the stored information to a
`remote server.
`
`The present invention provides a number of advantages
`relative to prior art systems and methods for monitoring,
`testing, distribution, and use of computer software. For
`example, the present invention allows for complete opera-
`tional and pricing flexibility while providing ongoing con-
`tact with authorized users and reducing unauthorized use of
`software. The global quality assurance capabilities of the
`present invention afl'ord software developers the ability to
`fully audit
`their software applications to identify the
`strengths, weaknesses, use, andt'or errors of various software
`features. This feature of the present invention may be used
`
`4
`for complete statistical control during and after beta test
`cycles including full monitoring of errors, conflicts, use
`patterns, etc. eliminating reliance upon human reporting and
`research. The quality assurance features of the present
`invention may also be used to provide a complete fault or
`error log of program conflicts or shutdowns with associated
`error codes of all programs in use, worldwide, in addition to
`a complete log of non-fatal errors of all programs in use on
`a particular computer. Likewise, monitoring of use patterns
`including time of use, most used features and tools, and use
`and context of help screens, may be provided through local
`storage of information which is subsequently transferred to
`a remote server at predetermined intervals. The flexibility
`associated with the present invention accommodates a wide
`range of audit parameters for use in quality assu ratio: as well
`as network license metering and monitoring. Additional
`flexibility is provided in that the various features of the
`present invention may be used alone or in any combination.
`The above advantages and other advantages, objects, and
`features of the present invention, will be readily apparent
`from the following detailed description of the best mode for
`carrying out the invention when taken in connection with the
`accompanying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`is a block diagram illustrating one
`In and If)
`FIGS.
`embodiment for software monitoring to reduce unauthorized
`use according to one embodiment of the present invention;
`FIG. 2 is a block diagram illustrating one embodiment for
`initial
`installation of computer software for a system or
`method for monitoring software according to the present
`invention
`FIG. 3 illustrates an authorization or activation code and
`
`related password sequence tables according to one embodi—
`ment for monitoring software of the present invention;
`FIGS. 4n and 4b illustrate generation of an activation code
`and associated password entered by a user for continued
`operation of protected computer software according to one
`embodiment of the present invention;
`FIGS. 5—7 illustrate messages which provide information
`to a user of protected software during initial installation or
`subsequent password updates according to one embodiment
`of the present invention;
`FIG. 8 illustrates representative information including but
`not limited to advertising, marketing, or promotional infor-
`mation which may be transferred during initial installation
`or a subsequent password updates according to one embodi-
`ment of the present invention;
`FIG. 9 is a block diagram illustrating operation of a
`system or method for monitoring software including a
`license file or password update process according to one
`embodiment of the present invention;
`FIG.
`II] is a block diagram illustrating operation of a
`system or method for automatically renewing or updating a
`password according to one embodiment of the present
`invention;
`FIG. 11 is a block diagram illustrating operation of a
`system or method for server registration and validation of an
`activation key according to one embodiment of the present
`invention;
`FIG. 12 is a block diagram illustrating operation of a
`system or method for server license file renewal according
`to one embodiment of the present invention;
`FIGS. 13¢: and 13b illustrate a representative database for
`use in facilitating batch and interactive processing of moni-
`
`‘JI
`
`It)
`
`15
`
`toU!
`
`3!]
`
`4E}
`
`45
`
`SD
`
`55
`
`60
`
`21
`
`21
`
`

`

`US 6,799,277 B2
`
`5
`
`toring functions administered by an authorized software
`representative according to one embodiment of the present
`invention;
`
`FIGS. 14¢: and 14b illustrate a system or method for batch
`distribution of authorization information which may be
`encrypted according to one embodiment of the present
`invention;
`FIG. 15 is a block diagram illustrating a representative
`system for monitoring software according to one embodi-
`ment of the present invention; and
`FIG. 16 is a block diagram illustrating an alternative
`embodiment of a system for auditing or metering network
`software which may include various quality assurance fea—
`tures according to one embodiment of the present invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTtS)
`
`As will be appreciated by one of ordinary skill in the art,
`the various block diagrams illustrating operation of a system
`or method for monitoring software according to the present
`invention may be implemented using one or more general
`purpose computers, dedicated hardware, or a combination of
`general and special purpose hardware and software. The
`various functions or steps illustrated are preferably ell’ected
`by a programmed computer unless otherwise indicated.
`Various steps or functions may be performed manually by a
`software administration or a computer user without depart—
`ing from the spirit or scope of the present invention. As will
`also be appreciated by those of skill in the art, the illustrated
`steps, functions, or control logic may be implemented using
`any of a number of known programming and processing
`techniques or strategies and is generally not limited to the
`order or sequence illustrated. For example, interrupt or event
`driven processing may be used to capture various informa—
`tion relative to program errors or feature use. Likewise,
`parallel processing, multi-tasking, or multi-threaded systems
`and methods may be used to accomplish the objectives,
`features, and advantages of the present invention. The inven-
`tion is independent ofthe particular programming language,
`operating system, processor, or circuitry used to develop
`andfor implement
`the control logic illustrated. Likewise,
`depending upon the particular programming language and
`processing strategy, various functions may be performed in
`the sequence illustrated, at substantially the same time, or in
`a different sequence while accomplishing the features and
`advantages of the present invention. The illustrated func-
`tions may be modified, or in some cases omitted, without
`departing from the spirit or scope of the present invention.
`Although not explicitly illustrated, various steps or functions
`may be repeatedly performed depending on the type of
`function and the type of processing employed.
`As described in greater detail below, the present invention
`provides the capability of integrating various software moni-
`toring features to provide software security, advanced
`e-commerce marketing and advertising concepts. global
`quality assurance, and network license auditing, monitoring,
`and metering. Depending upon the particular application,
`these features may be used alone or in any combination.
`Those of ordinary skill in the art will recognize that “pass-
`words” and "authorization codes or keys" may be used
`interchangeably unless otherwise noted. Similarly, “activa-
`tion" codes or keys typically represent the firs “authoriza~
`tion code” or “password" entered during initial registration
`of the computer software. As will also be appreciated,
`authorization “intervals” generally represent a metric for
`measuring use of a particular software application program.
`
`‘JI
`
`It)
`
`15
`
`toU!
`
`3!]
`
`4t}
`
`45
`
`SD
`
`55
`
`60
`
`6
`limited to random,
`“Intervals" may include but are not
`pseudo-random, regular,
`irregular, event-triggered,
`time-
`based, calendar-based, or other suitable measures for deter-
`mining use of the monitored computer software. Interval
`metrics may also include individual or aggregate program
`execution time or number of program eitecutions,
`for
`example.
`A security feature according to one embodiment of the
`present invention should dramatically reduce the piracy rates
`for software developers inc

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket