FR2826471A1 - EXTENSION OF SOFTWARE IN A DIGITAL TELEVISION RECEIVER / DECODER - Google Patents

EXTENSION OF SOFTWARE IN A DIGITAL TELEVISION RECEIVER / DECODER Download PDF

Info

Publication number
FR2826471A1
FR2826471A1 FR0108398A FR0108398A FR2826471A1 FR 2826471 A1 FR2826471 A1 FR 2826471A1 FR 0108398 A FR0108398 A FR 0108398A FR 0108398 A FR0108398 A FR 0108398A FR 2826471 A1 FR2826471 A1 FR 2826471A1
Authority
FR
France
Prior art keywords
software
data
extension
plug
manager
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.)
Pending
Application number
FR0108398A
Other languages
French (fr)
Inventor
Hongtao Liao
Benoit Leblanc
Jean Stephane Villers
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 Technologies 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 Technologies SA filed Critical Canal Plus Technologies SA
Priority to FR0108398A priority Critical patent/FR2826471A1/en
Priority to PCT/FR2002/002193 priority patent/WO2003001375A1/en
Publication of FR2826471A1 publication Critical patent/FR2826471A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

A digital TV receiver/decoder comprises means for receiving digital data, a core programme in native code which permits the handling of digital data and a navigation programme, integrated in the core programme which permits in particular the handling of an HTML page. An extension manager causes the execution of an extension in a language which is interpreted by a virtual machine, integrated in the core programme, for the purpose of handling data of a fixed type as referenced in the HTML page.

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

EXTENSION D'UN LOGICIEL DANS UN RÉCEPTEUR/DÉCODEUR DE
TÉLÉVISION NUMÉRIQUE
DESCRIPTION Domaine Technique
La présente invention concerne un procédé d'extension d'un logiciel par une extension de logiciel. Plus précisément le logiciel peut être un logiciel de navigation dans un récepteur/décodeur de télévision numérique. La présente invention concerne également un récepteur/décodeur de télévision numérique comprenant un logiciel de navigation et une extension de ce logiciel.
EXTENSION OF SOFTWARE IN A RECEIVER / DECODER OF
DIGITAL TV
DESCRIPTION Technical Area
The present invention relates to a method for extending software by software extension. More specifically, the software can be navigation software in a digital television receiver / decoder. The present invention also relates to a digital television receiver / decoder comprising navigation software and an extension of this software.

Etat de la Technique
Un logiciel peut en général être défini comme étant une suite d'instructions susceptibles d'être exécutées par une machine à microprocesseur afin d'exploiter des ressources de cette machine. Un logiciel peut être étendu au moyen d'une extension de logiciel qui coopère avec le logiciel en échangeant des données et en traitant ces données. L'extension de logiciel est aussi connue sous la dénomination anglaise de"Plug-In".
State of the art
Software can generally be defined as a series of instructions that can be executed by a microprocessor machine in order to exploit the resources of this machine. Software can be extended by means of a software extension which cooperates with the software by exchanging data and processing this data. The software extension is also known by the English name of "Plug-In".

