Brevet FR2784474A1 — publié le 20000414

GESTIONNAIRE D'APPLICATIONS AVEC JEU D'INSTRUCTIONS DE GESTION VARIABLE L'invention concerne un système de traitement d'information permettant de traiter des données provenant d'au moins une application, comprenant un gestionnaire d'applications exécutant un jeu d'instructions de gestion. L'invention concerne également un décodeur numérique recevant notamment des applications par le biais d'un bouquet de programmes de télévision. Un système de traitement d'informations peut tre une machine qui permet de traiter des données provenant d'une application. L'application peut tre un ensemble de données. Les données constituent en général une suite d'instructions formulées dans un langage de programmation. Le système de traitement d'informations peut tre réalisé en utilisant notamment un système d'exploitation et un système d'exécution recevant des données d'une application. Le système de traitement de l'information peut également comprendre d'autres systèmes permettant de gérer des périphériques attachés à celui-ci et de façon générale tout ce qui n'est pas pris en charge par les systèmes d'exploitation et d'exécution. Un système de traitement d'informations selon l'invention permet de traiter des données provenant d'au moins une application et : -un système d'exploitation pour exécuter I'application, -un système d'exécution, et -un gestionnaire d'applications pouvant exécuter au moins un jeu d'instructions de gestion variable pour influer sur le système d'exploitation et/ou sur le système d'exécution notamment lorsque I'application est exécutée ou lors d'un passage de l'exécution de I'application à une autre exécution d'une autre application. Une première réalisation de l'invention prévoit que le système de traitement d'informations comprend un moyen de chargement du jeu d'instructions de gestion variable à partir d'une source d'instructions de gestion vers le gestionnaire d'application. Une seconde réalisation de l'invention prévoit que la source d'instructions de gestion soit l'application. Une troisième réalisation de l'invention prévoit que la source d'instructions de gestion provient d'un fournisseur de cation. Un décodeur numérique selon l'invention recçoit au moins une application par le biais d'un bouquet de programmes de télévision, et comprend : -un système d'exploitation, -une machine virtuelle permettant d'exécuter au moins une application, et -un gestionnaire d'applications pouvant exécuter au moins un jeu d'instructions de gestion variable pour influer sur le système d'exploitation et/ou sur la machine virtuelle lorsque l'application est exécutée ou lors d'un passage de l'exécution de l'application å une autre exécution d'une autre application. Une quatrième réalisation de l'invention prévoit que le jeu d'instructions de gestion variable est de nature déclarative statique. Le jeu d'instructions de gestion décrit des fonctions relatives à un état ou à une transition d'une application en exécution à un autre programme. Chaque application peut contenir dans un préambule un jeu d'instruction de gestion de nature déclarative statique. Une cinquième réalisation de l'invention prévoit que le gestionnaire d'applications comprend plusieurs jeux d'instructions de gestion variable provenant de plusieurs sources d'instructions de gestion. Une sixième réalisation de l'invention prévoit que le gestionnaire d'application comprend un moyen de sélection du jeu d'instructions de gestion variable qui sélectionne un jeu d'instructions de gestion d'après au moins un critère déterminé afin que le jeu d'instructions de gestion selectionné soit exécuté en priorité. Dans ce qui suit, des exemples de réalisation de l'invention sont décrits afin de mieux comprendre celle-ci. II est fait référence aux figures 1 à 3 : -la figure 1 contenant un schéma simplifié d'un système de traitement d'information, -la figure 2 contenant un schéma simplifié d'un décodeur numérique ; -la figure 3 contenant un schéma simplifié d'un autre décodeur numérique. Un système de traitement d'informations représenté dans la figure 1 peut tre réalisé en utilisant un système d'exploitation 1. Le système d'exploitation 1 comprend un logiciel permettant de gérer des tâches, allouer de l'espace dans une mémoire et d'adresser des dispositifs périphériques en liaison avec le système de traitement d'informations. Un système d'exécution 2 reçoit directement ou indirectement par le biais d'une mémoire des données d'une application 3. Le système d'exécution 2 permet d'exécuter la suite d'instructions véhiculées par les données. Le système d'exécution 2 peut tre réalisé à I'aide d'un logiciel. Le système d'exécution 2 communique avec le système d'exploitation 1 afin d'accéder notamment aux dispositifs périphériques et à une mémoire (non représentée) du système de traitement d'informations. Le système de traitement d'informations peut comprendre un gestionnaire d'applications 4. Ce dernier permet d'exécuter un jeu d'instructions de gestion. Ainsi, le gestionnaire d'applications 4 permet d'influer sur le système d'exploitation 1 et/ou sur le système d'exécution 2 lorsque l'application est exécutée par exemple. II serait par exemple possible que le gestionnaire d'applications 4 indique au système d'exploitation 1 quelles priorités donner à des commandes provenant du système d'exécution 2 lorsque l'application est exécutée. Un décodeur numérique 5 de télévision 6 représenté dans la figure 2 permet de recevoir une application 3 par le biais d'un récepteur satellite 7, d'un réseau câblé 8 et/ou d'une antenne hertzienne 9. L'application est transmise sur une chaîne de télévision, cette dernière ne transportant pas forcément un programme audiovisuel de telévision. II est également possible de recevoir d'autres applications sur d'autres chaînes. Le système d'exploitation 1 permet notamment de gérer des entrées/sorties et une mémoire (non représentée) du décodeur numérique 5. Une machine virtuelle 10 permet d'exécuter l'application 3. La machine virtuelle 10 est un exemple de système d'exécution 2 qui permet d'exécuter une application écrite en langage dit portable. Une autre machine virtuelle 10 pourrait tre implémentée pour un système de traitement d'informations autre que le décodeur numérique 5, permettant ainsi d'exécuter l'application 3 sur cet autre système. Le décodeur numérique 5 et, plus spécialement, I'ensemble formé par le système d'exploitation 1 et la machine virtuelle 10 peuvent tre conçu pour exécuter plusieurs applications pouvant provenir de plusieurs chaînes de façon multitâche, c'est-à-dire en mme temps. Le décodeur numérique 5 comprend en outre des composantes non représentées telles que un ou plusieurs pilotes pour que le système d'exploitation puisse communiquer avec des dispositifs périphériques, un interface utilisateur permettant à un utilisateur de communiquer avec l'application 3 exécutée ou avec le décodeur numérique 5 et pouvant comporter une ou plusieurs touches de fonction, une mémoire permettant de stocker I'application 3, d'éventuelles autres applications ou des données graphiques, etc.... Le décodeur peut également comprendre des moyens de décodage permettant de décoder un flux de données audiovisuelles sur une chaîne de télévision et de transmettre la vidéo décodée à la télévision 6. Le gestionnaire d'application 4 permet d'exécuter un jeu d'instructions de gestion et communique avec la machine virtuelle 10 et le système d'exploitation 1. II réalise des fonctions qui ne sont pris en charge ni par la machine virtuelle 10, ni par le système d'exploitation 1. Les fonctions résultantes de l'exécution du jeu d'instructions de gestion sont par exemple les suivantes : -prise en compte d'un état de l'application en exécution lorsqu'un changement de chaîne survient. Le changement de chaîne peut tre provoqué par exemple par un utilisateur, par I'application elle-mme ou mme par un diffuseur (non représentés) qui diffuse le contenu des chaînes. Le gestionnaire d'applications 4 peut, par exemple, interrompre I'application en exécution ou la mettre en veille. Le gestionnaire d'applications 4 peut provoquer un gel de la dernière image affichée sur la télévision ou afficher un graphique déterminé pendant que le changement de chaîne s'opère. II peut s'agir de palier un temps de chargement d'une autre application sur une autre chaîne ; * démarrer une procédure déterminée lorsqu'un chargement d'application ne s'effectue pas dans un délai déterminé ; 'configurer des touches de fonctions et les rendre actives ou ; déterminer un ordre d'ouverture de composantes audio, vidéo lorsque celles-ci sont transmises avec I'application sur une chaîne et que I'application leur fait appel... Le jeu d'instructions de gestion est stocké dans une mémoire de gestion (non représentée dans la figure 2) et ne peut tre modifié lors d'une utilisation normale du décodeur numérique 5. Le jeu d'instructions de gestion est relativement volumineux et complexe. Son élaboration mobilise un effort de développement considérable. Ainsi, chaque fois qu'une modification du jeu d'instructions de gestion est requise pour obtenir un fonctionnement différent du gestionnaire d'applications 4, il est nécessaire pour un fabriquant ou pour un programmeur du gestionnaire d'applications 4 de se réinvestir dans un nouveau développement d'un jeu complet d'instructions de gestion et dans une configuration nouvelle du décodeur numérique 5, notamment le remplacement ou la reprogrammation totale du gestionnaire d'applications 4, ce qui peut entraîner des coûts importants. II serait avantageux de pouvoir modifier le jeu d'instructions de gestion à moindre coût. II serait également avantageux de pouvoir mettre à jour le questionnaire d'application 4 en évitant d'implanter une configuration nouvelle dans le décodeur numérique par une intervention du fabriquant sur le décodeur numérique. La figure 3 contient le schéma d'un décodeur numérique 5 comprenant le système d'exploitation 1 et la machine virtuelle 10. Le gestionnaire d'application 4 comprend un jeu d'instructions de gestion variable 11, c'est-à-dire qui peut tre modifié, échangé ou effacé à tout moment. Ainsi, une partie du jeu d'instructions de gestion peut tre changée pour satisfaire à une spécification variable du gestionnaire d'application. Cela évite un nouveau développement d'un jeu complet d'instructions de gestion. Le jeu d'instructions de gestion variable 11 est exécuté par le gestionnaire d'application 4, ce qui résulte en un certain nombre de fonctions qui sont mises en oeuvre par une communication avec le système d'exploitation 1 et la machine virtuelle 10. Ces fonctions peuvent tre les mmes que celles décrites précédemment dans cette description. Toutefois, la liste des fonctions décrites n'est pas exhaustive. Elle est simplement destinée à expliquer par des exemples le râle du gestionnaire d'applications 4. Le jeu d'instructions de gestion variable 11 peut tre stocké dans une mémoire réinscriptible, par exemple, dans une mémoire vive à accès aléatoire. Un moyen de chargement 12 permet de charger le jeu d'instructions de gestion variable 11 vers le gestionnaire d'applications 4. Le moyen de chargement 12 peut tre relié à une ou plusieurs sources d'instructions de gestion ; par exemple un interface utilisateur 13 du décodeur numérique 5, un lien direct 14 avec une source des applications, un lien d'application 15 avec l'application 3 elle-mme. Dans ce dernier cas, le jeu d'instructions de gestion variable 11 peut tre contenu dans un préambule 16 de l'application 3. Le préambule 16 est une première partie de I'application 3 reçue par le décodeur numérique 5. Ayant reçu le jeu d'instructions de gestion variable 11, le gestionnaire d'application 4 peut exécuter celles-ci et réaliser des fonctions correspondantes pendant que I'application 3 est chargée en totalité. L'existence d'un préambule 16 n'entraine pas forcément l'existence de I'application 3. II est concevable d'inclure un jeu d'intructions de gestion dans le préambule 16 et de transmettre celui-ci au moyen de chargement 12 sans pour autant qu'il y ait une application associée. Dans le cas où la source des instructions de gestion est le lien direct 14 avec une source des applications, il est possible qu'un diffuseur de l'application fournisse un jeu d'instructions de gestion spécifique pour ses applications. Celui-ci peut par exemple entraîner que le gestionnaire d'application 4 affiche un graphisme caractéristique du diffuseur lors de temps d'attente causé par le chargement d'une application. Dans le cas où la source des instructions de gestion est l'interface utilisateur 13, il est possible qu'un utilisateur détermine par exemple les fonctions sous-jacentes à certaines taches du décodeur numérique 5. Dans le cas où aucune source extérieure telle que l'interface utilisateur 13, le lien direct 14 ou d'application 15 ne fournit des instructions de gestion, il peut tre prévu d'utiliser un jeu d'instructions de gestion standard stocké en permanence dans le gestionnaire d'applications 4. Dans un mode de réalisation avantageux il est prévu de donner à des jeux d'instructions de gestion provenant de sources différentes des priorités à l'exécution, selon un critère prédéterminé. Ainsi il peut par exemple tre défini qu'un jeu d'instructions de gestion provenant par le lien d'application 15 est prioritaire par rapport à un jeu d'instructions provenant par le lien direct 14 avec une source des applications. Le gestionnaire d'applications recevant ou ayant reçu des jeux d'instructions de gestion de ces deux liens 14 et 15, donne priorité à l'éxécution de celui provenant du lien d'application 1 5. Le jeu d'instructions variable 11 peut avoir un volume variable. II pourrait par exemple tre prévu que celui-ci comprenne des instructions de gestion provenant de plusieurs sources d'instructions de gestion. Ainsi, si le décodeur permet l'exécution de plusieurs applications en parallèle, il est possible que le gestionnaire d'application 4 réalise des fonctions différentes pour chaque application en exécution. ANNEXE 1. Système d'exploitation 2. Système d'exécution 3. Application 4. Gestionnaire d'applications 5. Décodeur numérique 6. Télévision 7. Récepteur satellite 8. Réseau câblé 9. Antenne hertzienne 10. Machine virtuelle 11. Jeu d'instructions de gestion variable 12. Moyen de chargement 13. Interface utilisateur 14. Lien direct avec une source d'applications 15. Lien d'application 16. Préambule d'application REVENDICATIONs 1. Décodeur numérique (5) pouvant recevoir au moins une application (3) par le biais d'un bouquet de programmes de télévision (7,8,9) comprenant : * un système d'exploitation (1), * une machine virtuelle (10) permettant d'exécuter au moins une application, * un gestionnaire d'applications (4) pouvant exécuter au moins un jeu d'instructions de gestion variable (11) pour influer sur le système d'exploitation et/ou sur la machine virtuelle lorsque l'application est exécutée ou lors d'un passage de l'exécution de l'application à une autre exécution d'une autre application. 2. Décodeur numérique selon la revendication 1, caractérisé en ce qu'il comprend un moyen de chargement (12) du jeu d'instructions de gestion variable à partir d'une source d'instructions de gestion (13, 14,15, 16) vers le gestionnaire d'applications. 3. Décodeur numérique selon la revendication 2, caractérisé en ce que la source d'instructions de gestion est I'application. 4. Décodeur numérique selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le jeu d'instructions de gestion est de nature déclarative statique. 5. Décodeur numérique selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le gestionnaire d'applications comprend plusieurs jeux d'instructions de gestion variables, provenant de plusieurs sources d'instructions de gestion. 6. Décodeur numérique selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le gestionnaire d'applications comprend un moyen de sélection du jeu d'instructions de gestion variable qui sélecte un jeu d'instructions de gestion d'après au moins un critère déterminé afin que le jeu d'instructions de gestion sélectionné soit exécuté en priorité.