throbber
·,'·.
`
`SUBCLASS
`
`ART UNIT
`
`CLASS
`
`,31-P>i
`
`FILEDWI'rH:
`
`(Attache_~ i~ po·cket 9~ rightlns\de.flap)
`
`may be restricted, unauthorized disclosure may be prohibited by the United States'Code Title 35; Sections 122, 181 and 368.
`& Trademark Office is restricted to authorlzed.employees and contractors-only.


`
`I

`
`.·
`
`~,jt~,Fee
`
`(LABEL AREA) .
`
`,;,,-... ·
`
`':vrm0! !Jravi:!nas (__silts) set_
`. (~.A,..CE)
`
`ANCC000008
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`Ill'.·.
`fc:'··
`
`----------;-·--.._
`
`\ r --
`
`:_ ....
`
`.. -·
`
`-:-
`
`'•.;:..
`
`···CONTENTS
`
`INITIALS----
`
`Date received
`(Incl. C. of M.},
`or··
`Date Mailed
`
`42.
`
`43. _ _ __;,_,j,L,
`.. ------~ - - - -
`1/"
`
`50.--~-------,
`
`•51 . ...;__~----~--- ---~-
`
`52.~--------- --'-'----'-
`
`"<JJ.I"-
`
`e:~.
`
`53.,.,--,-------'---- ----~
`~~~ - -+ - - - - - - - - -
`
`20. _ _ --"-~"------+- ____ _.;.,
`~~ .
`21. _ _ .....;-,-_;_ _ _ _ _ _ _ ~-----'-
`
`. . _,;~
`
`22. --,---_;_ _ _ _ _ _ _ _ - - - - -
`
`2,3. --'0---""''"':-"..,.,_..~----- - - - -
`24. -.,-,......,~-'7:--'-~-~­
`
`' 25 . .:.,' ~~---~--- --C.,----'--"-(cid:173)
`' i26.· -~~'--4'--~----- ~---
`27. --""'""'-,.~"'-"-~-..,-,---'-- -~--­
`·/':.
`2.S. --.,---'---i-_,___,,____..;__ _
`__,_ - - - - -
`
`;
`
`\
`
`58,
`Sit
`
`61 .
`62.
`
`.63 .
`
`. 64.
`
`65.
`
`66.
`
`67.
`
`6.8 ..
`
`6.9.
`
`70.
`
`71.
`
`72.
`,.['13:; -'
`
`74~·
`
`1'75.
`
`76.
`
`77.
`78.
`79.
`
`80.
`
`81.
`
`82.
`
`.:(
`
`(FRONT)
`
`(",
`
`:,_,.,_
`
`ANC9
`
`ANCC000009
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`SEARCH NOT6S
`(INCLUD~~"SEARCH S'J:!=I,ATEGY)
`
`Class
`
`Sub.
`
`Date
`
`Exmr.
`
`' .
`
`Class
`
`Sub.
`
`Date
`
`Exmr.
`
`ANCC000010
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`·_:..;'
`
`' ·.
`. ;~
`
`ISSl TE ~ 1 jp STAPLF AREA (for additional cross refe.rences)
`-::~,~5)72~-i~;"'' '-7·~ ..
`,,.,,;ytt~s{''?N; .
`.,,:'
`~:.;·~ '
`.:
`~· lt:J)
`~I !\;11'<:
`!£',(""'\
`ttl: }hJ:'
`· lit:.Vn:vv
`
`INITIALS
`
`~
`
`:
`
`••
`
`:.
`
`·.
`
`. .
`
`.
`
`,· ', <:·
`
`. • .·
`
`~
`
`•c
`
`.. -·
`
`IDNO.
`
`DATE
`
`l~Mr !/
`
`[;
`(a<;Cf'll
`INDEX OF CLAIMS
`
`/ ()- / 11' {;,y·
`/; ,·.
`'IJcJ9Cfl'c1 .
`I
`
`.•.
`
`I .
`
`'
`
`·'
`;:
`
`;
`
`';i "'·
`
`>;
`,.
`
`' ....
`................................. Rejected
`= .: ................................ Allowed
`- (Through numeral) Canceled
`+ ................................. Restricted
`
`N ................................. Non-elected
`I ................................. Interference
`A ................................. Appeal
`0 ................................. Objected
`
`;
`
`1!, .hl
`~:.] ~~ ~~ ~ '
`...
`-:!
`,I
`
`[Claim "~l~ ~('\
`
`1'-
`
`['...
`[:::.
`
`~
`
`I~
`I~
`I~
`~
`
`..
`
`•.::
`,.,
`....
`·""'
`..,
`.--
`
`·~·
`·""'
`[>::::
`
`.)
`
`~r--
`\ '\ 1\i IV r-.·
`A..' 1 \; "V
`'2>.·· 3
`·-<~4
`5'[. 5
`iO .• 6
`1- 7
`~· 8
`,;,, "t 9
`1'13- 10
`~~
`~
`:\\ ~13
`['1.4;
`lts.
`\1~ 116
`
`<
`
`I
`
`'I
`
`'
`
`,t
`
`"
`
`:~ [17
`[18
`·n· [19
`\'b~
`\'\ zt
`13'. 'SJ ~~
`. 15' r- 1..j
`[24
`[25
`126
`27
`28
`29_
`30
`31
`,32
`[33
`
`135_
`[36
`
`~''\\ ~~
`---)0~.
`'-~
`r-j4o \:~~
`
`I
`
`~-·
`
`1\'
`
`[',.
`
`~~·".,
`
`[\<::
`
`"
`
`c\
`""':
`
`· ...
`
`141
`42
`43
`4~
`145 .
`
`[46 "'·
`
`147
`148
`[49
`15.0
`
`I
`
`.,,
`
`:.
`
`.:;,,
`
`>•
`
`~-·:.rir·::'·• .·
`~r,;:? '
`. <:
`,·
`
`Claim
`
`Date
`
`Claim
`
`Date
`
`<ii
`c:
`~ :~
`u:: 0
`51
`52
`53
`54
`55
`56
`: 57
`58
`59
`60
`61
`62
`63
`64
`65
`66
`67
`68
`69
`70
`71
`72
`73
`74
`75
`76
`77
`78
`79
`70
`81
`82
`83
`84
`85
`86
`87
`88
`89
`90
`91
`92
`93
`94
`95
`96
`97
`98
`99
`Mo
`
`<ii
`c:
`<ii
`'5>
`.5 i5
`lL
`119
`112
`113
`11
`115
`116
`117
`118
`1.19
`10
`111
`112
`113
`114
`115
`116
`117
`118
`119
`20
`121
`122
`123
`124
`125
`26
`127
`128
`29
`30
`131
`32
`13
`13
`13
`13
`131
`38
`39
`40
`141
`14
`14
`144
`45
`46
`14
`4
`14
`15
`
`lf more than 150 claims or 10 actions
`.staple additional sheet here
`
`.. (LEF,T INSIDE)
`
`~--·--''·------··-----··---- ---~
`
`-=··
`
`-"•·
`
`' \';
`
`if. .
`
`if
`
`ANCC000011
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`(12) United States Patent
`Mullor et al.
`
`llllllllllllllllllllllllllllllllllll! u••~ ~1111111111111111111111111111111
`US006411941Bl
`US 6,411,941 Bl
`Jun.25,2002
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`(54) METHOD OF RESTRICTING SOFTWARE
`OPERATION WITIUN A LICENSE
`LIMITATION
`
`(75)
`
`Inventors: Miki MuUor; Julian Valiko, both of
`Ramal H~haron (IL)
`
`(73) Assignee: Beeble, Inc., Newport Beach, CA (US)
`
`( *) Notice:
`
`Subject to any disclahner, the term ofthi?
`patent is extended or adjusted under 35
`U.S.C. 154(b)by 0 days.
`
`(21) Appl. No.: 09/164,777
`
`(22) Filed:
`
`Oct. 1,1998
`
`(30)
`
`Foreign Application Priority Data
`
`(D..)
`May 21, 1998
`................................................ 124571
`(51) Int. Cl? ................................................ G06F 17/60
`(52) U.S. Cl . ............................. 705/59; 705/50; 705/51;
`705/53; 705/57
`(58) Field of Search .............................. 705/51, 54, 56,
`705/57, 58, 59, 1, 50, 52, 53; 713/187,
`189, 200
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,866,769 A
`911989 Karp
`4,903,296 A
`211990 Chandra et al.
`4,924,378 A
`5/1990 Hershey et al.
`5,386,369 A
`111995 ·Christiano
`5,390,297 A
`2/1995 Barber eta!.
`5,479,639 A * 12/1995 Ewertz et al ............... 3951430
`5,490,216 A * 2/1996 Richadson, III ............... 380/4
`5,671,412 A
`9/1997 Christiano
`5,684,951 A * 11/1997 Goodman et al ...... 395/188.01
`5,754,763 A
`5/1998 Bereiter
`5,758,068 A
`5/1998 Brandt et al.
`5,758,069 A
`5/1998 Olsen
`5,790,664 A
`8/1998 Coley et al.
`5,826,011 A
`10/1998 Chou et al.
`5,892,900 A * 4/1999 Ginter et al ................ 395/186
`5,905,860 A
`5/1999 Olsen et a!.
`
`* 12/1999
`6,000,030 A
`6,006,190 A
`12/1999
`6,021,438 A
`212000
`6,0'.13,763 A
`2/2000
`6,052,600 A
`412000
`6,055,503 A
`412000
`6,067,582 A *
`512000
`6,073,256 A
`6/2000
`6,078,909 A
`6/2000
`6,128,741 A
`10/2000
`6,173,446 Bl
`1/2001
`6,189,146 Bl *
`2/2001
`6,192,475 Bl
`2/2001
`6,198,875 Bl *
`3/2001
`6,226,747 B1
`5/2001
`6,233,567 Bl
`5/2001
`6,243,468 B 1
`6/2001
`6,272,636 Bl
`8/2001
`6,298,138 Bl
`1012001
`
`Steinbet.~ et a!. ........... 713/200
`Baena-Amaiz et al.
`Duvvoori et al.
`Grumpstrup et al.
`.. ............... 455/509
`Fette et al.
`Horstmann
`Smith et al. ........ ... ........ 710/5
`Sesma
`Knutson
`Goetz et al.
`Khan et al.
`Misra et al. .. ................ 717/11
`Wa!lance
`Edens on et al. .. ............ 386/94
`Larsson et al.
`Cohen
`Pearce et al.
`Neville 'et al.
`Gotoh eta!.
`
`FOREIGN PATENT DOCUMENTS
`408286906 A * 11/1996
`
`............. G06F/9/06
`
`JP
`
`OTHER PUBLICATIONS
`
`Dornbusch et al., Destop management software: no need to
`adjust your set., Infoworld, vl7, n37, p60.*
`* cited by examiner
`
`Primary Examiner-Hyung-Sub Sough
`Assistant Examiner-Calvin L Hewitt
`(74) Attorney, Agent, or Finn-Venable; Robert Kinberg;
`Jeffri A. Kaminski
`
`(57)
`
`ABSTRACT
`
`A method of restricting software operation within a license
`limitation that is applicable for a computer having a first
`non-volatile memory area, a second non-volatile memory
`area, and a volatile memory area. The method includes the
`steps of selecting a program residing in the volatile memory,
`setting up a verification structure in the non-volatile
`memories, verifying the program using the structure, and
`acting on the program according to the verification.
`
`19 Claims, 2 Drawing Sheets
`
`M(MOR':'
`
`('·)
`
`l lstNON-vov.liLEI
`~··
`I~ UC[NCE RECOROS (10) {11) (12)
`
`2n<JNCN-YOLA!Ilf
`MEMORY
`
`(5)
`
`VOlATilE" MEMORY (li)
`
`I
`ILL .1
`
`ANC12
`
`ANCC000012
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`U.S. Patent
`
`Jun. 25,2002
`
`Sheet 1 of 2
`
`US 6,411,941 Bl
`
`/~
`
`'
`
`1st NON-VOLJ\TILE
`MEMORY
`
`(4)
`
`KEY (8) I
`
`2nd NON-VOLATILE
`MEMORY
`
`(5)
`
`/ 9
`LICENCE RECORDS ( 1 0) ( 11) ( 12) J
`
`VOLATILE MEMORY (6)
`
`LICENSE PROGRAM
`l 0
`I 0
`
`f-J14
`
`L_16
`~13 I
`C_15
`I 0
`I •
`
`\2) 0(3)
`
`j
`
`7
`
`LICENSE BUREAU
`
`(7)
`
`FIG.l
`
`ANC13
`
`ANCC000013
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`U.S. Patent
`
`Jun. 25,2002
`
`Sheet 2 of 2
`
`US 6,411,941 Bl
`
`SELECTING u
`
`17
`
`SETTING UP J
`
`1 8
`
`i '
`VERIFYING J
`
`1 9
`
`;
`ACTING J
`
`2 0
`
`FlG.2
`
`ANC14
`
`ANCC000014
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`US 6,411,941 Bl
`
`1
`METHOD OF RESTRICTING SOFTWARE
`OPERATION WITIDN A LICENSE
`LIMITATION
`
`FIELD OF THE INVENTION
`
`This invention relates to a method and system of identi(cid:173)
`fying and restricting an lillauthorized software program's
`operation.
`
`BACKGROUND OF THE INVENTION
`
`10
`
`Numerous methods have been devised for the identifying
`and restricting of an unauthorized software program's opera(cid:173)
`tion. These methods have been primarily motivated by the
`grand proliferation of illegally copied software, which is
`engulfing the marketplace. This illegal copying represents
`billions of dollars in lost profits to commercial software
`developers.
`Software based products have been developed to validate
`authorized software usage by writing a license signature
`onto the computer's volatile memory (e.g. hard disk). These
`products may be appropriate for restricting honest software
`users, but they are very vulnerable to attack at the hands of
`skilled system's programmers (e.g. "hackers"). These
`license signatures are also subject to the physical instabili(cid:173)
`ties of their volatile memory media.
`Hardware based products have also been developed to
`validate authorized software usage by accessing a dongle
`that is coupled e.g. to the parallel port of the P.C. These units
`are expensive, inconvenient, and not particularly suitable for 30
`software that may be sold tiy downloading (e.g. over the
`internet).
`There is accordingly a need in the art to provide for a
`system and method that substantially reduce or overcome
`the drawbacks of hitherto known solutions.
`
`35
`
`2
`ROM). It should be noted that unlike the first non-volatile
`section, 1he data in the second non-volatile memory may
`optionally be erased or modified (using E2 PROM manipu(cid:173)
`lation commands), so as to enable to add, modify or remove
`licenses. The actual format of the license may include a
`string of terms that correspond to a license registration entry
`(e.g. lookup table entry or entries) at a license registration
`bureau (which will be further described as part of the
`preferred embodiment of the present invention).
`Having placed the encrypted license record in the second
`non-volatile memory (e.g. the E 2PROM), the process of
`verifying a license may be o commenced. Thus, when a
`program is loaded into the memory of the computer, a so
`called license verifier application, 1hat is a priori running in
`15 1he computer, accesses the program under question, retrieves
`therefrom the license record, encrypts the record utilizing
`1he specified unique key (as retrieved from the ROM section
`of the BIOS) and compares the so encrypted record to the
`encrypted records that reside in the E 2PROM. In 1he case of
`20 match, the program is verified to run on the computer. If on
`the other hand the sought encrypted data record is not found
`in the E 2PROM database, this means 1hat the program under
`question is not properly licensed and appropriate application
`define action is invoked (e.g. informing to 1he user on the
`25 unlicensed status, halting the operation of the program under
`question etc.)
`Those versed in 1he art will readily appreciate that any
`attempt to run a program at an unlicensed site will be
`immediately detected. Consider, for example, 1hat a given
`application, say Lotus 123, is verified to run on a given
`computer having a first identification code (kl) stored in the
`ROM portion of the BIOS thereof. ·This obviously requires
`that 1he license record (LR) of the application after having
`been encrypted using kl giving rise to (LR)kl is stored in the
`E2PROM of the first computer.
`Suppose now that a hacker attempts to run the specified
`application in a second computer having a second identifi(cid:173)
`cation code (k2) stored in the ROM portion of the BIOS
`thereof. All or a portion the database contents (including of
`course (LR) kl ) that reside in the E2PROM portion in the first
`computer may be copied in a known per se means to the
`second computer. It is important to note that the hacker is
`unable to modify the key in the ROM of the second
`computer to Kl, since, as recalled, 1he contents of the ROM
`is established during manufacture and is practically invari-
`able . .
`Now, when the application under question is executed in
`the second computer, 1he license verifier retrieves said LR
`from 1he application and, as explained above, encrypts it
`using 1he key as retrieved from the ROM of the second
`computer, i.e k2 giving rise to encrypted license record
`(LR):.,2• Obviously, the value (LR)~a does not reside in the
`E2PROM database section of the second computer (since it
`55 was not legitimately licensed) and therefore the specified
`application is invalidated. It goes without saying that the
`data copied from the first (legitimate) computer is rendered
`useless, since comparing (LR)~a with the copied value
`(LR)., results, of course, in mismatch.
`The example above is given for clarity of explanation
`only and is by no means binding.
`In its broadest aspect, the invention provides for a method
`of restricting software operation within a license limitation
`including; for a computer having a first non-volatile memory
`65 area, a second non-volatile memory area, and a volatile
`memory area; the steps of: selecting a program residing in
`the volatile memory, setting up a verification structure in the
`
`SUMMARY OF THE INVENTION
`
`40
`
`The present invention relates to a method of restricting
`software operation within a license limitation. This method
`strongly relies on the use of a key and of a record, which
`have been written into the non-volatile memory of a com(cid:173)
`puter.
`For a better understanding of the underlying concept of
`the invention, there follows a specific non-limiting example. 45
`Thus, consider a conventional computer having a conven(cid:173)
`tional BIOS module in which a key was embedded at the
`ROM section thereof, during manufacture. The key
`constitutes, effectively, a unique identification code for 1he
`host computer. It is important to note 1hat the key is stored 50
`in a non-volatile portion of 1he BIOS, i.e. it cannot be
`removed or modified.
`Further, according to the invention, each application pro(cid:173)
`gr-am 1hat is to be licensed to run on 1he specified computer,
`is associated wi1h a license record; 1hat consists of author
`name, program name and number of licensed users (for
`network). The license record may be held in either encrypted
`or explicit form.
`Now, 1here commences an initial license establishment
`procedure, where a verification structure is set in the BIOS 60
`so as to indicate 1hat the specified program is licensed to run
`on the specified computer. This is implemented by encrypt(cid:173)
`ing the license record (or portion thereof) using said key (or
`portion thereof) exclusively or in conjunction with other
`identification information) as an encryption key. The result(cid:173)
`ing encrypted license record is stored in ano1her (second)
`non-volatile section of the BIOS, e.g. E2PROM (or the
`
`ANC15
`
`ANCC000015
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`US 6,411,941 Bl
`
`4
`for the selected program from the second non-volatile
`memory, and the licensed-software-program's license(cid:173)
`record contents; enabling the comparing at the bureau; and
`transferring, from the bureau to the computer, the result of
`the comparing.
`The actual key that serves for identifying the computer
`may be composed of the pseudo-unique key exclusively, or,
`if desired, in combination with information, e.g. ioformation
`related to the registration of the user such as e.g. place,
`10 telephone number, user name, license number, etc. In the
`context of the present iovention, a ''pseudo-unique" key may
`relate to a bit string which uniquely identifies each first
`non-volatile memory. Alternately the ''pseudo-unique" key
`may relate to a random bit string (or to an assigned bit string)
`IS of sufficient length such that: there is an acceptably low
`probability of a successful unauthorized transfer of licensed
`software between two computers, where the first volatile
`memories of these two computers have the same key.
`It should be noted that the license bureau might maintain
`20 a registry of keys and of licensed programs that have been
`registered at the bureau in association with these keys. This
`registry may be used to help facilitate the formalization of
`procedures for the transfer of ownership of licensed software
`from use on one computer to use on another computer.
`Constructing the key in the manner specified may hinder
`the hacker in cracking the proposed encryption scheme of
`the invention, in particular when the establishment of the
`license record or the verification thereof is performed in the
`bureau. Those versed in the art will readily appreciate that
`30 the invention is by no means bound by the data, the
`algorithms, or the manner of operation of the bureau. It
`should be noted that the tasks of establishing and/or veri(cid:173)
`fying a license record may be shared between the bureau and
`the computer, done exclusively at the computer, or done
`35 exclusively at the bureau. The pseudo-unique key length
`needs to be long enough to hinder encryption attack
`schemes. The establishing of the key may be done at any
`time from the non-volatile memory's manufacture until an
`attempted use of an established license-record io the non(cid:173)
`volatile memory. The key is used for encryption or decryp(cid:173)
`tion operations associated with license-records. In principle,
`the manufacturer of the licensed-software-program may
`specify the license-record format and therefore different
`formats may, if desired, be used for respective applications.
`According. to the preferred embodiment of the present
`invention, the pseudo-unique key is a unique-identification
`bit string that is written onto the first non-volatile memory
`by the manufacturer of the is memory media.
`According to one, non-limiting, preferred embodiment of
`so the present invention, the first non-volatile memory area is
`a ROM se~tion of a BIOS; the second non-volatile memory
`area is a E 2PROM section of a BIOS; and the volatile
`memory is a RAM e.g. hard disk and/or internal memory of
`the computer.
`The present invention also relates to a non-volatile
`memory media used as a BIOS of a computer, for restricting
`software operation within a license limitation, wherein a
`pseudo-unique key is established.
`According to the preferred embodiment of the non-
`60 volatile memory media of the present invention, the pseudo(cid:173)
`unique key is established in a ROM section of the BIOS.
`
`3
`non-volatile memories, verifying the program using the
`structure, and acting on the program according to the veri(cid:173)
`fication.
`An important advantage in utilizing non-volatile memory
`such as that residing in the BIOS is that the required level of
`system programming expertise that is necessary to intercept
`or modify commands, interacting with the BIOS, is substan(cid:173)
`tially higher than those needed for tampering with data
`residing in volatile memory such as hard disk. Furthermore,
`there is a much higher cost to the progranamer, if his
`tampering is unsuccessful, i.e. if data residing in the BIOS
`(which is necessary for the computer's operability) is inad(cid:173)
`vertently changed by the hacker. This is too high of a risk for
`the ordinary software hacker to pay. Note that various
`recognized means for hindeting the professional-like hacker
`may also be utilized (e.g. anti-debuggers, etc.) in conjunc(cid:173)
`tion with the present invention.
`In the context of the present invention, a "computer"
`relates to a digital data processor. These processors are
`found in. personal computers, or on one or more processing
`cards in multi-processor machines. Today, a processor nor(cid:173)
`mally includes a first non-volatile memory, a second non(cid:173)
`volatile memory, and data li!Jkage access to a volatile
`memory. There are also processors having only one non(cid:173)
`volatile memory or having more than two non-volatile 25
`memories; all of which should be considered logically as
`relating to having a first and a second non-volatile memory
`areas. There are also computational environments where the
`volatile memory is distributed into numerous physical
`components, using a bus, LAN, etc.; all of which should
`logically be considered as being a volatile memory area.
`According to the preferred embodiment of the present
`invention, there is further provided a license authentication
`bureau which can participate in either or both of:
`(i) establishing the license record in the second non(cid:173)
`volatile memory; and
`(ii) verifying if the key and license record in the non(cid:173)
`volatile memory(s) is compatible with the license
`record information as extracted from the application 40
`under question.
`The bureau is a telecommunications accessible processor
`where functions such as formatting, encrypting, and verify(cid:173)
`ing may be performed. Performing these or other functions
`at the bureau helps to limit the understanding of potential 45
`software hackers; since they can not observe how these
`functions are constructed. Additional security may also be
`achieved by forcing users of the bureau to register, collecting
`costs for connection to the bureau, logging transactions at
`the bureau, etc.
`According to one example of using the bureau, setting up
`a verification structure further includes the steps of:
`establishing, between the computer and the bureau, a two(cid:173)
`·way data-communications linkage; transferring, from the
`computer to the bureau, a request-for-license including an
`identification of the .computer and the license-record's con(cid:173)
`tents from the selected program; fanning an encrypted
`license-record at the bureau by encrypting parts of the
`request -for -license using part of the identification as the
`encryption key; and transferring, from the bureau to the
`computer, the encrypted license-record.
`According to another example of using the bureau, veri(cid:173)
`fying the program further includes the steps of: establishing,
`between the computer and the bureau, a two-way data(cid:173)
`communications linkage; transferring, from the computer to 65
`the bureau, a request-for-license-verification including an
`identification of the computer, the encrypted license-record
`
`55
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`In order to understand the invention and to see how it may
`be carried out in practice, a preferred embodiment will now
`be described, by way of non-limiting example only, with
`. reference to the accompanying drawiogs, in which:
`
`ANC16
`
`ANCC000016
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`US 6,411,941 Bl
`
`5
`FIG. 1 is a schematic diagram of a computer and a license
`bureau; and
`FIG. 2 is a generalized flow chart of the sequence of
`operations performed according to one embodiment of the
`invention.
`
`25
`
`DETAILED DESCRIPTION OF A PREFERRED
`EMBODIMENT
`A schematic diagram of a computer and a license bureau
`is shown in FIG. 1. Thus, a computer processor (1) is
`associated with input operations (2) and with output opera(cid:173)
`tions (3). Tills computer (processor) internally contains a
`first non-volatile memory area (4) (e.g. the ROM section of
`the BIOS), a second non-volatile memory area (5) (e.g. the
`E2PROM section of the BIOS), and a volatile memory area
`(6) (e.g. the internal RAM memory of the computer).
`The computer processor is in temporary telecommunica(cid:173)
`tions linkage with a license bureau (7).
`The first non-volatile memory includes a pseudo-random
`identification key (8), which exclusively or ih combination
`with other information (e.g. user name), is sufficient to
`uniquely differentiate this first non-volatile memory from all
`other first non'volatile memories. As specified before, said
`key constitutes unique identification of the computer.
`The second non-volatile memory includes a license(cid:173)
`record-area (9) e.g. which contains at least one encrypted
`license-record (e.g. three records 10-12). The volatile
`memory accommodates a license program (16) having
`license record fields (13-15) appended thereto. By way of
`example said fields stand for Application names (e.g. Lotus
`123), Vendor name (Lotus inc.), and number of licensed
`copies (1 for stand alone usage, >I for number of licensed
`users for a nerwork application).
`Those versed in the art will readily appreciate that the
`license record is not necessarily bound to continuous fields.
`In fact, the various license content components of the data
`record may be embedded in various locations in the appli(cid:173)
`cation. Any component may, if desired, be encrypted.
`Each one of the encrypted license records (10-12) is 40
`obtained by encrypting the corresponding license record as
`extracted from program 16, ·utilizing for encryption the
`identification key (8).
`In a typical, yet not exclusive, sequence of operation, a
`transaction/request is sent, by the computer to the bureau. 45
`This transaction includes the key (8), the encrypted license(cid:173)
`records (10-12), contents from the license program used in
`fomting a license record (e.g. fields 13-15), and other items
`of information as desired.
`The bureau fonns the proposed license-record from the
`contents, encrypts (utilizing predetermined encryption
`·algorithm) the so formed license-record using the key (8),
`and compares the so formed encrypted license-record with
`the license-record (10-12). The bureau generates an overlay
`according to the result of the comparison indicating suc(cid:173)
`cessful comparison, non-critical failure comparison and the
`critical failure comparison.
`The bureau returns the overlay which will direct the
`computer in subsequent operation. Thus, a success overlay
`will allow the license program to operate. A non-critical
`failure overlay will ask for additional user interactions. A
`critical failure overlay will cause permanent disruption to
`the computer's BIOS operations. Thus, software operation
`of the program is methodologically according to a license
`limitation restriction.
`Those versed in the art will readily appreciate that the
`implementation as described with reference to FIG. 1 is by
`
`6
`no means binding. Thus, by way of non-limiting example,
`the bureau, instead of being external entity may fonn part of
`the computer.
`Attention is now directed to FIG. 2, showing a general(cid:173)
`ized flow chart of the sequence of operations performed
`according to one embodiment of the invention.
`Thus, selecting (17) a program includes the step of:
`establishing a licensed-sofrware-program in the volatile
`memory of the computer wherein the licensed-software-
`tO program includes contents used to fonn a license-record.
`These contents, be they centralize or decentralized, may
`include tenns, identifications, specifications, or limitations
`related to the manufacturer of a software product, the
`distributor of a software product, the purchaser of a sofrware
`product, a licensor, a licensee, items of computer hardware
`15 or components thereof, or to other tenns and conditions
`related to the aforesaid.
`Setting up (18) the verification structure includes the steps
`of: establishing or certifying the existence bf a pseudo(cid:173)
`unique key in the first non-volatile memory area; and
`20 establishing at least one license-record location in the first or
`the second nonvolatile memory area.
`.
`Establishing a license-record includes the steps of: fann(cid:173)
`ing a license-record by encrypting of the contents used to
`form a license-record with other predetermined data
`contents, using the key; and establishing the encrypted
`license-record in one of the at least one established license(cid:173)
`record locations (e.g. 10-12 in FIG. 1).
`Verifying (19) the program includes the steps of: encrypt-
`30 ing the licensed-software-program's license-record contents
`from the volatile memory area or decrypting the license(cid:173)
`record in the first or the second non-volatile memory area,
`using the key; and comparing the encrypted licensed(cid:173)
`software-program's license-record contents with the
`35 encrypted license-record in the first or the second non(cid:173)
`volatile memory area, or comparing the licensed-software(cid:173)
`program's license-record contents with the decrypted
`license-record in the first or the second non-volatile memory
`area.
`Acting (20) on the program includes the step of: restrict(cid:173)
`ing the program's operation with predetermined liotitations
`if the comparing yields non-unity or insufficiency. In this
`context "non-unity" relates to being unequal with respect to
`a specific equation (e.g. A=B+l); and "insufficiency" relates
`to being outside of a relational bound (e.g. A>B+l).
`"Restricting the program's operation with predetermined
`limitations" may include actions such as erasing the soft(cid:173)
`ware in volatile memory, warning the license applicant/user,
`placing a fine on the applicant/user through the billing
`50 service charges collected at the license bureau (if
`applicable), or scrambling sections of the BIOS of the
`computer (or of functions interacting therewith).
`The present invention has been described with a certain
`degree of particularity but it should be understood that
`55 various modifications and alterations may be made without
`departing from the scope or spirit of the invention as defined
`by the following claims.
`What is claimed is:
`1. A method of resnicting software operation within a
`6o license for use with a computer including an erasable,
`non-volatile memory area of a BIOS of the computer, and a
`volatile memory area; the method comprising the steps of:
`selecting a program residing in the volatile memory,
`using an agent to set up a verification structure in the
`erasable, non-volatile memory of the BIOS, the veri(cid:173)
`fication structure accommodating data that includes at
`least one license record,
`
`65
`
`ANC17
`
`ANCC000017
`
`IPR2021-01406
`ANCORA EX2011
`
`

`

`US 6,411,941 Bl
`
`7
`verifying the program using at least the verification struc(cid:173)
`ture from the erasable non-volatile memory of the
`BIOS, and
`acting on the program according to the verification.
`2. A method according to claim 1, further comprising the
`steps of:
`establishing a license authentication bureau.
`3. A method according to claim 2, wherein setting up a
`verification structure further comprising the steps of:
`establishing, between the computer and the bureau, a two- 10
`way data-communications linkage; transferring, from the
`computer to the bureau, a request-for-license including an
`identification of the computer and the license-record's con(cid:173)
`tents from the selected program; forming an encrypted
`license-record at the bureau by encrypting parts of the 15
`request-for-license using part of the identification as an
`encryption key; transferring, from the bureau to the
`computer, the encrypted license-record; and storing the
`encrypted license record in the erasable non-volatile
`memory area of the BIOS.
`4. A method according to claim 2, wherein verifying the
`program further comprises the steps of: establishing,
`between the computer and the bureau, a two-way data(cid:173)
`communications linkage; transferring, from the computer to
`the bureau, a request-for-license verification including an 25
`identification of the computer, an encrypted license-record
`for the selected program from the erasable, non-volatile
`memory area of the BIOS, and the program's license-record;
`enabling the comparing at the bureau; and transferring, from
`the bureau to the computer, the result of the comparing.
`5. A method according to claim 3 wherein the identifica(cid:173)
`tion of the computer includes the unique key.
`6. A method according to claim 1 wherein selecting a
`program includes the steps of: establishing a licensed(cid:173)
`software-program in the volatile memory of the computer 35
`wherein said licensed-software-program includes contents
`used to form the license-record.
`7. A method according to claim 6 wherein using an agent
`to set up the verification structure includes the steps of:
`establishing or certifying the existence of a pseudo-unique 40
`key in a first non-volatile memory area of the computer; and
`establishing at least one license-record location in the first
`nonvolatile memory area or in the erasable, non-volatile
`memory area of the BIOS.
`8. A method according to claim 6 wherein establishing a 45
`license-record includes the steps of: forming a license(cid:173)
`record by encrypting o

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