Un logiciel de navigation, aussi connu sous le nom anglais de"browser", permet d'utiliser un ordinateur pour consulter des données stockées sur un serveur distant relié à l'ordinateur par un réseau. Ces données sont dans un format reconnu par le navigateur, comme par exemple le format largement répandu HTML (de l'anglais HyperText Markup Language). Les données HTML sont contenues dans un fichier et permettent, une fois  A navigation software, also known under the English name of "browser", makes it possible to use a computer to consult data stored on a remote server connected to the computer by a network. This data is in a format recognized by the browser, such as the widely used HTML format (from the English HyperText Markup Language). The HTML data is contained in a file and allows, once

<Desc/Clms Page number 2><Desc / Clms Page number 2>

chargées sur l'ordinateur, au navigateur de générer une page HTML sur un écran de l'ordinateur. Cette page HTML peut comprendre du texte mis en page, des références vers d'autres pages HTML, des images ou des séquences d'images, des sons...  loaded onto the computer, the browser generates an HTML page on a computer screen. This HTML page can include text layout, references to other HTML pages, images or sequences of images, sounds ...

Le logiciel de navigation peut être étendu par un ou plusieurs plug-ins. Le plug-in permet de traiter des données d'un type déterminé fournies avec une page HTML ou référencées dans celle-ci. Ainsi les fonctionnalités du logiciel de navigation sont accrues par le plug-in qui permet le traitement de données de type déterminé qui ne peuvent être traitées par le logiciel de navigation seul. Ceci permet notamment de faire évoluer le logiciel de navigation pour s'adapter à des nouvelles formes de données diffusées.  The navigation software can be extended by one or more plug-ins. The plug-in makes it possible to process data of a determined type supplied with an HTML page or referenced in it. Thus the functionality of the navigation software is increased by the plug-in which allows the processing of data of a specific type which cannot be processed by the navigation software alone. This allows in particular to develop the navigation software to adapt to new forms of disseminated data.

Afin de fonctionner ensemble, le logiciel de navigation et le plug-in échangent des données. Les données plug-in à traiter par le plug-in peuvent par exemple être chargées par le biais du logiciel de navigation et transiter vers le plug-in dans un flux de transition. Dans un mode normal le flux de transition peut contenir les données sous forme séquentielle ce qui permet de faire transiter les données au fur et à mesure de leur disponibilité. Dans un autre mode dit d'accès aléatoire le flux de transition contiendra les données dans un ordre défini par le plug-in. Le mode d'accès aléatoire suppose toutefois que le serveur distant puisse fournir les données dans l'ordre défini et sur demande.  In order to work together, the navigation software and the plug-in exchange data. The plug-in data to be processed by the plug-in can for example be loaded via the navigation software and pass to the plug-in in a transition flow. In a normal mode the transition flow can contain the data in sequential form which makes it possible to pass the data as and when they are available. In another so-called random access mode, the transition flow will contain the data in an order defined by the plug-in. However, random access mode assumes that the remote server can provide the data in the defined order and on request.

Les logiciels de navigation et leurs plug-ins deviennent de plus en plus répandus sur des  Browsers and their plug-ins are becoming more and more common on

<Desc/Clms Page number 3><Desc / Clms Page number 3>

récepteurs/décodeurs de télévision numérique. Le récepteur/décodeur est un dispositif permettant notamment de recevoir un flux de données numériques correspondant à des signaux audio et vidéo mais aussi à des informations et à des logiciels, notamment des pages HTML. Le récepteur/décodeur comprend des moyens pour décoder les données audio et vidéo et une sortie pour transmettre l'audio et la vidéo vers un téléviseur. Le récepteur/décodeur permet également d'exécuter des logiciels comme le logiciel de navigation et le plug-in, ces derniers exploitant par exemple des pages HTML reçues dans le flux de données numériques.  digital television receivers / decoders. The receiver / decoder is a device making it possible in particular to receive a stream of digital data corresponding to audio and video signals but also to information and software, in particular HTML pages. The receiver / decoder includes means for decoding the audio and video data and an output for transmitting the audio and video to a television set. The receiver / decoder also makes it possible to execute software such as the navigation software and the plug-in, the latter exploiting, for example, HTML pages received in the digital data stream.

Le logiciel de navigation et le plug-in sont intégrés dans une couche médiane de logiciels nommée middleware. Le middleware intègre également d'autres logiciels permettant de mettre à disposition de l'utilisateur des services comme par exemple un guide de programme électronique ou l'affichage d'une émission de télévision. Le middleware est exécuté au-dessus d'une couche de logiciel basse dite système d'exploitation.  The navigation software and the plug-in are integrated into a middle layer of software called middleware. The middleware also integrates other software making it possible to provide the user with services such as for example an electronic program guide or the display of a television program. Middleware is executed on top of a low layer of software called the operating system.

Un objectif de l'invention est de proposer une solution de plug-in particulièrement adaptée à un environnement embarqué comme par exemple celui d'un décodeur/récepteur de télévision numérique.  An objective of the invention is to provide a plug-in solution particularly suited to an on-board environment such as that of a digital television decoder / receiver.

Exposé de l'invention
La présente invention a pour objet un procédé d'extension d'un logiciel par une extension de logiciel, l'extension de logiciel permettant de traiter
Statement of the invention
The subject of the present invention is a method of extending software by means of a software extension, the software extension making it possible to process

<Desc/Clms Page number 4><Desc / Clms Page number 4>

des données d'un type déterminé, le procédé comprenant au moins les étapes suivantes : - l'exécution d'un gestionnaire d'extensions de logiciel permettant de sélectionner et initier l'exécution d'une extension de logiciel, - l'envoi d'une requête de traitement vers le gestionnaire d'extensions de logiciel lorsque des données du type déterminé sont identifiées par le logiciel, - l'identification d'une référence de stockage des données du type déterminé, - la sélection et l'exécution de l'extension de logiciel par le gestionnaire d'extensions de logiciels pour traiter les données du type déterminé à partir de ladite référence de stockage.  data of a determined type, the method comprising at least the following steps: - the execution of a software extension manager making it possible to select and initiate the execution of a software extension, - the sending of '' a processing request to the software extensions manager when data of the determined type are identified by the software, - the identification of a data storage reference of the determined type, - the selection and execution of the 'software extension by the software extensions manager to process data of the type determined from said storage reference.

Une variante de l'invention prévoit un procédé d'extension d'un logiciel par une extension dudit logiciel dans un récepteur/décodeur de télévision numérique, l'extension permettant de traiter des données d'un type déterminé, le logiciel étant intégré dans un logiciel noyau en code natif et l'extension étant codée dans un langage pouvant être interprété par une machine virtuelle du récepteur/décodeur, le procédé comprenant : - l'exécution d'un gestionnaire d'extensions permettant de sélectionner et initier l'exécution d'une extension, - l'envoi d'une requête de traitement vers le gestionnaire d'extensions lorsque le logiciel identifie le type déterminé de données,  A variant of the invention provides a method of extending software by extending said software in a digital television receiver / decoder, the extension making it possible to process data of a determined type, the software being integrated into a kernel software in native code and the extension being coded in a language which can be interpreted by a virtual machine of the receiver / decoder, the method comprising: - the execution of an extension manager making it possible to select and initiate the execution of 'an extension, - sending a processing request to the extension manager when the software identifies the determined type of data,

<Desc/Clms Page number 5><Desc / Clms Page number 5>

- l'identification d'une référence de stockage des données du type déterminé, - la sélection et l'exécution de l'extension par le gestionnaire d'extensions pour traiter les données du type déterminé à partir de ladite référence de stockage.  - the identification of a data storage reference of the determined type, - the selection and execution of the extension by the extension manager to process the data of the determined type from said storage reference.

Dans un mode de réalisation préférentiel le procédé inventif comprend le chargement et stockage des données du type déterminé dans une mémoire du récepteur/décodeur à partir d'une référence de stockage.  In a preferred embodiment, the inventive method comprises loading and storing data of the determined type into a memory of the receiver / decoder from a storage reference.

Dans un autre mode de réalisation préférentiel le procédé inventif comprend la destruction par le gestionnaire d'extensions de l'extension une fois que les données de type déterminé ont été traitées pour libérer la mémoire.  In another preferred embodiment, the inventive method comprises the destruction by the extension manager of the extension once the data of determined type have been processed to free the memory.

L'invention a également pour objet un récepteur/décodeur de télévision numérique comprenant : - des moyens de réception de données numériques, - un logiciel noyau codé en natif et permettant de traiter les données numériques, - un logiciel de navigation intégré au logiciel noyau et permettant de traiter notamment une page HTML, - une machine virtuelle intégrée au logiciel noyau, - un gestionnaire d'extensions, le gestionnaire d'extensions causant l'exécution d'une extension en langage interprété par la machine virtuelle afin de traiter des données d'un type déterminé référencées dans la page HTML.  The subject of the invention is also a digital television receiver / decoder comprising: - means for receiving digital data, - kernel software coded natively and making it possible to process digital data, - navigation software integrated into the kernel software and allowing to process in particular an HTML page, - a virtual machine integrated into the kernel software, - an extension manager, the extension manager causing the execution of an extension in language interpreted by the virtual machine in order to process data from 'a specific type referenced in the HTML page.

<Desc/Clms Page number 6> <Desc / Clms Page number 6>

Brève description des figures
L'invention sera expliquée dans la suite de la description au moyen d'exemples de réalisation en faisant référence à la Figure 1 qui contient une représentation schématique de couches logicielles dans un récepteur/décodeur de télévision numérique.
Brief description of the figures
The invention will be explained in the following description by means of exemplary embodiments with reference to Figure 1 which contains a schematic representation of software layers in a digital television receiver / decoder.

Exposé Détaillé de Modes de Réalisation Particuliers Couches logicielles dans un récepteur/décodeur
La Figure 1 contient une représentation schématique de couches logicielles présentes dans un décodeur/récepteur de télévision numérique. Un logiciel noyau 1 intègre un logiciel de navigation 2 permettant de traiter des pages d'information codées par exemple en HTML et reçues à une entrée du décodeur/récepteur (non représenté). Le logiciel noyau 1 intègre également un logiciel de machine virtuelle 3 qui permet d'interpréter du code d'applications 4 faisant partie d'une couche logicielle supérieure.
Detailed presentation of specific embodiments Software layers in a receiver / decoder
Figure 1 contains a schematic representation of software layers present in a digital television decoder / receiver. Kernel software 1 integrates navigation software 2 for processing pages of information coded for example in HTML and received at an input of the decoder / receiver (not shown). The kernel software 1 also integrates virtual machine software 3 which makes it possible to interpret application code 4 which is part of an upper software layer.

Le logiciel noyau 1 et les logiciels intégrés de navigation 2 et de machine virtuelle 3 sont typiquement développés dans un langage de programmation avancé tel que par exemple le langage C, puis compilés dans un langage dit natif qui peut directement être exécuté au-dessus du système d'exploitation (non représenté) du récepteur/décodeur. La compilation en code natif confère une vitesse d'exécution maximale.  The core software 1 and the integrated navigation 2 and virtual machine software 3 are typically developed in an advanced programming language such as for example the C language, then compiled in a so-called native language which can be directly executed on top of the system. operating instructions (not shown) of the receiver / decoder. Compiling in native code gives maximum execution speed.

Toutefois elle contraint à figer la sélection de logiciels intégrés du logiciel noyau 1 avant compilation. However, it forces to freeze the selection of integrated software from kernel 1 software before compilation.

<Desc/Clms Page number 7> <Desc / Clms Page number 7>

Une application 4 est écrite dans un langage qui peut directement être interprété par la machine virtuelle 3. Parmi les langages interprétés on trouve par exemple le Pantalk et le JAVA. Une application 4 peut par exemple être téléchargée dans un flux de données à l'entrée du récepteur/décodeur (non représenté), puis stockée dans une mémoire volatile pour être exécutée au besoin. Ainsi il existe une grande flexibilité quant aux évolutions de logiciels dans le récepteur/décodeur puisqu'un logiciel nouveau peut être téléchargé et exécuté à tout moment selon les besoins. En revanche, l'interprétation d'une application 4 par la machine virtuelle 3 peut donner lieu à une vitesse d'exécution plus lente que si l'application avait été en code natif comme c'est le cas pour le logiciel noyau 1.  An application 4 is written in a language which can be directly interpreted by the virtual machine 3. Among the languages interpreted there are for example Pantalk and JAVA. An application 4 can for example be downloaded into a data stream at the input of the receiver / decoder (not shown), then stored in a volatile memory to be executed if necessary. Thus there is great flexibility with regard to software developments in the receiver / decoder since new software can be downloaded and executed at any time as required. On the other hand, the interpretation of an application 4 by virtual machine 3 can give rise to a slower execution speed than if the application had been in native code as is the case for kernel software 1.

Des logiciels de dispositifs 5 peuvent être adressés par le logiciel noyau 1 afin d'accéder aux dispositifs physiques (non représentés) mis à disposition dans le récepteur/décodeur, comme par exemple un modem, un dispositif d'affichage ou un dispositif de chargement des données reçues à l'entrée du récepteur/décodeur. Les logiciels de dispositifs 5 sont en général stockés dans une mémoire non volatile et livrés par les fabricants de récepteurs/décodeurs.  Device software 5 can be addressed by the kernel software 1 in order to access the physical devices (not shown) made available in the receiver / decoder, such as for example a modem, a display device or a device for loading the data received at the input of the receiver / decoder. The software for devices 5 is generally stored in a non-volatile memory and delivered by the manufacturers of receivers / decoders.

Une couche d'interface programmes/applications 6 permet de définir un environnement déterminé pour les applications 4 afin que ces dernières puissent communiquer avec le logiciel noyau 1 et ou les logiciels intégrés à celui-ci. La couche d'interface 6  A program / application interface layer 6 makes it possible to define a specific environment for the applications 4 so that the latter can communicate with the kernel software 1 and or the software integrated into it. Interface layer 6

<Desc/Clms Page number 8><Desc / Clms Page number 8>

est souvent désignée sous le nom API provenant de l'Anglais Application Programmer Interface.  is often referred to as API from the English Application Programmer Interface.

Dans une réalisation préférentielle la couche d'interface 6 est exécutée en code natif, c'est-à-dire qu'elle est développée à l'origine dans un langage de programmation avancé tel que le langage C, puis compilée en code natif pour une vitesse d'exécution maximale. La couche d'interface 6 peut dans ce cas être compilée ensemble avec le code du logiciel noyau 1 et des logiciels intégrés.  In a preferred embodiment, the interface layer 6 is executed in native code, that is to say that it was originally developed in an advanced programming language such as the C language, then compiled in native code for maximum execution speed. The interface layer 6 can in this case be compiled together with the code of the kernel software 1 and of the integrated software.

Dans une autre réalisation la couche d'interface 6 est écrite en code interprétable afin de pouvoir être exécutée par la machine virtuelle 3. La couche d'interface 6 peut alors facilement être modifiée, par exemple en téléchargeant du nouveau code dans un flux de données à l'entrée du récepteur/décodeur. Ainsi un opérateur de télévision numérique garde la possibilité d'offrir une interface programmes/applications 6 évolutive en fonction de ses besoins.  In another embodiment, the interface layer 6 is written in interpretable code so that it can be executed by the virtual machine 3. The interface layer 6 can then easily be modified, for example by downloading new code into a data stream. at the input of the receiver / decoder. Thus a digital television operator retains the possibility of offering a scalable program / application interface 6 according to his needs.

Dans une autre réalisation la couche d'interface 6 est composée d'une part de code natif, c'est-à-dire d'un code compilé à exécution rapide, et d'autre part de code en langage interprétable pouvant aisément être mis à jour.  In another embodiment the interface layer 6 is composed on the one hand of native code, that is to say of a compiled code with fast execution, and on the other hand of code in interpretable language which can easily be put up to date.

L'ensemble comprenant le logiciel noyau 1, les logiciels intégrés dont le logiciel de navigation 2 et la machine virtuelle 3, et la couche d'interface 6 est souvent regroupé sous le nom de Middleware (qui signifie en Anglais"logiciel du milieu") étant donné que ces logiciels s'intercalent de façon logique entre  The set comprising the core software 1, the integrated software including the navigation software 2 and the virtual machine 3, and the interface layer 6 is often grouped under the name of Middleware (which in English means "middleware") since these software are logically interleaved between

<Desc/Clms Page number 9><Desc / Clms Page number 9>

les couches basses de logiciels proches des ressources physiques du récepteur/décodeur, dont les logiciels de dispositifs 5, et les couches supérieures de logiciels dont les applications 4.  the lower layers of software close to the physical resources of the receiver / decoder, including the device software 5, and the upper layers of software including the applications 4.

Plug-in
Il a été décrit plus haut que le plug-in 7 est un logiciel permettant de traiter des données de type déterminé fournies avec une page HTML. Le plug-in 7 peut de ce fait être considéré comme une extension du logiciel de navigation 2.
Plug-in
It has been described above that the plug-in 7 is software making it possible to process data of a specific type supplied with an HTML page. The plug-in 7 can therefore be considered as an extension of the navigation software 2.

Les données à traiter par le plug-in (données plug-in) ne sont pas forcément envoyées en même temps que la page HTML. Les données plug-in sont soit contenues dans le fichier de la page HTML, soit référencées par une adresse dans la page HTML. Cette adresse est communément appelée URL de l'anglais Universal Ressource Locator (qui signifie identifiant universel de ressources) et elle est précédée par une marque propre au langage HTML telle que < EMBED > , < APPLET > ou < OBJECT > . Ces marques peuvent être accompagnées de paramètres et d'options plug-in définissant par exemple l'apparence dans la page HTML affichée de l'affichage éventuel que va générer le plug-in 7. En effet il est possible que le plug-in 7 produise un résultat graphique qui est alors affiché dans une fenêtre à l'écran.  The data to be processed by the plug-in (plug-in data) is not necessarily sent at the same time as the HTML page. The plug-in data are either contained in the file on the HTML page, or referenced by an address on the HTML page. This address is commonly known as the Universal Resource Locator URL (which stands for Universal Resource Identifier) and is preceded by a mark specific to HTML such as <EMBED>, <APPLET> or <OBJECT>. These marks can be accompanied by parameters and plug-in options defining for example the appearance in the HTML page displayed of the possible display that will generate the plug-in 7. Indeed it is possible that the plug-in 7 produces a graphical result which is then displayed in a window on the screen.

Un exemple générique de paramètres et d'options plug-in accompagnant une marque précédant une adresse URL est le suivant :  A generic example of plug-in parameters and options accompanying a mark preceding a URL is as follows:

<Desc/Clms Page number 10><Desc / Clms Page number 10>

- URL location : adresse des données/du fichier contenant les données - Type MIME : le type des données à traiter par le plug-in - Alignment : le type d'alignement de l'affichage à l'écran (gauche, droite, haut, bas) - Border : largeur de marge - Width : largeur de la fenêtre d'affichage du plug-in - Height : hauteur de la fenêtre d'affichage du plug-in - HSPACE : marge horizontale - VSPACE : marge verticale - Hidden : option permettant ou non de faire apparaître une fenêtre
D'autres paramètres plug-in sont définis dans les spécifications du langage HTML.
- Location URL: address of the data / file containing the data - MIME type: the type of data to be processed by the plug-in - Alignment: the type of alignment of the display on the screen (left, right, top , bottom) - Border: margin width - Width: width of the plug-in display window - Height: height of the plug-in display window - HSPACE: horizontal margin - VSPACE: vertical margin - Hidden: option allowing or not to display a window
Other plug-in parameters are defined in the specifications of the HTML language.

Un plug-in 7 peut donner lieu ou non à la création d'une fenêtre dans laquelle le résultat du traitement des données plug-in sera affiché. La création de la fenêtre dépend des valeurs attribuées aux paramètres et options plug-in. Ainsi par exemple si le traitement des données plug-in résulte en une séquence vidéo, celle-ci peut être affichée dans une fenêtre indépendante ayant un cadre et une épaisseur définis. Une autre possibilité consisterait à afficher la séquence vidéo directement dans la fenêtre dans laquelle le logiciel de navigation affiche la page HTML contenant la marque et l'adresse URL des données plug-

Figure img00100001

in.
Il existe donc plusieurs types d'affichage de plug-in et notamment les trois suivants : intégré (ou A plug-in 7 may or may not give rise to the creation of a window in which the result of the processing of the plug-in data will be displayed. The creation of the window depends on the values assigned to the plug-in parameters and options. So for example if the processing of plug-in data results in a video sequence, this can be displayed in an independent window having a defined frame and thickness. Another possibility would be to display the video sequence directly in the window in which the navigation software displays the HTML page containing the mark and the URL address of the plug-in data.
Figure img00100001

in.
There are therefore several types of plug-in display and in particular the following three: integrated (or

<Desc/Clms Page number 11><Desc / Clms Page number 11>

embedded en Anglais), dissimulé (ou hidden en Anglais), ou pleine page (ou full-page en Anglais). Le type intégré prévoit l'affichage du plug-in dans la même fenêtre que la page HTML. Dans ce cas l'affichage du plug-in est en fait effectué dans une sous-fenêtre de la fenêtre affichant la page HTML. La taille de la sous-fenêtre peut être ajustée avec les paramètres plug-in. Le type dissimulé ne prévoit pas d'affichage du plug-in. Ce type est utilisé lorsque le traitement des données plug-in ne produit pas de graphismes. Le type pleine-page prévoit l'affichage dans une nouvelle fenêtre indépendante de la fenêtre affichant la page HTML.  embedded in English), concealed (or hidden in English), or full page (or full-page in English). The built-in type provides for the plug-in to be displayed in the same window as the HTML page. In this case, the display of the plug-in is in fact carried out in a pane of the window displaying the HTML page. The size of the pane can be adjusted with the plug-in parameters. The hidden type does not provide for display of the plug-in. This type is used when the plug-in data processing does not produce graphics. The full-page type provides for the display in a new window independent of the window displaying the HTML page.

