Brevet FR2885429A1 — publié le 20061110

La présente invention concerne en général le domaine des machines virtuelles des systèmes de traitement d'informations, et plus particulièrement un système et un procédé pour la gestion logicielle centralisée des machines vir- tuelles. Du fait de la valeur et de l'utilisation croissantes des information, les personnes et les entreprises cherchent des moyens supplémentaires pour traiter et mémoriser les informations. L'une des options mises à la disposition des utilisateurs concerne les systèmes de traitement d'informations. Un système de traitement d'informations, d'une manière générale, traite, compile, mémorise, et/ou communique des informations ou des données à des fins commerciales, personnelles ou autres, permettant ainsi aux utilisateurs d'exploiter la valeur des informations. Du fait que les besoins et impératifs en termes de technologie et de traitement d'informations varient entre utilisateurs différents ou applications différentes, les systèmes de traitement d'informations peuvent également varier en fonction du type d'informations qui sont traitées, de la manière par laquelle les informations sont traitées, de la quantité d'informations qui sont traitées, mémorisées, ou communiquées, et du degré de rapidité et d'efficacité avec lequel les informations peuvent être traitées, mémorisées, ou communiquées. Les variations des systèmes de traitement d'informations permettent aux systèmes de traitement d'informations d'être généraux ou configurés pour un utilisateur spécifique ou un usage spécifique tel qu'un traitement de transactions fi- nancières, des réservations de vols, une mémorisation de données d'entreprise, ou des communications globales. De plus, les systèmes de traitement d'informations peuvent inclure une variété de composants matériels et logiciels qui peuvent être configurés pour traiter, mémoriser, et communiquer des informations et peuvent inclure un ou plusieurs systèmes informatiques, systèmes de mémorisation de données, et systèmes de gestion de réseau. Les systèmes de traitement d'informations traitent typiquement les informations à l'aide d'une ou de plusieurs applications s'exécutant sous un système d'exploitation qui coordonne le fonctionnement de composants matériels. Bien que les systèmes de traitement d'informations discrets soient des outils efficaces pour gérer les informations associées à des emplacements ou à activités spéci-fiques, souvent les capacités de traitement d'un système de traitement d'informations sont sous-utilisées durant des périodes de temps inactives. Par exemple, un système de traitement d'informations associé à une fonction particulière de l'entreprise peut rester inactif pendant des périodes prolongées, ce qui fait qu'il est disponible lorsque nécessaire. Durant les périodes d'inactivité, les composants de traitement physiques, tels que le processeur et les composants de mémorisation, consomment de l'énergie et se déprécient avec une valeur ajoutée ré- duite pour l'entreprise. Les entreprises ont généralement accepté le coût des périodes d'inactivité en échange du confort d'avoir des systèmes de traitement d'informations essentiels en ligne et prêts pour des opérations importantes. La transition récente vers l'utilisation de la virtualisation de ressources a permis aux entreprises d'avoir le confort de disposer de systèmes de traitement d'informations discrets sans le coût d'entretien et de fonctionne-ment de systèmes physiques séparés. La virtualisation des ressources sépare les applications logicielles des systèmes de traitement d'informations matériels en plaçant les applications logicielles dans des contenants de type "ma-chine virtuelle". Une machine virtuelle est une abstraction logicielle de la couche matérielle qui offre toute la fonctionnalité du système matériel physique ayant des systèmes d'exploitation et des applications installés tout comme un système de traitement d'informations physique. Une machine virtuelle classique peut physiquement être conçue comme deux fichiers, une image logicielle et un fichier de configuration matérielle générique qui peu- vent être basés sur le langage XML (Extensible Markup Language). L'image logicielle représente l'unité de dis-que dur pour cette machine virtuelle, typiquement appelée "disque virtuel". Le disque virtuel contient typiquement des fichiers d'Installation d'Exploitation, des fichiers d'Application et des fichiers de Données Utilisateur. Plusieurs machines virtuelles sont mémorisées dans un environnement serveur en réseau typiquement appelé centre de données virtuel de sorte qu'une machine virtuelle vou- lue est disponible pour fonctionner sur les ressources du serveur, lorsque nécessaire. Les machines virtuelles ne sont pas limitées à des cas de ressources spécifiques, ce qui fait que les ressources peuvent être fournies et redimensionnées dynamiquement par rapport à des applica- tions lorsque requis et, vice versa, les applications peuvent migrer entre les ressources selon les exigences d'utilisation des ressources. Les fichiers de configuration matérielle des machines virtuelles incluent des détails de dimensionnement et de liaison courantes pour supporter le déplacement de machines virtuelles à travers le matériel et vice versa. Typiquement, un centre de données virtuel gère des machines virtuelles à l'aide de modèles de données de grand centre de données, tels que le "System Definition Model" (SDM) de Microsoft et le "Data Center Markup" de EDS qui permettent un partage de configuration à travers des demi- cycles de logiciel, des systèmes de gestion et des systèmes de virtualisation en utilisant des données statiques et non-distribuées. Toutefois, dans un centre de données virtuel, un logiciel reste étroitement couplé à des systèmes de gestion et de commande, qui à leur tour lient étroitement les systèmes de gestion au matériel et aux utilisateurs. En d'autres termes, la flexibilité des machines virtuelles à s'exécuter sur diverses ressources est limitée par la gestion des machines virtuelles et du centre de données virtuel, telle que la gestion des mises à jour, performance, emplacements, priorités et privilèges. A titre d'exemple, dans un environnement de centre de données, la gestion logicielle est répartie, chaque système applicable devant être géré individuellement. Ce-ci fait que les opérations de gestion logicielle, telles que la gestion des logiciels correctifs, sont fastidieuses et consomment beaucoup de temps. Afin de réaliser une installation logicielle, une gestion de logiciels correc- tifs et des mises à jour de sécurité, chaque système dans un centre de données doit être actualisé, et les logiciels correctifs de sécurité installés sur une base individuelle. Un centre de données typique a des centaines de machines virtuelles, ce qui fait que les ressources sont inadéquates pour mettre à jour toutes les machines virtuelles en même temps, le résultat étant un environnement hétérogène avec certains systèmes actualisés et certains autre utilisant d'anciennes versions. Le suivi des actualisations des systèmes pour garantir que tous les systèmes sont actualisés présente un problème logistique important, qui est souvent répété plusieurs fois par an lorsque les logiciels correctifs sont mis sur le marché. Un logiciel dans un centre de données virtuel reste également étroitement lié à des utilisateurs et services analogues aux utilisateurs, tels qu'en limitant l'utilisation du logiciel avec des applications logicielles adaptées à des utilisateurs afin de garantir que le logiciel et le matériel répondent aux préférences spécifiques aux utilisateurs, telles que sécurité, partitionnement, utilisation et facturation/commissionnement. Par conséquent, il existe un besoin pour un système et un procédé qui utilisent des machines virtuelles pour découpler les logiciels des utilisateurs et des services. Il existe également un besoin pour un système et un pro-cédé qui utilisent des machines virtuelles pour découpler des logiciels des systèmes de gestion et de commande. Il existe également un autre besoin pour un système et un procédé qui simplifient la gestion logicielle des logi- ciels des machines virtuelles à travers un centre de don-nées virtuel. La présente invention propose un système et un procédé qui réduisent sensiblement les inconvénients et les problèmes associés à de précédents procédés et systèmes de gestion de machines virtuelles d'un centre de données virtuel. Les instances exécutables des machines virtuel-les sont générées d'après des informations de configuration de gestion et/ou informations de configuration d'utilisateurs/services couplées à la machine virtuelle. Par conséquent, les machines virtuelles sont efficacement utilisées pour découpler les systèmes de gestion et de commande du centre de données virtuel par rapport à des utilisateurs et des services analogues aux utilisateurs. De manière plus spécifique, les machines virtuelles d'un centre de données virtuel incluent une image logicielle et une configuration matérielle de serveur qui s'exécutent sur des ressources matérielles de serveur telles qu'attribuées par un moteur de virtualisation de ressources. De plus, chaque machine virtuelle inclut une confi- guration de gestion séparée ayant des préférences de gestion et une configuration d'utilisateurs/services ayant des préférences d'utilisateurs. Les préférences de gestion incluent des informations pour des fonctions liées à la gestion, telles que des contrôles environnementaux tels que l'énergie, le refroidissement et l'équilibre, des règles, minimums, maximums, ou limites des utilisateurs, logicielles, ou matérielles. Un moteur de surveillance d'utilisation de ressources surveille les machines virtuelles activées dans une boucle fermée à l'aide d'un moteur de politique globale pour régler l'allocation de machines virtuelles à travers des composants d'exploitation des ressources du serveur conformément aux préférences de gestion. Les préférences d'utilisateurs/services incluent des informations concernant la priorité et le coût d'une machine virtuelle ainsi que d'autres paramètres, tels que la préférence et la fréquence de sauve-garde ou les niveaux de sécurité. Les configurations d'utilisateurs/services et de gestion rendent les machines virtuelles autonomes par l'intermédiaire d'un maté- riel générique, d'une gestion des utilisateurs et des systèmes pour une allocation dynamique de composants de traitement pour satisfaire à des buts de gestion et de services voulus. Dans un mode de réalisation, les configurations de ges- tion et/ou utilisateurs/services maintiennent des informations pour permettre la génération d'instances de ma-chines virtuelles à partir d'une image d'application à lecture seule. Par exemple, la configuration de gestion suit le type d'application et la configuration d'utilisa- teurs/services suit des informations uniques au système. Au lieu d'avoir un disque virtuel séparé pour chaque ma-chine virtuelle, un disque virtuel commun est utilisé pour plusieurs machines virtuelles qui partagent le même système d'exploitation et les mêmes applications, un dis- que virtuel séparé étant utilisé pour des fichiers qui sont uniques à des machines virtuelles individuelles, tels que des fichiers de données utilisateurs. Une instance d'une machine virtuelle particulière s'exécute à partir d'une copie du disque virtuel commun renseignée par des informations uniques provenant du disque virtuel unique. Des informations générées par l'instance sont écrites sur le disque virtuel unique, le disque virtuel commun étant maintenu en lecture seule pour protéger l'intégrité d'autres machines virtuelles qui utilisent le disque virtuel commun. L'accès en mode modification au disque virtuel commun est limité, comme limité à un gestionnaire de correctifs qui a une autorisation d'écriture pour installer des logiciels correctifs ou des mises à jour de sécurité pour des applications sur le disque vir- tuel commun. Par exemple, un correctif est installé à travers plusieurs machines virtuelles en interrompant toutes les instances en exécution qui utilisent un disque virtuel commun, en appliquant le logiciel correctif au disque virtuel commun, et en relançant les plusieurs ma- chines virtuelles à partir du disque virtuel commun mis à jour de sorte que les instances s'exécutent avec le logiciel correctif. Plus précisément, la présente invention propose un système comportant: des données globales opérationnelles pour mémoriser plusieurs machines virtuelles; plusieurs machines virtuelles mémorisées dans les données globales, chaque machine virtuelle ayant une configuration matérielle et une image logicielle, l'image logicielle ayant au moins un fichier de préparation de système d'applica- tion; une image d'application à lecture seule mémorisée dans les données globales; plusieurs composants de traitement opérationnels pour exécuter les machines virtuel-les; et un moteur de virtualisation de ressources opérationnel pour exécuter une instance de machine virtuelle sur les composants de traitement en renseignant l'image d'application à lecture seule à l'aide du fichier de préparation de système d'application pour générer une instance d'exécution de l'application. Selon divers modes de réalisation avantageux du système: l'application comporte un système d'exploitation; le système comporte un gestionnaire de correctifs d'application pour mettre à jour l'application à l'aide d'un ou plusieurs correctifs en appliquant les correctifs à l'image d'application à lecture seule; le gestionnaire de correctifs d'application comporte une machine virtuelle opérationnelle pour s'exécuter sur les composants de traitement; le gestionnaire de correctifs d'application met à jour l'application en fermant toutes les machines virtuel- les accédant à l'image à lecture seule, en installant les correctifs sur l'image à lecture seule, et en relançant les machines virtuelles fermées; le gestionnaire de correctifs d'application met à jour l'application en mémorisant une copie de l'application dans la mémoire cache, en exécutant à partir de la mémoire cache une ou plusieurs machines virtuelles accédant à l'image à lecture seule, en installant les correctifs sur l'image à lecture seule et en relançant les machines virtuelles accédant à la mémoire cache; les machines virtuelles comportent de plus une configuration de gestion ayant des informations de version d'application; les machines virtuelles comportent de plus une configuration d'utilisateurs/services ayant des informa- tions de sécurité d'accès associées à l'application; les machines virtuelles comportent de plus une configuration d'utilisateurs/services opérationnelle pour mémoriser des informations spécifiques au système associées au fonctionnement de l'application sur la ma- chine virtuelle; le système comporte un dispositif de clonage de ma-chine virtuelle opérationnel pour cloner une machine virtuelle en copiant le fichier de préparation de système d'application. L'invention propose également un procédé comportant les étapes consistant à : mémoriser une image à lecture seule d'une application dans le centre de données virtuel; mémoriser plusieurs machines virtuelles dans le centre de données virtuel, chaque machine virtuelle ayant une configuration matérielle et une image logicielle, l'image logicielle ayant un fichier de préparation de système associé à l'application; et générer une instance d'exécution d'un machine virtuelle en renseignant l'image à lec- ture seule de l'application par le fichier de préparation de système de cette machine virtuelle. Selon diverses mises en uvre avantageuses du procédé, celui -ci comporte de plus les étapes consistant à : copier un correctif de mise à jour dans l'image à lec- ture seule de l'application pour actualiser l'application, et renseigner l'application actualisée à l'aide du fichier de préparation de système d'une machine virtuelle pour générer une instance d'exécution de cette machine virtuelle exécutant l'application actua- lisée; interrompre une "ou plusieurs machines virtuelles qui exécutent l'application avant de copier le correctif de mise à jour, et relancer les machines virtuelles interrompues après la copie du correctif de. mise à jour; mémoriser dans la mémoire cache une ou plusieurs machines virtuelles qui exécutent l'application avant de copier le correctif de mise à jour, exécuter les ma-chines virtuelles à partir de la mémoire cache durant la copie du correctif de mise à jour, et relancer les machines virtuelles mises en cache à partir de l'application actualisée; cloner une ou plusieurs machines virtuelles en copiant le fichier de préparation de système; garder la trace de la version de l'application associée à une machine virtuelle dans une configuration de gestion mémorisée avec la machine virtuelle; - générer des informations sur la machine virtuelle pour les écrire dans l'image d'application, et écrire les informations générées dans une configuration d'utilisateurs/services de la machine virtuelle; Selon un autre aspect, l'invention porte également sur une machine virtuelle, caractérisée en ce qu'elle cornporte: une configuration matérielle; une image logicielle ayant un fichier de préparation de système associé à une application, le fichier de préparation de système étant opérationnel pour renseigner une image à lecture seule de l'application, l'image à lecture seule étant mé- morisée séparément de la machine virtuelle; et une configuration d'utilisateurs/services opérationnelle pour accepter des écritures générées par l'application durant les instances d'exécution de la machine virtuelle. Avantageusement, cette machine comporte de plus une configuration de gestion opérationnelle pour mémoriser des informations de version associées à des mises à jour de l'image à lecture seule de l'application. La présente invention procure de nombreux avantages techniques importants. Un exemple d'avantage technique impor- tant est que les machines virtuelles sont utilisées pour découpler un logiciel des systèmes de gestion et de commande d'un centre de données virtuel. Le découplage de gestion et de commande offre un modèle plus flexible qui adapte la gestion à des systèmes génériques d'utilisa- teurs, de logiciels et de matériels, gère de multiples systèmes, permet un changement indépendant de la gestion, des utilisateurs, des logiciels ou du matériel, même pendant l'exécution d'une machine virtuelle et garantit que la gestion adhère aux règles de fonctionnement, telles que la conformité environnementale, et que le matériel répond à des limites spécifiques à la gestion, telle que les règles ou les limites physiques maximales. Le découplage d'un logiciel vis-à-vis de la gestion et de la commande permet des changements de logiciel indépendants de la gestion, des mises à jour de logiciels s'exécutant et dynamiques pendant que les systèmes de gestion y accèdent et simplifie les mises à jour des systèmes de gestion, telles que celles pour les modifications de gestionnaire en termes de vues, performances, emplacements, priorités et privilèges. Les machines virtuelles sont autonomes à travers le matériel générique, les utilisateurs et la gestion des systèmes pour fournir une image instantanée complète et reproductible qui simplifie les catégories d'outils du centre de données virtuel telles que diagnos- tics, point de contrôle, sauvegarde, clonage, suspension/reprise et commissionnement/facturation. La gestion des versions des fichiers dans une machine virtuelle simplifie le suivi des mises à jour de gestion et le fichier de configuration de gestion séparé permet un accès à base de rôles à des configurations dans une machine virtuelle. Les machines virtuelles sont autonomes à travers le maté-riel générique, la gestion des utilisateurs et des systèmes pour fournir une image instantanée complète et reproductible qui simplifie les catégories d'outils du centre de données virtuel, telles que diagnostics, point de contrôle, sauvegarde, clonage, suspension/reprise et commissionnement/facturation. La gestion des versions des fichiers dans une machine virtuelle simplifie le suivi des mises à jour et le fichier de configuration d'utili- sateurs séparé permet un accès à base de rôle à des configurations dans une machine virtuelle. Un autre exemple d'un avantage technique important est que les machines virtuelles sont utilisées pour découpler un logiciel vis-à-vis des utilisateurs et des services d'un centre de données virtuel. Le découplage des utili- sateurs et des services offre un modèle plus souple qui adapte les applications logicielles aux utilisateurs, garantit que le logiciel répond aux préférences spécifiques aux utilisateurs, telles que la sécurité, et garantit que le matériel répond aux préférences spécifiques aux utilisateurs, telles que le partitionnement, l'utilisation et la facturation/rejet de débit. Le découplage d'un logiciel vis-à-vis des utilisateurs et des services permet des changements de logiciels indépendants des utilisa- teurs, des mises à jour de logiciels s'exécutant et dynamiques pendant que les utilisateurs y accèdent, et simplifie les actualisations utilisateurs en termes de vues, performances, emplacements, priorités et privilèges. Un autre exemple d'un avantage technique important avec les machines virtuelles est que la gestion logicielle à travers un centre de données virtuel est simplifiée. Un correctif d'une application est appliqué à une copie à lecture seule de l'application. Les machines virtuelles qui incluent l'application s'amorcent à partir de l'image à lecture seule de manière à inclure le correctif, de sorte que l'application du correctif à l'application une seule fois met à jour efficacement toutes les machines virtuelles qui incluent l'application. L'utilisation de l'image à lecture seule pour supporter l'amorçage de mul-tiples machines virtuelles réduit la mémoire totale au centre de données virtuel du fait que la copie à lecture seule de l'application peut être maintenue en tant que copie permanente seule de l'application et toutes les ma-chines virtuelles utilisant la copie à lecture seule par- tagent un état commun se rapportant à l'application. De plus, le clonage de machines virtuelles ayant la même configuration est réalisable en un temps réduit du fait que le fichier de configuration d'utilisateurs/services associé à l'application est copié sans exiger la copie de toute l'application. De plus, les applications sont auto- nomes avec suffisamment d'informations pour être indépendantes de liens spécifiques à des utilisateurs et services, gestion de système ou matériel. La présente invention sera maintenant mieux comprise, et ses nombreux buts, caractéristiques et avantages seront plus évidents à l'homme du métier en faisant référence aux dessins annexés. L'utilisation de la même référence numérique de part et d'autre des figures désigne un élé- ment analogue ou similaire, sur lesquelles: la figure 1 décrit un schéma fonctionnel d'un centre de données virtuel ayant des configurations de gestion et des configurations d'utilisateurs/services associées à chaque machine virtuelle, la figure 2 décrit un schéma fonctionnel d'un centre de données virtuel ayant une image d'application à lecture seule qui supporte des images d'exécution de plusieurs machines virtuelles ayant des fichiers de préparation de système d'application, et la figure 3 décrit une vue en couche de machines virtuelles ayant une image commune. Les instances de machine virtuelle sont générées et contrôlées dans un centre de données virtuel en faisant référence à des informations d'une configuration de gestion et d'une configuration d'utilisateurs/services associées à chaque machine virtuelle. Les configurations de gestion et d'utilisateurs/services aident dans l'attribution et la surveillance des machines virtuelles quant à des ressources des systèmes de traitement d'informations pour atteindre des buts voulus. A des fins de cette description, un système de traitement d'informations peut inclure tout dispositif ou ensemble de dispositifs opérationnels pour calculer, classer, traiter, transmettre, recevoir, récupérer, émettre, commuter, mémoriser, affi- cher, manifester, détecter, enregistrer, lire, gérer ou utiliser toute forme d'informations, d'intelligence ou de données à des fins commerciales, scientifiques, de commande ou autres. Par exemple, un système de traitement d'informations peut être un ordinateur individuel, un dispositif de mémorisation de réseau, ou tout autre dis-positif adapté et peut varier en taille, forme, performance, fonctionnalité et prix. Le système de traitement d'informations peut inclure une mémoire à accès direct (RAM), une ou plusieurs ressources de traitement telles qu'une unité centrale de traitement (CPU) ou une logique de commande de matériel ou logiciel, une mémoire à lecture seule (ROM), et/ou d'autres types de mémoire non-volatile. Des composants supplémentaires du système de traitement d'informations peuvent inclure un ou plu-sieurs lecteurs de disque, un ou plusieurs ports réseaux pour communiquer avec des dispositifs externes ainsi que divers périphériques d'entrée et de sortie (E/S) tels qu'un clavier, une souris et un afficheur vidéo. Le sys- tème de traitement d'informations peut également inclure un ou plusieurs bus opérationnels pour transmettre des communications entre les divers composants matériels. En faisant maintenant référence à la figure 1, un schéma fonctionnel décrit un centre de données virtuel 10 ayant des configurations de gestion 14 et des configurations d'utilisateurs/services 16 associées à chaque machine virtuelle 12. Les machines virtuelles 12 fonctionnent sur des ressources matérielles de serveur 22 en appelant une image logicielle 18 pour s'exécuter sur la base d'une configuration matérielle de serveur 20. Les machines virtuelles inactives sont mémorisées dans des données globales 24 et activées en attribuant une machine virtuelle mémorisée à des composants de traitement voulus des ressources matérielles de serveur 22 via un moteur de vir- tualisation de ressources 26. Par exemple, une fonction de traitement de données est effectuée à la fin d'une journée commerciale en appelant une machine virtuelle 12 qui exécute la fonction de traitement de données une fois que les données deviennent disponibles. Le moteur de vir- tualisation de ressources 26 attribue la machine virtuelle 12 à une CPU de ressources matérielles de serveur 22 et amorce le système d'exploitation de la machine virtuelle 12 sur la CPU pour exécuter la fonction. A la fin de la fonction de traitement de données, le moteur de virtualisation de ressources 26 désactive la machine virtuelle 12 pour la mémoriser dans des données globales 24. Les centres de données virtuels classiques couplaient étroitement un logiciel aux systèmes de gestion et de commande ainsi qu'à l'utilisateur et à des services ana- loques à des utilisateurs réalisés, limitant ainsi la flexibilité opérationnelle du centre de données virtuel, tel qu'en couplant étroitement les systèmes de gestion au matériel et aux utilisateurs. Le centre de données virtuel 10 de la figure 1 inclut une configuration de ges- tion 14 et une configuration d'utilisateurs/services 16, chaque machine virtuelle 12 devant découpler un logiciel vis-à-vis des systèmes de gestion et de commande et vis-à-vis de l'utilisateur et des services analogues aux utilisateurs pour l'amélioration de la flexibilité opéra- tionnelle. La configuration de gestion 14 fournit une flexibilité améliorée en couplant des informations de gestion à chaque machine virtuelle 12 pourpermettre l'adaptation de la gestion à des systèmes génériques d'utilisateurs, lo- giciels et matériels, pour permettre la gestion de multiples systèmes, pour permettre des changements indépendants de la gestion même pendant l'exécution de la ma-chine virtuelle 12, pour permettre des changements indépendants des utilisateurs, logiciels ou matériels, même pendant l'exécution, pour garantir que la gestion adhère à des règles de conformité de politique 28 telles que la conformité environnementale, et pour garantir que le matériel répond à des limites spécifiques à la gestion tel-les que les règles ou les limites physiques maximales dé- finies par les règles de conformité de politique 28. La configuration de gestion 14 peut être un fichier XML qui mémorise des préférences de gestion dans un format normalisé. Le couplage des préférences de gestion à des machines virtuelles à l'aide de la configuration de gestion 14 supporte des entrées de gestionnaire de couches de virtualisation par l'intermédiaire d'un moteur de surveillance d'utilisation de ressources 30 et des sorties de gestionnaire de couches de virtualisation par l'intermédiaire d'un moteur de politique globale 32 pour éviter les conflits dans les mises à jour de gestionnaire des utilisateurs, logiciels et matériels, pendant que les ma-chines virtuelles fonctionnent. Par exemple, la configuration de gestion 14 définit des préférences pour les vues, performances, emplacements, priorités et privilèges d'une machine virtuelle. Les préférences peuvent être actualisées par l'intermédiaire d'une interface de gestion 34 pendant qu'une machine virtuelle fonctionne en changeant les valeurs dans la configuration de gestion. Les mises à jour à base de rôle fournissent l'autorisation de changer des valeurs de configuration de gestion sur la base de niveaux d'accès approuvés par le moteur de poli-tique globale 32. Du fait que les préférences de gestion sont maintenues comme faisant partie de la machine virtuelle elle-même, des images instantanées reproductibles complètes d'une machine virtuelle simplifient les tâches pour de nombreux outils tels que diagnostics, point de contrôle, sauvegarde, clonage, suspension/reprise, et commissionnement/facturation, et la gestion des versions peut être suivie dans la configuration de gestion. Un exemple de préférences de configuration de gestion concerne les objectifs environnementaux tels que ceux liés à l'énergie, au refroidissement et l'équilibre des tâches dans un centre de données virtuel. Le moteur de surveillance d'utilisation de ressources 30 surveille le temps d'exécution de virtualisation sur la base de préférences de gestion d'objectifs environnementaux au lieu d'une surveillance directe du matériel du fait qu'une ressource virtuelle donnée peut ne pas exister physique- ment, globalement ou suffisamment longtemps pour permettre sa découverte, sa surveillance et sa gestion. Le moteur de surveillance d'utilisation de ressources 30 crée une boucle de rétroaction à l'aide du moteur de politique globale 32 pour dynamiquement régler l'allocation de ma- chines virtuelles 12 à travers les composants de traite-ment des ressources matérielles de serveur 22. Par exemple, lorsque les charges de travail et les priorités des machines virtuelles s'exécutant via un centre de données virtuel le permettent, les charges sont équilibrées à l'aide d'une marche et d'un arrêt périodique d'énergie au niveau des noeuds pour économiser l'énergie et diminuer fortement la consommation d'énergie. A titre d'autre exemple, si les contraintes environnementales telles que le refroidissement sont satisfaites, le moteur de sur- veillance d'utilisation de ressources 30 analyse les priorités associées aux préférences de gestion de machines virtuelles actives de sorte que le moteur de politique globale 32 peut sacrifier sélectivement les priorités plus faibles pour réduire les conditions de refroidisse- ment. Dans d'autres modes de réalisation, les préférences de gestion guident l'allocation de machines virtuelles par le moteur de surveillance d'utilisation de ressources 30 et le moteur de politique globale 32 pour satisfaire à des objectif liés à diverses politiques, minimums, maxi- mums, ou limites imposées aux utilisateurs, logiciels ou matériels. Les configurations de gestion sont cryptées pour une sécurité à base de rôle à des niveaux de fichiers ou de sous-fichiers et soumises à une gestion des versions. La configuration d'utilisateurs/services 16 fournit une flexibilité améliorée en couplant des informations d'utilisateurs/services à chaque machine virtuelle 12 pour permettre l'adaptation d'applications logicielles à des utilisateurs, pour garantir qu'un logiciel répond aux préférences spécifiques aux utilisateurs telles que la sécurité, et pour garantir qu'un matériel répond aux préférences spécifiques aux utilisateurs telles que le partitionnement, l'utilisation et la facturation/rejet de débit. La configuration d'utilisateurs/services 16 est un fichier XML qui mémorise les préférences pour des utilisateurs et des services analogues à des utilisateurs dans un format normalisé. Le couplage des préférences d'utilisateurs/services à des machines virtuelles à l'aide de la configuration d'utilisateurs/services 16 supporte des entrées de gestionnaire à des couches de virtualisation via une interface d'utilisateurs/services 36 et un moteur de virtualisation de services 38. L'association de la configuration de gestion 14 et de la configuration d'utilisateurs/services 16 avec une machine virtuelle fournit un système entièrement autonome qui est dynamique et pouvant être facilement distribué de sorte que les applications d'une machine virtuelle peuvent s'exécuter à travers un matériel générique et des utilisateurs. Une machine virtuelle entièrement autonome présente une image instanta- née reproductible pour simplifier les outils tels que diagnostics, point de contrôle, sauvegarde, clonage, suspension/reprise et commissionnement/facturation, et offre un suivi simplifié des changements de version dans le temps. Le découplage d'une machine virtuelle des utilisa- teurs et des services analogues aux utilisateurs à l'aide de la configuration de services permet des changements de logiciels indépendants des utilisateurs, y compris les mises à jour de logiciel dynamique exécutable pendant que les utilisateurs y accèdent. Les utilisateurs sont actua- lisés par des mises à jour des préférences des utilisateurs/services de la configuration d'utilisateurs/services, telles que les vues, performances, emplacements, priorités et privilèges des utilisateurs. Les utilisateurs connectés, ayant des états mis en cache locaux, sont actualisés en mettant à jour la configuration d'utilisateurs/services même pendant que l'utilisateur accède au logiciel. Un exemple des préférences d'utilisateurs/services mémo-risées dans une configuration d'utilisateurs/services est une préférence d'utilisateurs/services pour une priorité et un coût associés à une machine virtuelle. Par exemple, un utilisateur ou un service utilisateur entre des para-mètres de prix et de coût pour une machine virtuelle 12 dans la configuration d'utilisateurs/services 16 via l'interface d'utilisateurs/services 36. Le moteur de virtualisation de services 38 demande la création d'une instance d'exécution de la machine virtuelle avec les préférences de priorité et de coût de sorte que le moteur de surveillance d'utilisation de ressources 30 et le moteur de politique globale 32 ajustent l'attribution de la ma-chine virtuelle aux composants de traitement des ressources matérielles de serveur 22 conformément aux contraintes de capacité et de tarification disponibles définies par les règles de conformité 28. Un autre exemple d'une préférence d'utilisateurs/services est le paramétrage réglable de préférences de sauvegarde et de fréquence pour garantir l'intégrité de données, ou les niveaux de sécurité et de paramétrage réglable pour limiter l'accès de manière appropriée aux données. Les détails des liaisons courantes sont mis à jour au moment de l'exécution lors- que la modification des utilisateurs et des états d'utilisateurs sont limités à nouveau pour changer les états des logiciels et matériels. La virtualisation des services peut agir comme l'environnement d'exécution pour des instances d'un groupe de machines virtuelles et d'un groupe d'utilisateurs et de services utilisateurs pour traiter des machines virtuelles comme une ressource d'utilitaire, y compris la personnalisation des applications. En faisant maintenant référence à la figure 2, un schéma fonctionnel décrit un centre de données virtuel ayant une image d'application à lecture seule 40 qui supporte des images d'exécution de plusieurs machines virtuelles 12 ayant des fichiers de préparation de système d'applica- tion dans leurs images logicielles 18. Lorsqu'une machine virtuelle 12 est appelée à partir de données globales 24 pour agir sur des ressources matérielles de serveur 22, le moteur de virtualisation de ressources 26 lit l'image d'application à lecture seule 40 pour amorcer la machine virtuelle 12 en ayant l'image d'application à lecture seule 40 renseignée par des informations provenant du fi-chier de préparation de système d'application mémorisé dans l'image logicielle 18. Par exemple, l'image d'application à lecture seule 40 est une copie à lecture seule d'un système d'exploitation WINDOWS (marque déposée), des informations de configuration uniques à chaque utilisation de machine virtuelle du système d'exploitation, tel-les qu'une adresse de protocole Internet (IP) et un nom système, étant supprimées à l'aide d'un outil approprié, tel que l'exécution du programme sysprep. Les informations de configuration uniques à l'application isolées à l'aide de l'outil sysprep sont mémorisées dans la configuration d'utilisateurs/services 16 et la version ou la classe du système d'exploitation ou de l'application est mémorisée dans la configuration de gestion 14. Par consé- quent, l'image d'application à lecture seule 40 agit comme une image en version finale pour supporter le renseignement d'informations uniques au système dans les instances d'exécution de multiples machines virtuelles à travers un centre de données virtuel à l'aide d'écritures réalisées sur la configuration d'utilisateurs/services 16 de la machine virtuelle. Le renseignement d'une application à lecture seule commune par des informations uniques au système fournit une maintenance d'application simplifiée, comme l'installation de mises à jour ou de correctifs pour l'application à travers un centre de données virtuel, ou le clonage de machines virtuelles. Comme décrit par la figure 2, les machines virtuelles activées 12 ont une ou plusieurs ap- plications 42 s'exécutant sur un système d'exploitation 44 et une CPU 46. Les mises à jour de l'image d'application à lecture seule 40 sont effectuées par un gestionnaire de correctifs d'application 48, s'exécutant égale-ment sur une machine virtuelle 12, qui a l'autorisation d'écriture pour appliquer les mises à jour ou correctifs à l'image d'application à lecture seule 40. Avant que le gestionnaire de correctifs d'application 48 applique une mise à jour à l'image d'application à lecture seule 40, les machines virtuelles exécutant l'application sont soit interrompues soit mises en cache, de sorte que des lectures ne sont pas demandées à partir de l'image d'application à lecture seule 40 durant la mise à jour. La mise en cache d'une image de l'application avant la mise à jour permet à des machines virtuelles critiques de continuer à fonctionner pendant que la mise à jour a lieu. Une fois que la mise à jour est effectuée par le gestionnaire de correctifs d'application 48, les machines virtuelles interrompues sont relancées pour s'exécuter avec l'image d'application à lecture seule actualisée 40. Les machines virtuelles s'exécutant hors d'une copie mise en cache de l'application préalablement actualisée peuvent être relancées à partir de l'image d'application à lecture seule actualisée 40 à un moment adapté. L'utilisation d'un seul point pour la gestion des logiciels garantit que toutes les machines virtuelles utilisant l'image d'application à lecture seule 40 sont actualisées en une seule opération en utilisant moins de ressources mémoire. De manière similaire, l'accroissement de l'image d'application à lecture seule durant le clonage d'une machine virtuelle par un dispositif de clonage de machine virtuelle 50 réduit le temps et les ressources nécessaires pour réaliser le clonage. Le temps de copie est réduit en copiant l'image logicielle avec le fichier de préparation de système d'application sans copier l'image d'application à lecture seule 40. En se reportant maintenant à la figure 3, une vue en couches de machines virtuelles ayant une image commune est représentée. Une couche matérielle 52 a le matériel physique pour supporter des instances de machines virtuel- les, tel qu'un processeur et des ressources de mémoire. Par exemple, un centre de données inclut souvent plu-sieurs serveurs de systèmes de traitement d'informations qui sont alloués à des instances de machines virtuelles. La couche matérielle inclut une mémoire partagée 54, telle qu'une ou plusieurs unités de disque dur interconnectées. La mémoire partagée 54 mémorise l'image d'application à lecture seule qui est clonée pour créer des instances de machines virtuelles 12. Une couche de virtualisation de ressources 56 alloue les ressources matérielles de la couche matérielle 52 destinées à être utilisées par la couche des machine virtuelles 58. Au niveau de la couche de machines virtuelles 58, plusieurs machines virtuelles 12 s'exécutent comme des clones de l'image d'application à lecture seule 40 renseignée par des informa- tions uniques pour chaque machine virtuelle 12. Le ges- tionnaire de correctifs d'application 48 s'exécute comme une machine virtuelle qui a accès à l'image d'application à lecture seule 40. Lorsque des correctifs sont appliqués à une image à lecture seule, le gestionnaire de correc- tifs d'application 48 interrompt les machines virtuelles 12 qui utilisent un clone de l'image à lecture seule, applique le correctif à l'image à lecture seule, et relance ensuite les machines virtuelles 12 s'exécutant avec un clone de l'image. Bien que la présente invention ait été décrite en détail, il doit être entendu que divers changements, susbtitutions et modifications peuvent être réalisés sur celle-ci sans s'écarter du domaine et de la portée de la présente invention telle que définie par les revendications an- vexées. REVENDICATIONS 1. Système pour maintenir des machines virtuelles (12) d'un centre de données virtuel (10), caractérisé en ce que le système comporte: des données globales (24) opérationnelles pour mémoriser plusieurs machines virtuelles (12), plusieurs machines virtuelles (12) mémorisées dans les données globales (24), chaque machine virtuelle (12) ayant une configuration matérielle (20) et une image logicielle (18), l'image logicielle (18) ayant au moins un fichier de préparation de système d'application, une image d'application à lecture seule (40) mémorisée dans les données globales (24), plusieurs composants de traitement opérationnels pour exécuter les machines virtuelles (12), et un moteur de virtualisation de ressources (26) opérationnel pour exécuter une instance de machine vir- tuelle sur les composants de traitement en renseignant l'image d'application à lecture seule (40) à l'aide du fichier de préparation de système d'application pour générer une instance d'exécution de l'application (42). 2. Système selon la revendication 1, caractérisé en ce que l'application (42) comporte un système d'exploitation (44). 3. Système selon la revendication 1, caractérisé en ce qu'il comporte de plus un gestionnaire de correctifs d'application (48) pour mettre à jour l'application (42) à l'aide d'un ou plusieurs correctifs en appliquant les correctifs à l'image d'application à lecture seule (40). 4. Système selon la revendication 3, caractérisé en ce que le gestionnaire de correctifs d'application (48) comporte une machine virtuelle (12) opérationnelle pour s'exécuter sur les composants de traitement. 5. Système selon la revendication 3, caractérisé en ce que le gestionnaire de correctifs d'application (48) met à jour l'application (42) en fermant toutes les machines virtuelles (12) accédant à l'image à lecture seule (40), en installant les correctifs sur l'image à lecture seule {40), et en relançant les machines virtuelles fermées (12). 6. Système selon la revendication 3, caractérisé en ce que le gestionnaire de correctifs d'application (48) met à jour l'application (42) en mémorisant une copie de l'application (42) dans la mémoire cache, en exécutant à partir de la mémoire cache une ou plusieurs machines virtuelles (12) accédant à l'image à lecture seule (40), en installant les correctifs sur l'image à lecture seule (40) et en relançant les machines virtuelles (12) accédant à la mémoire cache. 7. Système selon la revendication 1, caractérisé en ce que les machines virtuelles (12) comportent de plus une configuration de gestion (14) ayant des informations de version d'application. 8. Système selon la revendication 1, caractérisé en ce que les machines virtuelles (12) comportent de plus une configuration d'utilisateurs/services (16) ayant des in-formations de sécurité d'accès associées à l'application (42). 9. Système selon la revendication 1, caractérisé en ce que les machines virtuelles (12) comportent de plus une configuration d'utilisateurs/services (16) opérationnelle pour mémoriser des informations spécifiques au système associées au fonctionnement de l'application (42) sur la machine virtuelle (12). 10. Système selon la revendication 1, caractérisé en ce qu'il comporte de plus un dispositif de clonage de ma- chine virtuelle opérationnel pour cloner une machine virtuelle (12) en copiant le fichier de préparation de système d'application. 11. Procédé pour maintenir des machines virtuelles (12) d'un centre de données virtuel (10), le procédé étant ca- ractérisé en ce qu'il comporte les étapes consistant à : mémoriser une image à lecture seule (40) d'une application (42) dans le centre de données virtuel (10), mémoriser plusieurs machines virtuelles (12) dans le centre de données virtuel (10), chaque machine virtuelle (12) ayant une configuration matérielle (20) et une image logicielle (18), l'image logicielle (18) ayant un fichier de préparation de système associé à l'application (42), et générer une instance d'exécution d'un machine virtuelle (12) en renseignant l'image à lecture seule (40) de l'application (42) par le fichier de préparation de système de cette machine virtuelle (12). 12. Procédé selon la revendication 11, caractérisé en ce que l'application (42) comporte un système d'exploitation (44). 13. Procédé selon la revendication 11, caractérisé en ce qu'il comporte de plus les étapes consistant à : copier un correctif de mise à jour dans l'image à lecture seule (40) de l'application (42) pour actualiser l'application (42), et renseigner l'application actualisée à l'aide du fi- chier de préparation de système d'une machine virtuelle (12) pour générer une instance d'exécution de cette machine virtuelle (12) exécutant l'application actualisée. 14. Procédé selon la revendication 13, caractérisé en ce qu'il comporte de plus les étapes consistant à : interrompre une ou plusieurs machines virtuelles (12) qui exécutent l'application (42) avant de copier le correctif de mise à jour, et relancer les machines virtuelles (12) interrompues après la copie du correctif de mise à jour. 15. Procédé selon la revendication 13, caractérisé en ce qu'il comporte les étapes consistant à : mémoriser dans la mémoire cache une ou plusieurs ma-chines virtuelles (12) qui exécutent l'application (42) avant de copier le correctif de mise à jour, exécuter les machines virtuelles (12) à partir de la mémoire cache durant la copie du correctif de mise à jour, et relancer les machines virtuelles (12) mises en cache à partir de l'application actualisée. 16. Procédé selon la revendication 11, caractérisé en ce qu'il comporte de plus l'étape consistant à : cloner une ou plusieurs machines virtuelles {12) en copiant le fichier de préparation de système. 17. Procédé selon la revendication 11, caractérisé en ce qu'il comporte de plus l'étape consistant à : garder la trace de la version de l'application (42) associée à une machine virtuelle (12) dans une configuration de gestion (14) mémorisée avec la machine virtuelle (12). 18. Procédé selon la revendication 11, caractérisé en ce qu'il comporte de plus les étapes consistant à : générer des informations sur la machine virtuelle (12) pour les écrire dans l'image d'application (40), et écrire les informations générées dans une configuration d'utilisateurs/services (16) de la machine virtuelle (12). 19. Machine virtuelle (12), caractérisée en ce qu'elle 15 comporte: une configuration matérielle (20), une image logicielle (18) ayant un fichier de préparation de système associé à une application (42) , le fichier de préparation de système étant opérationnel pour renseigner une image à lecture seule (40) de l'application (42), l'image à lecture seule (40) étant mémorisée séparément de la machine virtuelle (12), et une configuration d'utilisateurs/services (16) opérationnelle pour accepter des écritures générées par l'application (42) durant les instances d'exécution de la machine virtuelle (12). 20. Machine virtuelle (12) selon la revendication 19, caractérisée en ce qu'elle comporte de plus une configura- tion de gestion (14) opérationnelle pour mémoriser des informations de version associées à des mises à jour de l'image à lecture seule (40) de l'application (42).