Title of Invention

METHOD OF DOWNLOADING AN EXECUTABLE APPLICATION INTO A DECODER,AND A DECODER AND SMARTCARD THEREFOR

Abstract A method for downloading an executable application into a decoder 1 for a digital broadcast system, characterised in that the application is stored on a portable memory card introduced into a card reader 6, 7 in the decoder, the decoder reading and downloading the application from the card. Data may preferably be stored in the smartcard in a broadcast data format such as the MPEG format to permit the processing of such data in the same manner as the control unit 40 of the decoder processes data downloading by a broadcast transmission. The invention extends equally to a decoder and a memory card for use in such a method.
Full Text 1A
The present application relates to a method of downloading an executable application into a decoder, and a decoder and smartcard therefor, and in particular, for downloading executable applications into a decoder used in a digital broadcast
system, for example, as used in a digital television system.
Broadcast transmission of digital data is well-known in the field of pay TV systems, where scrambled audiovisual information is sent, usually by a satellite or satellite/cable link, to a number of subscribers, each possessing a decoder or receiver/decoder capable of descrambling the transmitted program for subsequent viewing. Terrestrial digital broadcast systems are also known. Recent systems have also used the broadcast link to transmit other data, in addition to or as well as audiovisual data, such as computer programs or interactive applications to the decoder or a to a connected PC.
The same decoder unit may be supplied by the system designer to a number of different service providers or broadcast companies in a number of different countries. In such circumstances, some degree of testing or customisation of the decoder unit by the service provider will usually be necessary. Typically, a testing application which operates independently of the normally installed application is used to check the correct operation of the hardware elements of the decoder, eg to confirm that the tuner within the decoder operates correctly etc.
This operation will typically be carried out by the service provider or distributor before the decoder is passed to the consumer, for example, using a dedicated PC and a parallel or series link to the decoder. An application supplied by the system designer and running on the PC is used to adjust the operating parameters of the decoder.
Depending the complexity of the operation and the skills of the operator employed to carry out this
task the time necessary to test the decoder can be considerable and can increase the real cost of the finished item by a significant amount.

2
Although in its broadest aspect the present invention is not limited solely to this context, it is an object of the present invention to reduce the time and complexity of this type of operation and to provide a simple means for introducing applications in the decoder.
According to the present invention, there is provided a ————————————
method for downloading an executable application into a decoder
that is able to receive broadcast data in a broadcast data format, said method comprising the steps of:
storing the executable application on a smartcard (12) in a packet organization format corresponding to to said broadcast data format;
introducing the smartcard into a smartcard reader located in the
decoder;
downloading the executable application into the decoder from the smartcard according to the packet organization format.

2A
Use of a portable memory card enables a predetermined application to be easily and simply introduced into the decoder without the necessity, for example, to connect the decoder to a PC, load a testing program into the PC etc. The time necessary to carry out the testing operation will be greatly reduced since an operator can load the application into the decoder by a simple insertion of the card into the decoder.
Whilst portable memory cards are known in the field of decoder technology, their use to date has either been restricted to the simple transfer of static data, for example, financial data from a credit card inserted in the decoder, or to hold decryption keys associated with broadcast transmissions. Up until now, such cards have not been used to download executable applications. This is in part due to the perceived slowness of the data link associated with the use of a card slot, which has acted to discourage system designers from this solution.
As will be understood, the present invention is not limited to the downloading of a testing type application. The card may equally be used to introduce an application used to initially configure the decoder. Alternative uses are also imaginable, for example, in which cards bearing a promotional application such as a video game or the like, are distributed directly to the end user of the decoder. Increasingly, decoder units are incorporating more and more functionalities associated with general multimedia products and using a portable memory card provides a relatively simple means for a nontechnical consumer to introduce executable applications into the decoder.

