FR2982971A1 - Procede et systeme de fourniture d'une application par une machine virtuelle et support de stockage lisible par ordinateur pour executer le procede - Google Patents

Procede et systeme de fourniture d'une application par une machine virtuelle et support de stockage lisible par ordinateur pour executer le procede Download PDF

Info

Publication number
FR2982971A1
FR2982971A1 FR1254026A FR1254026A FR2982971A1 FR 2982971 A1 FR2982971 A1 FR 2982971A1 FR 1254026 A FR1254026 A FR 1254026A FR 1254026 A FR1254026 A FR 1254026A FR 2982971 A1 FR2982971 A1 FR 2982971A1
Authority
FR
France
Prior art keywords
application
virtual machine
target application
executable file
candidate
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
FR1254026A
Other languages
English (en)
Inventor
Yu-Wei Chuang
feng-cheng Lin
Jui-Hao Sun
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute for Information Industry
Original Assignee
Institute for Information Industry
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 Institute for Information Industry filed Critical Institute for Information Industry
Publication of FR2982971A1 publication Critical patent/FR2982971A1/fr
Withdrawn legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Abstract

L'invention porte sur un procédé de fourniture d'une application par une machine virtuelle (VM), une instruction de demande d'application pour demander une application cible est reçue d'un client (120). Une VM disponible est affectée selon l'instruction de demande d'application (130). Un fichier exécutable d'application cible correspondant à l'application cible est recherché parmi plusieurs fichiers exécutables candidats stockés dans un groupe d'unités de stockage de fichiers exécutables (140). Le fichier exécutable d'application cible est monté sur la VM disponible (150). Le fichier exécutable d'application cible monté est exécuté par l'intermédiaire de la VM disponible (160).

Description

