Brevet FR2984552A1 — publié le 20130621

Arrière-plan de l'invention La présente invention se situe dans le domaine des dispositifs électroniques. Elle s'applique en particulier, mais de façon non limitative, aux dispositifs électroniques à usage domestique et ayant des capacités de stockage relativement limitées. Elle s'applique en particulier aux dispositifs faisant passerelle entre un réseau domestique et un réseau opérateur, aux Set-top box faisant l'interface entre un réseau de distribution de contenu télévisuel et un téléviseur, et aux consoles de jeu. De nombreux terminaux permettent aujourd'hui aux utilisateurs de télécharger ou d'installer de nouvelles applications. Malheureusement, dans l'état actuel de la technique, lorsque les ressources du terminal sont insuffisantes pour le stockage et/ou la bonne exécution d'une application, l'utilisateur doit désinstaller une application du terminal ou plus généralement supprimer des données contenues dans le terminal pour dégager une mémoire suffisante pour la nouvelle application. Cette situation n'est pas satisfaisante. Un des buts de l'invention est de remédier aux insuffisances de l'état de la technique. Objet et résumé de l'invention Ainsi, et selon un premier aspect, l'invention concerne un procédé de gestion d'au moins une application référencée par un dispositif, ce procédé comportant une étape de suppression de données d'exécution de l'application, ces données d'exécution ayant été stockées sur un équipement distant. Corrélativement, l'invention concerne un dispositif comportant des moyens de suppression de données d'exécution d'une application référencée sur ce dispositif, ces données d'exécution ayant été stockées sur un équipement distant. Le dispositif selon l'invention peut être un terminal. L'invention permet ainsi de libérer de la place dans le terminal pour permettre l'installation ou l'exécution d'une autre application, sans perdre les données d'exécution supprimées, celles-ci pouvant être récupérées auprès de l'équipement distant. Par conséquent, dans un mode de réalisation, le procédé de gestion selon l'invention comporte une étape de téléchargement de données d'exécution d'une application à partir de l'équipement distant. Dans un mode particulier de réalisation de l'invention, le procédé de gestion selon l'invention comporte une étape de sauvegarde de données d'exécution de l'application dans l'équipement distant avant de les supprimer. Cette sauvegarde n'est pas nécessaire si les données d'exécution sont déjà mémorisées par l'équipement distant. Au sens de la demande de brevet, l'équipement distant peut être relié au dispositif selon l'invention par tout type de réseau, notamment par le réseau d'un opérateur de télécommunication ou par un réseau local, par exemple un réseau domestique. En ce sens, l'invention se situe dans le domaine du "Cloud Compunting", et propose, de façon originale, d'utiliser les ressources du "Cloud" pour sauvegarder des données d'exécution d'applications. Dans un mode préféré de réalisation, le procédé de gestion selon l'invention comporte une étape de mise à jour d'un lien pointant sur les données d'exécution dans une mémoire du dispositif ou dans l'équipement distant. Cette caractéristique permet de retrouver facilement les données d'exécution qu'elles soient sauvegardées localement dans le dispositif ou dans l'équipement distant pour libérer de la place. Dans un mode de réalisation, les données d'exécution mentionnées ci-dessus comportent au moins une partie du code de l'application. Par exemple, dans un mode particulier de réalisation, le procédé de gestion selon l'invention comporte - une étape de réception d'une requête pour installer une première application dans le dispositif ; - une étape de désinstallation d'une deuxième application du dispositif ; et - une étape d'installation de la première application dans le dispositif. Dans un mode de réalisation, les données d'exécution mentionnées ci-dessus comportent au moins une partie du contexte d'exécution de l'application. L'invention propose ainsi de sauvegarder, dans un équipement distant, le contexte d'exécution d'une application exécutable par le dispositif, ce contexte étant téléchargé par le dispositif uniquement lorsque cette application doit être exécutée. L'invention permet ainsi d'éviter d'occuper de la mémoire par le contexte d'exécution d'une application qui n'est pas en cours d'exécution. Dans cette demande de brevet la notion "contexte d'exécution" désigne l'image d'une application à un instant donné, autrement dit l'ensemble des variables et registres de mémoire connus de l'application à cet instant donné. Conformément à cet aspect de l'invention, l'intégralité du contexte d'exécution peut être sauvegardée sur un équipement distant, ou seulement une partie, cette deuxième option permettant de diminuer le temps nécessaire au téléchargement du contexte d'exécution par le dispositif avant d'exécuter l'application. Par exemple, le procédé de gestion selon l'invention comporte une étape d'exécution de l'application, le contexte d'exécution de l'application, au cours de son exécution, étant sauvegardé dans une zone mémoire dudit dispositif; et - au moins une étape d'envoi d'au moins une partie de cette zone mémoire à l'équipement distant pour stocker sur l'équipement distant au moins une partie dudit contexte d'exécution. Dans un mode de réalisation, le procédé d'exécution selon l'invention comporte : -une étape de téléchargement d'un contexte d'exécution de l'application à partir de l'équipement distant ; - une étape de sauvegarde de ce contexte dans une zone mémoire du dispositif ; - et une étape d'exécution de l'application est effectuée en repartant du contexte sauvegardé dans la zone mémoire,. Dans un mode particulier de réalisation de l'invention, la zone mémoire dans laquelle on enregistre le contexte d'une application est une zone réservée pour cette application, c'est-à- dire étanche aux autres applications. On peut par exemple utiliser à cet effet une zone connue de l'homme du métier sous le terme "bac à sable" (en anglais "sandbox"), une telle zone permettant de définir un environnement d'exécution propre et sécurisé pour chaque application, c'est-à-dire étanche aux autres applications. Les caractéristiques et avantages du procédé de gestion mentionnés ci-dessus peuvent être transposés au dispositif ou au terminal selon l'invention. Dans un mode particulier de réalisation, les différentes étapes du procédé d'exécution et les différentes étapes de procédé de gestion sont déterminées par des instructions de programmes d'ordinateurs. En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre par un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes du procédé d'exécution ou les étapes de procédé de gestion tels que mentionnés ci-dessus. L'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre par un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes du procédé d'exécution ou de procédé de gestion tels que mentionnés ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessus en référence aux dessins qui en illustrent un exemple de réalisation dépourvu du caractère limitatif. Sur les figures - la figure 1 représente, sous forme d'organigramme, les principales étapes d'un procédé d'exécution et les principales d'un procédé de gestion conformes à un mode particulier de réalisation de l'invention ; et - la figure 2 représente de façon schématique, un dispositif conforme à un mode particulier de réalisation de l'invention. Description détaillée de l'invention En référence à la figure 2, on a représenté un dispositif TRM conforme à l'invention. Ce dispositif a l'architecture matérielle d'un ordinateur. Il comporte notamment un processeur 11, une mémoire vive de type RAM 12 et une mémoire morte de type ROM 13. Cette mémoire morte de type ROM 13 constitue un support au sens de l'invention ; elle enregistre un programme d'ordinateur PG qui comprend des instructions pour l'exécution des étapes du procédé de gestion représentées à la figure 1. Ce dispositif TRM comporte un système d'exploitation OS et des moyens de communication COM permettant au dispositif de communiquer, via un réseau NTW, avec un serveur SRV et un serveur d'application APSRV. Dans l'exemple de réalisation décrit ici, le dispositif TRM comporte une mémoire non volatile réinscriptible 14 dans lequel sont mémorisés le code exécutable EXE4 et EXE5 de deux applications AP4, AP5 et le contexte d'exécution CTXT4 de l'application AP4. Le code exécutable et le contexte d'exécution d'une application constituent des données d'exécution de cette application. Le dispositif TRM comporte également une table TAB dans lequel sont mémorisés les états de plusieurs applications à savoir, dans cet exemple, l'état de trois applications AP4, AP5 et AP6 et un lien pointant sur des données d'exécution de ces applications, soit dans une mémoire du dispositif TRM ou dans le serveur distant SRV. Dans cet exemple, la table TAB représente le fait que : - le code EXE4 et le contexte CTXT4 de l'application AP4 sont mémorisés dans la mémoire 14 ; - le code EXE5 de l'application AP5 est mémorisé dans la mémoire 14, le contexte CTXT5 de cette application étant sauvegardé sur le serveur distant SRV ; et que - le code EXE6 et le contexte CTXT6 de l'application AP6 sont sauvegardés dans le serveur distant SRV. Dans cet exemple, le dispositif TRM comporte un module MNG de gestion des applications référencées par ce dispositif et une interface homme-machine IHM. Dans cet exemple, le serveur distant SRV mémorise une base de données MD comportant le code EXE6 et le contexte CTXT6 de l'application AP6 et le contexte CTXT5 de l'application AP5. Le serveur d'application APSRV est un serveur auprès duquel le dispositif TRM peut télécharger une nouvelle application AP1 de code EXE1. Les étapes E10 à E80 de la figure 1 représentent les principales étapes d'un procédé de gestion conforme à l'invention. On supposera, au cours d'une étape E5, que l'utilisateur du dispositif TRM souhaite installer l'application AP1 disponible auprès de serveur APSRV. A cet effet, l'utilisateur utilise l'interface homme-machine IHM du dispositif et une commande INST d'installation est émise par cette interface homme-machine vers le module de gestion MNG du terminal. Au cours d'une étape E10, le module de gestion MNG vérifie si la mémoire 14 a une capacité suffisante pour accueillir le code EXE1 de l'application APL Si tel est le cas, le résultat du test E10 est positif et l'application est téléchargée par les moyens de communication COM et installée dans la mémoire 14. Un nouveau lien est créé dans le tableau TAB pour indiquer que l'exécutable EXE1 est sauvegardé dans la mémoire 14. Si la mémoire flash 14 ne permet pas d'installer le code EXE1 de l'application AP1, le résultat du test E10 est négatif. Ce test est alors suivi par une étape E15 au cours de laquelle le module de gestion MNG sélectionne, parmi les applications installées dans le dispositif, l'application la moins fréquemment utilisée. A cet effet, dans l'exemple de réalisation décrit ici, la table TAB comporte une colonne d'usage « US » comportant un indicateur d'usage de chacune des applications. Dans l'exemple de réalisation décrit ici, nous supposerons que l'application la moins utilisée est l'application AP6. Le code EXE6 et le contexte CXT6 de cette application sont sauvegardés, via le réseau NTW, dans la base de données BD du serveur SRV au cours d'une étape E20. L'application AP6 est désinstallée de la mémoire flash du dispositif 14 au cours d'une étape E25. Les liens vers les données d'exécution de l'application AP6 sont mis à jour pour pointer vers le serveur SRV. La figure 2 représente l'état du tableau TAB, de la base de données BD et de la mémoire 14 après cette sauvegarde et cette désinstallation. Au cours d'une étape E30, l'application AP1 est téléchargée par les moyens de communication COM du dispositif TRM à partir du serveur d'application APSRV et installée dans la mémoire 14. Nous supposerons maintenant, que l'utilisateur du dispositif TRM utilise l'interface homme-machine IHM pour lancer une application (commande STRT). Si ceux-ci ne sont pas mémorisés dans la mémoire 14 du dispositif, le module de gestion MNG télécharge, en suivant les liens de l'application de cette application, au cours d'une étape E40, l'exécutable EXE et/ou le contexte CTXT de l'application à partir du serveur SRV via le réseau NTW. Au cours d'une étape E45, le module de gestion MNG réserve, dans une mémoire 15 du dispositif TRM, une zone réservée ZR pour cette application. Il sauvegarde l'exécutable EXE et/ou le contexte CTXT de l'application dans la zone réservée ZR au cours d'une étape E50. Les liens sont mis à jour. Puis, au cours d'une étape E55, l'application est exécutée. Dans l'exemple de réalisation décrit ici, le module de gestion MNG sauvegarde, dans le serveur distant SRV, le contexte d'exécution CTXT de l'application en cours de l'exécution régulièrement, toutes les T secondes. A cet effet, le procédé d'exécution selon l'invention vérifie, au cours d'un test E60, si la durée T a expiré. Si tel est le cas, le dispositif TRM envoie, au cours d'une étape E65, tout ou partie du contexte CTXT de l'application en cours d'exécution au serveur distant SRV. Les liens relatifs à ce contexte sont mis à jour. Puis, au cours d'une étape E70 le terminal vérifie si l'utilisateur a demandé, au moyen de l'interface homme-machine IHM, l'arrêt de l'application (commande STOP). Si tel est le cas, le terminal TRM sauvegarde une nouvelle fois le contexte d'exécution de l'application dans le serveur distant au cours d'une étape E75 et arrête l'exécution de l'application au cours d'une étape E80. REVENDICATIONS1. Procédé de gestion d'au moins une application référencée par un dispositif (TRM), caractérisé en ce qu'il comporte une étape (E25) de suppression de données d'exécution de ladite application, lesdites données d'exécution ayant été stockées sur un équipement distant. 2. Procédé de gestion selon la revendication 1, caractérisé en ce qu'il comporte une étape de téléchargement de données d'exécution de ladite application à partir dudit équipement distant. 3. Procédé de gestion selon la revendication 1, caractérisé en ce qu'il comporte une étape de sauvegarde (E20, E65, E75) de données d'exécution de ladite application dans ledit équipement distant avant ladite suppression. 4. Procédé de gestion selon la revendication 1, caractérisé en ce qu'il comporte une étape de mise à jour d'un lien pointant sur lesdites données d'exécution dans une mémoire dudit dispositif ou dans l'équipement distant. 5. Procédé d'exécution selon la revendication 1, caractérisé en ce que lesdites données d'exécution comportent au moins une partie du code de ladite application. 20 6. Procédé de gestion selon la revendication 5, caractérisé en ce qu'il comporte : - une étape (E5) de réception d'une requête pour installer une première application (APi) dans le dispositif (TRM) ; - une étape de désinstallation (E25) d'une deuxième application (AP2) du dispositif ; et 25 - une étape (E30) d'installation de la première application dans ledit dispositif. 7. Procédé d'exécution selon la revendication 1, caractérisé en ce que lesdites données d'exécution comportent au moins une partie du contexte d'exécution de ladite application. 30 8. Procédé de gestion selon la revendication 7 caractérisé en ce qu'il comporte une étape (E55) d'exécution de ladite application, le contexte d'exécution de ladite application, au cours de son exécution, étant sauvegardé dans une zone mémoire (ZR) dudit dispositif; et - au moins une étape (E65, E75) d'envoi d'au moins une partie de ladite zone mémoire audit équipement distant pour stocker sur l'équipement distant au moins une partie dudit contexte 35 d'exécution. 9. Procédé d'exécution selon la revendication 7, caractérisé en ce qu'il comporte :-une étape (E40) de téléchargement d'un contexte d'exécution (CTXT) de ladite application à partir de l'équipement distant ; - une étape (E50) de sauvegarde dudit contexte dans une zone mémoire (ZR) dudit dispositif ; - et une étape (E55) d'exécution de ladite application est effectuée en repartant du contexte sauvegardé dans ladite zone mémoire, 10. Procédé d'exécution selon la revendication 8 ou 9, caractérisé en ce que ladite zone mémoire (ZR) est une zone réservée pour ladite application, étanche aux autres applications. 11. Dispositif (TRM), caractérisé en ce qu'il comporte des moyens de suppression de données d'exécution d'au moins une application référencée sur ce terminal, lesdites données d'exécution ayant été stockées sur un équipement distant. 12. Dispositif (TRM) selon la revendication 11, caractérisé en ce qu'il comporte des moyens de téléchargement de données d'exécution de ladite application à partir dudit équipement distant. 13. Dispositif de gestion selon la revendication 11, caractérisé en ce qu'il comporte des moyens de mise à jour d'un lien pointant sur lesdites données d'exécution dans une mémoire dudit dispositif ou dans l'équipement distant. 14. Programme d'ordinateur (PG) comportant des instructions pour l'exécution des étapes d'un procédé de gestion selon l'une quelconques des revendications 1 à 9 lorsque ledit programme est exécuté par un ordinateur. 15. Support d'enregistrement (13) lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur (PG) comprenant des instructions pour l'exécution des étapes du procédé de gestion selon l'une quelconques des revendications 1 à 9.