EP1055176A2 - Systeme de commande d'acces - Google Patents

Systeme de commande d'acces

Info

Publication number
EP1055176A2
EP1055176A2 EP97918155A EP97918155A EP1055176A2 EP 1055176 A2 EP1055176 A2 EP 1055176A2 EP 97918155 A EP97918155 A EP 97918155A EP 97918155 A EP97918155 A EP 97918155A EP 1055176 A2 EP1055176 A2 EP 1055176A2
Authority
EP
European Patent Office
Prior art keywords
program
component
logical device
receiver
decoder
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.)
Ceased
Application number
EP97918155A
Other languages
German (de)
English (en)
Inventor
Jean-Claude Sarfati
Jerôme MERIC
Christophe Declerck
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.)
KCA Licensing SA
Original Assignee
Canal Plus SA
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 Canal Plus SA filed Critical Canal Plus SA
Priority to EP97918155A priority Critical patent/EP1055176A2/fr
Publication of EP1055176A2 publication Critical patent/EP1055176A2/fr
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications

Definitions

  • the present invention relates to an access control system, in particular to a method of providing access by a program to at least one component of a computer system, more particularly of a computer system used in a receiver/decoder of broadcast digital signals.
  • One way of doing this is to run an application on the receiver/decoder through which the television signal is received.
  • the code for the application could be permanently stored in the receiver/decoder. However, this would be rather limiting.
  • the receiver/decoder should be able to download the code for a required application. In this way, more variety may be provided, and applications can be updated as required without any action on the part of the user.
  • receiver/decoder Applications for execution by a receiver/decoder are generated by various broadcast suppliers.
  • the receiver/decoder has a number of interfaces, such as a serial interface and parallel interface, for connection to external units.
  • Device drivers for these interfaces are supplied by the manufacturer of the receiver/decoder.
  • the present invention provides a method of providing access by a program to at least one component of a computer system, said method comprising the steps of: storing a logical device associated with the or each respective component in said system, the or each logical device having a respective device identifier; assigning a program identifier to the program; and outputting from the program a signal comprising the program identifier and the device identifier of the or each logical device to a common interface between the program and the or each logical device to create a communication channel between said program and the or each logical device via said interface.
  • the signal may further comprise a command enabling receipt by the program of a message output from a respective logical device indicating a change of state of the component associated with the device.
  • a program may be alerted to an "unexpected event" occurring at one of the components, for example, the receipt of a message by a serial interface of the computer system or the insertion of a smartcard in a smartcard reader of the computer system.
  • This message may be stored temporarily in queue means of said computer system for subsequent transfer to said program.
  • the program may inform the logical device that it need not be supplied immediately with the message.
  • the queue means comprises a plurality of queues, each queue having a respective priority level indicative of the order in which messages are to be transferred from the queue means to the program, and said signal further comprises the priority level of the queue in which said message is to be stored temporarily.
  • the program may specify the "urgency" with which the message is to be dealt with by the queue means by indicating a priority level with which the queue means is to deal with the message.
  • the present invention provides a method of providing access by a plurality of programs to at least one component of a computer system using the method described above, each program accessing the or each component via said interface.
  • the present invention provides a single common interface for communication between a program and one or more logical devices, and for communication between a logical device and one or more programs.
  • a third aspect of the present invention provides a method of transmitting data between a program and a component of a computer system; said method comprising the steps of providing access by the program to the component using the method described above; and subsequently outputting from the program a signal comprising the program identifier, the device identifier of the logical device to a common interface, a command instructing operation of a component by the logical device associated therewith, the address of data to be input to said component by said device and the address for data output by said component to said logical device to said common interface.
  • the present invention provides a method of transmitting data between a program and a component of a computer system; said method comprising the steps of providing access by the program to the component using the method described above; and subsequently outputting from the program a signal comprising the program identifier, the device identifier of the logical device to a common interface, a command instructing operation of a component by the logical device associated therewith, the priority level of the queue in which a message output from the respective logical device indicating a change of state of the component associated with the device is to be stored temporarily prior to transfer to the program, the address of data to be input to said component by said device and the address for data output by said component to said logical device to said common interface.
  • the thus established communication route may be 'used to provide a route for transmitting data from the program to a component and vice versa.
  • the program and/or the or each logical device may be input to said computer system via a component. This provides for convenient downloading and "up-dating" of the program and the logical device in the computer system.
  • the or each component comprises at least one of an MPEG flow tuner, a serial interface, a parallel interface, a modem and a smartcard reader.
  • the present invention provides apparatus for providing access by a program to at least one component of a computer system, a logical device associated with the or each respective component being stored in said system, the or each logical device having a respective device identifier; said apparatus comprising: means for assigning a program identifier to the program; and means for creating a communication channel between said program and the or each logical device in accordance with a signal output from the program and comprising the program identifier and the device identifier of the or each logical device
  • the apparatus may further comprise means for enabling receipt by the program of a message output from a respective logical device indicating a change of state of the component associated with the device.
  • the computer system further comprises queue means for storing temporarily a message output by said device for subsequent transfer to said program.
  • the queue means may comprise a plurality of queues, each queue having a respective priority level indicative of the order in which messages are to be transferred from the queue means to the program.
  • the computer system may further comprise means for storing data input to said component by said device and data output by said component to said logical device to said common interface.
  • the or each logical component is connected to the respective associated component via a device driver.
  • the present invention provides- a receiver/decoder for receiving broadcast signals, said receiver/decoder comprising apparatus as described above.
  • the receiver/decoder further comprises means for receiving a compressed MPEG-type signal, means for decoding the received signal to provide a television signal and means for supplying the television signal to a television.
  • Figure 1 shows the overall architecture of a digital television system according to the preferred embodiment of the present invention
  • Figure 2 shows the architecture of an interactive system of the digital television system
  • Figure 3 shows the arrangement of files within a module downloaded into the memory of an interactive receiver/decoder
  • Figure 4 shows the arrangement of memory volumes of the memory of the interactive receiver/decoder
  • FIG. 5 is a schematic diagram of interfaces of the receiver/decoder
  • Figure 6 shows the architecture of the software in the receiver/decoder
  • Figure 7 shows an example of connections between a device manager, a plurality of clients and a plurality of devices.
  • the invention includes a mostly conventional digital television system 2000 which uses the known MPEG-2 compression system to transmit compressed digital signals.
  • MPEG-2 compressor 2002 in a broadcast centre receives a digital signal stream (typically a stream of video signals).
  • the compressor 2002 is connected to a multiplexer and scrambler 2004 by linkage 2006.
  • the multiplexer 2004 receives a plurality of further input signals, assembles one or more transport streams and transmits compressed digital signals to a transmitter 2008 of the broadcast centre via linkage 2010, which can of course take a wide variety of forms including telecom links.
  • the transmitter 2008 transmits electromagnetic signals via uplink 2012 towards a satellite transponder 2014, where they are electronically processed and broadcast via notional downlink 2016 to earth receiver 2018, conventionally in the form of a dish owned or rented by the end user.
  • the signals received by receiver 2018 are transmitted to an integrated receiver/decoder 2020 owned or rented by the end user and connected to the end user's television set 2022.
  • the receiver/decoder 2020 decodes the compressed MPEG-2 signal into a television signal for the television set 2022.
  • a conditional access system 3000 is connected to the multiplexer 2004 and the receiver/decoder 2020, and is located partly in the broadcast centre and partly in the decoder. It enables the end user to access digital television broadcasts from one or more broadcast suppliers.
  • a smartcard capable of deciphering messages relating to commercial offers (that is, one or several television programmes sold by the broadcast supplier), can be inserted into the receiver/decoder 2020. Using the decoder 2020 and smartcard, the end user may purchase commercial offers in either a subscription mode or a pay-per-view mode.
  • An interactive system 4000 also connected to the multiplexer 2004 and the receiver/decoder 2020 and again located partly in the broadcast centre and partly in the decoder, enables the end user to interact with various applications via a modemmed back channel 4002.
  • Figure 2 shows the general architecture of the interactive television system 4000 of the digital television system 1000 of the present invention.
  • the interactive system 4000 allows an end user to buy items from onscreen catalogues, consult local news and weather- maps on demand and play games through his television set.
  • the interactive system 4000 comprises in overview four main elements: an authoring tool 4004 at the broadcast centre (or elsewhere) for enabling a broadcast supplier to create, develop, debug and test applications; an application and data server 4006 the broadcast centre, connected to the authoring tool 4004 for enabling a broadcast supplier to prepare, authenticate and format applications and data for delivery to the multiplexer and scrambler 2004 for insertion into the MPEG-2 transport stream (typically the private section thereof) to be broadcast to the end user; a virtual machine including a run time engine (RTE) 4008, which is an executable code installed in the receiver/decoder 2020 owned or rented by the end user for enabling an end user to receive, authenticate, decompress, and load applications into the working memory 2024 of the receiver/decoder 2020 for execution.
  • RTE run time engine
  • the engine 4008 also runs resident, general-purpose applications.
  • the engine 4008 is independent of the hardware and operating system; and a modemmed back channel 4002 between the receiver/decoder 2020 and the application and data server 4006 to enable signals instructing the server 4006 to insert data and applications into the MPEG-2 transport stream at the request of the end user.
  • the interactive television system operates using "applications" which control the functions of the receiver/decoder and various devices contained therein.
  • Applications are represented in the engine 4008 as “resource files”.
  • a “module” is a set of resource files and data. Several modules may be required to make up an application.
  • a "memory volume” of the receiver/decoder is a storage space for modules.
  • An “interface” is used to download modules. • Modules may be downloaded into the receiver/decode 2020 from the MPEG-2 transport stream.
  • an application is a piece of computer code for controlling high level functions of preferably the receiver/decoder 2020. For example, when the end user positions the focus of a remote controller on a button object seen on the screen of the television set 2022 and presses a validation key, the instruction sequence associated with the button is run.
  • An interactive application proposes menus and executes commands at the request of the end user and provides data related to the purpose of the application.
  • Applications may be either resident applications, that is, stored in the ROM (or FLASH or other non- volatile memory) of the receiver/decoder 2020, or broadcast and downloaded into the RAM or FLASH memory of the receiver/decoder 2020.
  • the receiver/decoder 2020 is equipped with a resident initiating application which is an adaptable collection of modules (this term being defined in more detail hereunder) enabling the receiver/decoder
  • the application provides core features which can be modified by the broadcast supplier if required. It also provides an interface between the resident application and downloaded applications.
  • a Startup Application allows any application, either downloaded or resident, to run on the receiver/decoder 2020. This application acts as a bootstrap executed on arrival of a service in order to start the application. Startup is downloaded into RAM and therefore can be updated easily. It can be configured so that the interactive applications available on each channel can be selected and run, either immediately after downloading or after preloading. In the case of preloading, the application is loaded into the memory 2024 and is activated by the startup when required.
  • a Program Guide The Program Guide is an' interactive application which gives full information about programming.
  • the end user may give information about, say, one week's television programmes provided on each channel of a digital television bouquet.
  • the end user By depressing a key on the remote controller 2026, the end user accesses an add-on screen, overlaid on the event shown on the screen of the television set 2022.
  • This add-on screen is a browser giving information on the current and next events of each channel of the digital TV bouquet.
  • the end user accesses an application which displays a list of information on events over one week.
  • the end user can also search and sort events with simple and customised criteria.
  • the end user can also access directly a selected channel.
  • the Pay Per View Application is an interactive service available on each PPV channel of the digital TV bouquet in conjunction with the conditional access system 3000.
  • the end user can access the application using a TV guide or channel browser. Additionally, the application starts automatically as soon as a PPV event is detected on the PPV channel. The end user is then able to buy the current event either through his daughter smartcard 3020 or via the communication server 3022 (using a modem, a telephone and DTMF codes, MLNITEL or the like).
  • the application may be either resident in the ROM of the receiver/decoder 2020 or downloadable into the RAM of the decoder 2020.
  • the magazine browser application comprises a cyclic video broadcast of images with end user navigation via on-screen buttons.
  • the quiz application is preferably synchronised with a broadcast quiz programme. As an example, multiple choice questions are displayed on the screen of the television 2022, and the user can select an answer using the remote controller 2026. The quiz application can inform the user whether the answer is correct or not, and can keep count of the user's score.
  • a Teleshopping application In one example of the teleshopping application, offers of goods for sale are transmitted to the receiver/decoder 2020 and displayed on the television 2022. Using the remote controller, the user can select a particular item to buy. The order for the item is sent via the modemmed back channel 4002 to the application and data server 4006 or to a separate sales system the telephone number of which has been downloaded to the receiver/decoder, possibly with an order to debit the account for a credit card which has been inserted into one of the card readers 4036 of the receiver/decoder 2020.
  • a Telebanking application In one example of the telebanking application, the user inserts a bank card into one of the card readers 4036 of the receiver/decoder 2020.
  • the receiver/decoder 2020 dials up the user's bank, using a telephone number stored in the bank card or stored in the receiver/decoder, and then the application provides a number of facilities which can be selected using the remote controller 2026, for example for downloading via the telephone line a statement of account, transferring funds between accounts, requesting a cheque book, etc.
  • An Internet Browser application In one example of the Internet browser application, instructions from the user, such as a request to view a web page having a particular URL, are entered using the remote controller 2026, and these are sent by the modemmed back channel 4002 to the application and data server 4006. The appropriate web page is then included in the transmissions from the broadcast centre, received by the receiver/decoder 2020 via the uplink 2012, transponder 2014 and downlink 2016, and displayed on the television 2022.
  • the resource files comprise graphic object description unit files, variables block unit files, instruction sequence files, application files and data files.
  • the graphic object description unit files describe the screens, the man-machine interface of the application.
  • the variables block unit files describe the data structures handled by the application.
  • the instruction sequence files describe the processing operations of the applications.
  • the application files provide the entry points for the applications.
  • the applications constituted in this way can use data files, such as icon library files, image files, character font files, colour table files and ASCII text files.
  • An interactive application can also obtain on-line data by effecting inputs and/or outputs.
  • the engine 4008 only loads into its memory those resource files it needs at a given time. These resource files are read from the graphic object description unit files, instruction sequence files and application files; variables block unit files are stored in memory following a call to procedure for loading modules and remain locked there until a specific call to an procedure for unloading modules is made.
  • a module 4010 such as a tele-shopping module, is a set of resource files and data comprising the following: a single application file 4012; an undetermined number of graphic object description unit files 4014; an undetermined number of variables block unit files 4016; an undetermined number of instruction sequence files 4018; and where appropriate, data files 4020 such as icon library files, image files, character font files, colour table files and ASCII text files.
  • each module comprises a group of MPEG tables.
  • Each MPEG table may be formatted as a number of sections.
  • each section has a "size" of up to 4 kbytes.
  • modules similarly are split into tables and sections, the size of the section varying with the transport medium.
  • Modules are transported in the MPEG data stream in the form of data packets of typically 188 bytes within respective types of data stream, for example, video data streams, audio data streams and teletext data streams.
  • Each packet is preceded by a Packet Identifier (PID) of 13 bits, one PID for every packet transported in the MPEG data stream.
  • PID Packet Identifier
  • a programme map table contains a list of the different data streams and defines the contents of each data stream according to the respective PID.
  • a PID may alert a device to the presence of applications in the data stream, the PID being identified using the PMT table.
  • modules 4010 together with the concept of downloading small pieces of code allows the easy evolution of applications. They can be downloaded into permanent FLASH memory of the receiver/decoder 2020 as resident software or broadcast in order to be downloaded into the RAM of the decoder 2020 only when needed by the end user.
  • a memory volume is a storage space for modules 4010. Such storage spaces are located in the memory 2024 of the receiver/decoder 2020. With reference to Figure 4, the memory 2024 is divided into typically a RAM volume 4022, FLASH volume 4024, and ROM volume 4026. The memory may further be divided into memory volumes associated with the various interfaces through which modules are downloaded into the receiver/decoder 2020, for example an MPEG volume for storing modules downloaded from the MPEG bitstream and a serial volume for storing modules received via a serial interface.
  • the RAM volume 4022 in turn is divided into a zone dedicated to firmware, a working space for the engine 4008 and the buffers.
  • the FLASH and other nonvolatile memory can be accessed either by an application or the engine itself through a device manager.
  • Each volume contains a list of modules 4010, each module 4010 containing a list of files 4012, 4014, 4016, 4018, 4020. It is p ssible to have two files bearing the same name and which may be located in distinct modules.
  • a version of the application is typically stored in the ROM volume 4026, with later versions being downloadable into the FLASH volume 4024 to substitute the version stored in the ROM volume with that volume stored in the FLASH volume 4024.
  • the contents of files may be compressed in LZW format, however as decompression of files takes a certain period of time they may be received in decompressed format.
  • the receiver/decoder 2020 contains, for example, six downloading media; MPEG flow tuner 4028, serial interface 4030, parallel interface 4032, modem 4034 and two card readers 4036.
  • the receiver/decoder 2020 comprises a run time engine 4008 running under the control of a microprocessor and a common application programming interface 4054. They are installed in every receiver/decoder 2020 so that all receiver/decoders 2020 are identical from the application point of view.
  • Figure 6 shows the architecture of the receiver/decoder 2020 for running applications 4056.
  • the virtual machine 4007 executes applications 4056, which may comprise applications 4056' coupled directly to the virtual machine or applications 4056" downloaded to the receiver/decoder 2020 from, for example, the MPEG data stream.
  • the run time engine 4008 also displays graphics and text, calls devices for services, receives "events" and65 usd$ ⁇ nctions of a library 4058 for specific computation.
  • a function of the decoder 2020 is "seen” as a device 4060. There may, therefore, be functions of the receiver/decoder 2020 which may not be seen by any application.
  • a presentation function communicating with the virtual machine 4007 administers the presentation of text and graphics to the end user, and the presentation of end user actions to the virtual machine 4007.
  • the text and graphics are overlaid on the display on the television set 2022, and the user may interact with the application 4056 by means of a keyboard.
  • keyboard includes the remote controller 2026.
  • the run time engine 4008 is an executable code installed in the virtual machine 4007 of the receiver/decoder 2020 and includes a virtual machine for interpreting and running applications.
  • the engine 4008 is adaptable to any operating system, including a single task operating system (such as MS-DOS).
  • the engine 4008 comprises a process sequencer unit (which take various events such as a key press, to perform various actions) and contains its own scheduler to manage event queues from the different hardware interfaces. It also handles the display of graphics and text.
  • the engine 4008 comprises a code loader to load and download applications 4056" into the decoder memory 2024. Only the necessary code is loaded into the RAM volume 4022 or FLASH memory volume 4024 in order to ensure optimal use. The downloaded data is verified by an authentication mechanism to prevent any modification of an application 4056 or the execution of any unknown application.
  • the engine 4008 further comprises a decompressor.
  • the application code (a form of intermediate code) is compressed for space saving and fast downloading from the MPEG-2 transport stream or via a built-in receiver/decoder mode, the code must be decompressed before loading it into the RAM.
  • the virtual machine 4007 also comprises an intermediate code interpreter to interpret the application code and which uses a process sequencer unit to update various variable values and determine status changes, and an error checker.
  • a device 4060 comprises a logical device unit which may correspond to a component 4062 or physical interface 4064 of the hardware 4066. Such devices are referred to as "low level devices" 4068.
  • the output of such a device 4068 may be connected to at least one device driver 4070 for converting the logical signals output by the device 4068 into signals required to drive, for example, a hardware interface 4064.
  • the device 4068 may itself drive a component or interface of the receiver/decoder 2020, that is, the output of the device may be connected directly to the hardware 4066.
  • low level devices 4068 Examples of low level devices 4068 are described below.
  • An LCARD device enables a program to communicate with the smartcard contained in one smartcard reader 4036
  • an RCARD device enables a program to communicate with the smartcard contained in the other smartcard reader 4036.
  • these devices enable a program to read the state of the card, read the card history and send an input message to the card.
  • the devices also inform a program of the insertion of a card in to the reader, removal of a card from a reader and card reset if not requested by the program.
  • the LCARD and RCARD devices are specific to the protocol used for running the card. Typically an ISO7816 protocol is used.
  • An SCTV device enables a program to verify and configure of a scart outlet to the television set 2022. For example, this device enables a program to request information about the sound characteristic of the scart outlet, perform a "MUTE" on the sound and dynamically program RGB levels.
  • a TUNER device enables a program to use the tuner 4028. For example, the device enables a program to perform a scan from either a minimum frequency or a current frequency of the tuner, read the tuner parameters and program the tuner.
  • a SERIAL device enables a program to communicate with equipment via a serial link and a PARALLEL device enables a program to communicate with equipment via a parallel link. For example, these devices enable a program to send a message via the respective link and inform a program of the reception of a message via that link.
  • a MODEM device allows the receiver decoder t& communicate with a data service via an internal half-duplex modem supporting V23.
  • the MODEM device requests the dialling of a number, the sending of a message to the data server and disconnection of the modem, and signals reception of a message, the detection of errors and the loss or detection of a carrier.
  • Remote devices executed in a remote location, can be any of the local devices, except that a port and protocol must be defined.
  • the receiver/decoder 2020 may also include “high level devices” 4072 which control operation of the receiver/decoder 2020.
  • An MLOAD device allows an application to load an MPEG section, a complete MPEG table or a group of MPEG sections from an MPEG bitstream corresponding to hardware and software filtering criteria. For example, the device enables a program to download only those sections of a group that are required at any one time by an application
  • An FDLOAD device manages automatically file downloading via the serial and/or parallel ports.
  • the device may signal both the start and the end of the downloading of files via the serial and/or parallel ports as requested by a program.
  • the device may issue a request to the program for an index table which includes the PID of the file to be downloaded and the deciphering PID ECM of the file.
  • the program loads the index table and sends it to the device, which subsequently requests the downloading of the file to the program.
  • the program extracts the PID and PID ECM for the file from the index table and requests demultiplexing to enable the file to be downloaded in its entirety.
  • a call "fdload_offline" may be issued by the program to instruct the FDLOAD device to stop managing the serial and/or parallel ports.
  • Devices 4060 are identified with a unique identifier "device_id", for example, "LCARD_DEVICE_ID” identifies the LCARD device and "RCARD_DEVICE_ID” identifies the RCARD device.
  • a new device 4060 When a new device 4060 is created, it can be installed in existing receiver/decoders 2020 by downloading the relevant application 4056" from the broadcast centre.
  • This downloading is performed in the receiver/decoder 2020 by an application 4056 which checks the hardware and software versions and, if correct, loads the software module representing the new device 4060 and asks a procedure of the library 4058 to install the new device code within the firmware (in FLASH memory). This can provide a flexible and secure installation of new functions within the receiver/decoder 2020 without affecting the rest of the software.
  • Device manager 4074 is a common interface between the application 4056 and the devices 4060 associated with specific functions of the receiver/decoder 2020. By adopting such a common interface, procedures, stored in a "library" of the run time engine 4008, permitting access to the devices 4060, and "events" associated with the devices may be standardised using a limited number of procedures.
  • the device manager 4074 controls access to devices 4060, declares receipt of an unexpected event, and manages shared memory.
  • Device_Open_Channel 0 Opens a channel to the manager Device_Close_Channel 0 Closes a channel to the manager Device_Open_Device 0 Opens a channel to the device Device_Close_Device 0 Closes -a channel to the device Device_Event 0
  • Unexpected event management Device_Call 0 Synchronous access to a device Device_Io 0
  • Asynchronous access to a device Device_Lnfo 0 Information about a device Set_Buffer_outline 0 Defines a memory partitioning for buffers Get_Buffer_outline 0 Reads the present buffer partitioning area Pool nfo 0 Provides information about the present buffer partitioning area
  • Device_Alloc_Buffer 0 Allocates memory Device_Free_Buffer Q Frees memory Device_Lock_Buffer 0 Locks memory Device_Info_Free_Buffer 0 Gives the number of free buffers Device_Info_Alloc_Buffer 0 Lists the allocated buffers Get_Buffer_Size Q Gives the size of the allocated buffer
  • a program (such as an application script) has to be declared as a "client" 4076, that is, a logical access-way to the device 4060 or the device manager 4074.
  • the manager gives the client 4076 a client number which is referred to in all accesses to a device.
  • a device 4060 can have several clients 4076, the number of clients 4076 for each device 4060 being specified depending on the type of device 4060.
  • a client 4076 is introduced to the device manager 4068 with the procedure Device_Open_Channel0 4078. With this procedure the device manager gives the client 4076 the client number.
  • the device manager 4074 outputs a "client_id”, comprising the address of the variable containing the allocated client number (there should never be two clients with the same number), and an "error_code”, comprising either error_code "0” indicating that the procedure has been completed successfully, or error_code "e_client_max” indicating that the maximum number of clients that can be handled by the device manager, typically 256, has been reached.
  • the first client number allocated is 0, increasing by 1 for each call using the procedure "Device_Open_Channel” up to the value of 255. This occurs independently from the removal of any client from the list of clients.
  • the client number 255 has been allocated and a subsequent "Device_Open_Channel” call occurs, either the error code "e_client_max” is output to indicate that the list of clients is "full” or the client is allocated the smallest client number available, that is, a client number of a client that previously had been removed from the list of clients.
  • a client uses the procedure Device_Open_Device0 4080, transmitting therewith its client_id and the device_id.
  • the device manager outputs an error message "0" if the procedure has been successfully completed, "e_client_inconnu” if the client does not exist, “e_periph_inconnu” if the device does not exist, e_client_max, or "w_deja_vu” if the device has already been declared to the device.
  • a client 4076 can be removed from a list for a device 4060 with the procedure Device_Close_Device()-
  • the client_id and device_id are input to the device manager, which in turn outputs either error_code "0" if the procedure has been completed successfully, error_code "w_client_inconnu” if the client is unknown to the device manager or error code "w_periph_inconnu” if the device is unknown to the device manager.
  • a client 4076 can be removed from the client list of the device manager 4074 with the procedure Device_Close_Channel ( .
  • the "client_id” is input to the device manager, which in turn outputs either error_code “0” if the procedure has been completed successfully or error_code "w_client_inconnu” if the client is unknown to the device manager.
  • This procedure deletes the client from the list of the device manager 4074 and from the list of each device 4060 for which he is a client, ie. if not already done so by the application, the Device_Close_Channel 0 procedure calls the Device_Call_Device 0 procedure for each device for which that client is a client. The client number thus freed using this procedure may then be allocated, using the Device_Open_Channel 0 procedure, to a new client.
  • Procedure "Device_Info Q" provides information concerning a device 4060 to a client 4076.
  • the client_id and device_jd are input to the device manager 4074, which returns information concerning the device, typically the version of the device, the maximum number of clients for the device and the actual number of clients using the device, to the client, together with error_codes indicating that the procedure has been completed or that either the client or the device is unknown to the device manager 4074.
  • Device_Event is a means of managing "unexpected events", that is, that a specific circumstance, or something unexpected, has occurred.
  • the "Device_Event” procedure enables a client to declare itself the receiver of an unexpected event from a device.
  • the engine 4008 searches for the queue having the highest priority containing an event. The event is removed from the queue and used to activate the process sequencer unit for which it is intended.
  • unexpected events include: removal of a card from the card reader; insertion of a card in the card reader; or reset of the card by a client.
  • ev_lcard_extract "ev_lcard_insert”
  • ev_card_reset "ev_card_reset"
  • the client To receive unexpected events, the client must declare itself as a receiver of each event that it may wish to receive using the procedure "device_event".
  • the following parameters are input to the device manager: client_id; device_id; a command called “get_event” which enables the sending on an unexpected event; the event code; and the event priority, between 0 and 4.
  • client 2 declares himself the receiver of the event ev_card_extract from the LCARD device with priority 2.
  • Client 3 declares himself the receiver of the same event with priority 2, client 1 with priority 4 and finally client 4 with priority 3. If the card is removed from the reader, the following sequences of events occurs; the event ev_card_extract addressed to client 1 is placed in the queue of the run time engine 4008 corresponding to priority 4; the same event addressed to client 4 is placed in the queue of the run time engine 4008 corresponding to priority 3; the same event addressed to client 2 is placed in the queue of the run time engine 4008 corresponding to priority 2; and the same event addressed to client 3 is placed in the queue of the run time engine 4008 corresponding to priority 2.
  • a buffer may be involved in an unexpected event.
  • the device allocates this buffer via the device manager 4068.
  • a procedure enables access to parameters that may be associated with events; event_code; client_id: evt_paraml (typically having a size of 4 bytes); and evt_param2 (typically having a length of 2 bytes).
  • evt_paraml The exact meaning of the evt_param parameters depend on the device and the reason for the posting of the event.
  • the association of a buffer with an unexpected event depends on the device. If the association exist, evt_paraml corresponds to the data zone address of the associated buffer. If there is no buffer, the event will still be issued but with the parameter evt_paraml set at "0".
  • the removal of a client from a list of a device or a list of the device manager results in deallocation of the buffer, except where the buffer has been "locked” by the application using the procedure "device_lock_buff er” .
  • Evt_param2 indicates that the procedure has been successfully completed and that a result has been obtained by the device.
  • a client may stop the reception of any unexpected event using the command "ret_event” instead of the command “get_event”.
  • the device manager 4074 provides access by clients 4076 to devices 4060 in two different modes: “synchronous access” or “asynchronous access”.
  • Synchronous access using procedure "Device_Call", is a means of accessing a function specific to a device and which does not involve the placing of the response from the device in a queue of the run time engine 4008; the response is available immediately.
  • this procedure is used in configuration of the hardware interfaces of the receiver/decoder 2020.
  • the client inputs the following parameters to the device via the device manager: client_id; device_id;
  • call_cmde which comprises the type of operation to be performed by the device.
  • call_cmde which comprises the type of operation to be performed by the device.
  • the command “serial_setup” sets up the serial link configuration
  • the device Upon completion of the operation requested by the client, the device outputs a "call- report", which comprises a report of the run.
  • the call_report typically comprises one of a predetermined number of reports that may be issued to the client.
  • the device manager 4074 issues an error_code to the client 4076, the error_code typically comprising one of: e_client_inconnu; e_periph_inconnu ;
  • the device only writes the output data to the address of the memory location identified by the parameter "rec_adr” when the error_code "0" is received.
  • Device_call blocks all other applications until the run has been completed by the device.
  • Asynchronous access using procedure "Device_Io" is a means of accessing a function specific to a device and which involves waiting for a response.
  • the command “serial_send” sends a message via the serial link.
  • the device sends a report to the program. When this report is available an event is put into a queue of the engine 4008 to signal its arrival.
  • the client inputs the following parameters to the device via the device manager: client_id; device_id;
  • io_cmde which comprises the type of operation to be performed by the device; the event code associated with the end of the operation; the event priority associated with the event; em_adr; and rec_adr.
  • the device Upon completion of the operation requested by the client, the device outputs an "io- report", which comprises a report of the run.
  • the io_report typically comprises one of a predetermined number of reports that may be issued to the client and one of two reports ("e_not_done", indicating that the requested information is not yet available to the client, and "0", indicating that the requested information is available) associated with the event.
  • the device manager Upon receipt of the report "0", the device manager issues an error_code to the client 4076, the error_code comprising one of: e_client_inconnu; e_periph_inconnu; e_cmde_inconnu;
  • PC/ASB/19712 Downloading Data (Attorney Reference No. PC/ASB/19713), Computer Memory Organisation (Attorney Reference No. PC/ASB/19714), Television or Radio Control System Development (Attorney Reference No. PC/ASB/19715), Extracting Data Sections from a Transmitted Data Stream (Attorney Reference No. PC/ASB/19716), Access Control System (Attorney Reference No. PC/ASB/19717), Data Processing System (Attorney Reference No. PC/ASB/19718), and Broadcast and Reception System, and Receiver/Decoder and Remote Controller therefor (Attorney Reference No. PC/ASB/19720).
  • the disclosures of these documents are incorporated herein by reference.
  • the list of applications includes the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Système de commande d'accès et procédé pour permettre l'accès par un programme d'au moins un composant d'un système informatique. Le procédé comprend les étapes suivantes: mémorisation d'une unité logique associée au composant ou à chacun des composants respectifs dans le système, l'unité logique ou chacune des unités logiques disposant d'un identificateur d'unité respectif; assignation d'un identificateur de programme au programme; et sortie provenant du programme d'un signal contenant l'identificateur de programme et l'identificateur d'unité de l'unité logique ou de chacune des unités logiques vers une interface commune entre le programme et l'unité logique ou chacune des unités logiques, pour créer un canal de communication entre le programme et l'unité logique ou chacune des unités logiques via cette interface.
EP97918155A 1997-03-21 1997-04-25 Systeme de commande d'acces Ceased EP1055176A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP97918155A EP1055176A2 (fr) 1997-03-21 1997-04-25 Systeme de commande d'acces

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP97400650 1997-03-21
EP97400650 1997-03-21
PCT/EP1997/002115 WO1998043172A2 (fr) 1997-03-21 1997-04-25 Systeme de commande d'acces
EP97918155A EP1055176A2 (fr) 1997-03-21 1997-04-25 Systeme de commande d'acces

Publications (1)

Publication Number Publication Date
EP1055176A2 true EP1055176A2 (fr) 2000-11-29

Family

ID=26070210

Family Applications (1)

Application Number Title Priority Date Filing Date
EP97918155A Ceased EP1055176A2 (fr) 1997-03-21 1997-04-25 Systeme de commande d'acces

Country Status (14)

Country Link
EP (1) EP1055176A2 (fr)
JP (1) JP2002512713A (fr)
CN (1) CN1260056A (fr)
AU (1) AU742213B2 (fr)
BR (1) BR9714603A (fr)
CA (1) CA2284867A1 (fr)
HU (1) HUP0004141A2 (fr)
IL (1) IL131936A0 (fr)
NO (1) NO994539L (fr)
NZ (1) NZ500205A (fr)
PL (1) PL336907A1 (fr)
TR (1) TR199902263T2 (fr)
WO (1) WO1998043172A2 (fr)
ZA (1) ZA973612B (fr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0893765A1 (fr) 1997-07-24 1999-01-27 CANAL+ Société Anonyme Pilote de périphérique pour un décodeur de signaux satellite adaptés à la norme IEEE 1394
US20020073218A1 (en) * 1998-12-23 2002-06-13 Bill J. Aspromonte Stream device management system for multimedia clients in a broadcast network architecture
EP1304871A3 (fr) * 2001-08-21 2003-06-18 Canal+ Technologies Société Anonyme Procédé et dispositif pour un récepteur/décodeur
KR100959209B1 (ko) * 2003-06-12 2010-05-19 엘지전자 주식회사 외부 av 기기의 라벨 표시방법
CN102768843A (zh) * 2012-03-28 2012-11-07 新奥特(北京)视频技术有限公司 一种用户可配置的编目的方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163944A (ja) * 1986-09-17 1988-07-07 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション アプリケ−ション通信システム
US4855905A (en) * 1987-04-29 1989-08-08 International Business Machines Corporation Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses
US5179708A (en) * 1989-04-07 1993-01-12 At&T Bell Laboratories System inhibiting message delivery to destination process until priority of process excuting on distination processor is no higher than priority of sending process
CA2044022A1 (fr) * 1990-06-28 1991-12-29 Miriam A. Nihart Systeme et methode de gestion par ordinateur a agent commun
US5206936A (en) * 1990-08-31 1993-04-27 International Business Machines Corporation Apparatus for exchanging channel adapter status among multiple channel adapters
JPH05252228A (ja) * 1992-03-02 1993-09-28 Mitsubishi Electric Corp データ伝送装置及びその通信路管理方法
US5448568A (en) * 1994-04-28 1995-09-05 Thomson Consumer Electronics, Inc. System of transmitting an interactive TV signal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9843172A2 *

Also Published As

Publication number Publication date
IL131936A0 (en) 2001-03-19
CA2284867A1 (fr) 1998-10-01
NZ500205A (en) 2001-11-30
NO994539D0 (no) 1999-09-17
HUP0004141A2 (hu) 2001-05-28
NO994539L (no) 1999-11-22
AU742213B2 (en) 2001-12-20
TR199902263T2 (xx) 2000-03-21
CN1260056A (zh) 2000-07-12
AU2638597A (en) 1998-10-20
BR9714603A (pt) 2000-05-16
ZA973612B (en) 1998-02-23
PL336907A1 (en) 2000-07-17
WO1998043172A2 (fr) 1998-10-01
JP2002512713A (ja) 2002-04-23
WO1998043172A3 (fr) 2000-09-21

Similar Documents

Publication Publication Date Title
US6938166B1 (en) Method of downloading of data to an MPEG receiver/decoder and MPEG transmission system for implementing the same
AU740740B2 (en) Data processing system
CA2284018C (fr) Extraction de sections de donnees d'un flux de donnee d'emission
WO2001004751A2 (fr) Execution et test d'applications
EP1057333A1 (fr) Traitement de donnees d'images numeriques
JP2001518256A5 (fr)
US6360195B1 (en) Television or radio control system development
RU2181905C2 (ru) Разработка системы управления телевидением или радиовещанием
AU742213B2 (en) Access control system
EP1067806A1 (fr) Dispositif et procédé pour tester des applications
KR20000076405A (ko) 엑세스 제어 시스템
MXPA99008545A (es) Sistema de control de acceso
EP1067455A1 (fr) Exécuter et tester applications
MXPA99008546A (es) Extraccion de secciones de datos desde una corriente de datos transmitida
CZ331799A3 (cs) Systém řízení přístupu
MXPA99008543A (en) Data processing system
MXPA00000776A (en) Ieee set top box device driver

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19991020

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL PAYMENT 19991020;LT PAYMENT 19991020;LV PAYMENT 19991020;RO PAYMENT 19991020;SI PAYMENT 19991020

17Q First examination report despatched

Effective date: 20010928

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: CANAL+ TECHNOLOGIES

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20031027

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1030668

Country of ref document: HK