3
The term "portable memory card" includes any portable cards that may be inserted within a corresponding card slot in the decoder. The card may include a microprocessor chip in addition to a simple memory element. The catd may be powered via a connection to a power source located internally within the reader slot of the decoder or may include a battery power source.
In one embodiment, the card may conform to the standards necessary to permit reading in a PCMCIA reader in the decoder. Preferably, however, the card is adapted to be read in a smartcard reader in the decoder. This solution possesses a number of advantages in comparison, for example, with a PCMCIA card, notably due to the simpiicity of the contacts formed on the card which reduces the cost
of production and the ubiquity of smartcard readers in decoder units.
The characteristics of smartcards and smartcard readers are well known and are defined, for example, in the international standards ISO 7816_1 (physical characteristics), ISO 7816_2 (contact dimensions and placement) and ISO 7816_3 (electrical signals and transmission protocols).
Unlike, for example, bank cards, the smartcards associated with decoder units need not be fully inserted into the unit and may protrude some distance from the decoder, Consequently, whilst the card width and thickness may correspond to the normalised values, the card may be longer than a standard credit card. This leads to the possibility to introduce more and larger components onto the card.
Advantageously, the executable application stored within the card and downloaded into the decoder is formatted according to a broadcast data format, such as an MPEG data format. MPEG is a well-known standard developed for the field of digital broadcasting in which data is arranged into a series of tables, each table including a packet ID etc. in the context of the present patent application, the term includes all variants, modifications or developments of the basic MPEG format such as MPEG-2 and, notably the MPEG-2 short format.

4
In practice, although the application is organised according to the MPEG format, the data can be subdivided into a number of modules in the memory of the card, the modules being downloaded and put together sequentially by the decoder to assemble the complete MPEG application.
The advantages associated with the use of MPEG data are considerable, since the decoder can handle and process such applications in the same manner as it handles applications downloaded via the broadcast link. In the case, for example, where the decoder includes a virtual machine to process data, the application will be interpreted and processed by the same logical units within the machine as used for broadcast MPEG applications.
As will be understood, where the decoder is adapted to download digital broadcast transmissions according to an alternative data format, the same advantages may be obtained by organising the data in the card in this format.
According to a further preferred embodiment, some or part of the application stored within the memory card is encrypted with one or more encryption keys. In particular, some or part of the data stored in the memory card may be signed with a private key, the decoder having access to the equivalent public key so as to authenticate the origin of the application. In the event of non-authentication of the code, the decoder may refuse to download the code. Other arrangements, using two secret keys of a symmetric algorithm, for example, are possible in addition to or instead of this signing process.
The advantage of a memory card lies in the simplicity in which an application may be introduced into the decoder. By the same token, the use of a memory card could potentially give rise to a problem of security by permitting the installation of pirate applications into a decoder. The use of signed code ensures the integrity of applications within the decoder and prevents, for example, the introduction of a "Trojan horse" program or the like into the system.
Preferably, the decoder is provided with a plurality of smart card readers, to permit the reading of a smartcard carrying the executable application together with another smartcard, for example, a smartcard carrying a decryption key.

5
As mentioned above, a principal use of smart cards in the context of a decoder relates to the storage of decryption and encryption keys associated with that decoder. In the case where the executable code downloaded from the memory card is partially or wholly encrypted, decryption will most probably be carried out in relation to a public key stored on a subscription type smart card. A multistat decoder permits interaction between the two cards.
Other embodiments for a single-slot decoder are possible, for example, in which the application is downloaded from the first smartcard and stored in a buffer before the first card is removed and the second card inserted to verify the application, or in which an adapter is used to enable both cards to be inserted in parallel etc.
in one embodiment, the method may include the steps of downloading the application into the decoder, setting one or more parameters associated with the application and storing the parameters in the memory card for later use.
For example, in the case where the memory card is used as a vehicle for a testing application developed by the system designer, the application may include certain parameters, such as tuning frequency, which are to be set by the test operator.
The first time that the application is loaded into a decoder, the operator will have the option of selecting these parameters by, for example, using the remote controller of the decoder. Once fixed, the parameters can be stored on the card. Thereafter, testing of subsequent decoders will be carried out automatically in relation to these stored parameters.
For reasons of security, it is preferable that the application remain unchanged and only the newly set parameters reloaded back onto the card. The application may be, for example, stored in an access-restricted FLASH or ROM memory and the parameters loaded into an EEPROM memory unit on the memory card.