Un plug-in 7 peut être codé aussi bien dans un langage de programmation avancé et compilé en code natif, que dans un langage qui sera interprété par la machine virtuelle 3.  A plug-in 7 can be coded as well in an advanced programming language and compiled in native code, as in a language which will be interpreted by the virtual machine 3.

L'implémentation du plug-in 7 selon l'invention se fait dans un langage interprétable par la machine virtuelle 3.  The implementation of the plug-in 7 according to the invention is done in a language interpretable by the virtual machine 3.

Le plug-in 7 fait partie des applications 4 et peut par exemple être codé en JAVA lorsque la machine virtuelle interprète du JAVA. De ce fait le plug-in 7 peut être considéré comme une extension applicative de logiciel. L'implémentation du plug-in 7 est faite dans le respect de l'environnement défini dans la couche d'interface programmes/applications 6.  The plug-in 7 is part of applications 4 and can for example be coded in JAVA when the virtual machine interprets JAVA. Therefore plug-in 7 can be considered as an application extension of software. The implementation of the plug-in 7 is done while respecting the environment defined in the program / applications interface layer 6.

Gestionnaire d'extensions applicatives de logiciel
Une extension applicative de logiciel, telle que par exemple un plug-in 7 peut de par sa nature être
Software application manager
An application extension of software, such as for example a plug-in 7 can by its nature be

