Brevet FR2889879A1 — publié le 20070223

PROCÉDÉ POUR L'APPLICATION D'UN LOGICIEL PORTABLE La présente invention porte sur un procédé pour l'application d'un logiciel et, plus particulièrement, sur un procédé pour l'application d'un logiciel portable. Avec l'innovation et l'évolution de longue durée de l'industrie électronique, les dispositifs électroniques portables se sont largement étendus que ce soit en type ou en quantité ces dernières années. Dans une configuration de système d'ordinateur générale, un ordinateur personnel est utilisé en tant qu'extrémité hôte, et d'autres appareillages sont utilisés en tant que périphériques. De manière classique, une extrémité hôte ajustée avec plusieurs périphériques est le courant principal des systèmes d'ordinateur actuels. Dans l'ère de l'utilisation répandue d'Internet, il existe deux sortes de logiques de conception pour exécuter des programmes d'application dans l'architecture client/serveur: client léger et client lourd. Pour la logique de conception de client léger, le serveur prend la responsabilité pour toutes les opérations de programme d'application et le client réalise ses tâches en se connectant au serveur par l'intermédiaire d'un réseau. Les inconvénients de la logique de conception de client léger comprennent (1) le fait qu'un réseau est nécessaire pour un accès, (2) une conception d'opération moins complète pour les utilisateurs, et (3) un développement plus compliqué (par exemple, des programmes de la Toile (Web) d'aujourd'hui). Par ailleurs, pour la logique de conception de client lourd, la plupart des opérations du programme d'application sont réalisées par le client. La logique de conception de client lourd doit par conséquent faire face aux inconvénients d'un programme important, difficile à déployer et à l'enfer des DLL (Lien de bibliothèque dynamique - Dynamic Library Link - DLL) (par exemple, les programmes de Windows classiques). Le brevet américain No. 6 529 992 décrit la façon dont stocker des programmes d'application dans un support amovible. Lorsqu'un utilisateur branche un support amovible à un ordinateur, à cause de son manque de mécanisme de mise à jour en ligne, une authentification et une autorisation en deux temps, et des définitions de zone de stockage (en lecture simple et inscriptible), l'opération de branchement d'un support amovible à un ordinateur est peu réaliste et des échecs dans la résolution des problèmes dérivent des applications pratiques. Avec les diverses exigences du consommateur, des applications plus commodes doivent être développées pour satisfaire les consommateurs. La présente invention change la relation entre l'ordinateur et l'utilisateur, et retourne la propriété du programme d'application à l'utilisateur. Des utilisateurs possèdent les programmes d'application stockés dans n'importe quel support de stockage portable. Un utilisateur peut lancer le programme seulement en connectant le support de stockage à un ordinateur. Les fonctions d'utilisation sans danger et de mise à jour de programme en ligne peuvent également être fournies pour atteindre le but de l'ère de l'ordinateur partagé. Par conséquent, la présente invention vise à proposer un procédé pour l'application de logiciel portable pour résoudre les inconvénients cidessus de l'état antérieur de la technique. Un objectif de la présente invention est de proposer un procédé pour l'application d'un logiciel portable, dans lequel la fonction de lancement automatique du programme d'application est utilisée pour permettre aux utilisateurs de ne pas être limités par un ordinateur quelconque, étant ainsi compatible avec tous les ordinateurs. Un autre objectif de la présente invention est de proposer un procédé pour l'application d'un logiciel portable, dans lequel des utilisateurs possèdent le logiciel et possèdent l'avantage du logiciel portable, résolvant ainsi de manière efficace l'inconvénient qu'un programme d'application doit être installé dans un système d'ordinateur général devant être exécuté. Encore un autre objectif de la présente invention est de proposer un procédé pour l'application d'un logiciel portable, dans lequel des utilisateurs peuvent se connecter à une plate-forme de fonctionnement par l'intermédiaire d'un environnement autonome ou en réseau pour vérifier les droits de matériel et de logiciel à travers le mécanisme d'authentification et d'autorisation à partir de la plate- forme de fonctionnement, empêchant ainsi une utilisation illégale par d'autres utilisateurs non autorisés. Encore un autre objectif de la présente invention est de proposer un procédé pour l'application d'un logiciel portable, dans lequel après que le logiciel portable se connecte à un système d'ordinateur, il peut être mis à jour automatiquement pour se maintenir à la dernière version à n'importe quel moment. Pour atteindre les objectifs ci-dessus, la présente invention propose un procédé pour l'application de logiciel portable, qui comprend les étapes suivantes. Un dispositif de stockage prêt à l'emploi ( plug-and-play ) est choisi pour faire fonctionner le procédé entier et stocker les données. Ensuite, le dispositif de stockage est connecté à un système d'ordinateur capable d'exécuter les instructions des programmes. Ensuite, l'authentification du dispositif matériel est réalisée et le dispositif de stockage exécute automatiquement un programme de coordination et met à jour des programmes à partir du système d'ordinateur. Après l'autorisation de l'utilisateur, le programme de coordination installe le mécanisme consistant à enregistrer/désenregistrer 2889879 4 automatiquement des composants et la configuration de l'environnement. Le programme de coordination invoque alors un programme d'application à exécuter. Après que le programme d'application a fini de s'exécuter, le programme de coordination rétablit le réglage d'environnement et quitte l'état d'exécution. La présente invention a donc pour objet un procédé pour l'application d'un logiciel portable, caractérisé par le fait que ledit procédé comprend les 10 étapes consistant à : - stocker un programme de coordination et au moins un programme d'application dans un dispositif de stockage et connecter ledit dispositif de stockage à un système d'ordinateur; authentifier ledit dispositif de stockage; autoriser le droit d'utilisation dudit programme de coordination; réaliser un lancement automatique des procédures courantes et de la configuration d'environnement par 20 ledit programme de coordination; transférer le droit d'exécution audit programme d'application par ledit programme de coordination; et transférer le droit d'exécution audit programme de coordination et terminer ledit système d'ordinateur. Ledit dispositif de stockage peut avoir une interface de transmission USB ou une interface de transmission IEEE1394. Ledit dispositif de stockage peut être un lecteur de clé USB ou une mémoire flash. Ledit système d'ordinateur peut être un système d'ordinateur autonome ou un système fonctionnant en réseau construit avec une architecture en réseau. L'authentification dudit dispositif de stockage peut être accomplie par un code ID (code d'identification) 35 fourni par ledit dispositif de stockage. Ledit procédé pour l'application d'un logiciel portable peut comprendre en outre, après l'étape d'authentification dudit dispositif de stockage, les étapes suivantes consistant à : déclencher ledit programme de coordination par ledit système d'ordinateur; et mettre à jour ledit programme d'application et télécharger les informations à partir dudit système d'ordinateur par ledit dispositif de stockage. Ledit dispositif de stockage peut comprendre au moins deux zones de stockage pour stocker des données statiques et pour stocker des données de programme individuellement. L'authentification du droit d'utilisation dudit 15 programme de coordination peut être accomplie par un code ID stocké par ledit programme de coordination. Ledit programme de coordination peut être responsable de la surveillance de la situation où ledit programme d'application exécute des instructions et des procédures. Ledit programme d'application peut fournir toutes les données nécessaires pour le fonctionnement et peut stocker les données générées. On peut également prévoir qu'avant que ledit programme de coordination ne se termine lui-même, il restaure le réglage d'environnement préalablement effectué dans ledit système d'ordinateur à l'état initial. Les divers objectifs et avantages de la présente invention ressortiront davantage à la lecture de la description détaillée suivante, conjointement avec le dessin annexé, dans lequel: la Figure 1 est un organigramme de la présente invention. Dans la présente invention, les programmes d'application de logiciel sont stockés dans un support de stockage portable pour permettre aux utilisateurs d'être capables d'exécuter des programmes d'application dans n'importe quel ordinateur. Un logiciel d'ordinateur peut par conséquent être transporté par des utilisateurs conjointement avec des dispositifs portables pour améliorer la commodité du logiciel. Les procédures d'exécution d'un programme d'application dans un système d'ordinateur comprennent la lecture du programme d'application à partir d'un dispositif de stockage dans la mémoire et l'exécution des codes du programme d'application par l'unité centrale. Le dispositif de stockage est habituellement un lecteur de disque dur, qui peut stocker des codes de programme d'application de manière presque permanente. Le procédé pour l'application d'un logiciel portable de la présente invention est basé sur le principe ci-dessus. Sous le principe de ne pas désobéir à l'architecture du système d'ordinateur, le procédé fournit des améliorations et des fonctions supplémentaires pour les programmes d'application et stocke également les programmes d'application dans un dispositif de stockage portable. Le dispositif de stockage portable peut être une mémoire flash ou un lecteur de clé USB avec une interface USB ou IEEE1394. En outre, le dispositif de stockage portable comprend deux zones de stockage: une pour stocker les données statiques, et l'autre pour stocker les codes de programme. La Figure 1 est un organigramme de la présente invention. Comme représenté sur la Figure 1, un programme de coordination et au moins un programme d'application sont tout d'abord stockés dans un lecteur de clé USB 4, qui est branché à un terminal 2. Le terminal 2 et un serveur 6 sont des ordinateurs connectés par un réseau. Ensuite, l'authentification du dispositif est effectuée à travers le code ID fourni par le lecteur de clé USB 4 pour empêcher une duplication (Etape S10). Si l'authentification du dispositif est réussie, le système d'exploitation du terminal 2 lance automatiquement le programme de coordination dans le lecteur de clé USB 4 en tant que programme de mise en route. Si l'authentification du dispositif n'est pas réussie, le programme de coordination ne peut pas être exécuté, et l'étape se tourne vers l'étape S16 pour finir l'ensemble des procédures. Le processus d'authentification du dispositif mentionné ci-dessus peut être fait par le terminal 2 ou le serveur 6. Une mise à jour automatique est réalisée (Etape S11) lorsque l'authentification du dispositif est réussie. Le terminal 2 déclenche le programme de coordination pour mettre à jour le programme d'application et pour télécharger les informations nécessaires du serveur 6 par l'intermédiaire du réseau. Consécutivement, l'autorisation de l'utilisateur est réalisée en soumettant un mot de passe dans le programme d'application pour empêcher une duplication (Etape S12). Si l'autorisation d'utilisateur est réussie, le programme de coordination peut être exécuté. Si la certification d'utilisateur n'est pas réussie, le programme de coordination ne peut pas être exécuté, et l'étape se tourne vers l'étape S16 pour finir l'ensemble des procédures. De manière similaire, ce service d'autorisation d'utilisateur peut être réalisé par le terminal 2 ou le serveur 6. Si à la fois l'authentification du dispositif et l'autorisation d'utilisation sont réussies, le programme de coordination réalise un lancement automatique des procédures courantes et de configuration d'environnement (comprenant le registre d'environnement, les variables d'environnement dans l'environnement d'exécution (runtime), le registre des composants et le réglage des paramètres), et surveille le processus d'exécution de tout programme d'application dans le dispositif de stockage portable (Etape S13). Ensuite, le programme de coordination invoque le programme d'application et laisse la commande au programme d'application pour les opérations de l'utilisateur sur le terminal 2. Le programme d'application finit sa tâche à travers la ressource du système d'ordinateur sous le fonctionnement du système d'exploitation, fournit toutes les données nécessaires pour le fonctionnement et stocke les données générées. Après que l'utilisateur a fini son opération et fermé le programme d'application, l'environnement est restauré et désenregistré (Etape S15). A mesure que le programme d'application se termine, le programme de coordination commande de restaurer le système d'ordinateur à l'environnement d'exécution initial et de libérer des déclarations de variables, des composants enregistrés et un réglage d'environnement. Enfin, dans l'Etape S16, après que le lecteur de clé USB 4 est retiré du terminal 2, aucune donnée ne sera laissée dans le système d'ordinateur et tous les réglages du système d'ordinateur ne seront pas changés. Les programmes peuvent être écrits avec un langage assembleur, un langage de micrologiciel ou un langage évolué. Le système d'ordinateur pour exécuter un programme peut également être un système d'ordinateur autonome. Dans cette situation, la mise à jour du programme d'application et le téléchargement des informations nécessaires depuis le serveur 6 dans le mode de réalisation ci-dessus peuvent être directement effectués par le système d'ordinateur autonome sans le connecter au réseau. Par conséquent, le procédé de fonctionnement d'un environnement d'exécution prêt à l'emploi ( plug-andplay ) partagé, qui est indépendant du système d'exploitation, permet aux programmes d'application d'un dispositif portable d'être capable de s'exécuter dans tous les ordinateurs avec succès. Par la présente invention, le logiciel d'ordinateur peut être transporté par les utilisateurs conjointement avec les dispositifs portables pour améliorer la commodité du logiciel. L'inconvénient qu'un programme d'application doit être installé dans un système d'ordinateur courant pour l'exécution peut être ainsi surmonté. De plus, d'autres personnes non autorisées peuvent être empêchées d'utiliser illégalement les dispositifs portables, augmentant ainsi la confidentialité. Bien que la présente invention ait été décrite avec référence au mode de réalisation préféré de celui-ci, il sera entendu que l'invention n'est pas limitée aux détails de celle-ci. Diverses substitutions et modifications ont été proposées dans la description précédente, et d'autres apparaîtront à l'homme du métier. Par conséquent, toutes ces substitutions et modifications sont destinées à être englobées dans la portée de l'invention telle que définie dans les revendications annexées. Chiffres de Référence 2: terminal 4: lecteur de clé USB 6: serveur REVENDICATIONS 1 - Procédé pour l'application d'un logiciel portable, caractérisé par le fait que ledit procédé 5 comprend les étapes consistant à : stocker un programme de coordination et au moins un programme d'application dans un dispositif de stockage (4) et connecter ledit dispositif de stockage (4) à un système d'ordinateur (2) ; - authentifier (S10) ledit dispositif de stockage (4) ; autoriser (S12) le droit d'utilisation dudit programme de coordination; réaliser (S13) un lancement automatique des procédures courantes et de la configuration d'environnement par 15 ledit programme de coordination; transférer le droit d'exécution audit programme d'application par ledit programme de coordination; et transférer le droit d'exécution audit programme de coordination et terminer (S16) ledit système d'ordinateur (2). 2 - Procédé pour l'application d'un logiciel portable selon la revendication 1, caractérisé par le fait que ledit dispositif de stockage a une interface de transmission USB ou une interface de transmission IEEE1394. 3 - Procédé pour l'application d'un logiciel portable selon la revendication 2, caractérisé par le fait que ledit dispositif de stockage (4) est un lecteur de clé USB ou une mémoire flash. 4 - Procédé pour l'application d'un logiciel portable selon la revendication 1, caractérisé par le fait que ledit système d'ordinateur (2) est un système d'ordinateur autonome ou un système fonctionnant en réseau construit avec une architecture en réseau. - Procédé pour l'application d'un logiciel portable selon la revendication 1, caractérisé par le fait que l'authentification dudit dispositif de stockage (4) est accomplie par un code ID fourni par ledit dispositif de stockage (4). 6 - Procédé pour l'application d'un logiciel portable selon la revendication 1, caractérisé par le fait qu'il comprend en outre, après l'étape d'authentification dudit dispositif de stockage (4), les étapes suivantes consistant à : déclencher ledit programme de coordination par ledit système d'ordinateur (2) ; et - mettre à jour ledit programme d'application et télécharger les informations à partir dudit système d'ordinateur (2) par ledit dispositif de stockage (4). 7 - Procédé pour l'application d'un logiciel portable selon la revendication 1, caractérisé par le fait que ledit dispositif de stockage comprend au moins deux zones de stockage pour stocker des données statiques et pour stocker des données de programme individuellement. 8 - Procédé pour l'application d'un logiciel portable selon la revendication 1, caractérisé par le fait que l'authentification du droit d'utilisation dudit programme de coordination est accomplie par un code ID stocké par ledit programme de coordination. 9 - Procédé pour l'application d'un logiciel portable selon la revendication 1, caractérisé par le fait que ledit programme de coordination est responsable de la surveillance de la situation où ledit programme d'application exécute des instructions et des procédures. - Procédé pour l'application d'un logiciel portable selon la revendication 1, dans lequel ledit programme d'application fournit toutes les données nécessaires pour le fonctionnement et stocke les données générées. 11 - Procédé pour l'application d'un logiciel portable selon la revendication 1, caractérisé par le fait qu'avant que ledit programme de coordination ne se termine lui-même, il restaure le réglage d'environnement préalablement effectué dans le système d'ordinateur à l'état initial.