`Doherty et al.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US006920567Bl
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,920,567 Bl
`Jul. 19, 2005
`
`(54) SYSTEM AND EMBEDDED LICENSE
`CONTROL MECHANISM FOR THE
`CREATION AND DISTRIBUTION OF
`DIGITAL CONTENT FILES AND
`ENFORCEMENT OF LICENSED USE OF
`THE DIGITAL CONTENT FILES
`
`(75)
`
`Inventors: Robert J. Doherty, Medway, MA (US);
`Peter L. Tierney, Arlington, MA (US);
`Marios Arnaoutoglou-Andreou,
`Boston, MA (US)
`
`(73) Assignee: Viatech Technologies Inc., Natick, MA
`(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/544,682
`
`(22) Filed:
`
`Apr. 7, 2000
`
`Related U.S. Application Data
`(60) Provisional application No. 60/128,152, filed on Apr. 7,
`1999.
`
`Int. Cl? .............................. G06F 9/00; G06F 7/00
`(51)
`(52) U.S. Cl. ....................... 713/202; 707/104; 713/182;
`713/194; 713/171; 713/168
`(58) Field of Search ................................. 713/200, 202,
`713/182, 194, 168, 171; 707/104
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,204,897 A * 4/1993 Wyman ...................... 710/200
`5,438,508 A * 8/1995 Wyman ......................... 705/8
`5,634,012 A * 5/1997 Stefik et a!.
`.................. 705/39
`
`5,715,403 A * 2/1998 Stefik .......................... 705/44
`5,973,692 A * 10/1999 Knowlton eta!. .......... 345/835
`6,389,538 B1 * 5!2002 Gruse eta!. ................ 713/194
`* cited by examiner
`Primary Examiner-Norman M. Wright
`(74) Attorney, Agent, or Firm-Davis & Bujold, P.L.L.C.
`
`(57)
`
`ABSTRACT
`
`A digital content file including a license control mechanism
`controlling the licensed use of digital content and a system
`and method for distributing licensable digital content files
`and licenses. A digital content file includes a digital content,
`which may be executable code or data, an embedded file
`access control mechanism and a dynamic license database
`associated with the file access mechanism for storing license
`information used by the file access control mechanism in
`controlling use of the digital content. The file access control
`mechanism includes a license monitor and control mecha(cid:173)
`nism communicating with the dynamic license database and
`controlling use of the digital content and a license control
`utility providing communications between a user system and
`an external system to communicate license definition infor(cid:173)
`mation and includes a graphical user interface. License
`information may be stored initially in the dynamic license
`database or provided from an external system. The system
`allows the distribution of digital content files and the acqui(cid:173)
`sition of licenses with seamless transaction processing
`through an order processing system generating an order
`identification and authorization for a license and a product
`configuration and order database containing license man(cid:173)
`agement databases associated with the digital content files
`and containing license information to be transmitted to a
`user system upon receipt of an order identifier. The product
`configuration and order database also generates a license
`record for each transaction.
`
`32 Claims, 7 Drawing Sheets
`
`1 B
`
`USER SYSTEM
`
`OLS
`
`36
`
`ELICENSE SYSTEM 24
`
`Petitioner Apple Inc. - Exhibit 1010, p. 1
`
`
`
`1--"
`~
`""-l
`a-..
`11.
`Q
`N
`\0
`-..a-..
`rJ'l
`e
`
`-..J
`
`'"""' 0 ......,
`~ .....
`'JJ. =(cid:173)~
`
`N c c
`'"""' ~~
`~ = :-
`
`Ul
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`Fig. 1 A
`
`Systems 10C
`External
`
`User 1 OD
`
`Content
`DCF
`
`User System 1 OB
`
`Petitioner Apple Inc. - Exhibit 1010, p. 2
`
`
`
`1-"
`~
`""-l
`
`Q
`N
`\0
`-..a-..
`rJ'l
`e
`
`'&. a-,
`
`-..J
`0 ......,
`N
`~ ......
`'Jl =(cid:173)~
`
`N c c
`"""' ~~
`~ :-
`
`Ul
`
`~ .......
`~
`•
`\Jl
`d •
`
`~ = .......
`
`Fig. 18
`
`48E
`
`Ewdll
`
`Libraries, etc.
`Other Product Components.
`
`Insert
`
`r-----"'160
`
`C
`Encrypt
`
`•
`
`48E
`
`44C
`
`52
`
`l _______ _
`I
`I
`I
`I
`I
`I
`I
`
`1
`
`'I -C-on-dl-1 -~
`
`Encrypt j~44E
`
`44
`
`.-------. I ·r--------,.
`
`Reconstruct
`
`Reconstructed
`
`Ex Code ~ Ex Code
`
`--1-----~
`0
`
`Insert
`
`lnserti
`I
`
`IWdll
`
`I Prodi
`~
`r----_......,48I
`j Get ucp
`i ER Ex Code p
`L __ --1 Crit I p I
`1
`r[ __ W_d_II_M_a-in_;._ r
`50
`I CMG !-I .
`I 30 1--48
`
`~-1 ----------------
`
`: ~
`l
`
`I
`
`I
`
`lnsert ~
`'\ r(cid:173)
`and
`Extract
`
`Petitioner Apple Inc. - Exhibit 1010, p. 3
`
`
`
`1-"
`~
`""-l
`
`Q
`N
`\0
`-..a-..
`rJ'l
`e
`
`'&. a-..
`
`-..J
`0 ......,
`~
`
`~ .....
`'JJ. =(cid:173)~
`
`N c c
`'"""' ~~
`~ = :-
`
`Ul
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`Fig. 1C
`
`Clock, Etc.
`Check System
`
`Execute
`Load and
`
`'----r------' Decrypt
`
`48
`
`Ewdll
`
`4BE
`
`10
`
`DCF
`
`User System
`
`Petitioner Apple Inc. - Exhibit 1010, p. 4
`
`
`
`1--"
`~
`-.....l
`a-..
`11.
`Q
`N
`\0
`-..a-..
`\Jl
`e
`
`-..J
`0 ......,
`~
`
`~ .....
`'JJ. =(cid:173)~
`
`N c c
`'"""' ~~
`~ = :-
`
`Ul
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`'\ External .
`oc
`
`System I-
`
`to
`
`Order
`Process
`
`, Portable
`
`Player
`
`the DCF
`Operates on
`Program that
`
`Media Player
`
`or
`
`I
`
`'' \
`
`"FACM
`
`,...-12
`~Decrypt
`
`\..
`
`DLDb
`
`FACM
`
`,...12
`
`_...
`
`FACM
`
`rl
`12
`
`... ECON
`
`ECON
`
`)OE
`
`'
`
`~E
`
`lnstallable OCF
`
`1 User System
`
`108
`
`DCF
`
`J ECON ~ ln~tall
`(
`
`,-'
`1 OE
`
`Encrypt
`
`Encrypt
`Eprodi ~
`
`-;·or-
`
`~
`481
`
`Contents
`DCF
`
`Petitioner Apple Inc. - Exhibit 1010, p. 5
`
`
`
`1--"
`~
`""-l
`a-..
`'&.
`Q
`N
`\0
`-..a-..
`rJ'l
`e
`
`-..J
`0 ......,
`Ul
`~ .....
`'JJ. =(cid:173)~
`
`N c c
`'"""' ~~
`~ :-
`
`Ul
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`Fig. 2
`
`ELICENSE SYSTEM 24
`
`USER SYSTEM
`
`108
`
`Petitioner Apple Inc. - Exhibit 1010, p. 6
`
`
`
`U.S. Patent
`
`Jul. 19, 2005
`
`Sheet 6 of 7
`
`US 6,920,567 Bl
`
`Fig. 3A
`
`Delktop
`• 8·iJ M~Computer
`•• ; S liS 3l1 Floppy (A: I
`' $ 13 Flotsam (C:)
`~ 9
`Jetoam(D:)
`$ eJ Removable Disk (E:)
`:'f;-6;} (F:)
`· .. Gil Printers
`· I~ Control P .. nel
`1ilJ Oia-Up N etwaking
`[=.J .. IiiJ elicenoe Contra
`. '-~ G1eat Ccmp.mv, Inc
`· .. 00 Scheduled T asko
`Internet E X!)lorer
`
`Fig. 38
`
`Petitioner Apple Inc. - Exhibit 1010, p. 7
`
`
`
`1--"
`~
`""-l
`a-..
`11.
`Q
`N
`\0
`-..a-..
`rJ'l
`e
`
`-..J
`0 ......,
`-..J
`~ .....
`'JJ. =(cid:173)~
`
`N c c
`'"""' ~~
`~ = :-
`
`Ul
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`FIG .4
`
`-
`
`--------
`
`---
`
`---
`
`-----
`
`-
`
`I\J4
`
`PURREQ 104
`
`c~RDERID 58
`I)
`
`~6
`
`OLS
`
`PO LOB
`
`102
`v•
`LICRCD ~
`
`I
`96 ORDERGENl
`
`LMCM
`
`1~
`
`USER SYSTEM
`
`1082
`
`76
`
`(40
`
`lJ ~ r
`I LICGEN
`r DELMM l
`
`t
`
`AUTH 94\.
`fURREQ 1041
`PURREQ1~-
`PURREQ 1~
`
`RETC 100\
`
`RETe
`
`v92W
`
`WORS
`
`DMUI I
`
`...
`
`3~/
`
`2~
`
`1 DISTRIBUTOR r
`
`112
`
`FPS
`
`FINI 9o-l ~AUTH 94
`
`106~14
`((,I
`
`TRANR
`
`-....,
`
`108)
`
`I
`I
`110
`LCR
`
`CDE
`
`oPoe·
`
`OPS
`c92
`
`Petitioner Apple Inc. - Exhibit 1010, p. 8
`
`
`
`US 6,920,567 Bl
`
`1
`SYSTEM AND EMBEDDED LICENSE
`CONTROL MECHANISM FOR THE
`CREATION AND DISTRIBUTION OF
`DIGITAL CONTENT FILES AND
`ENFORCEMENT OF LICENSED USE OF
`THE DIGITAL CONTENT FILES
`
`CROSS REFERENCES TO RELATED
`APPLICATIONS
`The present application claims the benefit of U.S. Provi(cid:173)
`sional Application No. 60/128,152, filed Apr. 7, 1999, now
`abandoned, by the same inventors as the present application
`and directed to and disclosing the same invention as the
`present application.
`
`2
`tions of an enterprise system comprised of a plurality of
`computer systems, a computer system within the enterprise
`system, and an identifier of the licensed program that is tied
`to the enterprise system, wherein the identifiers are typically
`5 system serial numbers. Use of a licensed program is con(cid:173)
`trolled by a license manager resident in the enterprise system
`that accepts the keys and grants access to licensed programs
`to the computer system of the enterprise system computers
`based upon keys identifying the computers as members of
`10 the enterprise system. The license manager is activated by
`operation of an enterprise enabler program that, in turn,
`requires a key specific to the enterprise system. This system,
`however, requires the user to be a member of an enterprise
`system, thereby severely limiting the applicability of the
`15 system, and is dependent upon license checking functions
`that are independent of and separate from the licensed
`program, and thus have no effective functional relationship
`to the licensed program, and provides only a fixed, static
`form of license.
`Yet another system of the prior art distributes licensed
`programs in locked "containers" and requires the issuance of
`an authentication certificate and a decryption key that are
`used by the user to access the licensed program. The system
`is thereby based upon the use of an authentication certificate
`25 transmitted from a license clearing house to a user system,
`and that thereby has no functional relationship to the
`licensed program. Another disadvantage of this system is
`that the only trusted entity in the distribution chain to the
`user is the license clearing house, so that no other entity in
`30 a distribution chain is capable of affecting the authentication
`of a user, thereby severely limiting the means by which the
`programs may be distributed. In addition, the system pro(cid:173)
`vides only a single, yes/no level of authentication and the
`program is protected only until an authentication certificate
`35 is used to unlock the encryption protection, whereupon the
`program thereafter is unprotected.
`Still another system of the prior art provides a software
`license management system for software packages contain(cid:173)
`ing a plurality of components, each of which is a software
`40 product such as an application program. A license server
`creates a license database from a package license description
`that includes software product licenses and will grant a
`license to a software product to a user system upon a request
`from a user that meets the constraints of the package license
`45 description, which are primarily limitations on the number
`of licenses that may be granted. Each grant of a software
`product license results in the creation of a license record in
`the database wherein each license record includes an exclu-
`sive suite license to the software package that includes the
`requested software product, so that licenses are effectively
`granted to the software packages rather than to the indi-
`vidual components of the software packages. Again, this
`system protects a package of products, rather than the
`products themselves, and requires a license server that is
`separate from the user systems to receive license requests
`and to issue licenses and to enforce the license restrictions,
`which further requires that all license records reside in the
`license server. In addition, the licenses are static, that is,
`cannot be subsequently modified, and once a license is
`granted a program is fully accessible to the user system,
`even given significant changes to the user system or user.
`Yet another system of the prior art provides a software
`license management system for programs wherein a license
`server maintains a database of licenses created from a
`65 license document provided from a license issuer. Each
`licensed program makes a call to the license server upon
`program start-up and the license server checks whether use
`
`FIELD OF THE INVENTION
`The present invention relates to a method and apparatus
`for controlling the use of files containing digital content,
`such as computer programs and data and digitally formatted
`audio and image information, and, more specifically, for a 20
`system and license control mechanism for use in creating
`and distributing files containing digital content and for
`enforcing the licensed use of digital content files.
`
`BACKGROUND OF THE INVENTION
`A recurring problem in computer systems is the distribu(cid:173)
`tion of licensed digital content files, such as programs and
`data files, and the subsequent control of the licensed use of
`such digital content files, and this problem has become
`significantly more severe with the advent of the networked
`purchase and distribution of licensed digital content files
`through, for example, the Internet.
`The prior art has attempted a number of solutions to this
`problem. For example, in one system of the prior art a
`licensed program is bundled with a file manager program
`that interacts with the target system operating system to
`monitor file calls to the licensed program. A part of the
`licensed program is encrypted to reversibly disable a part of
`the program and the file manager program permits access to
`only the unencrypted parts of the program until a user
`presents a product key that is distributed separately from the
`program distributor. The product key is based, in part, on the
`user system hardware configuration and, when presented to
`the file manager, permanently decrypts and unlocks the
`licensed program for full access by the user. This system,
`however, distributes licensed programs on computer media
`and the protection mechanism operates on a media basis,
`that is, protects all programs on a media rather than pro(cid:173)
`tecting the programs individually. In addition, the system
`uses a file management program that must interact with the 50
`user operating system to monitor user system file input/
`output calls to restrict access to a licensed program, and
`must separately provide a product key to fully access the
`program. The system also requires the use of import and
`export modules to transfer a licensed program and product 55
`key information from one system to another, thereby limit(cid:173)
`ing the means by which a program and license may be
`distributed. A further problem is that the system utilizes a file
`based encryption scheme that uses built-in data, relating
`only to a product code, to determine whether to remove the 60
`encryption protection, and provides only on/off encryption
`protection for a licensed program wherein the protection,
`once removed by the use of a product key, cannot be
`restored. Also, the license may not be transferred from one
`user or system to another.
`In another system of the prior art, access to a licensed
`program is dependent upon a key that combines identifica-
`
`Petitioner Apple Inc. - Exhibit 1010, p. 9
`
`
`
`US 6,920,567 Bl
`
`3
`of the program is permitted under the licenses stored in the
`license database, using such parameters as node, login
`domain, user name, product name, operation system, oper(cid:173)
`ating domain and type of processor. The license server will
`issue a grants for use of the program, if such use is permitted, 5
`and will allow a user on one node of the system to execute
`a program residing on another node of the system be means
`of a "calling card" identification of the user whereby the user
`obtains permission to make a procedure call to use the
`program on the other node of the system.
`Another system of the prior art provides a software/
`license metering system that is based upon the use of a
`system monitor implemented in hardware and software to
`monitor and track the usage of one or more software
`products and certain user system parameters. Yet another 15
`provides a license management system for use in the nodes
`of a network wherein authorization to use a program is based
`upon licenses stored in the nodes of the network and the use
`of programs is controlled by limiting the number of valid
`licenses on the network. A related system of the prior art
`provides a software management system wherein a plurality
`of different types of licenses are available to a user on a local
`node at the time the user requests a license. The management
`system may select among a local node-locked license, a
`floating license or a remote node-locked license, wherein in
`the latter case the user is connected to the remote node, or
`may place the user request in a request queue if no license
`is currently available. Yet another system a system provides
`for the per-use decryption of confidential data files and the
`subsequent elimination of the decrypted data by scorching or 30
`selective re-encryption. The decision whether to re-encrypt
`a given decrypted file is based upon file or application
`program exclusion lists, file open and close requests, iden(cid:173)
`tification of confidential files by directory, tracking of the
`number of application programs using a file, and identifi- 35
`cation of non-modified text.
`It is apparent, therefore, that the systems of the prior art
`suffer from a number of disadvantages. For example, the
`systems of the prior art generally rely upon mechanisms that
`are separate and independent from a licensed program,
`rather than a means that is related to the program itself,
`thereby providing only limited protection and being readily
`vulnerable to various methods for bypassing such forms of
`protection. In addition, the systems of the prior art are
`essentially static, that is, they do not allow a license to be
`subsequently modified at need, and frequently provide only
`one-time protection. Also, the systems of the prior art
`severely limit the types of systems in which the programs
`and licensing enforcement mechanisms may be employed,
`and the means by which the licensed programs and licenses
`may be distributed.
`The present invention provides a solution to these and
`other problems of the prior art.
`
`SUMMARY OF THE INVENTION
`
`The present invention is directed to a digital content file
`including a license control mechanism and a system and
`method for distributing licensable digital content files, pro(cid:173)
`viding licenses for digital content files, and controlling the
`licensed use of digital content.
`According to the present invention, a licensable digital
`content file includes a digital content and a file access
`control mechanism embedded in the digital content file and
`a dynamic license database associated with the digital con(cid:173)
`tent file for storing information controlling operations of the
`file access control mechanism and license information con-
`
`4
`trolling licensed use of the digital content. The file access
`control mechanism includes a license functions mechanism
`wherein the license functions mechanism includes a license
`monitor and control mechanism communicating with a
`dynamic license database and monitoring use of the digital
`content by a user to determine whether a use of the digital
`content by a user complies with the license defined in the
`dynamic license database and a license control utility pro(cid:173)
`viding communications between a user system and an exter-
`10 nal system to communicate license definition information
`between the user system and the external system, including
`a graphical user interface associated with the license control
`utility to provide communication between a user and user
`accessible functions of the license functions mechanism.
`The information contained in the dynamic license data-
`base and controlling licensed use of the digital content
`includes user accessible information defining a license avail(cid:173)
`able to a user and controlling use of the digital contents by
`the user and may include license purchase information
`20 defining the terms of purchase of at least one license
`available to a user. In the latter case, the license control
`utility and license monitor and control mechanism are
`responsive to user input through the graphical user interface
`for accessing the purchase information in the dynamic
`25 license database, accessing the user system to obtain system
`information identifying the user system in which the digital
`content is to be used, communicating purchase information
`for a license selected from the at least one license defined
`therein to an external system, receiving from the external
`system license information corresponding to the purchase
`information, and writing the license information into the
`dynamic license database for use by the license monitor and
`control mechanism in controlling licensed use of the digital
`content by the user.
`In an alternate implementation, the license information
`contained in the dynamic license database for controlling
`licensed use of the digital content further defines license
`conditions for use of the digital content in a user system. In
`this implementation, the license control utility and license
`40 monitor and control mechanism are responsive to user input
`through the graphical user interface requesting activation of
`the license defined in the dynamic license database for
`accessing the user system to obtain system information
`identifying the user system in which the digital content is to
`45 be used, confirming that the system information and user
`request for activation of the license defined in the dynamic
`license database complies with the license defined in the
`dynamic license database, writing the system information
`into the dynamic license database to be part of the license
`50 information contained in the dynamic license database for
`controlling licensed use of the digital content, and activating
`the license defined in the dynamic license database.
`When license information defining a license is resident in
`the dynamic license database, the license monitor and con-
`55 trol mechanism is responsive to an attempt by a user system
`to access the digital content for comparing information
`obtained from the user system regarding use of the digital
`content and allowed uses of the digital content as defined by
`the license information residing in the dynamic license
`60 database and determining whether a use of the digital
`content by a user complies with the license defined in the
`dynamic license database.
`According to the present invention, and by operation of
`the file access control mechanism, the information contained
`65 in the dynamic license database and controlling licensed use
`of the digital content can be accessed only through the
`license monitor and control mechanism embedded in the
`
`Petitioner Apple Inc. - Exhibit 1010, p. 10
`
`
`
`US 6,920,567 Bl
`
`5
`digital content file, and the digital content can be accessed
`only through license functions mechanism embedded in the
`digital content file.
`The license information residing in the dynamic license
`database also includes system fingerprint information iden(cid:173)
`tifying a user system on which the digital contents are
`licensed for use, and the license functions mechanism fur(cid:173)
`ther includes an adaptive fingerprint security mechanism
`responsive to an attempted access of the digital contents for
`obtaining current system fingerprint information from the
`user system and comparing the current system fingerprint
`information with the system fingerprint information in the
`dynamic license database. The license monitor and control
`mechanism is responsive to a comparison of the current
`system fingerprint information with the system fingerprint
`information in the dynamic license database to allow the
`user system to access the digital content when the current
`system fingerprint information compares with the system
`fingerprint information in the dynamic license database to
`within a predetermined range of tolerance. In a further
`embodiment of the present invention, the license monitor
`and control mechanism is responsive to a comparison of the
`current system fingerprint information with the system fin(cid:173)
`gerprint information in the dynamic license database when
`the current system fingerprint information compares with the 25
`system fingerprint information in the dynamic license data(cid:173)
`base to within a predetermined range of tolerance for writing
`the current system fingerprint information into the dynamic
`license database in replacement of the system fingerprint
`information previously stored in the dynamic license data- 30
`base.
`Also according to the present invention, the digital con(cid:173)
`tent may include executable code or digital data and the
`digital data may include media data, such as music data or
`video data. In the case of media data to be presented to a user
`through a media player, the system fingerprint information
`may includes authorized media players and the license
`monitor and control mechanism may be responsive to a
`comparison of current system fingerprint information iden(cid:173)
`tifying a media player accessible by the user system with the
`system fingerprint information in the dynamic license data(cid:173)
`base identifying authorized media players to allow the user
`system to access the media data when the current system
`fingerprint information identifies a media player registered
`as an authorized media player in the system fingerprint
`information in the dynamic license database.
`The present invention further includes a method for
`constructing a digital content file to be installed in a user
`system wherein the digital content file includes an embedded
`file access control mechanism for controlling the licensed
`use of digital content and wherein the digital content of the
`digital content file includes executable code. This method
`includes the steps of generating a reconstructed executable
`code by extracting from the executable code information
`identified as critical and necessary to the execution of the
`executable code and inserting links to a wrapper dynamic
`linked library wherein the wrapper dynamic linked library
`includes a control dynamic linked library containing control
`functions for the display and behavior of options for license
`purchase and generation and a main dynamic linked library
`including a license functions mechanism and the extracted
`information identified as critical and necessary to execution
`of the executable code. The method then includes the steps
`of generating an encrypted reconstructed executable code by
`encrypting the executable code of the reconstructed execut(cid:173)
`able code and the links inserted into the reconstructed
`executable code, generating an encrypted wrapper dynamic
`
`6
`linked library by encrypting the wrapper dynamic linked
`library, and constructing a product installer by combining
`the encrypted reconstructed executable code, the encrypted
`wrapper dynamic linked library, a dynamic license database,
`5 and a license decrypt/extraction mechanism, wherein the
`product installer is distributed to a user system.
`The present invention further includes a method for
`installing a digital content file in a user system wherein the
`digital content file resides in a product installer and includes
`10 an embedded file access control mechanism for controlling
`the licensed use of digital content, a dynamic license data(cid:173)
`base for storing information controlling operations of the file
`access control mechanism and use of the digital content and
`wherein the digital content of the digital content file includes
`15 executable code. According to the present invention, the
`installation method includes the steps of decrypting and
`extracting the contents of an encrypted wrapper dynamic
`linked library wherein the dynamic linked library includes a
`control dynamic linked library containing control functions
`20 for the display and behavior of options for license purchase
`and generation and a main dynamic linked library that
`includes a license functions mechanism and extracted infor(cid:173)
`mation extracted from the executable code as identified as
`critical and necessary to execution of the executable code.
`The method of the present invention then includes the steps
`of storing the license functions mechanism in the user
`system, determining whether the dynamic license database
`contains information defining a license controlling use of the
`digital content in the user system. When the dynamic license
`database does not contain information defining a license
`controlling use of the digital content, the method includes
`executing operations defined by information in the dynamic
`license database and controlling operations of the file access
`control mechanism for obtaining license information defin-
`35 ing a license controlling use of the digital content in the user
`system. When the dynamic license database contains infor(cid:173)
`mation defining a license controlling use of the digital
`content, the method includes executing operations defined
`by information in the dynamic license database and control-
`40 ling operations of the file access control mechanism for
`obtaining license information defining a license controlling
`use of the digital content in the user system. Thereafter, the
`method includes decrypting and extracting the contents of an
`encrypted reconstructed executable code wherein the
`45 encrypted reconstructed executable code includes execut(cid:173)
`able code of the digital content containing links to the
`wrapper dynamic linked library, and storing the executable
`code of the digital content in the user system.
`In a further embodiment of the method for installing a
`50 digital content file, the license functions mechanism is
`stored in the user system using a randomly generated file
`name and the dynamic license database may be stored in the
`user system using a randomly generated file name.
`A method for accessing the digital content of a digital
`55 content file in a user system wherein the digital content
`includes executable code includes the steps of intercepting
`an attempt to access the digital content and validating
`licensed access of the digital content by determining
`whether a dynamic license database associated with the file
`60 access control mechanism contains license information
`defining a license controlling user of the digital contents,
`determining whether the user system complies with a license
`defined by license information contained in the dynamic
`license database, and when the user system complies with a
`65 license defined by license information contained in the
`dynamic license database, allowing access to the executable
`code and to information extracted from the executable code
`
`Petitioner Apple Inc. - Exhibit 1010, p. 11
`
`
`
`US 6,920,567 Bl
`
`7
`and stored in a main dynamic linked library associated with
`the file access control mechanism.
`The present invention also includes a method for con(cid:173)
`structing a digital content file to be installed in a user system
`wherein the digital content file includes an embedded file 5
`access control mechanism for controlling the licensed use of
`digital content and wherein the digital content of the digital
`content file includes data. This method includes the steps of
`generating an encrypted contents by encrypting the digital
`contents, generating an encrypted products information con- 10
`taining information used in obtaining license information
`controlling use of the digital contents, generating a digital
`content file containing the encrypted contents and the
`encrypted products information and generating an encrypted
`digital content file by encrypting the digital content file, and
`generating an installable executable containing the 15
`encrypted digital content file and an embedded file access
`control mechanism including a decrypting mechanism with
`an associated dynamic license database that is associated
`with the file access control mechanism for storing informa(cid:173)
`tion controlling operations of the file access control mecha- 20
`nism and license information controlling licensed use of the
`digital content.
`A digital content file contained in an installable execut(cid:173)
`able containing an encrypted digital content file and an
`embedded file access control mechanism including a 25
`decrypting mechanism may then be installed by executing
`the installable executable to store the file access control
`mechanism and the encrypted digital content file in the user
`system. Thereafter, the file access control mechanism is
`invoked to determine whether the dynamic license database 30
`contains information defining a license controlling use of the
`digital content in the user system, and when the dynamic
`license database does not contain information defining a
`license controlling use of the digital content, the file access
`control mechanism executes operations defined by informa- 35
`tion in the dynamic license database and controlling opera(cid:173)
`tions of the file access control mechanism for obtaining
`license information defining a license controlling use of the
`digital content in the user system.
`The digital content of a digital content file in a user system 40
`wherein the digital content file wherein the digi