<Desc/Clms Page number 12><Desc / Clms Page number 12>

téléchargée dans une mémoire volatile du récepteur/décodeur, exécutée par la machine virtuelle 3 puis détruite afin de libérer la mémoire volatile.  downloaded into a volatile memory of the receiver / decoder, executed by the virtual machine 3 then destroyed in order to free the volatile memory.

Un gestionnaire d'extensions applicatives 8 permet de sélectionner un plug-in 7, de le télécharger ou charger en mémoire afin de l'exécuter pour traiter des données plug-in. Une fois l'exécution du plug-in 7 terminée, le gestionnaire d'extensions applicatives 8 prend en charge la destruction du plug-in afin que la mémoire volatile soit libérée pour d'autres extensions applicatives ou applications 4.  A manager of application extensions 8 makes it possible to select a plug-in 7, to download it or load it into memory in order to execute it to process plug-in data. Once the plug-in 7 has finished running, the application extension manager 8 takes care of destroying the plug-in so that the volatile memory is freed up for other application extensions or applications 4.

Le gestionnaire d'extensions applicatives 8 reçoit une requête de traitement d'un type de données déterminé avant de sélectionner l'extension applicative appropriée pour le traitement de ce type de données déterminé. La requête peut par exemple provenir du logiciel de navigation 2 traitant une page HTML et identifiant une URL précédée d'une marque spécifique d'un plug-in. Le gestionnaire d'extensions applicatives 8 utilise la requête pour initier le chargement et l'exécution du plug-in 7 correspondant. Le gestionnaire d'extensions applicatives 8 indique au plug-in 7 un moyen d'accéder aux données plug-in.  The application extension manager 8 receives a request to process a specific type of data before selecting the appropriate application extension for processing this specific type of data. The request can for example come from the navigation software 2 processing an HTML page and identifying a URL preceded by a specific mark of a plug-in. The application extension manager 8 uses the request to initiate the loading and execution of the corresponding plug-in 7. The application extension manager 8 indicates to the plug-in 7 a means of accessing the plug-in data.