6
Advantageously, the memory card includes a physical switch means for selecting one of a plurality of applications stored on the card that will be downloaded upon insertion of the memory card in the decoder. For example, where the card is used as a vehicle for a number of configuration applications for a number of service providers, the card can include a DIL switch means which can be set by an operator to select the configuration application associated with that service provider.
The present invention extends to a decoder for use in a method as described above, in particular, a decoder adapted to read broadcast (eg MEPG) format data introduced via a card reader in the decoder. The present invention also extends to a memory card for use in such a method, in particular, including an application stored in a broadcast format in the card.
Whilst the description refers to « receiver/decoders » and « decoders » it will be understood that the present invention applies equally to embodiments having a receiver integrated with the decoder as to a decoder unit functioning in combination with a physically separate receiver. Such a decoder may be of the kind used in any satellite, terrestrial, cable etc digital broadcast system and may include other multimedia type capabilities.
Similarly, the term «executable application» covers applications written in any form of code (interpretative code, compiled code etc) and capable of being executed.
There will now be described, by way of example only, a preferred embodiment of the present invention, with reference to the accompanying drawings, in which:
Figure 1 shows an overview of the elements of a receiver/decoder;
Figure 2 shows a memory card, adapted to be read in a card reader slot in the decoder of Figure 1; and
Figure 3 shows a circuit diagram of the components of the card of Figure 2.

7
Referring to Figure 1, the elements of a receiver/decoder 1 or set-top box for use in a digital broadcast system and adapted to be used in the present invention will now be described. As will bo understood, the elements of this decoder are largely conventional and their implementation will be within the capabilities of one skilled in the art,
As shown, the decoder 1 is equipped with several interfaces for receiving and transmitting data, in particular an MPEG tuner and demultiplexer 2 for receiving broadcast MPEG transmissions, a serial interface 3, a parallel interface 4, and a modem back channel 5 for sending and receiving data via the telephone network. In this embodiment, the decoder also includes a first and second smart card
reader 6 and ?, the first reader 6 for accepting a subscription smart card containing decryption keys associated with the system and the second reader 7 for accepting bank cards and, in this case, a
smartcard containing an application to be downloaded.
The decoder also includes a receiver 8 for receiving infra-red control signals from a handset remote control 9 and a Peritel output 10 for sending audiovisual signals to a television 11 connected to the decoder.
Processing of digital signals received via the interfaces and generation of digital output signals is
handled by a central control unit 40, The software architecture of the control unit within the decoder may correspond to that used in a known decoder and will not be described here in any detail. It may be based, for example, on a virtual machine interacting via an interface layer with a lower level operating system implemented in the hardware components of the decoder. In terms of the hardware architecture, the decoder wilt be equipped with a processor, memory elements such as ROM, RAM, FLASH memory etc. as in known dncodeis.
An application introduced into the decoder corresponds to a section of code introduced into the machine that permits the control, for example, of higher level functions of the machine. These may include the generation of a graphic sequence on the screen of the television display in response to a command from the remote control, or the emission of a message via the modem 5 to the server associated with the digital broadcast system

8
Applications may be resident applications stored in the ROM or FLASH of the decoder or applications broadcast and downloaded via the MPEG interface 2 of the decoder. Applications can include program guide applications, games, interactive services, teleshopping applications, as well as initiating applications to enable the decoder to be immediately operational upon start-up and applications for configuring the decoder. Applications are stored in memory locations in the decoder and represented as resource files comprising graphic object description files, unit files, variables block files, instruction sequence files, application files, data files etc.
Conventionally, applications downloaded into the decoder via the broadcast link are divided into modules, each module corresponding to one or more MPEG tables. Each MPEG table may be divided into a number of sections. For data transfer via the serial and parallel ports, modules are also split into tables and sections, the size of the section depending on the channel used. As will be described in relation to Figure 4, a similar sectioning is applied to MPEG tables downloaded using the smartcard of the present invention.
In the case of broadcast transmission, modules are transported in the form of data packets within respective types of data stream, for example, the video data stream, the audio data stream, a text data stream. In accordance with MPEG standards each packet is preceded by a Packet Identifier (P1D) of 13 bits, one PID for every packet transported in the MPEG stream. A programme map table (PMT) contains a list of the different streams and defines the content of each stream according to the respective PID. A PID may alert the device to the presence of applications in the data stream, the PID being identified by the PMT table.
Referring to Figures 2 and 3, the structure of a smartcard 12 adapted to charge an executable application in the decoder will now be described. Figure 2 shows a plan view of the smartcard, comprising an area of contacts 13, a FLASH ROM memory 14, an EEPROM memory 15, a microprocessor 16, a DIL switch unit 17 and a number of other discrete components

