Brevet FR2852708A1 — publié le 20040924

La présente invention concerne un procédé de mise à disposition de composants 10 informatiques. Elle s'applique, en particulier, à la mise à disposition et à la mise à jour de composants informatiques mis en oeuvre par des terminaux multimédias. Il existe une très grande variété de protocoles de communication et de formats de contenu pouvant être utilisés pour la réalisation de services multimédia. Compte-tenu de l'état actuel des techniques mises en oeuvre, il n'est pas envisageable que les terminaux 15 destinés à la diffusion de tels services puissent être compatibles avec l'ensemble des protocoles et formats existants. De plus, ces protocoles et formats sont en perpétuelle évolution, afin de suivre au plus près les innovations technologiques effectuées en la matière. De plus, les opérateurs de ces terminaux devraient avoir la possibilité d'adapter les 20 caractéristiques des terminaux en fonction des protocoles et formats utilisés. Cette opération doit être effectuée sans perturber l'utilisation qui est faite du terminal, donc sans en interrompre le fonctionnement. D'autre part, afin de permettre le succès commercial des services multimédia mis au point, il est de l'intérêt des opérateurs de pouvoir diffuser ces services sur le plus grand nombre de terminaux. Ainsi, du fait de l'évolution très rapide des logiciels et des standards de représentation d'information, en particulier dans le domaine multimédia, il est nécessaire de disposer de composants informatiques, programmes complets ou routines exploités par des programmes, sur de nombreux terminaux et de les remettre à jour régulièrement. On connaît des procédés de chargement manuel de composants informatiques, 30 mettant en oeuvre des supports d'information, disquettes ou CD-ROM, par exemple. Ces procédés sont coûteux à mettre en oeuvre puisqu'un opérateur doit intervenir sur chaque terminal. Il en est de même avec le téléchargement sur Internet. On connaît des procédés de transmission de composants informatiques au démarrage de terminaux informatiques, par exemple les ordinateurs de réseaux connus sous 35 le nom de NC (pour Network Computer). Ces procédés présentent l'inconvénient de demander beaucoup de ressources au réseau, notamment en termes de bande passante. On connaît les procédés de mise à jour de logiciels anti-virus dans lesquels le terminal mesure la durée écoulée depuis la dernière mise à jour et, dès que cette durée est supérieure à une valeur limite, par exemple quinze jours, le logiciel en question propose à l'utilisateur d'accéder à un serveur pour y récupérer les mises à jour nécessaires à la bonne protection du terminal contre les virus. Ces procédés ne répondent pas à la nécessité de disposer en permanence des mises à jours de logiciels multimédias. De plus, de nombreux installations de composants informatique requièrent un redémarrage du terminal, ce qui n'est pas envisageable pour des terminaux multimédias mis à disposition de clients d'un hôtel, par exemple. La présente invention vise à remédier à ces inconvénients. A cet effet, la présente invention vise un procédé de mise à disposition de composants informatiques, caractérisé en ce qu'il comporte: A/ pour un serveur de réseau: - une étape d'installation, sur le serveur, d'un composant informatique, - une étape de définition de chaque classe de terminaux compatibles avec ledit composant informatique, - une étape de diffusion d'une information de mise à disposition dudit composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant et B/ pour chaque terminal: - une étape de détection de besoin dudit composant, - une étape de détermination de compatibilité du terminal, en fonction de l'information représentative de chaque classe de terminaux compatibles, - si le besoin du composant est détecté et que le terminal est compatible avec le composant, 25 une étape de transmission audit serveur d'une requête de chargement dudit composant. Grâce à ces dispositions, un composant informatique n'est transmis à un terminal qu'aux deux conditions qu'il en ait besoin et qu'il soit compatible avec ce composant. Les ressources, en particulier la bande passante, consommées sont donc très réduites tout en garantissant que l'utilisateur du terminal dispose en permanence de la dernière mise à jour 30 ou des nouveaux composants informatiques disponibles. Le procédé peut être mis en oeuvre avec des terminaux destinés à la diffusion de services multimédia et modifier dynamiquement la configuration des terminaux pour en adapter le fonctionnement selon les protocoles et formats propres à chaque service ou application demandée par leurs utilisateurs. Selon des caractéristiques particulières, le procédé tel que succinctement exposé cidessus comporte, pour chaque terminal, une étape de lancement d'un système d'exploitation réduit qui ne nécessite pas de re-démarrage après l'installation d'un composant informatique. Grâce à ces dispositions, le terminal n'a pas besoin de redémarrer après une installation de composant informatique. Selon des caractéristiques particulières, le procédé tel que succinctement exposé cidessus comporte, en réponse à la requête de chargement, une étape de téléchargement au cours de laquelle le serveur télécharge le composant informatique requis sur ledit terminal. Grâce à ces dispositions, la mise à disposition de chaque composant nécessaire, ou sa mise à jour, sont entièrement automatiques. Selon des caractéristiques particulières, le procédé tel que succinctement exposé cidessus comporte, après l'étape de téléchargement du composant informatique, une étape 10 d'installation dudit composant informatique. Selon des caractéristiques particulières, après l'étape d'installation du composant informatique, le procédé comporte une étape de test dudit composant informatique téléchargé. Grâce à chacune de ces dispositions, d'une part, l'utilisation du composant informatique est ainsi immédiatement possible et le composant informatique peut être validé par le terminal. Selon des caractéristiques particulières, le procédé tel que succinctement exposé cidessus comporte, à la suite de l'étape de test, si le composant fonctionne correctement, une étape de détermination qu'un composant informatique précédemment présent sur le terminal 20 est inutile et, dans ce cas, une étape de destruction dudit composant informatique inutile. Grâce à ces dispositions, l'espace mémoire du terminal n'est pas encombré par des composants inutiles, en particulier les anciennes versions d'un composant qui sont remplacées par le composant informatique nouvellement installé. Selon des caractéristiques particulières, l'étape de détection de besoin comporte une 25 étape de détection d'un nombre d'utilisateurs. Grâce à ces dispositions, lorsqu'un utilisateur de plus souhaite utiliser le terminal, par exemple pour jouer, le ou les composants informatiques nécessaires sont automatiquement ajoutés ou mis à jour dans le terminal. Selon des caractéristiques particulières, l'étape de détection de besoin comporte une 30 étape de détection d'un format de fichier. Grâce à ces dispositions, lorsqu'un utilisateur souhaite accéder à un fichier auquel aucun composant informatique ne permet d'accéder correctement, un ou des composants informatiques nécessaires sont automatiquement ajoutés ou mis à jour dans le terminal. Selon des caractéristiques particulières, l'étape de détection de besoin comporte une 35 étape de détection d'une demande d'accès à un service. Grâce à ces dispositions, lorsqu'un utilisateur souhaite accéder à un service auquel aucun composant informatique ne permet d'accéder correctement, un ou des composants informatiques nécessaires sont automatiquement ajoutés ou mis à jour dans le terminal. Par exemple, si l'utilisateur souhaite téléphoner ou voir un programme audiovisuel diffuser et que le terminal ne comporte que des composants informatiques de jeu, les composants informatiques de téléphonie et/ou de réception, décryptage, décodage, paiement, et diffusion de programmes audiovisuel sont automatiquement mis à sa disposition. Un deuxième aspect de la présente invention vise un procédé de mise à disposition de composants informatiques, caractérisé en ce qu'il comporte, pour un serveur de réseau: - une étape d'installation, sur le serveur, d'un composant informatique, - une étape de définition de chaque classe de terminaux compatibles avec ledit composant 10 informatique, - une étape de diffusion d'une information de mise à disposition dudit composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant, - une étape de réception d'une requête de chargement dudit composant de la part d'un 15 terminal et, - une étape de téléchargement dudit composant vers ledit terminal. Un troisième aspect de la présente invention vise un procédé de mise à disposition de composants informatiques, caractérisé en ce qu'il comporte, pour un terminal: - une étape de réception d'une information de mise à disposition d'un composant et d'une 20 information représentative de chaque classe de terminaux compatibles avec ledit composant, - une étape de détection de besoin dudit composant, - une étape de détermination de compatibilité du terminal, en fonction de l'information représentative de chaque classe de terminaux compatibles, et - si le besoin du composant est détecté et que le terminal est compatible avec le composant, une étape de transmission à un serveur d'une requête de chargement dudit composant. Un quatrième aspect de la présente invention vise un serveur de mise à disposition de composants informatiques, caractérisé en ce qu'il est comporte: - un moyen d'installation, sur le serveur, d'un composant informatique, - un moyen de définition de chaque classe de terminaux compatibles avec ledit composant informatique, - un moyen de diffusion d'une information de mise à disposition dudit composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant, - un moyen de réception d'une requête de chargement dudit composant de la part d'un terminal, et - un moyen de téléchargement dudit composant vers ledit terminal. Un cinquième aspect de la présente invention vise un terminal informatique, caractérisé en ce qu'il comporte: - un moyen de réception d'une information de mise à disposition d'un composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant, - un moyen de détection de besoin dudit composant, - un moyen de détermination de compatibilité du terminal, en fonction de l'information représentative de chaque classe de terminaux compatibles, un moyen de transmission de requête adapté, si le besoin du composant est détecté et que 10 le terminal est compatible avec le composant, à transmettre une requête envers le serveur de chargement dudit composant. Les caractéristiques particulières et avantages des deuxième à cinquième aspects de la présente invention étant similaires à ceux du premier aspect, ils ne sont pas rappelés ici. D'autres avantages, buts et caractéristiques de la présente invention ressortiront de 15 la description qui va suivre faite, dans un but explicatif et nullement limitatif, en regard des dessins annexés dans lesquels: - la figure 1 représente un réseau informatique adapté à la mise en oeuvre d'un mode particulier de réalisation de la présente invention et - la figure 2 représente un organigramme d'étapes réalisées par un serveur et un terminal au cours de la mise en oeuvre du mode particulier de réalisation illustré en figure 1. On observe, en figure 1, un serveur 10, relié, par un réseau 20, à des terminaux 30 à 35. Le serveur 10 est de type connu. Il est adapté à mettre en oeuvre l'organigramme illustré en figure 2, en coopération avec les terminaux 30 à 35. Le réseau 20 est, par exemple, le réseau Internet, un réseau extranet ou un réseau intranet. Il utilise, préférentiellement, le 25 protocole http (pour hypertext transfer protocol). Les terminaux 30 à 35 sont de différentes classes, par exemple, de différents types ou de différentes versions du même type. Par exemple, les terminaux 30 et 31 sont de classe A, les terminaux 32 et 33 sont de classe B et les terminaux 34 et 35 sont de classe C. Les terminaux 30 à 35 sont adaptés à mettre en oeuvre l'organigramme illustré en figure 2, 30 en coopération avec le serveur 10. En particulier, le serveur 10 comporte: - un moyen 11 d'installation, sur le serveur, d'un composant informatique, par exemple par chargement par disquette, CD-ROM ou tout autre support d'information, ou sur un réseau informatique, par exemple le réseau 20; - un moyen 12 de définition de chaque classe de terminaux compatibles avec ledit composant informatique, par exemple par lecture de propriétés associées à un ou plusieurs fichiers du composants informatique et spécifiant, une dimension de mémoire vive requise, une vitesse de processeur requise, des périphériques requis; - un moyen 13 de diffusion d'une information de mise à disposition dudit composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant, par exemple un ou plusieurs modem transmettant, à destination de tous les terminaux, 30 à 35, un message représentatif de ces informations; - un moyen 14 de réception d'une requête de chargement dudit composant de la part d'un terminal, par exemple un ou plusieurs modems; et - un moyen 15 de téléchargement dudit composant vers ledit terminal, par exemple un 10 modem transmettant, à l'adresse dudit terminal, un fichier exécutable d'installation dudit composant. Ainsi, le serveur de réseau 10 est adapté à mettre en oeuvre: - une étape d'installation, sur le serveur, d'un composant informatique, - une étape de définition de chaque classe de terminaux compatibles avec ledit composant 15 informatique, - une étape de diffusion d'une information de mise à disposition dudit composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant, - une étape de réception d'une requête de chargement dudit composant de la part d'un 20 terminal et, - une étape de téléchargement dudit composant vers ledit terminal. Chaque terminal 30 à 35 comporte: - un moyen 36 de réception d'une information de mise à disposition d'un composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit 25 composant, par exemple un modem; - un moyen 37 de détection de besoin dudit composant, par exemple un clavier ou un dispositif de pointage (par exemple une souris) accessible à un utilisateur pour choisir un service, un programme audiovisuel, un jeu; et un logiciel détectant si, pour l'application sélectionnée par l'utilisateur, un composant informatique pour lequel le terminal a reçu une 30 information de mise à disposition; un moyen 38 de détermination de compatibilité du terminal, en fonction de l'information représentative de chaque classe de terminaux compatibles, par exemple une comparaison de la version du terminal, de ses ressources, de sa mémoire ou de ses périphériques avec les caractéristiques requises pour l'installation du composant informatique nécessaire; et 35 - un moyen 39 de transmission de requête adapté, si le besoin du composant est détecté et que le terminal est compatible avec le composant, à transmettre une requête envers le serveur de chargement dudit composant, par exemple un modem. Ainsi, chaque terminal 30 à 35 est adapté à effectuer: - une étape de réception d'une information de mise à disposition d'un composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant, - une étape de détection de besoin dudit composant, - une étape de détermination de compatibilité du terminal, en fonction de l'information représentative de chaque classe de terminaux compatibles, et - si le besoin du composant est détecté et que le terminal est compatible avec le composant, une étape de transmission à un serveur d'une requête de chargement dudit composant. On observe, en figure 2, trois colonnes dans lesquelles sont représentées, dans un ordre chronologique allant du haut vers le bas, différentes étapes mises en oeuvre, respectivement de gauche à droite, par le serveur 10, le terminal 30 et le terminal 32. Au cours d'une étape 110, le serveur 10 est initialisé de manière connue. Au cours d'une étape 112, les terminaux 30 et 32 sont initialisés et lancent, chacun, un système d'exploitation réduit qui ne nécessite pas de re-démarrage après l'installation d'un composant informatique. Par exemple, ce système d'exploitation est basé sur un noyau UNIX de type connu. Au cours d'une étape 114, on installe, sur le serveur, un composant informatique, par exemple par chargement par disquette, CD-ROM ou tout autre support d'information, ou sur un réseau informatique, par exemple le réseau 20. Au cours d'une étape 116, on définit 20 chaque classe de terminaux compatibles avec le composant informatique installé sur le serveur au cours de l'étape 114, par exemple par lecture de propriétés associées à un ou plusieurs fichiers du composants informatique et spécifiant, une dimension de mémoire vive requise, une vitesse de processeur requise, des périphériques requis. On suppose, dans la suite de la description de la figure 2, que le composant informatique installé au cours de l'étape 114 est compatible avec les classes A (terminaux 30 et 31) et C (terminaux 34 et 35). Au cours d'une étape 118, le serveur diffuse une information de mise à disposition du composant informatique et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant. Par exemple, le message diffusé par le serveur au cours de l'étape 118 représente: - un nom de composant, par exemple "décodeur vidéo magicvidéo" - un nom de version, par exemple "2.0.18" - un type de processeur requis, par exemple "acceleron" - une vitesse de processeur requise, par exemple "7,5 GHz" - une quantité de mémoire requise, par exemple "512 Mo" - des périphériques requis, par exemple "lunettes de vision 3D" et - les classes compatibles, par exemple "A et C". Au cours d'une étape 120, chaque terminal reçoit l'information transmise par le serveur, au cours de l'étape 118, et la mémorise. Au cours d'une étape 121, le terminal 30 détecte qu'il a besoin du composant concerné par l'information reçue au cours de l'étape 118, par exemple parce que l'utilisateur du terminal 30 choisit une application particulières. L'étape de détection de besoin 121 peut ainsi comporter: - une étape de détection d'un nombre d'utilisateurs, - une étape de détection d'un format de fichier, et/ou - une étape de détection d'une demande d'accès à un service (par exemple téléphonique ou visiophonique), un programme audiovisuel ou un jeu susceptible de mettre 10 en oeuvre ledit composant. Ainsi, l'étape de détection de besoin 121 peut comporter: - une étape de détection d'un nombre d'utilisateurs, - une étape de détection d'un format de fichier etiou - une étape de détection d'une demande d'accès à un service. Au cours d'une étape 122, le terminal 30 détermine sa compatibilité avec le composant concerné par l'information reçue au cours de l'étape 118. Si le terminal détecte qu'il n'est pas compatible avec le composant, le terminal lance un composant logiciel susceptible de permettre la fourniture du service ou de l'application demandée par l'utilisateur, étape 123, et arrête la mise en oeuvre du procédé objet de la présente invention. 20 Dans le cas présent, le terminal 30 détermine qu'il est compatible avec le composant. S'il est compatible, au cours d'une étape 124, le terminal 30 transmet au serveur une requête de téléchargement dudit composant, par exemple en indiquant le nom et la version du composant. Au cours d'une étape 126, le serveur reçoit la requête de téléchargement dudit composant émise au cours de l'étape 124. Au cours d'une étape 128, le serveur télécharge ledit composant vers le terminal 30, de manière connue. Au cours d'une étape 130, le terminal 30 installe le composant téléchargé au cours de l'étape 126, de manière connue. Puis, au cours d'une étape 132, le terminal 30 teste le bon fonctionnement du composant informatique téléchargé. Si le terminal détecte que le 30 composant ne fonctionne pas correctement, le terminal lance un composant logiciel susceptible de permettre la fourniture du service ou de l'application demandée par l'utilisateur, étape 133, et retourne à l'étape 124. Si le composant fonctionne correctement, le terminal 30 fournit à l'utilisateur l'application qu'il a choisie. Au cours d'une étape 134, le terminal 30 détermine s'il un composant informatique présent sur le terminal 30 avant le téléchargement effectué au cours de l'étape 128 est devenu inutile, par exemple parce que son nom est identique à celui du composant téléchargé et que son numéro de version est inférieur à celui du composant téléchargé. Si un composant est inutile, au cours d'une étape 136, le terminal 30 détruit ledit composant inutile. Le terminal 32 ne détecte aucun besoin du composant considéré et ne requiert donc pas son téléchargement. On observe que le terminal 30 ne redémarre pas au cours de l'organigramme et que le terminal dispose en permanence des dernières évolutions technologiques sans avoir à télécharger tous les composants informatiques disponibles. Selon un mode de réalisation exemplaire, au cours de l'étape 114, chaque fournisseur de composants informatiques accède à une mémoire du serveur 10 pour y installer ses productions. Cet accès peut être protégé par des privilèges, une identification, une signature électronique, par exemple. REVENDICATIONS 1 - Procédé de mise à disposition de composants informatiques, caractérisé en ce qu'il comporte: A/ pour un serveur de réseau: - une étape d'installation (114), sur le serveur, d'un composant informatique, - une étape de définition (116) de chaque classe de terminaux compatibles avec ledit composant informatique, - une étape de diffusion (118) d'une information de mise à disposition dudit composant et 10 d'une information représentative de chaque classe de terminaux compatibles avec ledit composant; et B/ pour chaque terminal: - une étape de détection de besoin (121) dudit composant, - une étape de détermination (122) de compatibilité du terminal, en fonction de l'information 15 représentative de chaque classe de terminaux compatibles, - si le besoin du composant est détecté et que le terminal est compatible avec le composant, une étape de transmission (124) audit serveur d'une requête de chargement dudit composant. 2 - Procédé selon la revendication 1, caractérisé en ce qu'il comporte, pour chaque terminal, 20 une étape de lancement (112) d'un système d'exploitation réduit qui ne nécessite pas de redémarrage après l'installation d'un composant informatique. 3 - Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu'il comporte, en réponse à la requête de chargement, une étape de téléchargement (128) au cours de laquelle le serveur télécharge le composant informatique requis sur ledit terminal. 25 4 - Procédé selon la revendication 3, caractérisé en ce qu'il comporte, après l'étape de téléchargement du composant informatique (128), une étape d'installation (130) dudit composant informatique. - Procédé selon la revendication 4, caractérisé en ce que, après l'étape d'installation (130) du composant informatique, le procédé comporte une étape de test (132) dudit composant 30 informatique téléchargé. 6 - Procédé selon la revendication 5, caractérisé en ce qu'il comporte, à la suite de l'étape de test (132), si le composant fonctionne correctement, une étape de détermination (134) qu'un composant informatique précédemment présent sur le terminal est inutile et, dans ce cas, une étape de destruction (136) dudit composant infonmatique inutile. 7 - Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que l'étape de détection de besoin (121) comporte une étape de détection d'un nombre d'utilisateurs. il 8 - Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que l'étape de détection de besoin (121) comporte une étape de détection d'un format de fichier. 9 - Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que l'étape de détection de besoin (121) comporte une étape de détection d'une demande d'accès à un service. - Procédé de mise à disposition de composants informatiques, caractérisé en ce qu'il comporte, pour un serveur de réseau: - une étape d'installation (114), sur le serveur, d'un composant informatique, - une étape de définition (116) de chaque classe de terminaux compatibles avec ledit 10 composant informatique, - une étape de diffusion (118) d'une information de mise à disposition dudit composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant, - une étape de réception d'une requête de chargement (126) dudit composant de la part d'un 15 terminal et, - une étape de téléchargement (128) dudit composant vers ledit terminal. 11 - Procédé de mise à disposition de composants informatiques, caractérisé en ce qu'il comporte, pour un terminal: - une étape de réception d'une information de mise à disposition d'un composant (120) et 20 d'une information représentative de chaque classe de terminaux compatibles avec ledit composant, - une étape de détection de besoin dudit composant (121), - une étape de détermination de compatibilité du terminal (122), en fonction de l'information représentative de chaque classe de terminaux compatibles, et - si le besoin du composant est détecté et que le terminal est compatible avec le composant, une étape de transmission à un serveur d'une requête de chargement (124) dudit composant. 12 - Serveur de mise à disposition de composants informatiques, caractérisé en ce qu'il est comporte: - un moyen d'installation (11), sur le serveur, d'un composant informatique, - un moyen de définition (12) de chaque classe de terminaux compatibles avec ledit composant informatique, - un moyen de diffusion (13) d'une information de mise à disposition dudit composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit 35 composant, - un moyen de réception (14) d'une requête de chargement dudit composant de la part d'un terminal, et - un moyen de téléchargement (15) dudit composant vers ledit terminal. 13 - Terminal informatique, caractérisé en ce qu'il comporte: - un moyen de réception (36) d'une information de mise à disposition d'un composant et d'une information représentative de chaque classe de terminaux compatibles avec ledit composant, - un moyen de détection (37) de besoin dudit composant, - un moyen de détermination (38) de compatibilité du terminal, en fonction de l'information représentative de chaque classe de terminaux compatibles, - un moyen de transmission (39) de requête adapté, si le besoin du composant est détecté et 10 que le terminal est compatible avec le composant, à transmettre une requête envers le serveur de chargement dudit composant.