Au cas où le plug-in 7 serait déjà en cours d'exécution le gestionnaire d'extensions applicatives 8 se contente de lui indiquer un moyen d'accès aux données plug-in.  If the plug-in 7 is already running, the application extension manager 8 is content to indicate to it a means of access to the plug-in data.

Le moyen d'accéder aux données plug-in correspond généralement à une référence de stockage.  The means of accessing the plug-in data generally corresponds to a storage reference.

Cette dernière référence l'endroit où sont stockées les données plug-in. Les données plug-in peuvent par The latter references the location where the plug-in data is stored. Plug-in data can by

<Desc/Clms Page number 13><Desc / Clms Page number 13>

exemple avoir été téléchargées et être stockées à une adresse dans une mémoire volatile ou une mémoire de masse du récepteur/décodeur. Les données plug-in peuvent également correspondre au contenu d'un fichier dont le nom est répertorié dans un répertoire de fichiers utilisé par le récepteur décodeur. Les données plug-in peuvent aussi être disponibles sur un serveur distant.  example have been downloaded and stored at an address in a volatile memory or a mass memory of the receiver / decoder. The plug-in data can also correspond to the content of a file whose name is listed in a file directory used by the decoder receiver. Plug-in data may also be available on a remote server.

Le gestionnaire d'extensions applicatives 8 s'interface logiquement entre une extension applicative telle que le plug-in 7 et un logiciel intégré tel que logiciel de navigation 2 ou encore une application 4.  The application extensions manager 8 logically interfaces between an application extension such as the plug-in 7 and integrated software such as navigation software 2 or even an application 4.

