WO2003001375A1 - Extension d'un logiciel dans un recepteur/decodeur de television numerique - Google Patents

Extension d'un logiciel dans un recepteur/decodeur de television numerique Download PDF

Info

Publication number
WO2003001375A1
WO2003001375A1 PCT/FR2002/002193 FR0202193W WO03001375A1 WO 2003001375 A1 WO2003001375 A1 WO 2003001375A1 FR 0202193 W FR0202193 W FR 0202193W WO 03001375 A1 WO03001375 A1 WO 03001375A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
data
extension
plug
manager
Prior art date
Application number
PCT/FR2002/002193
Other languages
English (en)
Inventor
Hongtao Liao
Benoît LEBLANC
Jean-Stéphane Villers
Original Assignee
Canal + Technologies
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 + Technologies filed Critical Canal + Technologies
Publication of WO2003001375A1 publication Critical patent/WO2003001375A1/fr

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

Definitions

  • the present invention relates to a method of software extension 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.
  • Software can generally be defined as being a series of instructions which 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".
  • 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 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 ...
  • 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.
  • 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.
  • 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.
  • the transition flow can contain the data in sequential form which makes it possible to pass the data as and when they are available.
  • the transition flow will contain the data in an order defined by the plug-in.
  • random access mode assumes that the remote server can provide the data in the defined order and on request. Browsers and their plug-ins are becoming more and more common on 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.
  • the navigation software and the plug-in are integrated into a middle layer of software called middleware.
  • the iddleware 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.
  • the middleware is executed on top of a low software layer called the operating system.
  • 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.
  • 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 data of a determined type, the method comprising at least the following steps:
  • 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,
  • the inventive method comprises loading and storing data of the determined type into a memory of the receiver / decoder from a storage reference.
  • 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.
  • the subject of the invention is also a digital television receiver / decoder comprising:
  • 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.
  • 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. However, it forces to freeze the selection of integrated software from kernel 1 software before compilation.
  • 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.
  • 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.
  • 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 is often referred to as API from the English Application Programmer Interface.
  • 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.
  • 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.
  • a digital television operator retains the possibility of offering a scalable program / application interface 6 according to his needs.
  • 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.
  • 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 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.
  • Middleware which in English means "middleware”
  • 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.
  • plug-in data 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>,
  • a generic example of plug-in parameters and options accompanying a mark preceding a URL is as follows: - 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)
  • 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.
  • There are therefore several types of plug-in display and in particular the following three: integrated (or 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.
  • 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.
  • 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.
  • the implementation of the plug-in 7 according to the invention is done in a language interpretable by the virtual machine 3.
  • 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.
  • a software application extension such as for example a plug-in 7 can by its nature be downloaded into a volatile memory of the receiver / decoder, executed by the virtual machine 3 then destroyed in order to free the volatile memory.
  • 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.
  • 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.
  • the application extension manager 8 is content to indicate to it a means of access to the plug-in data.
  • the means of accessing the plug-in data generally corresponds to a storage reference.
  • the latter references the location where the plug-in data is stored.
  • Plug-in data can by 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.
  • the application extensions manager 8 logically interfaces between an application extension such as the plug-in 7 and an integrated software such as navigation software 2 or even an application 4. It can be coded entirely in a language which will be interpreted by the virtual machine 3 when it is interfaced with an application 4 or even be partially coded in a compilable language so as to be partially integrated into the kernel software 1 in native code when it is interfaced with an integrated software such as the navigation software 2. In another embodiment, the application extensions manager 8 is implemented entirely in compilable code and its native code integrated into the kernel software 1.
  • Plug-in data exchange to a plug-in can be done in at least two modes called Normal or Random access, data can be obtained from an input data stream of the receiver / decoder or from a memory of the receiver / decoder: - Normal mode: the plug-in data reach the plug-in 7 in a sequential order as the data becomes available.
  • the plug-in data to be sent to plug-in 7 is specified by the plug-in.
  • the plug-in data are transmitted in a particular order according to the specifications of the plug-in.
  • This mode allows in particular to implement stop, reverse 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 the plug-in 7.
  • the navigation software 2 transmits to the plug-in
  • the data can then on instruction of the plug-in be accessed at the place indicated by the storage reference.
  • 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.
  • the storage reference indicates a memory address specific to the receiver / decoder
  • 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 accessible in the receiver / decoder. Plug-in 7 can thus directly access this file.
  • the plug-in may plan to erase the plug-in data at its location in order to free up the capacity storage.

Landscapes

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

Abstract

Un récepteur/décodeur de télévision numérique comprend des moyens de réception de données numériques, un logiciel noyau codé en natif et permettant de traiter des données numériques et un logiciel de navigation intégré au logiciel noyau et permettant de traiter notamment une page en HTML. Un gestionnaire d'extensions cause l'exécution d'une extension en langage interprété par une machine virtuelle également intégrée dans le logiciel noyau afin de traiter des données d'un type déterminé référencées dans la page HTML.

Description

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.
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" .
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 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...
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.
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 . Les logiciels de navigation et leurs plug-ins deviennent de plus en plus répandus sur des 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 .
Le logiciel de navigation et le plug-in sont intégrés dans une couche médiane de logiciels nommée middleware. Le iddleware 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.
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.
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 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.
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, - 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 .
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 .
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.
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. 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.
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.
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. Toutefois elle contraint à figer la sélection de logiciels intégrés du logiciel noyau 1 avant compilation. 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.
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.
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 est souvent désignée sous le nom API provenant de l'Anglais 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.
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.
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.
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 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.
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.
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.
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 : - 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.
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- in. II existe donc plusieurs types d'affichage de plug-in et notamment les trois suivants : intégré (ou 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.
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.
L' implémentation du plug-in 7 selon l'invention se fait dans un langage interprétable par la machine virtuelle 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.
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 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.
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.
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.
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.
Le moyen d'accéder aux données plug-in correspond généralement à une référence de stockage . Cette dernière référence l'endroit où sont stockées les données plug-in. Les données plug-in peuvent par 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.
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. Il peut être codé entièrement dans un langage qui sera interprété par la machine virtuelle 3 lorsqu'il est interface 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 interface 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.
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 : - 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.
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. 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.
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.
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 accessible dans le récepteur/décodeur. Le plug-in 7 peut ainsi directement accéder à ce fichier.
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.
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.

Claims

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.
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, - 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.
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.
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 .
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, 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.
PCT/FR2002/002193 2001-06-26 2002-06-25 Extension d'un logiciel dans un recepteur/decodeur de television numerique WO2003001375A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0108398 2001-06-26
FR0108398A FR2826471A1 (fr) 2001-06-26 2001-06-26 Extension d'un logiciel dans un recepteur/decodeur de television numerique

Publications (1)

Publication Number Publication Date
WO2003001375A1 true WO2003001375A1 (fr) 2003-01-03

Family

ID=8864766

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/002193 WO2003001375A1 (fr) 2001-06-26 2002-06-25 Extension d'un logiciel dans un recepteur/decodeur de television numerique

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777920A (zh) * 2012-10-23 2014-05-07 Ca公司 基于数据特性来识别对应指令的数据处理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0911728A1 (fr) * 1997-10-27 1999-04-28 Sun Microsystems, Inc. Méthode et appareil pour fournir des décodeurs de media enfichables
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 (fr) * 1999-06-18 2000-12-28 Epicrealm Operating Inc. Procede et appareil pour des communications client-serveur utilisant un client a capacite restreinte pour une liaison a faible debit

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 (fr) * 1997-10-27 1999-04-28 Sun Microsystems, Inc. Méthode et appareil pour fournir des décodeurs de media enfichables
WO2000079757A2 (fr) * 1999-06-18 2000-12-28 Epicrealm Operating Inc. Procede et appareil pour des communications client-serveur utilisant un client a capacite restreinte pour une liaison a faible debit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103777920A (zh) * 2012-10-23 2014-05-07 Ca公司 基于数据特性来识别对应指令的数据处理系统

Also Published As

Publication number Publication date
FR2826471A1 (fr) 2002-12-27

Similar Documents

Publication Publication Date Title
AU2021232817A1 (en) Methods, systems, apparatus, products, articles and data structures for cross-platform digital content
US9569555B2 (en) Method for adding a user-selectable function to a hyperlink
JP4989018B2 (ja) ウェブコンテンツのビューを変更する技法
CN100437552C (zh) 执行标记文档applet的设备和方法
EP1943638A1 (fr) Procede de gestion de polices de caracteres a l&#39;interieur de scenes multimedia, programme d&#39;ordinateur et terminal correspondants
US20080155425A1 (en) Browser Renderable Toolbar
CA2462431A1 (fr) Navigateur a logique d&#39;adaptation contextuelle
EP2643961A1 (fr) Communication entre deux applications web
EP1585037B1 (fr) Procédé de reconnaissance et de référencement pour accès aux objets dynamiques dans les pages de navigation internet
WO2003001375A1 (fr) Extension d&#39;un logiciel dans un recepteur/decodeur de television numerique
EP1388134A1 (fr) Procede et systeme de gestion de donnes destinees a etre stockees dans une carte a puce programmable
EP2219113A2 (fr) Procédé d&#39;affichage, dispositif et produit programme d&#39;ordinateur correspondant
FR2826761A1 (fr) Procede d&#39;analyse d&#39;un document represente dans un langage de balisage
EP1997040A1 (fr) Procédé, dispositif et système de gestion d&#39;informations structurées au sein d&#39;une scène graphique
JP2004021304A (ja) クライアント・サーバ形式のダウンロードシステム
WO2000022815A1 (fr) Gestionnaire d&#39;applications avec jeu d&#39;instructions de gestion variable
WO2003038610A1 (fr) Installation de programme compile notamment dans une carte a puce
EP3398345B1 (fr) Procédé et dispositif de traitement de flux multimédia pour vérification des droits d&#39;accès
FR3071641B1 (fr) Procede de configuration d&#39;un element securise tel qu&#39;une carte electronique
WO2002103980A2 (fr) Procede et systeme de diffusion d&#39;images numeriques
CN117932173A (zh) 一种图片跳转服务的系统、方法和装置
FR2913276A1 (fr) Procede et dispositif de communication.
CN110909107A (zh) 一种基于Zeppelin呈现地图的方法、设备、存储介质
FR2796511A1 (fr) Telecommande d&#39;execution d&#39;une fonction dans un serveur
FR2787897A1 (fr) Procede et dispositif d&#39;ajout d&#39;information a un fichier informatique

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2004106604

Country of ref document: RU

Kind code of ref document: A

Ref document number: 2004106610

Country of ref document: RU

Kind code of ref document: A

Ref document number: 2004106612

Country of ref document: RU

Kind code of ref document: A

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP