throbber
(12) United States Patent
`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 digital content

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