Il peut être codé entièrement dans un langage qui sera interprété par la machine virtuelle 3 lorsqu'il est interfacé avec une application 4 ou encore être partiellement codé dans un langage compilable pour être partiellement intégré au logiciel noyau 1 en code natif lorsqu'il est interfacé avec un logiciel intégré tel que le logiciel de navigation 2. Dans une autre réalisation le gestionnaire d'extensions applicatives 8 est implémenté entièrement en code compilable et son code natif intégré au logiciel noyau 1. It can be coded entirely in a language which will be interpreted by virtual machine 3 when it is interfaced with an application 4 or even be partially coded in a compilable language to be partially integrated into kernel software 1 in native code when it is interfaced with integrated software such as navigation software 2. In another embodiment, the application extensions manager 8 is implemented entirely in compilable code and its native code integrated into kernel software 1.

Echange de données plug-in
L'échange de données plug-in vers un plug-in peut se faire dans au moins deux modes nommés Normal ou Accès aléatoire, les données pouvant être obtenues à partir d'un flux de données à l'entrée du récepteur/décodeur ou à partir d'une mémoire du récepteur/décodeur :
Plug-in data exchange
The exchange of plug-in data to a plug-in can be done in at least two modes called Normal or Random access, the data can be obtained from a data stream at the input of the receiver / decoder or at from a memory of the receiver / decoder:

<Desc/Clms Page number 14><Desc / Clms Page number 14>

- Mode normal : les données plug-in parviennent au plug-in 7 dans un ordre séquentiel au fur et à mesure de la disponibilité des données.  - Normal mode: the plug-in data reach the plug-in 7 in a sequential order as the data becomes available.

- Mode Accès Aléatoire : les données plug-in à faire parvenir au plug-in 7 sont spécifiées par les plug- in. Ainsi les données plug-in sont transmises dans un ordre particulier selon les spécifications du plug- in. Ce mode permet notamment d'implémenter des fonctions d'arrêt, retour et/ou avance rapide lors de l'affichage d'une séquence vidéo. Ce mode nécessite une intervention du coté serveur à la diffusion des données plug-in, dans la mesure où le serveur doit pouvoir recevoir et interpréter des instructions en provenance du plug-in 7.  - Random Access Mode: the plug-in data to be sent to plug-in 7 is specified by the plug-in. Thus the plug-in data are transmitted in a particular order according to the specifications of the plug-in. This mode notably makes it possible to implement stop, return and / or fast forward functions when displaying a video sequence. This mode requires an intervention from the server side to the dissemination of plug-in data, insofar as the server must be able to receive and interpret instructions from plug-in 7.

Le logiciel de navigation 2 transmet au plug-in 7 par le biais du gestionnaire d'extensions applicatives 8 un événement indiquant une référence de stockage. Les données peuvent alors sur instruction du plug-in être accédées au lieu indiqué par la référence de stockage.  The navigation software 2 transmits to the plug-in 7 via the manager of application extensions 8 an event indicating a storage reference. The data can then on instruction of the plug-in be accessed at the place indicated by the storage reference.

Si la référence de stockage indique un serveur externe au récepteur/décodeur alors les données plug-in sont téléchargées à partir de ce serveur ou lues à partir d'une mémoire du récepteur/décodeur si les données avaient déjà été téléchargées au préalable.  If the storage reference indicates a server external to the receiver / decoder then the plug-in data are downloaded from this server or read from a memory of the receiver / decoder if the data had already been downloaded beforehand.

