Brevet FR3038993A1 — publié le 20170120

- 1 - La présente invention concerne le domaine technique de regroupement des noeuds virtuels sur une plate-forme en nuage communément appelée cloud. État de la technique Dans l'état de la technique, différentes méthodes sont mises en oeuvre pour regrouper des ressources physiques dans un noeud virtuel. Une de ces méthodes est à virtualisation de ressources physiques. La virtualisation est connue pour être une méthode consistant à faire fonctionner un ou plusieurs systèmes d'exploitation ou applications sur un ou plusieurs ordinateurs ou serveurs, au lieu de ne pouvoir en installer qu'un seul par machine. Grâce à cela un noeud virtuel est créé sur chaque machine. Pour rendre la virtualisation performante, des solutions pour rassembler les noeuds physiques et/ou virtuels, sous un "cluster" ou une ferme de noeud ont été présentées. Cependant ces solutions ne proposent pas de moyen efficace afin de regrouper un ensemble de noeuds physiques et/ou virtuels sous un même noeud virtuel ou système d'exploitation. Les techniques actuelles comme les systèmes informatiques, de réseau et de télécommunication en général utilisent des infrastructures matérielles très sollicitées et instables. L'ensemble de ces infrastructures matérielles communes comme les réseaux informatiques, les routeurs, les connectiques, les fournisseurs et les plates-formes en nuage sont instables et donnent de mauvais résultats en termes de réponse à une demande de service du fait des nombreuses opérations manuelles que cela engendre. Ainsi, le fait de multiplier par des opérations manuelles la gestion des services permettant une capacité de réponse nécessaire aux demandes des utilisateurs, rend ces infrastructures instables. 3038993 - 2 - Ce sont ces opérations manuelles qui créent le plus de pannes et non le matériel utilisé comme pensé bien souvent. La présente invention a donc pour but de résoudre les problèmes techniques 5 mentionnés ci-dessus, en proposant un système et un procédé automatique de regroupement de ressources physiques et virtuelles dans un noeud virtuel. Glossaire 10 Le terme "répartiteur de charge" utilisé dans la présente invention peut être compris de façon non limitative comme "équilibrateur de charge", "load balancer", "dispositif de partage de charges", "dispositif de division de flux de réseau". Le terme "noeud" utilisé dans la présente invention peut être compris de façon 15 non limitative comme "serveur virtuel, sur internet", "serveur virtuel, sur cloud", "serveur virtuel, sur une plate-forme en nuage", "serveur sur une infrastructure locale", "réseaux de serveurs", "cluster", "ferme de serveurs", "ferme de noeuds". Le terme "requête" désigne un ordre d'exécution, il suit un protocole de 20 communication et possède des paramètres en entrée (question), un statut de la réponse et un retour (réponse). Souvent sur les réseaux TCP, INPROC, IPC, UDP ou PGM, une requête dans le protocole choisi par le client et un retour OK ou ERROR dans un format lié au protocole. 25 Le terme "système d'exploitation" utilisé dans la présente invention peut être compris de façon non limitative comme "operating system", "système d'exploitation de centre de données", "Datacenter", "operating system de ferme de noeud" et/ou un ensemble de noeud (ferme de noeud) répondant à des principes déterminés et ayant au moins un maître et de zéro à plusieurs esclaves. Le système d'exploitation de 30 centre de données, sur sa forme minimale peut ainsi être constitué uniquement d'un noeud. Et il peut aussi être constitué de multiples noeuds. Le "service" est un programme installé depuis une base de registre qui est exécuté à la demande ("requête") d'un client sur un noeud. 3038993 - 3 - Le terme "orchestrateur" utilisé dans la présente invention peut être compris de façon non limitative comme "module d'orchestration de services de réseau", "système d'orchestration de contenu", "processus automatique d'organisation, de coordination, et de gestion de systèmes informatiques complexes", "orchestration de 5 la gestion de services", "controller". Le terme "scalabilité" utilisé dans la présente invention désigne la capacité d'un service à s'adapter à un changement d'ordre de grandeur de la demande. 10 Le terme "système de sûreté intégré" utilisé dans la présente invention peut être compris de façon non limitative comme un système de sûreté de non défaillance ou système de sécurité intégré, "fail-safe", "reprise après erreur". Le terme "mémoire vive " utilisé dans la présente invention peut être compris 15 de façon non limitative comme "mémoire", "RAM ". Le terme "unité centrale de traitement " utilisé dans la présente invention peut être compris de façon non limitative comme "processeur", "CPU ", "central processing unit". 20 Le terme "disque dur " utilisé dans la présente invention peut être compris de façon non limitative comme "HDD ", "hard disk", "hard disk drive". Le terme "matériel informatique " utilisé dans la présente invention 25 représente l'ensemble des pièces détachées des appareils informatiques et peut être compris de façon non limitative comme "Hardware". Le terme "logiciel " utilisé dans la présente invention peut être compris comme "software " classé comme "applicatif', "standard", "spécifique" ou "libre". 30 Exposé de l'invention Le procédé selon l'invention permet de remédier à cet inconvénient. Il comporte en effet selon une première caractéristique, une méthode permettant de 3038993 - 4 - regrouper les noeuds virtuels issus de noeuds physiques comme du matériel ou des serveurs afin de mettre à disposition leurs ressources en commun comme un seul noeud virtuel ou système d'exploitation. 5 Regrouper les infrastructures virtuelles permet de prévenir les pannes. En effet, le dispositif montrant à présent un seul noeud virtuel ou système d'exploitation ayant ses ressources comme la mémoire vive, la puissance totale ainsi que la mémoire morte qui fluctuent en fonction de leur disponibilité et de leur panne réduit considérablement le nombre d'opérations manuelles. 10 Selon des modes particuliers de réalisation: le regroupement des infrastructures virtuelles permet d'exécuter des services sur lesdites infrastructures et ainsi: a. assurer la redondance des services à l'aide de la méthode de 15 scalabilité qui consiste à répartir les ressources entre les services (7) grâce aux répartiteurs de charge (4,9) afin de répondre à plus de requêtes (6) dans un même temps; b. rediriger une requête client (6) vers une instance de service (7) qui fonctionne en cas de panne à l'aide d'un système de sûreté intégré. 20 le regroupement des ressources permet de répartir la charge de travail des différents services, notion de répartition des ressources, sur l'ensemble des ressources disponibles sur le système d'exploitation le regroupement permet un nommage interne dynamique des machines, évitant la mise à jour individuelle de chaque table de nommage donnant accès 25 à un service par noeud. Brève description des dessins La présente invention est illustrée par une liste non exhaustive d'exemples 30 accompagnant des figures dans lesquelles les références numériques indiquent des éléments similaires comme suit: 3038993 - 5 - La figure 1 A-B représente un regroupement de ressources ou noeuds physiques et/ou virtuels (2) dans un unique noeud virtuel ou système d'exploitation (1) afin de mettre en avant la mutualisation des ressources. 5 La figure 2 montre le diagramme de séquence d'une réponse du système d'exploitation (1) à une requête ou demande de service client (6), après vérification de la disponibilité du service auprès d'un noeud (2). La figure 3 A-B-C-D met en avant le principe d'un système de sûreté intégré dans 10 le cas d'une panne d'un des noeuds (2) contenus dans le système d'exploitation (1). La figure 4 représente la répartition des ressources grâce aux répartiteurs de charges présents sur chaque noeud (9) du fait du regroupement des ressources. 15 Description détaillée Le procédé selon la présente invention permet le regroupement et la mutualisation des ressources d'au moins deux noeuds virtuels et/physiques (2) ajoutés au préalable dans un même système d'exploitation. 20 La figure 1-A représente le regroupement d'au moins deux noeuds physiques et/ou virtuels (2) au sein d'un même système d'exploitation (1) et permet de mutualiser les ressources de chaque noeud virtuel et/ou physique (2) afin d'obtenir une vision générale depuis le système d'exploitation (1). 25 Chaque noeud virtuel et/ou physique (2) possède au moins trois types de ressources, indiqués ici à titre d'exemple. Cette liste n'est pas exhaustive ni limitative: - la mémoire vive disponible ou Random Access Memory (RAM) exprimée en 30 bites ou en octets; - le processeur ou unité centrale de traitement (Central Process Unit - CPU) exprimé en Core; - le disque dur ou liard Disk Drive (HDD) exprimé également en bites ou en octets. 3038993 - 6 - Préférentiellement, l'insertion des ressources (au moins une mémoire ou un processeur ou un disque dur) dans chaque noeud virtuel et/ou physique est paramétrée par un administrateur qui prend en compte la puissance de chaque ressource. 5 Le système d'exploitation (1) fait donc la somme de l'ensemble de ces trois types de ressources présentes sur chaque noeud physique et/ou virtuel (2) afin d'exposer un seul système unique disposant du total des ressources disponibles et distribuant les services. 10 Préférentiellement, le système d'exploitation (1) peut ne regrouper qu'un, deux ou ces trois types de ressources. Mais il peut s'agir d'autres types de ressources que celles énoncées ci-dessus. 15 Voici une liste non exhaustive des ressources pouvant également être regroupées: - vitesse d'écriture HDD; - IOPS ou le nombre d'opération d'entrée/sortie par seconde; - bande passante internet. 20 Pour des raisons de commodité, dans les exemples suivants, uniquement les trois types de ressources (RAM, CPU et HDD) identifiés seront regroupés. Ce procédé permet également de rassembler les ressources virtuelles dans un 25 nouveau noeud virtuel ou système d'exploitation (1) issues de n'importe quel type d'architecture: - dans des réseaux différents ou identiques; - dans des architectures matérielles hétérogènes ou identiques; - dans des système d'exploitation installés sur des noeuds hétérogènes 30 ou identiques comme Windows (marque déposé), Apple (marque déposé), Linux (marque déposé), Android (marque déposé), liste non exhaustive. 3038993 - 7 - Enfin, ce procédé de regroupement de ressources ne se limite pas au matériel informatique (physique). Il peut également être étendu au logiciel via le moyen de communication protocole IP. 5 La figure 1-B est un exemple non limitatif de procédé décrit dans la figure 1-A avec les données suivantes: - Noeud physique et/ virtuel 1 (2) a. RAM: 16 GB b. CPU: 8 Cores 10 c. HDD: 500 GB - Noeud physique et/ virtuel 2 (2) a. RAM: 16 GB b. CPU: 8 Cores 15 c. HDD: 500 GB - Noeud physique et/ virtuel 3 (2) a. RAM: 32 GB b. CPU: 16 Cores 20 c. HDD: 8 000 GB Dans cet exemple non limitatif, le système d'exploitation (1) aura donc comme données la somme des données de chaque noeud physique et/ou virtuel qu'il contient, soit: 25 - RAM: (16+16+32) 64 GB - CPU: (8+8+16) 32 Cores - HDD: (500+500+8000) 9000 GB La Figure 2 représente le processus de réponse sous forme de diagramme de 30 séquence du système d'exploitation (1) à une demande de service de la part d'un serveur client (6). 3038993 - 8 - Le système d'exploitation (1) interroge les noeuds (2) qui le constituent afin de vérifier que le service demandé par le serveur client (6) est disponible. Deux cas possibles: - au moins un des noeuds (2) possède le service demandé par le serveur client 5 (6): dans ce cas, le système d'exploitation (1) récupère le service demandé par le serveur client (6) et le renvoie au client (6); - aucun des noeuds (2) ne possède le service demandé par le serveur client (6): dans ce cas, le système d'exploitation (1) renvoie une erreur au client (6). 10 La figure 3 A-B-C-D met en avant le principe d'un système de sûreté intégré d'une ou plusieurs instances de service (7) dans le cas d'une panne d'un des noeuds (2) contenus dans le système d'exploitation (1). Une instance de service (7) est configurée pour consommer des ressources de 15 mémoire vive (RAM), d'unité centrale de traitement (CPU) et de disque dur (HDD). Un service est configuré pour être exécuté un certain nombre de fois et peut être configuré pour être disponible tout le temps. 20 Dans l'exemple présenté dans la figure 3 A-B-C-D, le service exposé est configuré par un ou plusieurs orchestrateurs (8) pour être exécuté six fois de façon continue. C'est à dire que nous devons disposer de six instances de ce service (7) tout le temps. Si le/les orchestrateurs (8) ne trouvent pas six instances de ce service (7) lancées et que les ressources disponibles (mémoire vive (RAM), unité centrale de 25 traitement (CPU) et disque dur (HDD)) le permettent, il(s) va/vont relancer ce service jusqu'à avoir lancé les six instances de ce service (7). La gestion des ressources disponibles de chaque noeud (2) est gérée par chaque répartiteur de charge (9). La ressource totale du système d'exploitation (1) est quant 30 à elle gérée par le répartiteur de charges principal (4). La figure 3.A représenté trois noeuds (2) contenus dans le système d'exploitation (1) où sont lancées les six instances de ce service (7). Ce sont la/les orchestrateurs 3038993 - 9 - (8) qui déterminent où lancer les instances de services (7) et les répartiteurs de charges (4,9) qui gèrent la charge des requêtes client (6). La figure 3.B représente la panne d'un des trois noeuds précédents mais 5 également la panne d'une des instances de service (7) présente sur un autre noeud. Dans ce cas, il ne reste plus que deux instances de service (7) valides sur les six demandées. Si les ressources disponibles gérées par les répartiteurs de charges (4,9) (mémoire vive (RAM), de unité centrale de traitement (CPU) et de disque dur (HDD)) le permettent, un ou plusieurs orchestrateurs (8) vont alors relancer quatre 10 nouvelles instance de service (7) afin d'avoir jusqu'à six instances (7) lancées. La figure 3.0 représente le redémarrage du noeud en panne. Dans ce cas, le nombre d'instance du service (7) est supérieur à six (neuf au total dans cet exemple) vu que trois instances du service (7) étaient présentent sur le noeud initialement en 15 panne. La figure 3.D représente la suppression des instances du service (7) inutiles. Un ou plusieurs orchestrateurs (8) arrêteront donc les instances de services (7) qui seront disponibles en trop grand nombre. 20 Un ou plusieurs orchestrateurs (8) démarrent des instances de service (7) qui ne sont pas suffisamment disponibles mais aussi arrêtent des services (7) qui sont disponibles sur trop d'instances. 25 La règle de suppression ou d'ajout d'instances de services (7) aura été paramétrée au préalable par l'administrateur du système d'exploitation (1). Lors de la vérification effectuée par un ou plusieurs orchestrateurs (8) de l'état des services, si un service n'est pas disponible dans la quantité désirée (instances 30 planifiés), de nouvelles instances (7) seront automatiquement installées en utilisant les ressources disponibles (RAM, HDD, CPU) du système d'exploitation (1) gérées par les répartiteurs de charges (4,9). 3038993 - 10 - La figure 4 représente la répartition des ressources suivant les algorithmes et configuration du répartiteur de charge (9) présents sur chaque noeud (2) du fait du regroupement des ressources. 5 Lorsqu'une requête ou demande de service est demandée par un serveur client (6), le répartiteur de charges principal (4) du système d'exploitation (1) recherche dans sa liste d'adresse une instance démarrée (7) du service demandé sur un noeud afin de lui envoyer la requête ou demande de service. Si une instance démarrée (7) du service demandé est présente sur plusieurs noeuds (2), le répartiteur de charge 10 principal (4) décide du noeud (2) auquel adresser la requête suivant un paramétrage expliqué peu après. Une fois la requête envoyée au noeud (2) choisi, ledit noeud (2) renvoie le service demandé directement au client, initiateur de la requête (6). 15 Voici une liste non exhaustive du paramétrage possible de validation du choix de l'instance par un répartiteur de charge: au hasard dans les services qui sont en état de marche; par calcul de l'historique d'utilisation des services en prenant le moins utilisé; 20 au regard de la disponibilité CPU des noeuds (2) où fonctionnent les services en fonction des ressources; au regard des derniers appels effectués par le répartiteur de charges principal (4); suivant d'autres calculs ou méthodes. 25 Une fois la méthode de choix de l'instance paramétrée, le service sélectionné est exécuté et renvoyé vers le serveur client (6). Dans le cas spécifique où le service appelé n'existe pas, le système d'exploitation 30 (1) retourne une erreur pour signaler l'indisponibilité de ce service. Le système et le procédé selon l'invention permettent donc de regrouper les ressources physiques et virtuelles (2) dans un noeud virtuel ou système d'exploitation (1) de façon automatique. REVENDICATIONS1. Procédé automatique de regroupement de ressources physiques et virtuelles (2) dans un noeud virtuel ou système d'exploitation (1) caractérisé en ce qu'il comporte les étapes suivantes: a. ajout d'au moins deux noeuds physiques et/ou virtuels (2) dans le système d'exploitation (1) ; b. découpage du/des noeuds physiques en noeuds virtuels ; c. regroupement automatique des noeuds virtuels (2) afin de mettre à disposition leurs ressources en commun pour être vu comme un seul noeud virtuel (1). 2. Procédé selon la revendication 1, caractérisé en ce que le regroupement automatique permet aux ressources de fluctuer en fonction de leur disponibilité et des pannes. 3. Procédé selon la revendication 1, caractérisé en ce que le regroupement automatique des infrastructures permet d'exécuter des services (7) sur ces infrastructures virtuelles (2) de la manière suivante: a. assurer la redondance des services à l'aide de la méthode de scalabilité qui consiste à: i. répartir les ressources entre les services (7) grâce à (aux) l'orchestrateur(s) (8); ii. répondre à plus de requêtes (6) dans un même temps grâce aux répartiteurs de charge (4,9); b. assurer cette redondance à un instant donné à l'aide d'un système de sûreté intégré qui permet, en cas de panne d'un service (7), de rediriger une requête (6) vers un service (7) qui fonctionne. 4. Procédé selon l'une quelconque des revendications précédentes ou selon les revendications 1, 2 et 3, caractérisé en ce que le regroupement automatique des ressources permet une répartition des ressources des services sur le système d'exploitation (1) par un ou plusieurs orchestrateurs (8) présent sur le système d'exploitation (1).