PROCEDE ET SYSTEME DE FOURNITURE D'UNE APPLICATION PAR UNE MACHINE VIRTUELLE ET SUPPORT DE STOCKAGE LISIBLE PAR ORDINATEUR POUR EXECUTER LE PROCEDE La présente invention porte sur une technologie de machine virtuelle (VM). Plus particulièrement, la présente invention porte sur un système et un procédé permettant la fourniture d'une application par une VM et sur un support de stockage lisible par ordinateur pour exécuter le procédé. Les interfaces utilisateur ont considérablement changé au fil des années. Antérieurement, les interfaces de ligne de commande, telles que MS-DOS (Système d'exploitation de disque Microsoft®), fournissaient des lignes de commande pour que des utilisateurs entrent des instructions pour exécuter des applications correspondantes. Par la suite, les interfaces graphiques utilisateur (GUI) se sont développées pour fournir des icônes graphiques en vue d'un fonctionnement facile.
Récemment, une attention plus importante a été portée à des concepts relatifs à des machines virtuelles (VM). Les utilisateurs peuvent initialiser des VM et stocker leurs programmes d'application ou leurs données sur de telles VM. Par la suite, les utilisateurs peuvent accéder à leurs VM à n'importe quel moment, à n'importe quel endroit et par l'intermédiaire de n'importe quel ordinateur. En outre, les utilisateurs peuvent également initialiser plusieurs VM dans un seul ordinateur physique pour qu'elles fonctionnent en tant que multiples ordinateurs, dans lesquels chaque VM se voit attribuer un système d'exploitation (OS) différent, est installée avec un ou plusieurs programmes d'application différents, fournit un environnement d'exploitation différent, et stocke des données différentes.
Lorsqu'un utilisateur utilise une VM, il/elle peut seulement exécuter des programmes d'application installés sur celle-ci. Si un programme d'application demandé n'est pas installé sur la VM, le programme d'application demandé doit être installé sur la VM de la même façon qu'en cas d'utilisation d'un ordinateur physique, et la réalisation d'une telle installation n'est pas pratique. Une autre façon de fournir le programme d'application demandé non installé sur la VM consiste à initier une nouvelle VM sur laquelle est installé le programme d'application demandé. Cependant, l'initiation d'une autre nouvelle VM prend du temps. En outre, l'ordinateur physique utilisé peut ne pas avoir de fichiers image pour initier une VM avec le programme d'application demandé. En outre, l'ordinateur physique peut ne pas avoir assez de ressources pour initier une autre nouvelle VM. De tels inconvénients peuvent empirer dans le cas d'une application dans le domaine de l'informatique en nuage puisque la plupart des systèmes d'informatique en nuage stockent seulement quelques types d'images pour initier des VM. Chaque utilisateur peut avoir des besoins différents. Par conséquent, si les systèmes d'informatique en nuage sont conçus pour satisfaire les besoins de la plupart des utilisateurs, les VM initiées par les systèmes d'informatique en nuage doivent avoir de nombreux programmes d'application installés. Cependant, chaque VM peut consommer de nombreuses ressources d'un système d'informatique en nuage. Conformément à un mode de réalisation, la présente invention porte sur un procédé permettant la fourniture d'une application par une machine virtuelle (VM), afin de monter un fichier exécutable correspondant à une application, qu'un client demande, sur une VM, de telle sorte que la VM peut exécuter celui-ci. Le procédé permettant la fourniture d'une application par une VM réalise les opérations suivantes : (a) une instruction de demande d'application pour demander une application cible est reçue d'un client ; (b) une VM disponible est affectée selon l'instruction de demande d'application ; (c) un fichier exécutable d'application cible correspondant à l'application cible est recherché parmi plusieurs fichiers exécutables candidats stockés dans un groupe d'unités de stockage de fichiers exécutables ; (d) le fichier exécutable d'application cible est monté sur la VM disponible ; et (e) le fichier exécutable d'application cible monté est exécuté par l'intermédiaire de la VM disponible. Conformément à un autre mode de réalisation, la présente invention porte sur un support de stockage lisible par ordinateur pour stocker un programme d'ordinateur, afin d'exécuter le procédé permettant la fourniture d'une application par une machine virtuelle décrit ci-dessus. Conformément à un autre mode de réalisation, la présente invention porte sur un système permettant la fourniture d'une application par une VM, afin de monter un fichier exécutable correspondant à une application, qu'un client demande, sur une VM, de telle sorte que la VM peut exécuter celui-ci. Le système permettant la fourniture d'une application par une VM comprend un groupe d'unités de stockage de fichiers exécutables, un module de réception d'instruction, un module d'affectation de VM, un module de recherche de fichier exécutable et un module de montage. Le groupe d'unités de stockage de fichiers exécutables stocke plusieurs fichiers exécutables candidats. Le module de réception d'instruction reçoit une instruction de demande d'application pour demander une application cible auprès d'un client. Le module d'affectation de VM affecte une VM disponible selon l'instruction de demande d'application. Le module de recherche de fichier exécutable recherche un fichier exécutable d'application cible correspondant à l'application cible parmi les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables. Le module de montage monte le fichier exécutable d'application cible sur la VM disponible, de telle sorte que la VM disponible exécute le fichier exécutable d'application cible monté. La présente invention permet d'obtenir de nombreux avantages. Lorsqu'un utilisateur du client souhaite exécuter un programme d'application, la VM présentement disponible peut être utilisée pour l'exécution de celui-ci. En outre, dans un mode de réalisation de la présente invention, même si aucune VM disponible n'a l'application cible installée, le fichier exécutable correspondant à celle-ci stocké dans le groupe d'unités de stockage de fichiers exécutables peut être copié ou lié pour un montage ultérieur, de telle sorte que la VM sans l'application cible préinstallée peut exécuter par la suite l'application cible. En d'autres termes, il n'y a pas besoin d'initialiser une nouvelle VM si aucune VM n'a l'application cible installée. En conséquence, il est possible d'installer seulement quelques applications dans chaque VM, ce qui conduit à une réduction de la ressource demandée pour chaque VM et du temps pour initialiser une nouvelle VM. En outre, si plusieurs clients font une demande pour la même application, le même fichier exécutable correspondant à l'application demandée peut être copié pour un montage ultérieur à fournir aux clients. En d'autres termes, plusieurs clients différents peuvent utiliser la même application en même temps. Ces caractéristiques, aspects et avantages, ainsi que d'autres, de la présente invention seront mieux compris en référence à la description suivante. Il est bien entendu que la description générale précédente et la description détaillée suivante sont toutes les deux données à titre d'exemple, et sont destinées à fournir une explication plus approfondie de l'invention. L'invention a donc pour objet un procédé de fourniture d'une application par une machine virtuelle 5 (VM), caractérisé par le fait qu'il comprend : (a) la réception à partir d'un client d'une instruction de demande d'application pour demander une application cible ; (b) l'affectation d'une machine virtuelle disponible 10 selon l'instruction de demande d'application ; (c) la recherche d'un fichier exécutable d'application cible correspondant à l'application cible parmi une pluralité de fichiers exécutables candidats stockés dans un groupe d'unités de stockage de fichiers 15 exécutables ; (d) le montage du fichier exécutable d'application cible sur la machine virtuelle disponible ; et (e) l'exécution du fichier exécutable d'application cible monté par l'intermédiaire de la machine 20 virtuelle disponible. Selon un mode de réalisation, une application installée sur le client peut générer et transmettre l'instruction de demande d'application, un bureau virtuel peut être fourni au client pour générer et 25 transmettre l'instruction de demande d'application, ou une page Internet peut être fournie au client pour générer et transmettre l'instruction de demande d'application. Le procédé de fourniture d'une application par 30 une machine virtuelle peut comprendre en outre : la fourniture d'une pluralité de machines virtuelles candidates, chacune des machines virtuelles candidates se voyant allouer une ressource correspondante, et 35 l'affectation à l'opération (b) étant réalisée selon un résultat de la détermination du point de savoir si les ressources correspondantes des machines virtuelles candidates sont ou non adéquates pour le montage et l'exécution du fichier exécutable d'application cible.
Selon un autre mode de réalisation, chacune des machines virtuelles candidates peut comprendre en outre une application installée ; l'affectation à l'opération (b) peut être réalisée selon un résultat de la détermination du point de savoir si les applications installées des machines virtuelles candidates comprennent ou non l'application cible et si les ressources correspondantes des machines virtuelles candidates sont ou non adéquates pour l'exécution du fichier exécutable d'application cible ; et lorsque l'ensemble des ressources correspondantes des machines virtuelles candidates, dont les applications installées comprennent l'application cible, ne sont pas adéquates pour l'exécution du fichier exécutable d'application cible, l'affectation à l'opération (b) est réalisée selon un résultat de la détermination du point de savoir si les ressources correspondantes des machines virtuelles candidates, dont les applications installées ne comprennent pas l'application cible, sont ou non adéquates pour l'exécution du fichier exécutable d'application cible. Les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables peuvent être exécutables dans un environnement de machine virtuelle de chacune des machines virtuelles candidates. Le procédé de fourniture d'une application par une machine virtuelle peut comprendre en outre : l'affichage d'une image d'exécution générée par 35 la machine virtuelle disponible durant l'exécution du fichier exécutable d'application cible sur une unité d'affichage du client. Dans le procédé de fourniture d'une application par une machine virtuelle, l'opération (b) peut 5 comprendre : la détermination d'une ressource demandée pour l'application cible selon l'instruction de demande d'application ; et la sélection de la machine virtuelle 10 disponible, qui a une ressource adéquate pour la ressource demandée, parmi une pluralité de machines virtuelles candidates. Le procédé de fourniture d'une application par une machine virtuelle peut comprendre en outre : 15 la surveillance d'une ressource restante de chacune des machines virtuelles candidates ; la sélection de la machine virtuelle disponible, qui a la ressource adéquate pour la ressource demandée, parmi les VM candidates comprenant : 20 la sélection de l'une des machines virtuelles candidates, dont la ressource restante est adéquate pour la ressource demandée, en tant que machine virtuelle disponible. Dans le procédé de fourniture d'une application 25 par une machine virtuelle, l'opération (d) peut comprendre : la liaison ou la copie du fichier exécutable d'application cible sur un espace partagé à partir du groupe d'unités de stockage de fichiers exécutables ; et 30 le montage du fichier exécutable d'application cible dans l'espace partagé. Le procédé de fourniture d'une application par une machine virtuelle peut comprendre en outre, avant l'opération (a) : le montage d'une pluralité de fichiers exécutables d'application préconfigurés sur la machine virtuelle disponible ; et la détermination du point de savoir si les fichiers exécutables d'application préconfigurés comprennent ou non le fichier exécutable d'application cible ; dans lequel si les fichiers exécutables d'application préconfigurés ne comprennent pas le fichier 10 exécutable d'application cible, l'opération (d) est réalisée ; et si les fichiers exécutables d'application préconfigurés comprennent le fichier exécutable d'application cible, l'opération (d) n'est pas réalisée. 15 L'invention a également pour objet un système de fourniture d'une application par une machine virtuelle, caractérisé par le fait qu'il comprend : un groupe d'unités de stockage de fichiers exécutables pour stocker une pluralité de fichiers 20 exécutables candidats ; un module de réception d'instruction pour recevoir d'un client une instruction de demande d'application, afin de demander une application cible ; un module d'affectation de machine virtuelle 25 pour affecter une machine virtuelle disponible selon l'instruction de demande d'application ; un module de recherche de fichier exécutable pour rechercher un fichier exécutable d'application cible correspondant à l'application cible parmi les fichiers 30 exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables ; et un module de montage pour monter le fichier exécutable d'application cible sur la machine virtuelle disponible, de telle sorte que la machine virtuelle 35 disponible exécute le fichier exécutable d'application cible monté.
Une application installée sur le client peut générer et transmettre l'instruction de demande d'application, un bureau virtuel peut être fourni au client pour générer et transmettre l'instruction de demande d'application, ou une page Internet peut être fournie au client pour générer et transmettre l'instruction de demande d'application. Le système de fourniture d'une application par une machine virtuelle peut comprendre en outre : une pluralité de machines virtuelles candidates, chacune des machines virtuelles candidates se voyant allouer une ressource correspondante ; dans lequel le module d'affectation de machine virtuelle affecte la machine virtuelle disponible selon un résultat de la détermination du point de savoir si les ressources correspondantes des machines virtuelles candidates sont ou non adéquates pour le montage et l'exécution du fichier exécutable d'application cible. Chacune des machines virtuelles candidates peut 20 comprendre en outre une application installée ; le module d'affectation de machine virtuelle affecte la machine virtuelle disponible selon un résultat de la détermination du point de savoir si les applications installées des machines virtuelles candidates comprennent 25 ou non l'application cible et si les ressources correspondantes des machines virtuelles candidates sont ou non adéquates pour l'exécution du fichier exécutable d'application cible ; et lorsque l'ensemble des ressources correspondantes 30 des machines virtuelles candidates, dont les applications installées comprennent l'application cible, ne sont pas adéquates pour l'exécution du fichier exécutable d'application cible, le module d'affectation de machine virtuelle affecte la machine virtuelle disponible selon un 35 résultat de la détermination du point de savoir si les ressources correspondantes des machines virtuelles candidates, dont les applications installées ne comprennent pas l'application cible, sont ou non adéquates pour l'exécution du fichier exécutable d'application cible.
Le module de montage peut fournir une image d'exécution générée par la machine virtuelle disponible durant l'exécution du fichier exécutable d'application cible, de telle sorte qu'une unité d'affichage du client affiche l'image d'exécution.
Le système de fourniture d'une application par une machine virtuelle peut comprendre en outre : un module de détermination d'informations pour déterminer une ressource demandée pour l'application cible selon l'instruction de demande d'application ; le module d'affectation de machine virtuelle sélectionnant l'une des machines virtuelles candidates, qui a une ressource adéquate pour la ressource demandée, en tant que machine virtuelle disponible. Le système de fourniture d'une application par 20 une machine virtuelle peut comprendre en outre : un module de surveillance de ressource pour surveiller une ressource restante de chacune des machines virtuelles candidates ; le module d'affectation de machine virtuelle 25 sélectionnant l'une des machines virtuelles candidates, dont la ressource restante est adéquate pour la ressource demandée, en tant que machine virtuelle disponible. Le module de montage peut monter en outre une pluralité de fichiers exécutables d'application 30 préconfigurés sur la machine virtuelle disponible, dans lequel avant le montage du fichier exécutable d'application cible sur la machine virtuelle disponible, le module de montage détermine en outre si les fichiers exécutables d'application préconfigurés comprennent ou non le fichier 35 exécutable d'application cible ; dans lequel si les fichiers exécutables d'application préconfigurés ne comprennent pas le fichier exécutable d'application cible, le module de montage monte le fichier exécutable d'application cible sur la machine virtuelle disponible. L'invention porte également sur un support de stockage lisible par ordinateur caractérisé par le fait qu'il comporte un programme d'ordinateur pour exécuter un procédé de fourniture d'une application, le procédé comprenant : (a) la réception à partir d'un client d'une instruction de demande d'application pour demander une application cible ; (b) l'affectation d'une machine virtuelle disponible selon l'instruction de demande d'application ; (c) la recherche d'un fichier exécutable d'application cible correspondant à l'application cible parmi une pluralité de fichiers exécutables candidats stockés dans un groupe d'unités de stockage de fichiers exécutables ; (d) le montage du fichier exécutable d'application cible sur la machine virtuelle disponible ; et (e) l'exécution du fichier exécutable d'application cible monté par l'intermédiaire de la machine virtuelle disponible. par une machine virtuelle selon la revendication 1. L'invention porte également sur un support de stockage lisible par ordinateur tel que décrit précédemment, le procédé comprend en outre, avant 30 l'opération (a) : le montage d'une pluralité de fichiers exécutables d'application préconfigurés sur la machine virtuelle disponible ; et la détermination du point de savoir si les 35 fichiers exécutables d'application préconfigurés comprennent ou non le fichier exécutable d'application cible ; dans lequel si les fichiers exécutables d'application préconfigurés ne comprennent pas le fichier 5 exécutable d'application cible, l'opération (d) est réalisée ; et si les fichiers exécutables d'application préconfigurés comprennent le fichier exécutable d'application cible, l'opération (d) n'est pas réalisée. 10 L'invention peut être mieux comprise à la lecture de la description détaillée suivante des modes de réalisation, avec référence aux dessins annexés. Sur ces dessins : 15 - la Figure 1 est un organigramme d'un procédé de fourniture d'une application par une machine virtuelle (VM), conformément à un mode de réalisation de la présente invention ; 20 - la Figure 2 illustre un schéma fonctionnel d'un système de fourniture d'une application par une VM, conformément à un mode de réalisation de la présente invention ; et 25 - la Figure 3 illustre un schéma fonctionnel d'un système de fourniture d'une application par une VM, conformément à un autre mode de réalisation de la présente invention. 30 Il sera maintenant fait référence en détail aux présents modes de réalisation de l'invention, dont des exemples sont illustrés dans les dessins annexés. Les mêmes chiffres de référence sont utilisés dans la mesure du possible dans les dessins et la description pour se 35 référer aux mêmes parties ou à des parties similaires.
Si l'on se réfère à la Figure 1, on peut voir que l'on y a représenté un organigramme, lequel illustre un procédé de fourniture d'une application par une machine virtuelle (VM), conformément à un mode de réalisation de la présente invention. Dans le procédé de fourniture d'une application par une VM, un fichier exécutable correspondant à une application, qu'un client demande, est monté sur une VM, de telle sorte que la VM peut exécuter celui-ci. Le procédé de fourniture d'une application par une VM peut prendre la forme d'un produit programme d'ordinateur stocké sur un support de stockage lisible par ordinateur ayant des instructions lisibles par ordinateur incorporées sur le support. Tout support de stockage approprié peut être utilisé, comprenant une mémoire non volatile, telle que des dispositifs à mémoire morte (ROM), à mémoire morte programmable (PROM), à mémoire morte reprogrammable (EPROM) et à mémoire morte programmable effaçable électriquement (EEPROM) ; une mémoire volatile, telle qu'une mémoire vive statique (SRAM), une mémoire vive dynamique (DRAM) et une mémoire vive à double débit binaire (DDR-RAM) ; des dispositifs de stockage optiques, tels que des disques compacts à mémoire morte (CD-ROM) et des disques numériques polyvalents à mémoire morte (DVD-ROM) ; et des dispositifs de stockage magnétiques, tels que des lecteurs de disque dur (HDD) et des lecteurs de disquette. La routine 100 du procédé de fourniture d'une application par une VM commence à l'opération 120, où une instruction de demande d'application pour demander une application cible est reçue d'un client. Dans un mode de réalisation de la présente invention, lorsqu'un utilisateur du client souhaite exécuter une application cible, l'utilisateur du client peut utiliser un programme d'application installé sur le client pour générer et transmettre l'instruction de demande d'application afin que celle-ci soit reçue à l'opération 120. Dans un autre mode de réalisation de la présente invention, un bureau virtuel peut être fourni au client, de telle sorte qu'un utilisateur du client peut utiliser le bureau virtuel fourni pour générer et transmettre l'instruction de demande d'application afin que celle-ci soit reçue à l'opération 120. Dans encore un autre mode de réalisation de la présente invention, une page Internet peut être fournie au client, de telle sorte qu'un utilisateur du client peut utiliser la page Internet fournie pour générer et transmettre l'instruction de demande d'application afin que celle-ci soit reçue à l'opération 120. Dans certains modes de réalisation, le client peut construire une connexion à un système exécutant le procédé de la présente demande par l'intermédiaire d'un réseau de communication filaire ou sans fil. Dans certains autres modes de réalisation, le client et un système exécutant le procédé de la présente demande peuvent être disposés dans le même appareil matériel. La routine 100 se poursuit à l'opération 130, où une VM disponible est affectée selon l'instruction de demande d'application. Dans un mode de réalisation de la présente demande, la VM disponible peut être une VM ayant une ressource disponible pour fournir un service au client. Dans certains modes de réalisation, le programme d'application correspondant à l'instruction de demande d'application peut ou peut ne pas être installé dans la VM disponible. Dans un mode de réalisation de la présente invention, plusieurs VM candidates sont fournies, et chacune des VM candidates se voit allouer une ressource correspondante. Par conséquent, dans un mode de réalisation à l'opération 130, l'affectation est réalisée selon un résultat de la détermination du point de savoir si les ressources correspondantes des VM candidates sont ou non adéquates pour le montage et l'exécution d'un fichier exécutable d'application cible. Par exemple, au moins l'une des VM candidates, qui a une ressource suffisante pour monter et exécuter le fichier exécutable d'application cible, est sélectionnée en tant que VM disponible. Dans un autre mode de réalisation de la présente invention, chacune des VM candidates comprend en outre une application installée. Par conséquent, dans certains modes de réalisation à l'opération 130, l'affectation est réalisée selon un résultat de la détermination du point de savoir si les applications installées des VM candidates comprennent ou non l'application cible et si les ressources correspondantes des VM candidates sont ou non adéquates pour l'exécution du fichier exécutable d'application cible. Par exemple, les VM candidates ayant l'application cible installée et avec des ressources suffisantes pour exécuter le fichier exécutable d'application cible peuvent être sélectionnées en tant que VM disponibles, et ces VM candidates peuvent se voir donner une priorité haute. Lorsque l'ensemble des ressources correspondantes des VM candidates, dont les applications installées comprennent l'application cible, ne sont pas adéquates pour l'exécution du fichier exécutable d'application cible, l'affectation à l'opération 130 est réalisée selon un résultat de la détermination du point de savoir si les ressources correspondantes des VM candidates, dont les applications installées ne comprennent pas l'application cible, sont ou non adéquates pour l'exécution du fichier exécutable d'application cible. En d'autres termes, l'une des VM candidates, dont les applications installées ne comprennent pas l'application cible mais ont des ressources suffisantes pour exécuter le fichier exécutable d'application cible, est sélectionnée en tant que VM disponible. En outre, une ressource demandée pour l'application cible est déterminée selon l'instruction 5 de demande d'application à l'opération 130. La ressource demandée pour l'application cible peut comprendre une ressource de calcul demandée, un espace mémoire demandé, un ensemble d'instructions demandé ou toute autre ressource demandée pour l'application cible. Par 10 conséquent, à l'aide de telles informations de la ressource demandée pour l'application cible, la VM disponible, qui a une ressource adéquate pour la ressource demandée, peut être sélectionnée parmi les VM candidates. 15 En outre, une ressource restante de chacune des VM candidates peut être surveillée. Par conséquent, dans un mode de réalisation à l'opération 130, l'une des VM candidates, dont la ressource restante est adéquate pour la ressource demandée, est sélectionnée en tant que VM 20 disponible. Par la suite, la routine 100 se poursuit de l'opération 130 à l'opération 140, où un fichier exécutable d'application cible correspondant à l'application cible est recherché parmi plusieurs 25 fichiers exécutables candidats stockés dans un groupe d'unités de stockage de fichiers exécutables. Dans un mode de réalisation, les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables peuvent être exécutés dans un environnement 30 de VM de chacune des VM candidates, de telle sorte qu'il n'y a pas besoin de réinstaller les fichiers exécutables candidats selon les paramètres d'environnement des VM candidates. Dans un mode de réalisation de la présente 35 invention, les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables peuvent être exécutés directement dans les environnements système de VM des VM candidates. Dans un autre mode de réalisation de la présente invention, les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables peuvent être exécutés dans les environnements système de VM des VM candidates immédiatement après avoir été compilés. Dans encore un autre mode de réalisation de la présente invention, les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables peuvent être exécutés sur un émulateur pour être exécutés directement dans les environnements système de VM des VM candidates sans être réinstallés. A partir de l'opération 140, la routine 100 se poursuit à l'opération 150, où le fichier exécutable d'application cible est monté sur la VM disponible affectée à l'opération 130. Dans un mode de réalisation à l'opération 150, le fichier exécutable d'application cible peut être copié sur un espace partagé ou lié à un espace partagé. Par la suite, le fichier exécutable d'application cible dans l'espace partagé peut être monté sur la VM disponible affectée à l'opération 130. La routine 100 se poursuit ensuite à l'opération 160, où le fichier exécutable d'application cible monté est exécuté par l'intermédiaire de la VM disponible affectée à l'opération 130. Par conséquent, lorsqu'un utilisateur du client souhaite exécuter un programme d'application, la VM disponible peut être utilisée pour l'exécution de celui-ci. En outre, dans un mode de réalisation de la présente invention, même si aucune VM disponible n'a l'application cible installée, le fichier exécutable correspondant à celle-ci stocké dans le groupe d'unités de stockage de fichiers exécutables peut être copié ou lié pour un montage ultérieur, de telle sorte que la VM sans l'application cible préinstallée peut exécuter par la suite l'application cible. En d'autres termes, il n'y a pas besoin d'initialiser une nouvelle VM si aucune VM n'a l'application cible installée. En conséquence, il est possible d'installer seulement quelques applications dans chaque VM, ce qui conduit à une réduction de la ressource demandée pour chaque VM et du temps pour initialiser une nouvelle VM. En outre, si plusieurs clients font une demande pour la même application, le même fichier exécutable correspondant à l'application demandée peut être copié pour un montage ultérieur à fournir aux clients. En d'autres termes, plusieurs clients différents peuvent utiliser la même application en même temps. Par la suite, la routine 100 se poursuit à l'opération 170, où une image d'exécution, qui est générée par la VM disponible durant l'exécution du fichier exécutable d'application cible, est affichée sur une unité d'affichage du client. En outre, dans un mode de réalisation de la présente invention, certains fichiers exécutables peuvent être prémontés sur la VM disponible. Par conséquent, la routine 100 peut réaliser des opérations, où plusieurs fichiers exécutables d'application préconfigurés sont montés sur la VM disponible lorsque la VM disponible est initialisée. Par conséquent, avant que l'opération 150 ne soit réalisée, il peut être déterminé si les fichiers exécutables d'application préconfigurés montés sur la VM disponible comprennent le fichier exécutable d'application cible. Si les fichiers exécutables d'application préconfigurés ne comprennent pas le fichier exécutable d'application cible, l'opération 150 peut être réalisée. Si les fichiers exécutables d'application préconfigurés montés sur la VM disponible comprennent le fichier exécutable d'application cible, l'opération 150 peut être sautée et l'opération 160 est réalisée par la suite. Par conséquent, par prémontage de fichiers exécutables utilisés fréquemment, le temps de montage peut être davantage réduit. Si l'on se réfère à la Figure 2, on peut voir 5 qu'il y est représenté un schéma fonctionnel, lequel illustre un système de fourniture d'une application par une VM, conformément à un mode de réalisation de la présente invention. Le système monte un fichier exécutable correspondant à une application, qu'un client 10 demande, sur une VM, de telle sorte que la VM peut exécuter celui-ci. Le système 200 de fourniture d'une application par une VM comprend un groupe d'unités de stockage de fichiers exécutables 210, un module de réception 15 d'instruction 250, un module d'affectation de VM 260, un module de recherche de fichier exécutable 270 et un module de montage 280. Dans un mode de réalisation, le module de réception d'instruction 250, le module d'affectation de VM 260, le module de recherche de 20 fichier exécutable 270 et le module de montage 280 peuvent être mis en oeuvre par au moins une unité de traitement d'un unique serveur. Dans un autre mode de réalisation, le module de réception d'instruction 250, le module d'affectation de VM 260, le module de 25 recherche de fichier exécutable 270 et le module de montage 280 peuvent être mis en oeuvre de manière discrète par des unités de traitement de plusieurs serveurs différents. Le groupe d'unités de stockage de fichiers 30 exécutables 210 stocke plusieurs fichiers exécutables candidats. De plus, le système 200 peut fournir en outre plusieurs VM candidates initialisées. Dans un mode de réalisation de la présente invention, le groupe d'unités de stockage de fichiers exécutables 210 peut être mis en 35 oeuvre par une unité de stockage d'un serveur. Dans un autre mode de réalisation de la présente invention, le groupe d'unités de stockage de fichiers exécutables 210 peut être mis en oeuvre par un dispositif de stockage en nuage. En outre, les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables 210 s'adaptent aux environnements système de VM des VM candidates, de telle sorte que de tels fichiers exécutables candidats n'ont pas besoin d'être réinstallés selon des paramètres d'environnement des VM candidates. Dans un mode de réalisation de la présente invention, les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables 210 peuvent être exécutés directement dans les environnements système de VM des VM candidates. Dans un autre mode de réalisation de la présente invention, les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables 210 peuvent être exécutés dans les environnements système de VM des VM candidates immédiatement après avoir été compilés. Dans encore un autre mode de réalisation de la présente invention, les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables 210 peuvent être exécutés sur un émulateur pour être exécutés directement dans les environnements système de VM des VM candidates sans être réinstallés.
Lorsqu'un utilisateur du client 400 demande une application cible, l'utilisateur du client 400 peut réaliser une telle opération par l'intermédiaire du client 400 pour générer une instruction de demande d'application correspondante Par la suite, le module de réception d'instruction 250 reçoit une instruction de demande d'application pour demander l'application cible auprès du client 400. Dans un mode de réalisation de la présente invention, lorsqu'un utilisateur du client 400 souhaite exécuter l'application cible, l'utilisateur du client 400 peut utiliser un programme d'application installé sur le client 400 pour générer et transmettre l'instruction de demande d'application afin que celle-ci soit reçue par le module de réception d'instruction 250. Dans un autre mode de réalisation de la présente invention, un module de fourniture de bureau virtuel 240 peut fournir un bureau virtuel au client 400. Par la suite, un utilisateur du client 400 peut utiliser le bureau virtuel fourni pour générer et transmettre l'instruction de demande d'application afin que celle-ci soit reçue par le module de réception d'instruction 250.
Le module de fourniture de bureau virtuel 240 et le client 400 peuvent être exécutés sur le même appareil électrique. En outre, le module de fourniture de bureau virtuel 240 peut fournir le bureau virtuel à distance par l'intermédiaire d'un réseau au client 400. Le module de fourniture de bureau virtuel 240 peut utiliser une interface de bureau virtuel (VDI) pour transmettre des images du bureau virtuel, afin de fournir le bureau virtuel. Par conséquent, un utilisateur du client 400 peut utiliser le bureau virtuel affiché sur le client 400. Dans encore un autre mode de réalisation de la présente invention, une page Internet peut être fournie au client 400, de telle sorte qu'un utilisateur du client 400 peut utiliser la page Internet fournie pour générer et transmettre l'instruction de demande d'application afin que celle-ci soit reçue par le module de réception d'instruction 250. Le module d'affectation de VM 260 affecte une VM disponible selon l'instruction de demande d'application. Le système 200 peut comprendre plusieurs VM candidates. Chacune des VM candidates se voit allouer une ressource correspondante. Par conséquent, le module d'affectation de VM 260 affecte la VM disponible selon un résultat de la détermination du point de savoir si les ressources correspondantes des VM candidates sont ou non adéquates pour le montage et l'exécution du fichier exécutable d'application cible. De plus, chacune des VM candidates comprend en outre une application installée. Par conséquent, le module d'affectation de VM 260 affecte la VM disponible selon un résultat de la détermination du point de savoir si les applications installées des VM candidates comprennent ou non l'application cible et si les ressources correspondantes des VM candidates sont ou non adéquates pour l'exécution du fichier exécutable d'application cible. Lorsque l'ensemble des ressources correspondantes des VM candidates, dont les applications installées comprennent l'application cible, ne sont pas adéquates pour l'exécution du fichier exécutable d'application cible, le module d'affectation de VM 260 affecte la VM disponible selon un résultat de la détermination du point de savoir si les ressources correspondantes des VM candidates, dont les applications installées ne comprennent pas l'application cible, sont ou non adéquates pour l'exécution du fichier exécutable d'application cible.
Le module de recherche de fichier exécutable 270 recherche un fichier exécutable d'application cible correspondant à l'application cible parmi les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables 210.
Par la suite, le module de montage 280 monte le fichier exécutable d'application cible sur la VM disponible. Dans un mode de réalisation de la présente invention, le module de montage 280 peut copier ou lier le fichier exécutable d'application cible du groupe d'unités de stockage de fichiers exécutables 210 à un espace partagé d'un groupe d'unités de fourniture de fichiers exécutables 220 et donner l'instruction à la VM disponible de monter le fichier exécutable d'application cible dans l'espace partagé du groupe d'unités de fourniture de fichiers exécutables 220. Par la suite, le module de montage 280 peut exécuter le fichier exécutable d'application cible monté par l'intermédiaire de la VM disponible. Le groupe d'unités de stockage de fichiers exécutables 210 et le groupe d'unités de fourniture de fichiers exécutables 220 peuvent être alloués dans le même équipement matériel ou dans un équipement différent. Par la suite, le système 200 fournit une image d'exécution générée par la VM disponible durant l'exécution du fichier exécutable d'application cible, de telle sorte qu'une unité d'affichage du client 400 affiche l'image d'exécution. Par conséquent, lorsqu'un utilisateur du client 400 souhaite exécuter un programme d'application, la VM disponible peut être utilisée pour l'exécution de celui-ci. En outre, dans un mode de réalisation de la présente invention, même si aucune VM disponible n'a l'application cible installée, le fichier exécutable correspondant à celle-ci stocké dans le groupe d'unités de stockage de fichiers exécutables 210 peut être copié ou lié pour un montage ultérieur, de telle sorte que la VM sans l'application cible préinstallée peut exécuter par la suite l'application cible. En d'autres termes, il n'y a pas besoin d'initialiser une nouvelle VM si aucune VM n'a l'application cible installée. En conséquence, il est possible d'installer seulement quelques applications dans chaque VM, ce qui conduit à une réduction de la ressource demandée pour chaque VM et du temps pour initialiser une nouvelle VM. En outre, si plusieurs clients font une demande pour la même application, le même fichier exécutable correspondant à l'application demandée peut être copié pour un montage ultérieur à fournir aux clients. En d'autres termes, plusieurs clients différents peuvent utiliser la même application en même temps. Si l'on fait référence à la Figure 3, un schéma 35 fonctionnel sera décrit, lequel illustre un système de fourniture d'une application par une VM, conformément à un autre mode de réalisation de la présente invention. Il est bien entendu qu'une description d'éléments identiques à ceux mentionnés ci-dessus ne sera pas répétée.
Le système 200 peut sélectionner une VM appropriée pour une exécution selon la ressource demandée pour exécuter l'application. Par conséquent, le système 200 peut comprendre en outre un module de détermination d'informations 290 pour déterminer des informations concernant une ressource demandée pour l'application cible selon l'instruction de demande d'application. La ressource demandée pour l'application cible peut comprendre une ressource de calcul demandée, un espace mémoire demandé, un ensemble d'instructions demandé ou toute autre ressource demandée pour l'application cible. Par la suite, le module d'affectation de VM 260 sélectionne l'une des VM candidates, qui a une ressource adéquate pour la ressource demandée, en tant que VM disponible De plus, le système 200 peut comprendre en outre un module de surveillance de ressource 300 pour surveiller une ressource restante de chacune des VM candidates, telle qu'une ressource de calcul restante, un espace mémoire restant ou toutes autres informations concernant une ressource restante. Par conséquent, le module d'affectation de VM 260 sélectionne l'une des VM candidates, dont la ressource restante est adéquate pour la ressource demandée, en tant que VM disponible. En outre, le module de montage 280 peut monter à l'avance plusieurs fichiers exécutables d'application préconfigurés sur la VM disponible. Par conséquent, avant le montage du fichier exécutable d'application cible sur la VM disponible, un dispositif de détermination 280a du module de montage 280 peut déterminer si les fichiers exécutables d'application préconfigurés montés sur la VM disponible comprennent ou non le fichier exécutable d'application cible. Si les fichiers exécutables d'application préconfigurés montés sur la VM disponible ne comprennent pas le fichier exécutable d'application cible, le module de montage 280 monte le fichier exécutable d'application cible sur la VM disponible. Si les fichiers exécutables d'application préconfigurés montés sur la VM disponible comprennent le fichier exécutable d'application cible, le module de montage 280 ne monte pas en outre le fichier exécutable d'application cible sur la VM disponible. Par conséquent, par prémontage de fichiers exécutables utilisés fréquemment, le temps de montage peut être davantage réduit. Bien que la présente invention ait été décrite considérablement en détail en référence à certains modes de réalisation de celle-ci, d'autres modes de réalisation sont possibles. Par conséquent, l'esprit et la portée de l'invention ne devraient pas se limiter à la description des modes de réalisation contenus dans la présente description. Il apparaîtra à l'homme du métier que différentes modifications et variations peuvent être apportées à la structure de la présente invention sans s'écarter ni de la portée ni de l'esprit de l'invention. Compte tenu de ce qui précède, il est prévu que la présente invention couvre des modifications et des variations de cette invention.

Claims (4)

  1. REVENDICATIONS1 - Procédé de fourniture d'une application par 5 une machine virtuelle (VM), caractérisé par le fait qu'il comprend : (a) la réception (120) à partir d'un client d'une instruction de demande d'application pour demander une application cible ; 10 (b) l'affectation (130) d'une machine virtuelle disponible selon l'instruction de demande d'application ; (c) la recherche (140) d'un fichier exécutable d'application cible correspondant à l'application 15 cible parmi une pluralité de fichiers exécutables candidats stockés dans un groupe d'unités de stockage de fichiers exécutables ; (d) le montage (150) du fichier exécutable d'application cible sur la machine virtuelle 20 disponible ; et (e) l'exécution (150) du fichier exécutable d'application cible monté par l'intermédiaire de la machine virtuelle disponible. 25
  2. 2 - Procédé de fourniture d'une application par une machine virtuelle selon la revendication 1, caractérisé par le fait qu'une application installée sur le client génère et transmet l'instruction de demande d'application, un bureau virtuel est fourni au client 30 pour générer et transmettre l'instruction de demande d'application, ou une page Internet est fournie au client pour générer et transmettre l'instruction de demande d'application.
  3. 3 - Procédé de fourniture d'une application par une machine virtuelle selon la revendication 1, caractérisé par le fait qu'il comprend en outre : la fourniture d'une pluralité de machines virtuelles candidates, chacune des machines virtuelles candidates se voyant allouer une ressource correspondante, et l'affectation à l'opération (b) étant réalisée selon un résultat de la détermination du point de savoir 10 si les ressources correspondantes des machines virtuelles candidates sont ou non adéquates pour le montage et l'exécution du fichier exécutable d'application cible. 15
  4. 4 - Procédé de fourniture d'une application par une machine virtuelle selon la revendication 3, caractérisé par le fait que : chacune des machines virtuelles candidates comprend en outre une application installée ; 20 l'affectation à l'opération (b) est réalisée selon un résultat de la détermination du point de savoir si les applications installées des machines virtuelles candidates comprennent ou non l'application cible et si les ressources correspondantes des machines virtuelles 25 candidates sont ou non adéquates pour l'exécution du fichier exécutable d'application cible ; et lorsque l'ensemble des ressources correspondantes des machines virtuelles candidates, dont les applications installées comprennent l'application 30 cible, ne sont pas adéquates pour l'exécution du fichier exécutable d'application cible, l'affectation à l'opération (b) est réalisée selon un résultat de la détermination du point de savoir si les ressources correspondantes des machines virtuelles candidates, dont 35 les applications installées ne comprennent pasl'application cible, sont ou non adéquates pour l'exécution du fichier exécutable d'application cible. - Procédé de fourniture d'une application par 5 une machine virtuelle selon la revendication 3, caractérisé par le fait que les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables sont exécutables dans un environnement de machine virtuelle de chacune des 10 machines virtuelles candidates. 6 - Procédé de fourniture d'une application par une machine virtuelle selon la revendication 1, caractérisé par le fait qu'il comprend en outre : 15 l'affichage (170) d'une image d'exécution générée par la machine virtuelle disponible durant l'exécution du fichier exécutable d'application cible sur une unité d'affichage du client. 20 7 - Procédé de fourniture d'une application par une machine virtuelle selon la revendication 1, caractérisé par le fait que l'opération (b) comprend : la détermination d'une ressource demandée pour l'application cible selon l'instruction de demande 25 d'application ; et la sélection de la machine virtuelle disponible, qui a une ressource adéquate pour la ressource demandée, parmi une pluralité de machines virtuelles candidates. 30 8 - Procédé de fourniture d'une application par une machine virtuelle selon la revendication 7, caractérisé par le fait qu'il comprend en outre : la surveillance d'une ressource restante de 35 chacune des machines virtuelles candidates ;la sélection de la machine virtuelle disponible, qui a la ressource adéquate pour la ressource demandée, parmi les VM candidates comprenant : la sélection de l'une des machines virtuelles 5 candidates, dont la ressource restante est adéquate pour la ressource demandée, en tant que machine virtuelle disponible. 9 - Procédé de fourniture d'une application par 10 une machine virtuelle selon la revendication 1, caractérisé par le fait que l'opération (d) comprend : la liaison ou la copie du fichier exécutable d'application cible sur un espace partagé à partir du groupe d'unités de stockage de fichiers exécutables ; et 15 le montage du fichier exécutable d'application cible dans l'espace partagé. 10 - Procédé de fourniture d'une application par une machine virtuelle selon la revendication 1, 20 caractérisé par le fait qu'il comprend en outre, avant l'opération (a) : le montage d'une pluralité de fichiers exécutables d'application préconfigurés sur la machine virtuelle disponible ; et 25 la détermination du point de savoir si les fichiers exécutables d'application préconfigurés comprennent ou non le fichier exécutable d'application cible ; dans lequel si les fichiers exécutables 30 d'application préconfigurés ne comprennent pas le fichier exécutable d'application cible, l'opération (d) est réalisée ; et si les fichiers exécutables d'application préconfigurés comprennent le fichier exécutable 35 d'application cible, l'opération (d) n'est pas réalisée.11 - Système (200) de fourniture d'une application par une machine virtuelle, caractérisé par le fait qu'il comprend : un groupe d'unités de stockage de fichiers 5 exécutables (210) pour stocker une pluralité de fichiers exécutables candidats ; un module de réception d'instruction (250) pour recevoir d'un client (400) une instruction de demande d'application, afin de demander une application cible ; 10 un module d'affectation de machine virtuelle (260) pour affecter une machine virtuelle disponible selon l'instruction de demande d'application ; un module de recherche de fichier exécutable (270) pour rechercher un fichier exécutable d'application 15 cible correspondant à l'application cible parmi les fichiers exécutables candidats stockés dans le groupe d'unités de stockage de fichiers exécutables (210) ; et un module de montage (280) pour monter le fichier exécutable d'application cible sur la machine virtuelle 20 disponible, de telle sorte que la machine virtuelle disponible exécute le fichier exécutable d'application cible monté. 12 - Système de fourniture d'une application par 25 une machine virtuelle selon la revendication 11, caractérisé par le fait qu'une application installée sur le client (400) génère et transmet l'instruction de demande d'application, un bureau virtuel est fourni au client pour générer et transmettre l'instruction de demande 30 d'application, ou une page Internet est fournie au client pour générer et transmettre l'instruction de demande d'application. 13 - Système de fourniture d'une application par 35 une machine virtuelle selon la revendication 11, caractérisé par le fait qu'il comprend en outre :une pluralité de machines virtuelles candidates, chacune des machines virtuelles candidates se voyant allouer une ressource correspondante ; dans lequel le module d'affectation de machine virtuelle (260) affecte la machine virtuelle disponible selon un résultat de la détermination du point de savoir si les ressources correspondantes des machines virtuelles candidates sont ou non adéquates pour le montage et l'exécution du fichier exécutable d'application cible. 14 - Système de fourniture d'une application par une machine virtuelle selon la revendication 13, caractérisé par le fait que : chacune des machines virtuelles candidates 15 comprend en outre une application installée ; le module d'affectation de machine virtuelle (260) affecte la machine virtuelle disponible selon un résultat de la détermination du point de savoir si les applications installées des machines virtuelles candidates 20 comprennent ou non l'application cible et si les ressources correspondantes des machines virtuelles candidates sont ou non adéquates pour l'exécution du fichier exécutable d'application cible ; et lorsque l'ensemble des ressources correspondantes 25 des machines virtuelles candidates, dont les applications installées comprennent l'application cible, ne sont pas adéquates pour l'exécution du fichier exécutable d'application cible, le module d'affectation de machine virtuelle affecte la machine virtuelle disponible selon un 30 résultat de la détermination du point de savoir si les ressources correspondantes des machines virtuelles candidates, dont les applications installées ne comprennent pas l'application cible, sont ou non adéquates pour l'exécution du fichier exécutable d'application cible. 3515 - Système de fourniture d'une application par une machine virtuelle selon la revendication 11, caractérisé par le fait que le module de montage (280) fournit une image d'exécution générée par la machine virtuelle disponible durant l'exécution du fichier exécutable d'application cible, de telle sorte qu'une unité d'affichage du client affiche l'image d'exécution. 16 - Système de fourniture d'une application par 10 une machine virtuelle selon la revendication 11, caractérisé par le fait qu'il comprend en outre : un module de détermination d'informations (290) pour déterminer une ressource demandée pour l'application cible selon l'instruction de demande d'application ; 15 le module d'affectation de machine virtuelle (260) sélectionnant l'une des machines virtuelles candidates, qui a une ressource adéquate pour la ressource demandée, en tant que machine virtuelle disponible. 20 17 - Système de fourniture d'une application par une machine virtuelle selon la revendication 16, caractérisé par le fait qu'il comprend en outre : un module de surveillance de ressource (300) pour surveiller une ressource restante de chacune des machines 25 virtuelles candidates ; le module d'affectation de machine virtuelle (260) sélectionnant l'une des machines virtuelles candidates, dont la ressource restante est adéquate pour la ressource demandée, en tant que machine virtuelle 30 disponible. 18 - Système de fourniture d'une application par une machine virtuelle selon la revendication 11, caractérisé par le fait que le module de montage (280) 35 monte en outre une pluralité de fichiers exécutables d'application préconfigurés sur la machine virtuelledisponible, dans lequel avant le montage du fichier exécutable d'application cible sur la machine virtuelle disponible, le module de montage (280) détermine en outre si les fichiers exécutables d'application préconfigurés comprennent ou non le fichier exécutable d'application cible ; dans lequel si les fichiers exécutables d'application préconfigurés ne comprennent pas le fichier exécutable d'application cible, le module de montage (280) monte le fichier exécutable d'application cible sur la machine virtuelle disponible. 19 - Support de stockage lisible par ordinateur caractérisé par le fait qu'il comporte un programme d'ordinateur pour exécuter un procédé de fourniture d'une application par une machine virtuelle selon la revendication 1. - Support de stockage lisible par ordinateur 20 selon la revendication 19, caractérisé par le fait que le procédé comprend en outre, avant l'opération (a) : le montage d'une pluralité de fichiers exécutables d'application préconfigurés sur la machine virtuelle disponible ; et la détermination du point de savoir si les fichiers exécutables d'application préconfigurés comprennent ou non le fichier exécutable d'application cible ; dans lequel si les fichiers exécutables 30 d'application préconfigurés ne comprennent pas le fichier exécutable d'application cible, l'opération (d) est réalisée ; et si les fichiers exécutables d'application préconfigurés comprennent le fichier exécutable 35 d'application cible, l'opération (d) n'est pas réalisée.
FR1254026A 2011-11-21 2012-05-02 Procede et systeme de fourniture d'une application par une machine virtuelle et support de stockage lisible par ordinateur pour executer le procede Withdrawn FR2982971A1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100142596A TWI478063B (zh) 2011-11-21 2011-11-21 於虛擬機器提供應用程式之系統以及方法以及儲存其之電腦可讀取記錄媒體

Publications (1)

Publication Number Publication Date
FR2982971A1 true FR2982971A1 (fr) 2013-05-24

Family

ID=48222600

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1254026A Withdrawn FR2982971A1 (fr) 2011-11-21 2012-05-02 Procede et systeme de fourniture d'une application par une machine virtuelle et support de stockage lisible par ordinateur pour executer le procede

Country Status (3)

Country Link
US (1) US20130132953A1 (fr)
FR (1) FR2982971A1 (fr)
TW (1) TWI478063B (fr)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243509A (zh) * 2013-06-07 2014-12-24 鸿富锦精密工业(深圳)有限公司 虚拟机画面显示系统及方法
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10255092B2 (en) * 2016-02-09 2019-04-09 Airwatch Llc Managed virtual machine deployment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
TWI648637B (zh) * 2017-11-30 2019-01-21 財團法人工業技術研究院 於平台部署與操作行動作業系統的系統及其方法
US10817331B2 (en) 2018-06-25 2020-10-27 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10853115B2 (en) * 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795864B2 (en) * 2000-12-28 2004-09-21 Sun Microsystems, Inc. System using lookup service proxy object having code and request rate for managing rate at which client can request for services from server are transmitted
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US7669186B2 (en) * 2005-11-16 2010-02-23 Sun Microsystems, Inc. Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8190682B2 (en) * 2006-03-31 2012-05-29 Amazon Technologies, Inc. Managing execution of programs by multiple computing systems
US7801994B2 (en) * 2007-11-29 2010-09-21 Hitachi, Ltd. Method and apparatus for locating candidate data centers for application migration
WO2009123640A1 (fr) * 2008-04-04 2009-10-08 Hewlett-Packard Development Company, L.P. Système de gestionnaire de machine virtuelle et procédés
US8161479B2 (en) * 2008-06-13 2012-04-17 Microsoft Corporation Synchronizing virtual machine and application life cycles
TW201007574A (en) * 2008-08-13 2010-02-16 Inventec Corp Internet server system and method of constructing and starting a virtual machine
US8418181B1 (en) * 2009-06-02 2013-04-09 Amazon Technologies, Inc. Managing program execution based on data storage location
CA2698066A1 (fr) * 2009-07-31 2011-01-31 Nitobi Software Inc. Systeme et procede de compilation a distance d'applications en langage natif pour des dispositifs mobiles
US9477531B2 (en) * 2010-01-27 2016-10-25 Vmware, Inc. Accessing virtual disk content of a virtual machine without running a virtual desktop
US8627426B2 (en) * 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US9342373B2 (en) * 2010-05-20 2016-05-17 International Business Machines Corporation Virtual machine management among networked servers
US20120174096A1 (en) * 2010-12-30 2012-07-05 Matthew Conover Systems and methods to load applications and application data into a virtual machine using hypervisor-attached volumes
WO2012141996A1 (fr) * 2011-04-10 2012-10-18 Requirementslive Llc Système de développement de langage de gestion et d'application logicielle automatisée portable
WO2011127860A2 (fr) * 2011-05-18 2011-10-20 华为技术有限公司 Procédé, serveur et système de démarrage d'application
US8832239B2 (en) * 2011-09-26 2014-09-09 International Business Machines Corporation System, method and program product for optimizing virtual machine placement and configuration
US8938712B2 (en) * 2011-12-22 2015-01-20 International Business Machines Corporation Cross-platform virtual machine and method

Also Published As

Publication number Publication date
TWI478063B (zh) 2015-03-21
US20130132953A1 (en) 2013-05-23
TW201322133A (zh) 2013-06-01

Similar Documents

Publication Publication Date Title
FR2982971A1 (fr) Procede et systeme de fourniture d'une application par une machine virtuelle et support de stockage lisible par ordinateur pour executer le procede
US11394659B2 (en) Tracking costs for a deployable instance
US10521447B2 (en) Container application execution using image metadata
US10862888B1 (en) Linking a forwarded contact on a resource to a user interaction on a requesting source item
US10229429B2 (en) Cross-device and cross-channel advertising and remarketing
US20180121973A1 (en) Direct payment system for web consumers
FR2982387A1 (fr) Procede d'ouverture de fichier sur un bureau virtuel pour un systeme en nuage, systeme et support de stockage lisible par ordinateur appliquant le procede
US10754632B2 (en) Converting desktop applications into cloud services
US9015707B2 (en) Virtual machine rapid provisioning system
US11012371B2 (en) Queued workload service in a multi tenant environment
US9094473B2 (en) Installation of an asset from a cloud marketplace to a cloud server in a private network
CA2834677A1 (fr) Procede pour adapter les annonces restituees sur un dispositif mobile sur la base de l'existence d'autres applications mobile
US20160197848A1 (en) Content distribution resource allocation
FR3025909A3 (fr) Audit de video sur le web
US20160328740A1 (en) Tracking rendered offline advertisement
US8954523B2 (en) Method and apparatus for identifying virtual content candidates to ensure delivery of virtual content
US20150007046A1 (en) Management of an application for an electronic device
CN105874425B (zh) 动态共享意图
US10554770B2 (en) Dynamic cognitive optimization of web applications
JP7042284B2 (ja) ユーザ・アクセス基準に基づく動的なピクチャ・サイズ変更
CN110969463A (zh) 推广信息位的分配和获取方法及设备
JP7321368B2 (ja) 第3世代パートナーシッププロジェクト(3gpp)ライブアップリンクストリーミングのためのフレームワーク(flus)シンク機能を決定するための方法、コンピュータシステムおよびコンピュータプログラム
EP2575327B1 (fr) Procédé de partage d'une application web entre plusieurs terminaux informatiques reliés à un réseau de communication
US10833945B2 (en) Managing downloading of content
US10976929B2 (en) Cognitively managed storage volumes for container environments

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 4

PLSC Publication of the preliminary search report

Effective date: 20160701

ST Notification of lapse

Effective date: 20170131