METHOD AND APPARATUS FOR USING AN INTEGRATED CIRCUIT CARD TO FACILITATE DOWNLOADING CONTENT FROM A REMOTE SERVER

Abstract: A method and apparatus for using an integrated circuit card to facilitate downloading reusable content from a server into a terminal. Specifically, the method comprises the steps of verifying that an entitlement contained in the integrated circuit card is correct for receiving the reusable content from the server and downloading the reusable content from the server into a memory of the terminal. The apparatus comprises a terminal, coupled to a remote server and an integrated circuit card, coupled to the terminal via the interface circuit, for enabling the server to download the reusable content in the terminal. The terminal comprises a processor for processing the download of the content from the server, a memory for receiving the downloaded content and an integrated circuit card interface circuit.

Description: METHOD AND APPARATUS FOR USING AN INTEGRATED CIRCUIT CARD TO FACILITATE DOWNLOADING CONTENT FROM A REMOTE SERVER FIELD OF THE INVENTION The invention generally relates to electronic data transfer. More particularly, the invention relates to a method and apparatus for using an integrated circuit card to facilitate downloading user reusable content from a remote server. BACKGROUND OF THE DISCLOSURE Software piracy or the illegal copying of software applications is a common problem. After a customer purchases a software application on a set of disks or CD-ROM, the customer may provide the source disks or CD-ROM to another individual. If this other individual copies the software application into their computer, the software publisher is denied a potential sale. To exacerbate the software piracy problem, computer networks, such as broadcast networks, enhance the transfer of information between a local terminal and a remote site. These networks enable millions of users to watch cable television or use the Internet to communicate with other users and the like. Such a broadcast network facilitates software and other content distribution via the network. However, authorizing downloads of the content is not a simple task in a broadcast network having a large number of users. Therefore, there is a need to provide a method and apparatus to provide a secure technique to market and distribute software applications in a broadcast network environment. SUMMARY OF THE INVENTION The invention overcomes the disadvantages associated with the prior art by providing a method and apparatus that uses an integrated circuit card to facilitate downloading reusable content maintained on a server into a terminal. Such reusable content includes any data file, multimedia information, application software, and the like that can be stored by a user and reused by the user. The term or the usability of the content may be limited or unlimited. Specifically, the method comprises the steps of verifying that an entitlement contained in the integrated circuit card, such as a smart card, is correct for receiving specific reusable content from a server and, if the entitlement is correct, downloading the content from the server into a memory within the terminal. The apparatus comprises a terminal coupled to a remote server, via a communications network. The terminal comprises a processor for processing the download of the specific reusable content from the server, a memory for storing the downloaded content, a smart card and an interface circuit for enabling the server to download a particular content into the terminal when an appropriate smart card is inserted into the interface. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 depicts a high-level block diagram of a system for providing secure reusable content downloads; and FIG. 2 depicts a flow chart of a routine for downloading reusable content using the system of FIG. 1 . To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. DETAILED DESCRIPTION FIG. 1 depicts a high-level block diagram of a system 1 00 using an integrated circuit card 1 04 (for example, a smart card) for providing secure reusable content downloads from a server 1 06. The system 100 comprises at least a terminal 1 02, a smart card 104, a remote server 106, a computer network 1 08, an input device 1 1 0 and an output device 1 1 2. The smart card 104 and its interface generally comply with ISO standard 781 6. However, this invention may be successfully practiced with "smart cards" complying to other standards. The system 1 00 may have two general embodiments depending on the type of computer network 1 08 that is utilized. In a first embodiment, the computer network 1 08 comprises a point-to-point network such that the terminal 1 02 receives specific user content that is addressed to the terminal 102 from the remote server 1 06. In a second embodiment, the computer network 1 08 comprises a broadcast network such that the terminal 1 02 receives software or reusable content that is simultaneously transmitted to a plurality of terminals from the remote server 106. A user of either embodiment may download software or other reusable content from the remote server 1 06. The software or reusable content may be encrypted or unencrypted. Additionally, the reusable content includes any data file, multimedia information, and the like that is stored and reused by the user. The content may be reused in either a limited or unlimited manner. The terminal 1 02 generally comprises a central processing unit (CPU) 1 14, support circuits 1 1 6 and a memory 1 1 8. The terminal 1 02 may comprise a set- top terminal (also commonly referred to as a set-top box), a computer terminal or any other device capable of receiving a smart card 1 04 or another equivalent conditional access device that facilitates conditional access to the reusable content that is available on the network. Each of these types of terminals 1 02 may be utilized in the broadcast or point-to-point network 1 08. The terminal 1 02 is coupled to the remote server 1 06 via the network 1 08. More specifically, the terminal 1 02 is coupled to the network 108 via signal path S1 and the network 1 08 is coupled to the server 106 via signal path S2. The network 1 08 is typically a broadcast network or a point-to-point network depending on the embodiment of the system 1 00. The server 108 is the source of software applications or other reusable content that are available for downloading. The physical implementations of signal paths S1 and S2 include but are not limited to telephone lines, coaxial (coax) cable, optical fibers or a hybrid fiber- coax cable system. In addition, various interface devices may couple the terminal 1 02 to the network 1 08 along signal path S1 . Examples of these interface devices may include but are not limited to a digital subscriber line (DSL) modem, a cable modem, a satellite receiver, a microwave receiver, a wireless modem and a cable tuner. As such, the system 1 00 transmit data and control signals between the terminal 1 02 and the network 1 08 via signal path S1 as well as between the network 1 08 and the server 1 06 via signal path S2. The terminal 1 02 is coupled to an input device 1 1 0 via signal path S3 and an output device 1 1 2 via signal path S4. The type of input and output devices 1 10 and 1 1 2 depend on the embodiment of the system 1 02. For example, if the terminal 1 02 is a computer terminal, then the input device 1 1 0 may comprise a keyboard and mouse, and the output device 1 1 2 may comprise a computer monitor. If the terminal 1 02 is a set top terminal, then the input device 1 1 0 may comprise a channel selector or a remote control device, and the output device 1 1 2 may comprise a television set. Signal paths S3 and S4, which are physically implemented with basic television or computer cables, carry control and data signals between the terminal 1 02 and input device 1 1 0 as well as between the terminal 1 02 and the output device 1 1 2. The terminal 1 02 receives the smart card 1 04 via a connector in the support circuit 1 1 6. On a data transfer level, the support circuit 1 1 6 couples the smart card 1 04 via signal path S5. The smart card 1 04 includes a database 1 26 or memory for storing entitlements. The entitlements, typically known as "entitlement management messages" (EMM), are associated with particular downloadable software applications or other reusable content. Each entitlement represents a future right to download a software application or other reusable content into the terminal 1 02. Alternatively, each entitlement may represent a right to decrypt and/or use previously encrypted software or reusable content transmitted over a broadcast network 1 08. As such, these entitlements provide security in the marketing and distribution of software applications from the remote server 1 06. Entitlements generally occupy less of the database 1 26 than its corresponding software application or other reusable server content, each smart card 104 may store many different entitlements. The entitlements are loaded into the smart card 1 04 prior to downloading the corresponding application 1 22 or other reusable content. For example, the smart card 1 04 may contain pre- loaded entitlements that are included with the purchase of the smart card 1 04. Alternatively, the smart card 1 04 is a blank smart card. In this case, the user must download the entitlement from the remote server 1 06 during the on-line purchase of the corresponding application 1 22 or other reusable content using a single smart card 1 04. This provides enormous flexibility, as the user may potentially download hundreds of software applications or other reusable server content using a single smart card 1 04. Different types of entitlements are contemplated to be within the scope of the invention. One type of entitlement facilitates a limited use of software or reusable content. For example, the entitlement may expire once the software is used a pre-determined number of times or after a period of time, for example, 24 hours. Another type of entitlement facilitates an unlimited license to the use of the downloaded content. In this case, there is no use restriction once the application 1 24 is downloaded into the terminal 1 02. Other types of entitlements and applications thereof are contemplated and are considered to be within the scope of the invention. The CPU 1 1 4 generally processes the data and control signals of the terminal 1 02. As such, the CPU 1 14 processes data and control signals between the memory 1 1 8, the remote server 108, the smart card 1 04, the input device 1 1 0 and the output device 1 1 2. The exact type of CPU 1 1 4 depends on the embodiment of the system 1 00. The CPU 1 1 4 couples the memory 1 1 8 via signal path S6 and couples the support circuits 1 1 6 via signal path S7. Signal paths S6 and S7, which may comprise data and control signals, are bidirectional as signals travel between the CPU 1 1 4 and the memory 1 1 8 as well as between the CPU 1 1 4 and the support circuit 1 1 6. The support circuits 1 1 6, also known as an interface circuit, interfaces the CPU 1 1 4 with the smart card 1 04, the input device 1 1 0, the output device 1 1 2 and the remote server 1 06. The support circuit 1 1 6 generally comprises a variety of components, including a data bus, a control bus, a smart card drive, a network interface module, input ports and output ports. The support circuit 1 1 6 generally provides efficient transfer of data and control signals between the smart card 104, the terminal 1 02 and the remote server 106. The memory 1 1 8 stores a variety of software modules in the terminal 102. The memory may comprise a RAM, a ROM or a combination thereof. The software modules may include a smart card manager 1 20, an application program 1 22 and an application launcher 1 24. Other well-known software modules, such as an operating system, are included but not shown in FIG. 1 . The smart card manager 1 20 coordinates software downloads from the remote server 1 06 to the memory 1 1 8. More importantly, the smart card manager 1 20 processes the "entitlements" from the smart card 104. The entitlement allows a user to download the software application 1 22 or other reusable content from the server 106 or to decrypt the previously-encrypted software application 1 22. The smart card manager 1 20 generally processes the entitlement information in the database 1 26 within the smart card 1 04 in order to determine whether the terminal 1 02 is authorized to download a specific application from the server 1 06. In addition, the smart card manager 1 20 may coordinate the download of entitlements during the on-line purchase of a corresponding software application 1 24 or other reusable content. The smart card manager 1 20 may process the decryption of the previously encrypted software application 1 22. The smart card manager 1 20 may decrypt the software application 1 22 "on the fly," while downloading the application 1 22 into the memory 1 1 8. In this situation, any user may download the encrypted application 1 22 via the broadcast network 1 08 but only users having the entitlement may decrypt and use the decrypted application 1 22. Alternatively, the smart card manager 1 20 may decrypt the application 1 22 after previously downloading the encrypted version into the memory 1 1 8. In this case, the smart card manager 1 20 may decrypt and use the application 1 22 until all the entitlements in the database 1 26 for a particular application 1 22 are exhausted. The application 1 22 is the particular software program or other reusable server content downloaded from the remote server 106. The application 1 22 may comprise but is not limited to software applications, such as word processing, banking, credit, and stock trading, or broadcast videos such as a movie. Once downloaded, the application 1 22 is typically stored in the memory 1 1 8. The application 1 22 includes any data file, multimedia information, software, and the like that can be stored and reused by the user. The term or usability of the application 1 22 may be limited or unlimited. The application launcher 1 24 executes or starts the application 1 22. The application launcher 1 24 may link with the smart card manager 1 20 to determine the validity of the application software 1 22, which may be encrypted or otherwise protected. Variations of the application launcher 1 24 may exist as the user may initiate the application launcher 1 24 using an icon displayed on the output device 1 1 2 or the smart card manager 1 20 may initiate the application launcher 1 24. FIG. 2 is a flow diagram of a routine 200 for downloading software or some other reusable server content using the system 1 00 of FIG. 1 . The routine 200 represents the operation of the system 1 00 and starts with the user obtaining a smart card 1 04 at step 21 0. The user may obtain this smart card 1 04 through a retail purchase or through a service provider. The smart card 1 04 comprises a database 1 26 for receiving and storing entitlements associated with various software applications 1 22 or other reusable server content. Each entitlement or entitlement management message (EMM) is unique to a particular application 1 22 or reusable content that the system 1 00 may download. The entitlement may provide the user with permission to download the application 1 22 or reusable content from the remote server 1 06. Alternatively, the entitlement may allow the user to decrypt the previously encrypted application 1 22 or reusable content transmitted from the server 1 06 via the broadcast network 1 08. One variation of the smart card 1 04 may comprise a "blank" smart card 1 04 that may receive entitlements to a software application 1 22 or other reusable content. The entitlements are downloaded into the smart card 104 from the remote server 106. Another variation of the smart card 104 may include pre-loaded entitlements of specific software applications or other reusable content. At step 220 of the routine 200, the user inserts the smart card 104 into the terminal 1 02. This step assumes that the user has already activated the terminal 1 02 and coupled this terminal 1 02 to the remote server 1 06 via the network 108 or Internet connection. As such, this step 220 couples the smart card 104 to the remote server 1 06 via the terminal 1 02 and the network 108. The routine 200 proceeds to step 230 where the user selects a particular application 1 22 to purchase or download. The user may purchase the application 1 22 or other reusable content using a blank or preloaded smart card 1 04. If the blank or preloaded smart card 1 04 does not presently contain the correct entitlement of the application 1 22, the user must purchase the application 1 22 or other reusable content before obtaining the correct entitlement associated with the application 1 22 or other reusable content. If the smart card 1 04 contains the correct entitlement associated with the application 1 22, the user may download the application 1 22 or other reusable content from the remote server 106. At step 240 of the routine 200, the smart card manager 1 20 reads the database 1 26 within the smart card 1 04 to determine whether the smart card 104 contains the correct entitlement associated with the desired application 1 22 or content. If the smart card 1 04 contains the entitlement for the application 1 22, then the routine 200 proceeds to step 250. This may occur if the smart card 104 is pre-loaded with the entitlement for the desired application 1 22 or reusable content. However, if the smart card 1 04 does not contain the entitlement of the application 1 22, then the routine 200 proceeds to step 260. As such, the routine 200 proceeds to step 260 if the smart card 104 is blank or does not contain the entitlement for the desired application 1 22. At step 250, the smart card manager 1 20 determines whether the entitlement is expired. Such an expiration date may exist in a trial or shareware version of a software application or a video that is available during a particular month. If the reusable content is video, the entitlement may limit viewing of the video during a particular period. If the entitlement is expired, then the routine 200 proceeds to step 260. If the entitlement is not expired or still active, then the routine 200 proceeds to step 270, where the user may download the application 1 22. Therefore, if the entitlement in database 1 26 is not for the desired application 1 22 or reusable content, or if the entitlement is expired or no longer active, then the routine 200 requires the user to purchase the application 1 22 or reusable content at step 260. However, if this entitlement is for the desired application 1 22 or reusable content, and is active, then the routine 200 allows the user to download the desired application 1 22 or reusable content at step 270. At step 260, the routine 200 determines whether the user wishes to purchase the application 1 22. This message is generally displayed to the user on the output device 1 1 2. If the user decides to purchase the application 1 22 or other content, the routine 200 proceeds to step 280. If the user decides not to purchase the application 1 22 or other reusable content, the routine 200 proceeds to step 300, where the user may no longer obtain the entitlement for the application 1 22. At step 280, the user purchases the application 1 22 using, for example, a credit card or some other payment method. Then, the routine 200 proceeds to step 290, where the user downloads the entitlement from the server 1 06 into the database of the smart card 1 04. After the entitlement is downloaded into the smart card 1 04, the routine 200 proceeds to step 270 to determine whether the user desires the download the application 1 22. If the user decides to download the application 1 22, the routine 200 proceeds to step 310. If the user decides against downloading the application 1 22, the routine 200 proceeds to step 300, where the server 1 04 will no longer download the application 1 22 into the memory 1 1 8 of the terminal 102. At step 31 0, the routine 200 generally determines whether the memory 1 1 8 in the terminal 1 02 is sufficient to receive the application 1 22 or other reusable content. If the memory 1 1 8 is sufficient to receive the application 1 22, the routine 200 proceeds to step 320. However, if there is not enough memory 1 1 8 to store or receive the application 1 22, then the routine 200 proceeds to step 300, and the user may not download the application 1 22. At step 320, the smart card manager 1 20 deducts the entitlement from the database 1 26 of the smart card 1 04. The nature of this deduction depends on the type of entitlement. In the case of a typical software download, the smart card manager 1 20 simply deducts the entitlement for the application 1 22. However, if the system 1 00 involves viewing video a particular number of times, then the smart card manager adjusts the entitlement to reflect the current usage. As such, the smart card manager 1 20 may fully or partially deduct the entitlement. After this step 320, the routine 200 proceeds to step 330, where the smart card manager 1 20 processes the download of the application 1 22 or other reusable content from the server 106 into the memory 1 1 8 of the terminal 102. If the application 1 22 is in encrypted form, then the smart card manager 1 20 may decrypt the application 1 22 during download into memory 1 1 8. After completing the routine 200, the user may use or view the application 122 or other reusable content. The user activates the application launcher 1 24, which starts or executes the application 1 22. The user may select an icon on the output device 1 1 2 to activate this application launcher 1 24. Alternatively, the smart card manager 1 20 may automatically start the application launcher 1 24. Although various embodiments, which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art may readily devise many other varied embodiments that still incorporate these teachings.