9
The memory card 2 possesses the width and thickness of a standard normalised smart card so as to enable its insertion in a smartcard slot of the decoder. However, as will be seen from Figure 2, the card is longer than a standard card to enable the incorporation of all the components described on its surface. In the context of its use in the initial configuration of the decoder this increase in size may not be significant. In alternative situations, for example, where the card is intended to be supplied to the eventual user of the decoder, some components such as the DIL switch unit 17 and EEPROM 15 may be omitted. The remaining components may be miniaturised and the whole card designed to conform with smart card norms.
Referring now to Figure 3, the contacts 13 engaged in the smart card reader in the decoder may be divided by function into a power supply line 18 which supplies the card voltage Vcc, a reset line 19 connected to the corresponding reset terminal 20 of the microprocessor, a clock line 21 connected to clock terminal 22 of the microprocessor, and an I/O line 23 connected to corresponding input and output terminals 24, 25 of the microprocessor. As shown, connections are made via a series of op-amps 26. The power supply is regulated by means of a capacitor C4
The EEPROM memory unit 15 is connected via lines 27, 28 to the microprocessor 16, these lines being biased by the power supply Vcc connected via the resistances R1 and R2. The function of the EEPROM memory will be discussed in more detail below in relation to the configuration application. The microprocessor 16 is connected by a series of lines 29 to corresponding terminals of the FLASH memory 14. The state of three of these lines 30, 31, 32 is determined by the switch unit 17 connected via a series of diodes D1, D2, D3 and biased by the power supply Vcc connected by resistances R3, R4, R5. By switching each of the switches ON or OFF, a binary control word 000, 001, 010, 011 etc can be defined. As will be discussed, this binary word is used to determine the first block in the FLASH memory that will be accessed upon insertion of the card and, hence, the application that will be charged into the decoder.
The card 12 is designed to engage in the credit card reader 7 of the decoder 1, the reader 6 being reserved for the subscription card associated with the broadcast system which contains the keys necessary for, inter alia, decoding scrambled transmissions and verifying downloaded code. Upon

10
insertion, the reader checks the type of card inserted, by means of a simple handshake signal to the card. In the event that the reader identifies the card as being a card of the type containing application code for loading into the machine, the decoder will access the first block of code in the FLASH memory 15 at the hexadecimal address corresponding to the binary message indicated by the switch unit 17.
In the case, for example, where the card is intended to be used in the testing of decoders for a number of service providers, a different application may be loaded corresponding to the service provider in question or corresponding to the functions that need to be tested. In addition or alternatively, a first setting of the switches may be used to download the application supplied with the card and a second to download a different application and/or associated parameters set by the service provider (see below).
The application code is downloaded from the from the card in a series of modules, the modules then being assembled to form a series of MPEG-2 (short form) tables, as described above in connection with broadcast data. The advantage of formatting data according to the MPEG format is that the virtual machine within the central control unit of the decoder can directly process applications received in this format, in the same manner as it processes applications received via the broadcast link. As will be appreciated, this leads to considerable reductions in the time needed to process the application etc.
Prior to storage in the card, the application code contained within the MPEG tables is encrypted to provide a digital signature. This signature is generated by the supplier of the card using a private key known only to himself The decoder has access to a series of public keys on a subscription card inserted in the other card reader. In the event that the decoder confirms that the code has originated from a known source, by verifying the digital signature, the application will be installed in the machine. Unverified code will be rejected by the decoder.
Other encryption techniques used in broadcast digital systems may also be applied, for example, to encrypt the code according to one or more private keys known to the supplier of the application card to prevent a third party from decrypting and using the application stored on the card. The decoder