Si la référence de stockage indique une adresse de mémoire propre au récepteur/décodeur, alors les données sont accédées à partir de cette adresse de mémoire. Cette adresse peut, par exemple, correspondre aux nom et emplacement d'un fichier, l'emplacement étant décrit par rapport à un répertoire de fichiers  If the storage reference indicates a memory address specific to the receiver / decoder, then the data is accessed from this memory address. This address can, for example, correspond to the name and location of a file, the location being described in relation to a file directory

<Desc/Clms Page number 15><Desc / Clms Page number 15>

accessible dans le récepteur/décodeur. Le plug-in 7 peut ainsi directement accéder à ce fichier.  accessible in the receiver / decoder. Plug-in 7 can thus directly access this file.

Lorsque les données plug-in ont été lues et traitées par le plug-in dans n'importe lequel des modes normal ou accès aléatoire, le plug-in peut prévoir d'effacer les données plug-in à leur emplacement afin de libérer la capacité de stockage.  When the plug-in data has been read and processed by the plug-in in any of the normal or random access modes, the plug-in may plan to erase the plug-in data at its location in order to free up the capacity storage.

Les modes de réalisation de l'invention décrits ci-dessus peuvent être modifiés par un homme du métier et ne sont pas limitatifs pour la portée de l'invention. En particulier les logiciels intégrés et les extensions applicatives ne sont pas limités aux exemples de logiciels de navigation 2 et aux plug-ins 7. The embodiments of the invention described above can be modified by a person skilled in the art and are not limiting for the scope of the invention. In particular, the integrated software and the application extensions are not limited to the examples of navigation software 2 and to plug-ins 7.

Claims (5)

REVENDICATIONS 1. Procédé d'extension d'un logiciel par une extension de logiciel, l'extension de logiciel permettant de traiter des données d'un type déterminé, le procédé comprenant au moins les étapes suivantes : - l'exécution d'un gestionnaire d'extensions de logiciel permettant de sélectionner et initier l'exécution d'une extension de logiciel, - l'envoi d'une requête de traitement vers le gestionnaire d'extensions de logiciel lorsque des données du type déterminé sont identifiées par le logiciel, - l'identification d'une référence de stockage des données du type déterminé, - la sélection et l'exécution de l'extension de logiciel par le gestionnaire d'extensions de logiciels pour traiter les données du type déterminé à partir de ladite référence de stockage. 1. A method of extending software by a software extension, the software extension making it possible to process data of a determined type, the method comprising at least the following steps: - the execution of a manager 'software extensions allowing to select and initiate the execution of a software extension, - the sending of a processing request to the software extensions manager when data of the determined type are identified by the software, - the identification of a data storage reference of the determined type, - the selection and execution of the software extension by the software extensions manager to process the data of the determined type from said storage reference . 2. Procédé d'extension d'un logiciel par une extension dudit logiciel dans un récepteur/décodeur de télévision numérique, l'extension permettant de traiter des données d'un type déterminé, le logiciel étant intégré dans un logiciel noyau en code natif et l'extension étant codé dans un langage pouvant être interprété par une machine virtuelle, le procédé comprenant : - l'exécution d'un gestionnaire d'extensions permettant de sélectionner et initier l'exécution d'une extension,  2. Method for extending software by extending said software in a digital television receiver / decoder, the extension making it possible to process data of a determined type, the software being integrated into core software in native code and the extension being coded in a language which can be interpreted by a virtual machine, the method comprising: - the execution of an extension manager making it possible to select and initiate the execution of an extension, <Desc/Clms Page number 17><Desc / Clms Page number 17> - l'envoi d'une requête de traitement vers le gestionnaire d'extensions lorsque le logiciel identifie le type déterminé de données, - l'identification d'une référence de stockage des données du type déterminé, - la sélection et l'exécution de l'extension par le gestionnaire d'extensions pour traiter les données du type déterminé à partir de ladite référence de stockage.  - sending a processing request to the extension manager when the software identifies the determined type of data, - identifying a data storage reference of the determined type, - selecting and executing the extension by the extension manager to process data of the type determined from said storage reference. 3. Procédé d'extension d'un logiciel selon la revendication 1 ou 2, comprenant en outre les étapes suivantes : - chargement et stockage des données du type déterminé dans une mémoire du récepteur/décodeur à partir d'une référence de stockage.  3. Method for extending software according to claim 1 or 2, further comprising the following steps: - loading and storage of data of the determined type in a memory of the receiver / decoder from a storage reference. 4. Procédé d'extension d'un logiciel selon l'une quelconque des revendications 1 à 3, comprenant en outre les étapes suivantes : - destruction par le gestionnaire d'extensions de l'extension une fois que les données de type déterminé ont été traitées afin de libérer la mémoire.  4. Method for extending software according to any one of claims 1 to 3, further comprising the following steps: - destruction by the extension manager of the extension once the data of determined type has been processed to free the memory. 5. Récepteur/décodeur de télévision numérique comprenant : - des moyens de réception de données numériques, - un logiciel noyau codé en natif et permettant de traiter les données numériques, - un logiciel de navigation intégré au logiciel noyau et permettant de traiter notamment une page HTML, - une machine virtuelle intégrée au logiciel noyau,  5. Digital television receiver / decoder comprising: - means for receiving digital data, - kernel software coded natively and making it possible to process digital data, - navigation software integrated into the kernel software and making it possible to process a page in particular HTML, - a virtual machine integrated into the kernel software, <Desc/Clms Page number 18><Desc / Clms Page number 18> - un gestionnaire d'extensions, le gestionnaire d'extensions causant l'exécution d'une extension en langage interprété par la machine virtuelle afin de traiter des données d'un type déterminé référencées dans la page HTML. - an extensions manager, the extensions manager causing the execution of an extension in language interpreted by the virtual machine in order to process data of a determined type referenced in the HTML page.
FR0108398A 2001-06-26 2001-06-26 EXTENSION OF SOFTWARE IN A DIGITAL TELEVISION RECEIVER / DECODER Pending FR2826471A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0108398A FR2826471A1 (en) 2001-06-26 2001-06-26 EXTENSION OF SOFTWARE IN A DIGITAL TELEVISION RECEIVER / DECODER
PCT/FR2002/002193 WO2003001375A1 (en) 2001-06-26 2002-06-25 Software extension in a digital tv receiver/decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0108398A FR2826471A1 (en) 2001-06-26 2001-06-26 EXTENSION OF SOFTWARE IN A DIGITAL TELEVISION RECEIVER / DECODER