Claims: What is claimed is: 1 . A method for using an integrated circuit card to facilitate downloading reusable content from a server into a terminal, the method comprising the steps of: verifying that an entitlement contained in the integrated circuit card is correct for receiving the reusable content from the server; and downloading the reusable content from the server into a memory of the terminal. 2. The method of claim 1 wherein the reusable content is a software application. 3. The method of claim 1 wherein the reusable content is multimedia content. 4. The method of claim 1 wherein the integrated circuit card contains preloaded entitlements. 5. The method of claim 1 wherein the entitlement is downloaded into the integrated circuit card from the server. 6. The method of claim 1 wherein the reusable content is encrypted. 7. The method of claim 6 further comprising the step of: decrypting the encrypted reusable content from the server. 8. The method of claim 1 further comprising the step of: updating an entitlement database on said integrated circuit card after an entitlement is used to download said reusable content. 9. The method of claim 1 wherein said verifying step further comprises the steps of: downloading an entitlement for a desired reusable content; and storing said downloaded entitlement into said integrated circuit card. 1 0. A system for securely downloading reusable content from a server, the system comprising: a terminal, coupled to the server, having a processor for processing the download of the reusable content from the server, a memory for receiving the downloaded reusable content and an integrated circuit card interface circuit; an integrated circuit card, coupled to said interface circuit, for providing an entitlement message enabling said terminal to download the reusable content from a server. 1 1 . The system of claim 1 0 wherein said integrated circuit card comprises an entitlement database.

Inventors: NEWBERRY THOMAS PATRICK, NORMAN RICHARD ALLEN, WEAVER DAVID JOHN, NEWBERRY, THOMAS, PATRICK, NORMAN, RICHARD, ALLEN, WEAVER, DAVID, JOHN
Applicants: NEWBERRY THOMAS PATRICK, NORMAN RICHARD ALLEN, THOMSON LICENSING SA, WEAVER DAVID JOHN, NEWBERRY, THOMAS, PATRICK, NORMAN, RICHARD, ALLEN, THOMSON LICENSING S.A., WEAVER, DAVID, JOHN
Application year: 2000
Main classification: G07F17
IPC codes: G06F1, G06F12, G06F21, G06K17, G07F17, H04N7