11
possesses the key or keys necessary to decrypt the code as stored on a subscription card. This encryption can be carried out in addition to and after the signature of the code.
The use of a subscription card to hold the necessary decryption keys generally requires that the decoder is also provided with a second smartcard reader, since both cards will be addressed by the decoder during the downloading and verification steps. Alternative embodiments are conceivable, for example, in which data is first downloaded from the application card into a buffer, the application card removed and the card containing the decryption keys inserted etc. However, as will be appreciated, these are less convenient than the use of a decoder equipped with two or more smartcard readers, particularly since one or the other of the cards may need to be re-addressed at any moment.
The installation of a test application within the decoder will now be described Typically, such a test application is used by a service provider to test the correct operation of the hardware layer independently of the software that normally sits on top of the hardware layer. For example, the test application may control the tuner of the decoder to test that the decoder can correctly receive data transmitted on a given channel frequency.
The loaded application may be interactive so as to permit the operator to enter specific parameters into the decoder by means of, for example, the remote control handset. In the case of the tuning frequency the operator may manually adjust the set frequency until the clearest reception is obtained. Once this frequency is known for one decoder, it will be the same for the rest of the series. It is therefore desirable that this and other parameter values can be memorised in order to avoid repeating the operation for each decoder.
Accordingly, once defined by the operator in relation to a first decoder, these parameters are downloaded into the EEPROM memory 15 of the card. Upon removal of the card, the operator changes the setting of the switches in the switch unit 17 such that an application at a different address within the FLASH memory will be accessed upon its next insertion in a decoder. When the card is then reinserted in the next in the series of decoders, this application will signal the presence of pre-determined parameter values stored in the EEPROM and these values will be automatically loaded

12
into and set in the decoder. In the case of the tuner, for example, the application will automatically set the tuner to the frequency selected by the operator for the first decoder and the operator can then immediately determine whether the tuner operates correctly or not.
In view of the relative difficulty in writing data to a FLASH unit (as compared to an EEPROM) it is preferable, though not essential, that the FLASH memory be used for applications that will not be modified in use and the EEPROM memory be reserved for data downloaded into the card.
Furthermore, in order to increase the security of the system, the FLASH memory may be locked into a read-only configuration by the microprocessor upon initial connection of the card, and/or upon receipt of an unknown instruction Other memory combinations and configurations are of course possible, using ROM devices etc.
Whilst the above embodiment has been discussed in relation to a smartcard realisation, other portable memory cards, such as PCMCIA cards, may be used if the decoder is capable of reading such cards.

13 WE CLAIM:
1. A method for downloading an executable application into a decoder
that is able to receive broadcast data in a broadcast data format, said method
comprising the steps of:
storing the executable application on a smartcard (12) in a packet organization format corresponding to be said broadcast data format;
introducing the smartcard into a smartcard reader located in the decoder;
downloading the executable application into the decoder from the smartcard according to the packet organization format.
2. A method as claimed in claim 1, in which the executable application stored within the card and downloaded into the decoder is formatted according to an MPEG data format.wherein
3. A method as claimed in claim 2, the application is subdivided into a plurality of modules in the memory of the card, and the modules are downloaded and assembled by the decoder to form the complete application.
4. A method as claimed in any preceding claim, in which the application is written in interpretative code.
5. A method as claimed in any preceding claim, in which some or part of the application stored within the smartcard is encrypted with one or more encryption keys.,
6. A method as claimed in any preceding claim, in which some or part of the data stored in the smartcard has been encrypted and/or signed with a private key. the decoder having access to the equivalent public key so as to decrypt and/or authenticate the origin of the application.
7. A method as claimed in any preceding claim, in which the decoder is provided with a plurality of smartcard readers (6, 7), to permit reading of a smartcard carrying the executable application and another smartcard.
8. A method as claimed in any preceding claim, wherein there are carried out the steps of a downloading the application into the decoder, setting one or more parameters

