[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

USRE40538E1 - Downloading of applications in a digital decoder - Google Patents

Downloading of applications in a digital decoder Download PDF

Info

Publication number
USRE40538E1
USRE40538E1 US10/874,137 US87413704A USRE40538E US RE40538 E1 USRE40538 E1 US RE40538E1 US 87413704 A US87413704 A US 87413704A US RE40538 E USRE40538 E US RE40538E
Authority
US
United States
Prior art keywords
decoder
application
card
data
downloading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US10/874,137
Inventor
Jean-Claude Sarfati
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to US10/874,137 priority Critical patent/USRE40538E1/en
Assigned to THOMSON LICENSING S.A. reassignment THOMSON LICENSING S.A. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CANAL+ TECHNOLOGIES, S.A.
Assigned to CANAL + TECHNOLOGIES reassignment CANAL + TECHNOLOGIES CHAIN OF TITLE Assignors: CANAL + SOCIETE ANONYME
Assigned to CANAL + TECHNOLOGIES reassignment CANAL + TECHNOLOGIES CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: CANAL+SOCIETE ANONYME
Assigned to THOMSON LICENSING S.A. reassignment THOMSON LICENSING S.A. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CANAL + TECHNOLOGIES
Application granted granted Critical
Publication of USRE40538E1 publication Critical patent/USRE40538E1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4184External card to be used in combination with the client device, e.g. for conditional access providing storage capabilities, e.g. memory stick
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4353Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof

Definitions

  • the present application relates to a method and apparatus 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 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.
  • a method for downloading an executable application into a decoder characterised in that the application is stored on a portable memory card introduced into a card reader in the decoder, the decoder reading and downloading the application from the card.
  • 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 program into the PC etc.
  • the time necessary to carry out, for example, a 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.
  • PCT WO93/07715 discloses a system in which static data corresponding to channel frequency information is held in the memory of a smart card, the smart card being inserted in the television to tune the television to the correct channels.
  • a similar system is described in DE 4344317 in which a smart card is inserted in a slot in a television remote control to control the tuner of the television.
  • Neither document discloses the downloading of an executable application into a decoder.
  • 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.
  • 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 non-technical consumer to introduce executable applications into the decoder.
  • 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 card 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.
  • the card may conform to the standards necessary to permit reading in a PCMCIA reader in the decoder.
  • the card is adapted to be read in a smart card reader in the decoder.
  • 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 for the inserted part of the card must 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.
  • 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.
  • a broadcast data format such as an MPEG data format.
  • the MPEG standard describes the organisation of data into a series of tables, each table including a table ID etc.
  • the application data may be subdivided into a number of modules in the memory of the card, the modules being assembled by the decoder to form the complete application.
  • the decoder can handle and process such applications in the same manner as it handles applications downloaded via the broadcast link.
  • the application may be written in interpretative code, this code being interpreted and processed by the same logical units within the machine as used for broadcast MPEG applications.
  • 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.
  • some or part of the application stored within the memory card is encrypted with one or more encryption keys.
  • some or part of the data stored in the memory card may be 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.
  • the decoder may refuse to download the code.
  • Other arrangements, using two secret keys of a symmetric algorithm, or a combination hash/encryption technique, 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.
  • 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.
  • 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.
  • 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.
  • decryption will most probably be carried out in relation to a public key stored on a subscription type smart card.
  • a multislot decoder permits interaction between the two cards.
  • a single-slot decoder 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.
  • 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.
  • the application may include certain parameters, such as tuning frequency, which are to be set by the test operator.
  • 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.
  • 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.
  • 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.
  • 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 MPEG) 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.
  • 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.
  • a decoder may be of the kind used in any satellite, terrestrial, cable etc digital broadcast system and may include other multimedia type capabilities or may be integrated with other devices such as a video recorder or television.
  • executable application covers applications written in any form of code (interpretative code, compiled code, native code etc) and capable of being executed by a microprocessor within the decoder.
  • MPEG refers to the data transmission standards developed by the International Standards Organisation working group “Motion Pictures Expert Group” and in particular but not exclusively the MPEG-2 standard developed for digital television applications and set out in the documents ISO 13818-1, ISO 13818-2, ISO 13818-3 and ISO 13818-4. In the context of the present patent application, the term includes all variants, modifications or developments of MPEG formats applicable to the field of digital data transmission.
  • FIG. 1 shows an overview of the elements of a decoder
  • FIG. 2 shows a memory card, adapted to be read in a card reader slot in the decoder of FIG. 1 ;
  • FIG. 3 shows a circuit diagram of the components of the card of FIG. 2 ;
  • FIG. 4 shows the software architecture of the decoder of FIG. 1 .
  • FIG. 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.
  • the hardware elements of this decoder are largely conventional and their implementation will be within the capabilities of one skilled in the art.
  • 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.
  • the decoder also includes a first and second smart card reader 6 and 7 , 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.
  • the software architecture of the control unit within the decoder may take many forms. 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 will be equipped with a processor, memory elements such as ROM, RAM, FLASH memory etc. as in known decoders.
  • the first layer 51 represents the operating system of the hardware of the receiver/decoder. This is a real-time operating system chosen by the manufacturer to control the hardware elements of the receiver/decoder. The real-time operating system has a relatively fast response time in order to be able to correctly synchronise hardware operations.
  • a data processing system layer sits on top of the hardware operating system and comprises a middleware layer 52 and an application interface layer 53 .
  • Event messages are passed between the operating system layer 51 and the middleware layer 52 immediately above.
  • the middleware layer is written in a language such as C ANSI and comprises the elements of a virtual machine 54 and a number of interfaces 55 including a graphical interface 56 , a FLASH/PROM memory interface 57 , a protocol interface 58 and a device interface 59 .
  • a virtual machine 54 enables independence between upper level applications 66 which are usually provided by the system manager or one or more operators, and a lower level operating system 51 , usually implemented by the hardware manufacturer of the decoder.
  • the interfaces 60 provide the link between operations of the virtual machine and the lower level operating system 51 and also include a number of intermediate level application modules more easily executed at this level.
  • the application interface (API) layer 53 comprises a number of high level packages 60 - 65 , written in an object-oriented interpretative language, such as Java. These packages provide an interface between the high level applications generally created by the service provider (interactive program guide, teleshopping, internet browser etc) and the virtual machine of the system.
  • object-oriented interpretative language such as Java.
  • the lower level OS is normally embedded in the hardware components of the decoder, although in some realisations, the lower level OS can be downloaded.
  • the middleware and application interface layer packages can be downloaded into the RAM or FLASH memory of the decoder from a broadcast transmission. Alternatively, some or all of the middleware or application interface layer elements can be stored in the ROM or (if present) FLASH memory of the decoder. As will be understood, the physical organisation of the memory elements of the decoder is quite distinct from the logical organisation of the memory.
  • the interface layer 55 above the virtual machine 54 comprises four modules, a graphics module 56 , a memory file management module 57 , a protocol module 58 and a device manager 59 . Whilst the modules at this level are described as interface modules their function is to provide a “glue” layer for the implementation of the application interface packages and for the operation of the virtual machine generally.
  • the graphics module 56 provides the creation and management of graphical objects. It asks the low level OS to display basic graphic shapes such as single pixels, lines, rectangles etc.
  • the memory file management module 57 includes low level read/write file commands associated with the memory components of the system.
  • the protocol management module 58 defines a library of communication protocols that may be called upon in communications via, for example, the TCP/IP layer of the decoder.
  • the device manager 59 is slightly different from the other modules in this layer in that it provides the link or interface between the hardware operating system and the layers above, including the other modules in the interface layer and the virtual machine. Commands or event messages that are received/sent to the hardware OS from the virtual machine, for example, are necessarily passed by the device manager for conversion according to the interface specifications between the two levels.
  • the packages in this layer are written in an object oriented language such as Java.
  • Each package defines a set of class libraries called on during operation of the system. Their class behaviour will depend on the language chosen, a single inheritance class structure being adhered to in the case of Java. In the present system the following packages are installed.
  • Lang/Util Package 60 These packages define the classes necessary for the manipulation of objects by the virtual machine. These class libraries normally form part of a standard library associated with the object oriented language chosen. MHEG-5 Package 61 . This package defines the classes associated with the manipulation of graphical objects on the television display. Such objects are distinct from audio-visual data and can make up, for example, channel identifiers or text laid over displayed images. The definition of classes within this package should respect the MHEG-5 norms defined by the standards ETS 300777-3, and ISO/ISE 13522-5 (and the standard ISO/ISE 13522-6 in the case of a Java implemented system).
  • Toolbox Package 62 This package contains the classes used for downloading and decompression of information as well as the classes associated with the management of the file system and memory within the receiver/decoder and the classes associated with the connection to the internet etc.
  • This package defines the classes necessary for management of peripherals attached to the receiver/decoder, as discussed above and including the modem, the smart card readers, the MPEG flow tuner etc.
  • Service Package 64 This package defines the classes necessary for the implementation of developing higher level interactive applications, such as management of credit card data etc.
  • DSMCC-UU Package 65 This package implements the protocols necessary for communication between a client and a server for data file search and reading. Implementation of this package should respect the norm ISO/IEC 13818-6 and directives defined in DAVIC part 9 .
  • a number of high level applications 66 sit on top of and communicate with lower levels in the system via the application interface layer 53 .
  • the use of a virtual machine type architecture means that applications will be written in an interpretative language, such as Java.
  • Other software systems for handling executable applications written in alternative types of code are of course possible.
  • applications may originate from a variety of sources and/or operators.
  • executable applications are installed via a smart card interface.
  • 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.
  • the execution and maintenance of applications may be handled by an application manager 67 , itself installed at the application layer.
  • 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 and testing 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.
  • a number of types of data stream may be present, for example, a video data stream, an audio data stream, a text data stream etc.
  • each transport packet is preceded by a Packet Identifier (PID) of 13 bits, one PID for every packet transported in the MPEG stream.
  • PID Packet Identifier
  • a programme map table contains a list of the different streams for a particular service or “channel” 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.
  • a first layer corresponds to the basic transport layer comprising a series of fixed size transport packets.
  • applications downloaded into the decoder via the broadcast link are divided into modules, each module corresponding to one or more MPEG tables encapsulated within the above mentioned transport packets.
  • Each MPEG table may be divided into a number of sections.
  • modules are also split into tables and sections, the size of the section depending on the channel used.
  • a similar sectioning is applied to MPEG tables downloaded using the smartcard of the present embodiment.
  • an application may be organised into a number of files arranged within a data carousel as per the DSM-CC protocol, for example.
  • FIG. 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.
  • the presence of additional memory elements 14 , 15 enables an executable application of a significant size to be stored on the smart card.
  • the memory card 2 possesses the width and thickness of a standard normalised smart card so as to enable its insertion in a smart card slot of the decoder.
  • 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.
  • 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.
  • 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 C 4 .
  • 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 resistance R 1 and R 2 .
  • 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 D 1 , D 2 , D 3 and biased by the power supply Vcc connected by resistances R 3 , R 4 , R 5 .
  • 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.
  • the reader checks the type of card inserted, by means of a simple handshake signal to the card.
  • 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 .
  • a different application may be loaded corresponding to the service provider in question or corresponding to the functions that need to be tested.
  • 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.
  • MPEG-2 short form
  • 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.
  • the format of the MPEG private sections in this case is as follows:
  • the application code contained within the MPEG tables 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 of a public/private key algorithm, such as RSA, and known only to himself.
  • the decoder has access to a series of public keys on a subscription card inserted in the other card reader.
  • 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. In addition to verifying the code, the decoder may also use the public key to decrypt the code prior to operation.
  • encryption by a private/public algorithm may also be combined with a one-way hash type function, such as MD5.
  • a section of code may be processed to provide a hash value, this hash value then being encrypted by the private key to provide the digital signature.
  • 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 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.
  • This encryption/decryption may be carried out, for example, using a symmetric algorithm.
  • test application is used by a service provider to test the correct operation of the hardware layer.
  • 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.
  • the operator may manually adjust the set frequency until the clearest reception is obtained.
  • these parameters are downloaded into the EEPROM memory 15 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.
  • this new application will be loaded into the decoder.
  • the application Upon execution, the application will signal the presence of pre-determined parameter values stored in the EEPROM and these values will be automatically loaded into and set in the decoder.
  • 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.
  • 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.
  • the FLASH memory may be located 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.
  • PCMCIA cards 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Circuits Of Receivers In General (AREA)
  • Saccharide Compounds (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Communication Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A method for downloading an executable application into a decoder for a digital broadcast system, characterized in that the application is stored on a portable memory card introduced into a card reader 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 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.

Description

This is a continuation of International Application PCT/IB98/01766, with an international filing date of Oct. 27, 1998.
The present application relates to a method and apparatus 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 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.
Furthermore, when installed in the field, a user may also wish to introduce at his own convenience a number of applications functioning with the decoder. Again, the user will be faced with the problem of configuring and running the decoder with an application loaded in a PC etc.
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, characterised in that the application is stored on a portable memory card introduced into a card reader in the decoder, the decoder reading and downloading the application from the card.
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 program into the PC etc. The time necessary to carry out, for example, a 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.
PCT WO93/07715 discloses a system in which static data corresponding to channel frequency information is held in the memory of a smart card, the smart card being inserted in the television to tune the television to the correct channels. A similar system is described in DE 4344317 in which a smart card is inserted in a slot in a television remote control to control the tuner of the television. Neither document discloses the downloading of an executable application into a decoder.
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 non-technical consumer to introduce executable applications into the decoder.
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 card 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 smart card reader in the decoder. This solution possesses a number of advantages in comparison, for example, with a PCMCIA card, notably due to the simplicity of the contacts formed on the card which reduces the cost of production and the ubiquity of smart card readers in decoder units.
The characteristics of smartcards and smartcard readers are well known and are defined, for example, in the international standards ISO 78161 (physical characteristics), ISO 78162 (contact dimensions and placement) and ISO 78163 (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 for the inserted part of the card must 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. In the case of application type data held in the payload of a transport packet, the MPEG standard describes the organisation of data into a series of tables, each table including a table ID etc.
In one embodiment, the application data may be subdivided into a number of modules in the memory of the card, the modules being assembled by the decoder to form the complete application.
The advantages associated with the use of MPEG format 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 may be written in interpretative code, this code being 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 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. 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, or a combination hash/encryption technique, 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.
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 multislot 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.
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 MPEG) 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 or may be integrated with other devices such as a video recorder or television.
Similarly, the term “executable application” covers applications written in any form of code (interpretative code, compiled code, native code etc) and capable of being executed by a microprocessor within the decoder.
The term MPEG refers to the data transmission standards developed by the International Standards Organisation working group “Motion Pictures Expert Group” and in particular but not exclusively the MPEG-2 standard developed for digital television applications and set out in the documents ISO 13818-1, ISO 13818-2, ISO 13818-3 and ISO 13818-4. In the context of the present patent application, the term includes all variants, modifications or developments of MPEG formats applicable to the field of digital data transmission.
There will now be described, by way of example only, a preferred embodiment of the present invention, with reference to the attached figures, in which:
FIG. 1 shows an overview of the elements of a decoder;
FIG. 2 shows a memory card, adapted to be read in a card reader slot in the decoder of FIG. 1;
FIG. 3 shows a circuit diagram of the components of the card of FIG. 2; and
FIG. 4 shows the software architecture of the decoder of FIG. 1.
Referring to FIG. 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 be understood, the hardware 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 7, 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 take many forms. 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 will be equipped with a processor, memory elements such as ROM, RAM, FLASH memory etc. as in known decoders.
A particular implementation of a software architecture will now be described in relation to FIG. 4. It will be seen that a layered architecture is used. The first layer 51 represents the operating system of the hardware of the receiver/decoder. This is a real-time operating system chosen by the manufacturer to control the hardware elements of the receiver/decoder. The real-time operating system has a relatively fast response time in order to be able to correctly synchronise hardware operations. A data processing system layer sits on top of the hardware operating system and comprises a middleware layer 52 and an application interface layer 53.
Event messages are passed between the operating system layer 51 and the middleware layer 52 immediately above. The middleware layer is written in a language such as C ANSI and comprises the elements of a virtual machine 54 and a number of interfaces 55 including a graphical interface 56, a FLASH/PROM memory interface 57, a protocol interface 58 and a device interface 59.
The use of a virtual machine 54 enables independence between upper level applications 66 which are usually provided by the system manager or one or more operators, and a lower level operating system 51, usually implemented by the hardware manufacturer of the decoder.
The interfaces 60 provide the link between operations of the virtual machine and the lower level operating system 51 and also include a number of intermediate level application modules more easily executed at this level.
The application interface (API) layer 53 comprises a number of high level packages 60-65, written in an object-oriented interpretative language, such as Java. These packages provide an interface between the high level applications generally created by the service provider (interactive program guide, teleshopping, internet browser etc) and the virtual machine of the system.
The lower level OS is normally embedded in the hardware components of the decoder, although in some realisations, the lower level OS can be downloaded. The middleware and application interface layer packages can be downloaded into the RAM or FLASH memory of the decoder from a broadcast transmission. Alternatively, some or all of the middleware or application interface layer elements can be stored in the ROM or (if present) FLASH memory of the decoder. As will be understood, the physical organisation of the memory elements of the decoder is quite distinct from the logical organisation of the memory.
Turning in detail to each layer, the interface layer 55 above the virtual machine 54 will now be described. As shown it comprises four modules, a graphics module 56, a memory file management module 57, a protocol module 58 and a device manager 59. Whilst the modules at this level are described as interface modules their function is to provide a “glue” layer for the implementation of the application interface packages and for the operation of the virtual machine generally.
The graphics module 56 provides the creation and management of graphical objects. It asks the low level OS to display basic graphic shapes such as single pixels, lines, rectangles etc. In a similar manner, the memory file management module 57 includes low level read/write file commands associated with the memory components of the system. The protocol management module 58 defines a library of communication protocols that may be called upon in communications via, for example, the TCP/IP layer of the decoder.
The device manager 59 is slightly different from the other modules in this layer in that it provides the link or interface between the hardware operating system and the layers above, including the other modules in the interface layer and the virtual machine. Commands or event messages that are received/sent to the hardware OS from the virtual machine, for example, are necessarily passed by the device manager for conversion according to the interface specifications between the two levels.
Referring now to the application interface layer 53, the packages in this layer are written in an object oriented language such as Java. Each package defines a set of class libraries called on during operation of the system. Their class behaviour will depend on the language chosen, a single inheritance class structure being adhered to in the case of Java. In the present system the following packages are installed.
Lang/Util Package 60. These packages define the classes necessary for the manipulation of objects by the virtual machine. These class libraries normally form part of a standard library associated with the object oriented language chosen. MHEG-5 Package 61. This package defines the classes associated with the manipulation of graphical objects on the television display. Such objects are distinct from audio-visual data and can make up, for example, channel identifiers or text laid over displayed images. The definition of classes within this package should respect the MHEG-5 norms defined by the standards ETS 300777-3, and ISO/ISE 13522-5 (and the standard ISO/ISE 13522-6 in the case of a Java implemented system).
Toolbox Package 62. This package contains the classes used for downloading and decompression of information as well as the classes associated with the management of the file system and memory within the receiver/decoder and the classes associated with the connection to the internet etc.
Device Package 63. This package defines the classes necessary for management of peripherals attached to the receiver/decoder, as discussed above and including the modem, the smart card readers, the MPEG flow tuner etc.
Service Package 64. This package defines the classes necessary for the implementation of developing higher level interactive applications, such as management of credit card data etc.
DSMCC-UU Package 65. This package implements the protocols necessary for communication between a client and a server for data file search and reading. Implementation of this package should respect the norm ISO/IEC 13818-6 and directives defined in DAVIC part 9.
Finally, a number of high level applications 66 sit on top of and communicate with lower levels in the system via the application interface layer 53. In the present embodiment, the use of a virtual machine type architecture means that applications will be written in an interpretative language, such as Java. Other software systems for handling executable applications written in alternative types of code are of course possible. As will be described below, applications may originate from a variety of sources and/or operators. In particular, in the present embodiment of the invention, executable applications are installed via a smart card interface.
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. The execution and maintenance of applications may be handled by an application manager 67, itself installed at the application layer.
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 and testing 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.
In the case of a broadcast transmission, a number of types of data stream may be present, for example, a video data stream, an audio data stream, a text data stream etc. In accordance with MPEG standards each transport packet is preceded by a Packet Identifier (PID) 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 for a particular service or “channel” 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.
Within an MPEG transport stream containing an application there may be three or more levels of packet structure. A first layer corresponds to the basic transport layer comprising a series of fixed size transport packets.
Furthermore, applications downloaded into the decoder via the broadcast link are divided into modules, each module corresponding to one or more MPEG tables encapsulated within the above mentioned transport packets. 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. A similar sectioning is applied to MPEG tables downloaded using the smartcard of the present embodiment.
Finally, this sectioning of an application into MPEG tables is independent of any structuring of the application data itself. For example, an application may be organised into a number of files arranged within a data carousel as per the DSM-CC protocol, for example.
Referring to FIGS. 2 and 3, the structure of a smartcard 12 adapted to charge an executable application in the decoder will now be described. FIG. 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. Unlike standard smart cards, the presence of additional memory elements 14, 15 enables an executable application of a significant size to be stored on the smart card.
The memory card 2 possesses the width and thickness of a standard normalised smart card so as to enable its insertion in a smart card slot of the decoder. However, as will be seen from FIG. 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 FIG. 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 resistance 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 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.
The format of the MPEG private sections in this case is as follows:
table_id 8 bits
section_syntax_indicator (=0) 1 bit
private_indicator (=1) 1 bit
reserved 2 bits
private_section_length 12 bits
table_id_extension 16 bits
reserved 2 bits
version_number 5 bits
current_next_indicator 1 bit
section_number 8 bits
last_section number 8 bits
private_data_byte undetermined
An application will be accessed by the decoder using the table_id and table_id_extension values.
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 of a public/private key algorithm, such as RSA, and 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. In addition to verifying the code, the decoder may also use the public key to decrypt the code prior to operation.
Furthermore, encryption by a private/public algorithm may also be combined with a one-way hash type function, such as MD5. For example, a section of code may be processed to provide a hash value, this hash value then being encrypted by the private key to provide the digital signature.
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 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. This encryption/decryption may be carried out, for example, using a symmetric algorithm.
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. 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 these parameters are known for one decoder, they 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 new application will be loaded into the decoder. Upon execution, the application will signal the presence of pre-determined parameter values stored in the EEPROM and these values will be automatically loaded 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 located 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.

Claims (10)

1. A method for downloading an application into a decoder, comprising:
storing an application on a portable memory card in a packet organization format corresponding to a broadcast data format;
introducing the portable memory card into a card reader located in the decoder;
downloading the application into the decoder from the portable memory card according to the packet organization format.
2. A method as claimed in claim 1 in which the card is adapted to be read in a smart card reader in the decoder.
3. 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.
4. A method as claimed in claim 3, the application being subdivided into a plurality of modules in the memory of the card, the modules being downloaded and assembled by the decoder to form the complete application.
5. A method as claimed in claim 1, in which the application is written in interpretative code.
6. A method as claimed in claim 1, in which some or part of the application stored within the memory card is encrypted with one or more encryption keys.
7. A method as claimed in claim 1 in which some or part of the data stored in the memory card 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.
8. A method as claimed in claim 1 in which the decoder is provided with a plurality of smart card readers, to permit reading of a smartcard carrying the executable application and another smartcard.
9. A method as claimed in claim 1 including 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.
10. A method as claimed in claim 1 in which the 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.
US10/874,137 1997-10-28 2004-06-22 Downloading of applications in a digital decoder Expired - Lifetime USRE40538E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/874,137 USRE40538E1 (en) 1997-10-28 2004-06-22 Downloading of applications in a digital decoder

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP97402561A EP0914001A1 (en) 1997-10-28 1997-10-28 Downloading of applications in a digital decoder
PCT/IB1998/001766 WO1999022516A1 (en) 1997-10-28 1998-10-27 Downloading of applications in a digital decoder
US09/542,785 US6478222B1 (en) 1997-10-28 2000-04-04 Downloading of applications in a digital decoder
US10/874,137 USRE40538E1 (en) 1997-10-28 2004-06-22 Downloading of applications in a digital decoder

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/542,785 Reissue US6478222B1 (en) 1997-10-28 2000-04-04 Downloading of applications in a digital decoder

Publications (1)

Publication Number Publication Date
USRE40538E1 true USRE40538E1 (en) 2008-10-14

Family

ID=8229890

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/542,785 Ceased US6478222B1 (en) 1997-10-28 2000-04-04 Downloading of applications in a digital decoder
US10/874,137 Expired - Lifetime USRE40538E1 (en) 1997-10-28 2004-06-22 Downloading of applications in a digital decoder

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/542,785 Ceased US6478222B1 (en) 1997-10-28 2000-04-04 Downloading of applications in a digital decoder

Country Status (20)

Country Link
US (2) US6478222B1 (en)
EP (2) EP0914001A1 (en)
JP (1) JP2001522075A (en)
KR (1) KR100632363B1 (en)
CN (1) CN1277782A (en)
AT (1) ATE314789T1 (en)
AU (1) AU747142B2 (en)
BR (1) BRPI9813309B1 (en)
CA (1) CA2305641A1 (en)
DE (1) DE69833022T2 (en)
ES (1) ES2251102T3 (en)
HR (1) HRP20000229A2 (en)
HU (1) HUP0100275A3 (en)
ID (1) ID23984A (en)
IL (1) IL135801A0 (en)
NO (1) NO332871B1 (en)
PL (1) PL340259A1 (en)
TR (1) TR200001154T2 (en)
WO (1) WO1999022516A1 (en)
ZA (1) ZA989800B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8061607B1 (en) * 2005-02-24 2011-11-22 Onasset Intelligence, Inc. Method and system of universal RFID communication
US20130046985A1 (en) * 2001-03-09 2013-02-21 Ca, Inc. Method and Apparatus for Cryptographic Key Storage Wherein Key Servers are Authenticated by Possession and Secure Distribution of Stored Keys

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0946019A1 (en) * 1998-03-25 1999-09-29 CANAL+ Société Anonyme Authentification of data in a digital transmission system
WO2000059210A1 (en) * 1999-03-30 2000-10-05 Sony Electronics, Inc. System for interfacing multiple conditional access devices
US6529992B1 (en) * 1999-07-26 2003-03-04 Iomega Corporation Self-contained application disk for automatically launching application software or starting devices and peripherals
US7231411B1 (en) * 1999-09-15 2007-06-12 Koninklijke Philips Electronics N.V. Removable card system with downloadable agent for communicating with a digital television receiver or other host device
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
KR100686065B1 (en) 1999-11-12 2007-02-23 엘지전자 주식회사 Method for supporting game application program in digital broadcasting receiver
CN1210959C (en) * 1999-11-12 2005-07-13 通用器材公司 Object security implementation
US6754908B1 (en) 1999-11-12 2004-06-22 General Instrument Corporation Intrusion detection for object security
US6976268B2 (en) * 1999-12-10 2005-12-13 Sun Microsystems, Inc. Methods and apparatus for efficiently accessing periodically broadcast data
US7069578B1 (en) * 2000-02-04 2006-06-27 Scientific-Atlanta, Inc. Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
US20020032903A1 (en) 2000-05-26 2002-03-14 Sprunk Eric J. Authorization using ciphertext tokens
FR2813738B1 (en) * 2000-09-07 2003-06-06 Sagem DIGITAL TELEVISION DECODER WITH REMOVABLE HARD DISK AND METHOD FOR COMMISSIONING A REMOVABLE HARD DISK
WO2002033964A1 (en) * 2000-10-17 2002-04-25 Koninklijke Philips Electronics N.V. Multi-standard channel decoder
US20020108054A1 (en) * 2001-02-02 2002-08-08 Moore Christopher S. Solid-state memory device storing program code and methods for use therewith
US7134134B2 (en) * 2001-03-24 2006-11-07 Microsoft Corporation Electronic program guide hardware card
KR100401945B1 (en) * 2001-05-15 2003-10-30 윤대일 External read and write terminal using distributing circuit
KR20020094470A (en) * 2001-06-12 2002-12-18 김영제 A driving system of mobile memory for storing enciphered data and a driving method thereof
US20030084440A1 (en) * 2001-10-26 2003-05-01 George Lownes Method of providing a code upgrade to a host device having a smart card interface
EP1355268B1 (en) * 2002-02-28 2006-04-05 Matsushita Electric Industrial Co., Ltd. Memory card
JP3826069B2 (en) 2002-05-17 2006-09-27 キヤノン株式会社 Image forming apparatus, control method, and control program
KR20030091040A (en) * 2002-05-22 2003-12-01 톰슨 라이센싱 소시에떼 아노님 Device for receiving and/or for processing video signals, memory card, assembly composed of such a device and of such a card and process for controlling such a device
EP1382974A1 (en) * 2002-07-19 2004-01-21 Thomson Licensing S.A. Method and smart card for testing an appliance having a smart card reader, and a respective appliance
EP1392060A1 (en) * 2002-08-21 2004-02-25 Canal+ Technologies Société Anonyme System and method for broadcast testing
KR100481511B1 (en) * 2002-08-26 2005-04-07 삼성전자주식회사 Set Top Box and controlling method thereof
KR20040034782A (en) * 2002-10-17 2004-04-29 주식회사 제이에스디지텍 System upgrade method and the equipment using smart card
KR100957262B1 (en) * 2002-12-12 2010-05-12 엘지전자 주식회사 Program upgrade method of digital device equipped with memory card reader
FR2852474B1 (en) * 2003-03-14 2005-07-22 DIGITAL TERMINAL SATELLITE MULTI FUNCTIONS
GB0311140D0 (en) * 2003-05-15 2003-06-18 Koninkl Philips Electronics Nv Audiovisual playback
GB0311141D0 (en) * 2003-05-15 2003-06-18 Koninkl Philips Electronics Nv DVD player enhancement
PL1644934T3 (en) * 2003-07-02 2011-01-31 Koninl Philips Electronics Nv Linking of interactive television recordings to applications
KR20050012328A (en) 2003-07-25 2005-02-02 엘지전자 주식회사 Method for managing and reproducing a presentation graphic data of high density optical disc, and high density optical disc therof
EP1652184A4 (en) 2003-07-24 2007-05-23 Lg Electronics Inc Recording medium having a data structure for managing reproduction of text subtitle data recorded thereon and recording and reproducing methods and apparatuses
EP1654637A2 (en) 2003-08-15 2006-05-10 York International Corporation System and method for loading software into a control panel for a chiller system
JP4407211B2 (en) * 2003-09-02 2010-02-03 日産自動車株式会社 Nonaqueous electrolyte secondary battery
KR20050035678A (en) 2003-10-14 2005-04-19 엘지전자 주식회사 Method and apparatus for reproducing additional data of optical disc device and, optical disc
KR20050036277A (en) 2003-10-15 2005-04-20 엘지전자 주식회사 Method for managing navigation information of high density optical disc
EP1542472A1 (en) * 2003-12-10 2005-06-15 Canal + Technologies Method and apparatus for information retrieval in interactive digital television systems
DK1728252T3 (en) 2004-03-18 2010-03-22 Lg Electronics Inc Recording medium as well as method and apparatus for reproducing a subtitle stream recorded on the recording medium
EP1796388A1 (en) * 2005-12-12 2007-06-13 Advanced Digital Broadcast S.A. Smart card with data storage, set-top box, portable player for operating smart card with data storage and method for manufacturing smart card with data storage
KR100726563B1 (en) * 2006-06-27 2007-06-11 주식회사 대우일렉트로닉스 Apparatus and method for processing a data in a digital broadcasting receiver
FR2910213B1 (en) * 2006-12-13 2009-02-27 Sagem Comm DATA DISSEMINATION METHOD WITHIN A RECEPTION TERMINAL AND TERMINAL IMPLEMENTING THE METHOD.
CN101489078A (en) * 2009-01-14 2009-07-22 深圳市同洲电子股份有限公司 Digital television terminal, memory expanding method and system based on middleware
JP2009283002A (en) * 2009-07-21 2009-12-03 Canon Inc Image forming device, control method, control program
DE102009036214A1 (en) 2009-08-05 2011-02-10 Giesecke & Devrient Gmbh Portable data carrier with a decoder
DE102010046266A1 (en) * 2010-09-22 2012-03-22 Deutsche Telekom Ag Chip card with an integrated circuit
US9131265B2 (en) * 2011-05-19 2015-09-08 Maxlinear, Inc. Method and system for providing satellite television service to a premises
CN103257351B (en) * 2012-05-07 2015-09-02 中国交通通信信息中心 A kind of disposal route of satellite radio navigation system telegraph text information
KR200487260Y1 (en) 2018-02-26 2018-08-29 장민철 Beverage can
US12075887B2 (en) 2018-09-07 2024-09-03 Acushnet Company Golf shoes having multi-surface traction outsoles
US11490689B2 (en) 2018-09-07 2022-11-08 Acushnet Company Golf shoes having multi-surface traction outsoles
US11019874B2 (en) 2018-09-07 2021-06-01 Acushnet Company Golf shoe having outsole with all-surface traction zones
US11497272B2 (en) 2018-09-07 2022-11-15 Acushnet Company Golf shoe outsole
USD1007116S1 (en) 2021-09-23 2023-12-12 Acushnet Company Shoe
USD1027405S1 (en) 2021-09-27 2024-05-21 Acushnet Company Shoe

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3890461A (en) 1973-03-27 1975-06-17 Theatrevision Inc Ticket operated subscription television receiver
DE2445520A1 (en) 1974-09-24 1976-04-01 Braun Ag Automatic selection of desired type of programme - card in TV or radio causes tuner to scan at desired time
GB2183368A (en) * 1985-11-20 1987-06-03 Brother Ind Ltd Sewing machine
JPH01220925A (en) 1988-02-29 1989-09-04 Nippon Hoso Kyokai <Nhk> Control software updating system
DE4129571A1 (en) 1991-09-06 1993-03-11 Clemens Croy DEVICE AND METHOD FOR PROGRAMMING VIDEO RECORDERS
WO1993007715A1 (en) * 1991-10-03 1993-04-15 Thomson Consumer Electronics S.A. Method and apparatus for customizing a device with a smart card
EP0542048A1 (en) 1991-11-13 1993-05-19 Robert Bosch Gmbh Bed operating apparatus with supplementary functions
EP0585833A1 (en) 1992-09-04 1994-03-09 NOKIA TECHNOLOGY GmbH Video signal decoder system
US5378884A (en) 1992-12-18 1995-01-03 Datacard Corporation Personalization station for programming integrated circuit cards
DE4344317A1 (en) 1993-12-23 1995-07-06 Amphenol Tuchel Elect TV programmer
US5448568A (en) 1994-04-28 1995-09-05 Thomson Consumer Electronics, Inc. System of transmitting an interactive TV signal
EP0530601B1 (en) 1991-09-02 1997-05-02 Grundig E.M.V. Elektro-Mechanische Versuchsanstalt Max Grundig GmbH &amp; Co. KG Multiple function electronic device
EP0809401A1 (en) 1996-05-22 1997-11-26 Koninklijke Philips Electronics N.V. Method for reading a service card
US5737610A (en) 1993-02-16 1998-04-07 Infopak Inc. System and method for providing data and program code to a card for use by a reader
US5831852A (en) 1992-12-14 1998-11-03 Carrier Corporation Method and apparatus for loading a control program into a refrigeration system
US6185735B1 (en) 1996-07-17 2001-02-06 U.S. Philips Corporation Method of operating an apparatus intended to permit access to services
US6202927B1 (en) 1998-04-03 2001-03-20 On Track Innovations Ltd. Dual mode proximity and in-range smart card data transaction system
US6279824B1 (en) 1997-03-14 2001-08-28 Samsung Electronics Co., Ltd. Method and apparatus for performing an electronic money terminal function using a smart card
US6298400B1 (en) 1999-10-13 2001-10-02 Sony Corporation Enhancing interface device to transport stream of parallel signals to serial signals with separate clock rate using a pin reassignment
US6296634B1 (en) 1991-03-08 2001-10-02 Visx, Incorporated Ophthalmological surgery technique with active patient data card
US6317885B1 (en) 1997-06-26 2001-11-13 Microsoft Corporation Interactive entertainment and information system using television set-top box
US6321385B1 (en) 1995-01-19 2001-11-20 Sony Corporation Data receiving-processing apparatus and method, and broadcasting method

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3890461A (en) 1973-03-27 1975-06-17 Theatrevision Inc Ticket operated subscription television receiver
DE2445520A1 (en) 1974-09-24 1976-04-01 Braun Ag Automatic selection of desired type of programme - card in TV or radio causes tuner to scan at desired time
GB2183368A (en) * 1985-11-20 1987-06-03 Brother Ind Ltd Sewing machine
JPH01220925A (en) 1988-02-29 1989-09-04 Nippon Hoso Kyokai <Nhk> Control software updating system
US6296634B1 (en) 1991-03-08 2001-10-02 Visx, Incorporated Ophthalmological surgery technique with active patient data card
EP0530601B1 (en) 1991-09-02 1997-05-02 Grundig E.M.V. Elektro-Mechanische Versuchsanstalt Max Grundig GmbH &amp; Co. KG Multiple function electronic device
DE4129571A1 (en) 1991-09-06 1993-03-11 Clemens Croy DEVICE AND METHOD FOR PROGRAMMING VIDEO RECORDERS
WO1993007715A1 (en) * 1991-10-03 1993-04-15 Thomson Consumer Electronics S.A. Method and apparatus for customizing a device with a smart card
EP0542048A1 (en) 1991-11-13 1993-05-19 Robert Bosch Gmbh Bed operating apparatus with supplementary functions
EP0585833A1 (en) 1992-09-04 1994-03-09 NOKIA TECHNOLOGY GmbH Video signal decoder system
US5831852A (en) 1992-12-14 1998-11-03 Carrier Corporation Method and apparatus for loading a control program into a refrigeration system
US5378884A (en) 1992-12-18 1995-01-03 Datacard Corporation Personalization station for programming integrated circuit cards
US5737610A (en) 1993-02-16 1998-04-07 Infopak Inc. System and method for providing data and program code to a card for use by a reader
DE4344317A1 (en) 1993-12-23 1995-07-06 Amphenol Tuchel Elect TV programmer
US5448568A (en) 1994-04-28 1995-09-05 Thomson Consumer Electronics, Inc. System of transmitting an interactive TV signal
US6321385B1 (en) 1995-01-19 2001-11-20 Sony Corporation Data receiving-processing apparatus and method, and broadcasting method
EP0809401A1 (en) 1996-05-22 1997-11-26 Koninklijke Philips Electronics N.V. Method for reading a service card
US6185735B1 (en) 1996-07-17 2001-02-06 U.S. Philips Corporation Method of operating an apparatus intended to permit access to services
US6279824B1 (en) 1997-03-14 2001-08-28 Samsung Electronics Co., Ltd. Method and apparatus for performing an electronic money terminal function using a smart card
US6317885B1 (en) 1997-06-26 2001-11-13 Microsoft Corporation Interactive entertainment and information system using television set-top box
US6202927B1 (en) 1998-04-03 2001-03-20 On Track Innovations Ltd. Dual mode proximity and in-range smart card data transaction system
US6298400B1 (en) 1999-10-13 2001-10-02 Sony Corporation Enhancing interface device to transport stream of parallel signals to serial signals with separate clock rate using a pin reassignment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Patent Abstracts of Japan, JP-01-220925, published Sep. 4, 1989 (1 page).

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130046985A1 (en) * 2001-03-09 2013-02-21 Ca, Inc. Method and Apparatus for Cryptographic Key Storage Wherein Key Servers are Authenticated by Possession and Secure Distribution of Stored Keys
US8904180B2 (en) * 2001-03-09 2014-12-02 Ca, Inc. Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
US8061607B1 (en) * 2005-02-24 2011-11-22 Onasset Intelligence, Inc. Method and system of universal RFID communication

Also Published As

Publication number Publication date
PL340259A1 (en) 2001-01-29
HUP0100275A2 (en) 2001-05-28
NO332871B1 (en) 2013-01-28
IL135801A0 (en) 2001-05-20
ZA989800B (en) 1999-05-04
ATE314789T1 (en) 2006-01-15
HUP0100275A3 (en) 2002-12-28
DE69833022T2 (en) 2006-07-06
US6478222B1 (en) 2002-11-12
TR200001154T2 (en) 2000-09-21
EP1025698A1 (en) 2000-08-09
AU747142B2 (en) 2002-05-09
ES2251102T3 (en) 2006-04-16
DE69833022D1 (en) 2006-02-02
NO20002116D0 (en) 2000-04-26
ID23984A (en) 2000-06-14
NO20002116L (en) 2000-06-28
WO1999022516A1 (en) 1999-05-06
CA2305641A1 (en) 1999-05-06
KR100632363B1 (en) 2006-10-09
EP1025698B1 (en) 2005-12-28
EP0914001A1 (en) 1999-05-06
HRP20000229A2 (en) 2000-12-31
BRPI9813309B1 (en) 2016-04-12
CN1277782A (en) 2000-12-20
JP2001522075A (en) 2001-11-13
KR20010031601A (en) 2001-04-16
BR9813309A (en) 2000-08-22
AU9639498A (en) 1999-05-17

Similar Documents

Publication Publication Date Title
USRE40538E1 (en) Downloading of applications in a digital decoder
US6981042B1 (en) Multimedia terminal adapted for multiple users
AU756391B2 (en) Application data table for a multiservice digital transmission system
US20030084440A1 (en) Method of providing a code upgrade to a host device having a smart card interface
EP1053633B1 (en) Configuring method and device
MXPA00004040A (en) Downloading of applications in a digital decoder
CZ20001579A3 (en) Method of loading executable applications in a decoder, the decoder and memory card
EP1067455A1 (en) Running and testing applications
KR20000076405A (en) Acess control system
MXPA01003050A (en) Application data table for a multiservice digital transmission system
MXPA00007588A (en) Configuring method and device

Legal Events

Date Code Title Description
AS Assignment

Owner name: THOMSON LICENSING S.A., FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CANAL+ TECHNOLOGIES, S.A.;REEL/FRAME:015515/0068

Effective date: 20040611

AS Assignment

Owner name: CANAL + TECHNOLOGIES,FRANCE

Free format text: CHANGE OF NAME;ASSIGNOR:CANAL+SOCIETE ANONYME;REEL/FRAME:015460/0054

Effective date: 20040323

Owner name: CANAL + TECHNOLOGIES, FRANCE

Free format text: CHANGE OF NAME;ASSIGNOR:CANAL+SOCIETE ANONYME;REEL/FRAME:015460/0054

Effective date: 20040323

AS Assignment

Owner name: THOMSON LICENSING S.A.,FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CANAL + TECHNOLOGIES;REEL/FRAME:015509/0053

Effective date: 20041119

Owner name: THOMSON LICENSING S.A., FRANCE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CANAL + TECHNOLOGIES;REEL/FRAME:015509/0053

Effective date: 20041119

FPAY Fee payment

Year of fee payment: 8

SULP Surcharge for late payment

Year of fee payment: 7

FPAY Fee payment

Year of fee payment: 12