Publications (1)

Publication Number Publication Date
FR2826471A1 true FR2826471A1 (en) 2002-12-27

Family

ID=8864766

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0108398A Pending FR2826471A1 (en) 2001-06-26 2001-06-26 EXTENSION OF SOFTWARE IN A DIGITAL TELEVISION RECEIVER / DECODER

Country Status (2)

Country Link
FR (1) FR2826471A1 (en)
WO (1) WO2003001375A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2733603A1 (en) * 2012-10-23 2014-05-21 CA, Inc. Data processing system with data characteristics based identification of corresponding instructions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0911728A1 (en) * 1997-10-27 1999-04-28 Sun Microsystems, Inc. Method and apparatus for providing plug-in media decoders
US5913027A (en) * 1996-07-02 1999-06-15 Hitachi, Ltd. Data processing method for a computer system including computers connected via a communication path to each other and computer-readable recording media for use with the computers
US6052732A (en) * 1994-12-20 2000-04-18 Sun Microsystems, Inc. System for dynamically loading object viewer from client or server
WO2000079757A2 (en) * 1999-06-18 2000-12-28 Epicrealm Operating Inc. Method and apparatus for using a limited capability client over a low-speed communications link

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052732A (en) * 1994-12-20 2000-04-18 Sun Microsystems, Inc. System for dynamically loading object viewer from client or server
US5913027A (en) * 1996-07-02 1999-06-15 Hitachi, Ltd. Data processing method for a computer system including computers connected via a communication path to each other and computer-readable recording media for use with the computers
EP0911728A1 (en) * 1997-10-27 1999-04-28 Sun Microsystems, Inc. Method and apparatus for providing plug-in media decoders
WO2000079757A2 (en) * 1999-06-18 2000-12-28 Epicrealm Operating Inc. Method and apparatus for using a limited capability client over a low-speed communications link

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2733603A1 (en) * 2012-10-23 2014-05-21 CA, Inc. Data processing system with data characteristics based identification of corresponding instructions
US9632787B2 (en) 2012-10-23 2017-04-25 Ca, Inc. Data processing system with data characteristic based identification of corresponding instructions

Also Published As

Publication number Publication date
WO2003001375A1 (en) 2003-01-03

Similar Documents

Publication Publication Date Title
AU2021232817A1 (en) Methods, systems, apparatus, products, articles and data structures for cross-platform digital content
AU2009260643B2 (en) Presenting advertisements based on web-page interaction
US7568165B2 (en) Sidebar engine, object model and schema
US7970944B2 (en) System and method for platform and language-independent development and delivery of page-based content
US9003296B2 (en) Browser renderable toolbar
EP1943638A1 (en) Method of managing fonts in multimedia scenes and corresponding computer program and terminal
CN102594867B (en) Based on demand or incremental remote data copy
EP1585037B1 (en) Detection and referencing method for the access to dynamic objects on internet pages
CA2462431A1 (en) Contextually adaptive web browser
FR2826753A1 (en) Processing of an Extended Markup Language XML document in an Internet network, in which user selects a markup language and a list of its functions is displayed and XML document is associated with Schema XML language
WO2012069748A1 (en) Communication between two web applications
EP2048611A1 (en) Device and methods for uploading and/or distribution of targeted advertising using a portable electronic device
US20240069932A1 (en) Content Display Method and Terminal Device
FR2742892A1 (en) SYSTEM FOR PROTECTING SOFTWARE FOR A WRITTEN COMPUTER IN INTERPRETED LANGUAGE
FR2826471A1 (en) EXTENSION OF SOFTWARE IN A DIGITAL TELEVISION RECEIVER / DECODER
EP2219113B1 (en) Display method, corresponding device and computer program product
FR2826761A1 (en) Network sent extensible mark up language document analysis having language detected and assigned content value read/automatic identification digital word assembly with mark up language/length equal value read.
FR2898707A1 (en) METHOD, DEVICE AND SYSTEM FOR MANAGING STRUCTURED INFORMATION IN A GRAPHICAL SCENE
FR2831684A1 (en) INSTALLING A COMPILE PROGRAM, ESPECIALLY IN A CHIP CARD
CN117932173A (en) System, method and device for picture skip service
CN106649705B (en) Webapp based application recommendation method and system
CA2383339A1 (en) Content management system for web sites
WO2002103980A2 (en) Method and system for broadcasting digital images
FR2796511A1 (en) Internet high rate remote client controlled server document amendments system having terminal request with dynamic library address identifying function Internet sent and server analyzing word field/selecting table/functions.
FR3019354A1 (en) METHOD FOR IDENTIFYING TEXT FORMS IN A DIGITAL DOCUMENT, AND METHOD AND SYSTEM FOR DETERMINING CONTEXTUAL INFORMATION THEREOF