14
associated with the application and storing the parameters in the smartcard for later use.
9. A method as claimed in any preceding claim in which the smartcard has a physical switch means (17) for selecting one of a plurality of applications stored on the card that will be downloaded upon insertion of the smartcard in the decoder.
10. A decoder (1) for use in a method as claimed in any preceding
claim, said decoder being able to receive broadcast data in a broadcast data format and adapted to read and download an executable application in a packet organization format corresponding to said broadcast data format via a smartcard reader (7) in the
decoder (1).
11. A decoder as claimed in claim 10, having a plurality of smartcard readers (6, 7) to permit reading of a smartcard carrying the executable application and another smartcard.
12. A smartcard (12) for use in a method as claimed in any of claims
1 to 9, said smartcard (12) including an executable application stored in the
card in a packet organization format corresponding to said broadcast data format.
13. A smartcard as claimed fn claim 12 in which the application is formatted according to an MPEG data format.
14. A smartcard as claimed in a claim 13, in which the application is subdivided into a plurality of modules in the memory of the card.
15. A smartcard as claimed in any of claims 12 to 14, in which the application is written in interpretative code.
16. A smartcard as claimed in any of claims 12 to 15, in which some or part of the application is encrypted with one or more encryption keys.
17. A smartcard as claimed in any of claims 12 to 16, in which some or part of the data application is encrypted and/or signed with a private key.
18. A smartcard as claimed in any of claims 12 to 17, having a physical switch means (17) for selecting one of a plurality of applications stored on the card.
19. A method for downloading an executable application into a
decoder that is able to receive broadcast data in a broadcast data format, substantially as herein described, particularly with reference to and as illustrated in the accompanying drawings.
Dated this 4th day of December, 1997.
A method for downloading an executable application into a decoder 1 for a digital broadcast system, characterised in that the application is stored on a portable memory card introduced into a card reader 6, 7 in the decoder, the decoder reading and downloading the application from the card. Data may preferably be stored in the smartcard in a broadcast data format such as the MPEG format to permit the processing of such data in the same manner as the control unit 40 of the decoder processes data downloading by a broadcast transmission. The invention extends equally to a decoder and a memory card for use in such a method.

Documents:

02292-cal-1997-abstract.pdf

02292-cal-1997-assignment.pdf

02292-cal-1997-claims.pdf

02292-cal-1997-correspondence.pdf

02292-cal-1997-description(complete).pdf

02292-cal-1997-drawings.pdf

02292-cal-1997-form-1.pdf

02292-cal-1997-form-2.pdf

02292-cal-1997-form-3.pdf

02292-cal-1997-p.a.pdf

2292-CAL-1997-FORM-27.pdf

2292-cal-1997-granted-abstract.pdf

2292-cal-1997-granted-assignment.pdf

2292-cal-1997-granted-claims.pdf

2292-cal-1997-granted-correspondence.pdf

2292-cal-1997-granted-description (complete).pdf

2292-cal-1997-granted-drawings.pdf

2292-cal-1997-granted-examination report.pdf

2292-cal-1997-granted-form 1.pdf

2292-cal-1997-granted-form 2.pdf

2292-cal-1997-granted-form 3.pdf

2292-cal-1997-granted-letter patent.pdf

2292-cal-1997-granted-pa.pdf

2292-cal-1997-granted-reply to examination report.pdf

2292-cal-1997-granted-specification.pdf


Patent Number 194978
Indian Patent Application Number 2292/CAL/1997
PG Journal Number 30/2009
Publication Date 24-Jul-2009
Grant Date 16-Sep-2005
Date of Filing 04-Dec-1997
Name of Patentee CANAL+SOCIETE ANONYME
Applicant Address 85/89, QUAI ANDRE CITROEN 75711, PARIS, CEDEX 15
Inventors:
# Inventor's Name Inventor's Address
1 JEAND-CLAUDE SARFATI 2-4 PLACE D'OBERURSEL, 93800 EPINAY SUR SEINE, FRANCE
PCT International Classification Number H04N 7/16,G06K 19/07
PCT International Application Number N/A
PCT International Filing date
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 NA