Brevet FR3038179A1 — publié le 20161230

-1- Domaine de l'invention La présente invention concerne le domaine technique du déploiement de services sur des noeuds virtuels et/ou physique dans une plate-forme en nuage 5 communément appelée cloud. État de la technique Dans l'état de la technique, différentes méthodes sont mises en oeuvre pour t f 10 déployer des services sur des' noeud; physiques et/ou virtuels regroupés dans un noeud virtuel ou système d'exploitation. Une de ces méthodes est le passage par des services de déploiement Les services de déploiement sont connus pour être une méthode consistant à 15 déployer des services dans un système d'exploitation. Grâce à cela, on peut démarrer une instance de service sur un noeud physique ou virtuel. Pour rendre les services de déploiement performants, des solutions pour réduire la complexité des déploiements et le coût associé à des processus 20 d'installation manuels inefficaces ont été présentées. Cependant ces solutions ne proposent pas de moyen efficace afin de maintenir un référentiel à jour en permanence des services déployés, et de mettre à jour les différents répartiteurs de charge présents sur chaque noeud du système d'exploitation. 25 L'ensemble de ces solutions permettent de déployer des services sur plusieurs noeuds mais donnent des résultats instables en terme de maintien du/des référentiel et du/des répartiteurs de charges à jour. Ainsi, le fait de démarrer/arrêter une instance de service sur un noeud ne 30 garantit pas la mise à jour immédiate du référentiel et du répartiteur de charge dont il dépend par le service découverte. Ce sont ces opérations qui créent le plus d'erreurs lors de l'appel d'un service 3038179 - 2 - La présente invention a donc pour but de résoudre les problèmes techniques mentionnés ci-dessus, en proposant un système et un procédé automatique de configuration d'un répartiteur de charge par un service découverte dans un système 5 d'exploitation composé d'un ou plusieurs noeuds. Glossaire Le terme "répartiteur de charge" utilisé dans la présente invention peut être 10 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 non limitative comme "serveur virtuel, sur internet", "serveur virtuel, sur cloud", 15 "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 communication et possède des paramètres en entrée (question), un statut de la 20 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. Le terme "système d'exploitation" utilisé dans la présente invention peut être 25 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 centre de données, sur sa forme minimale peut ainsi être constitué uniquement d'un 30 noeud. Et il peut aussi être constitué de multiples noeuds. Le terme "Service de découverte" utilisé dans la présente description désigne un service présent dans chaque noeud permettant de mettre à jour les adresses de 3038179 - 3 - noeuds et de services présents dans les répartiteurs de charges des noeuds ainsi que dans le Répartiteur de charges principal. Le terme "scalabilité" utilisé dans la présente invention désigne la capacité 5 d'un service à s'adapter à un changement d'ordre de grandeur de la demande. Le terme "Dispositif client" utilisé dans la présente description désigne tout dispositif portatif ou non, apte à effectuer des calculs et à se connecter à Internet. Il peut être compris de façon non limitative comme terminal mobile, smartphone, PDA, 10 tablette ou tout autre dispositif mobile comportant une architecture microprocesseur à jeu d'instructions réduit - advanced reduced instruction setcomputer machines ayant préférentiellement comme système d'exploitation android®, et apte à traiter des informations. Il peut également être compris comme "serveur physique", "machine", "ordinateur" et/ou "terminal" ou tout autre dispositif informatique matériel 15 apte à exécuter divers services web. Exposé de l'invention Le procédé selon l'invention permet de remédier à cet inconvénient. Il 20 comporte en effet selon une première caractéristique, une méthode permettant de configurer et mettre à jour de façon continue le/les répartiteurs de charges et le/les référentiels contenus dans le système d'exploitation par le/les service(s) découverte. Contrôler à intervalle régulier les mises à jours du/des répartiteurs de charges 25 et du/des référentiels permet de maintenir à jour constamment l'adresse des instances de service déployées. En effet, ce dispositif de mise à jour des adresses de chaque instance de service déployée sur chaque noeud permet de réduire considérablement le risque d'erreur d'adressage lors de l'appel d'un service. 30 Selon des modes particuliers de réalisation: - la mise à jour par le(s) service(s) découverte contenu(s) dans un ou plusieurs noeud esclave d'un ou plusieurs référentiels permet le bon adressage de chaque instance de service présent sur chaque noeud; 3038179 -4- - la mise à jour par le service découverte d'un noeud du répartiteur de charge de ce noeud permet de rediriger en permanence une requête utilisateur vers un bon service et ainsi d'assurer: - la scalabilité du système d'exploitation en adaptant le nombre d'instances de service démarrées en fonction de la demande d'une part; - la continuité des services en instaurant la réplication entre les référentiels d'autre part; - la supervision par les services découverte de chaque noeud esclave à intervalle régulier du/des référentiel(s) afin d'être continuellement à jour permet de garantir en permanence que l'adresse de chaque instance de service présent sur chaque noeud est valide. Pour information, un référentiel peut être contenu indifféremment sur noeud 15 maître ou esclave. Pour des raisons de commodités, le référentiel sera contenu dans un noeud maître dans la présente description. Brève description des dessins 20 La présente invention est illustrée par une liste non exhaustive d'exemples accompagnant des figures dans lesquelles les références numériques indiquent des éléments similaires comme suit: La figure 1 représente une vue d'ensemble du système d'exploitation (2). 25 Ce système d'exploitation (2) est composé de: - Un répartiteur de charge principal (3) du système d'exploitation (2); - Un service de découverte principal (16); - zéro, un à plusieurs regroupements de noeuds (4); - au moins un noeud maître (5) possédant chacun un répartiteur de charge (15); 30 - zéro, un à plusieurs noeuds esclave (6) possédant chacun un répartiteur de charge (15) et un service de découverte (13) La figure 2 représente un noeud maître (5) et ses différentes composantes: 303 8 1 7 9 - 5 - - un répartiteur de charges (15), - un référentiel (11), - un service de découverte (13). 5 La figure 3 représente un noeud esclave (6) et ses différentes composantes: - un répartiteur de charges (15), - un service de découverte (13), - zéro, un ou plusieurs services. La figure 4 représente la synchronisation à intervalles réguliers des services découverte (13) présents sur chaque noeud maîtres (5) et noeud esclave (6) présents dans le système d'exploitation (2) et leur répartiteur de charges (15) pour la mise à jour de la liste des adresses des noeuds et des services présents dans le système d'exploitation (2), ainsi que la synchronisation à intervalles réguliers des services découverte présent sur chaque noeud esclave et le/les référentiels présents sur chaque noeud maître pour la mise à jour et la mise en mémoire des adresses des services présents dans le système d'exploitation. La figure 5 représente un diagramme d'état de la vérification à intervalles 20 réguliers de la bonne mise à jour de la configuration du répartiteur de charge d'un noeud esclave vis-à-vis d'un référentiel par un service découverte présent sur un noeud esclave. Description détaillée 25 Le procédé selon la présente invention permet la configuration et la mise à jour dynamique des répartiteurs de charge et des référentiels contenus dans un système d'exploitation par les services découverte 30 Le système selon l'invention est composé d'un système d'exploitation (2) comportant: 3038179 - 6 - - un répartiteur de charge principal (3) contenant une liste d'adresses des services démarrés sur chaque noeud (5 et/ou 6) et un service de découverte principal (16) - un ou plusieurs noeuds maîtres (5), chacun de ces noeuds comprenant au 5 moins un répartiteur de charge (15) contenant une liste d'adresses des instances de services hébergés sur le noeud , un référentiel (11) et un service de découverte (13). - zéro, un ou plusieurs noeuds esclaves (6), chacun de ces noeuds comprenant un répartiteur de charges (15) contenant une liste d'adresses des instances 10 de services démarrés sur le noeud , ainsi qu'un service de découverte (13), et disposant de zéro, un ou plusieurs services. Le procédé mis en oeuvre par le système susmentionné comporte les étapes suivantes (ces étapes sont effectuées en parallèle afin que du point de vue client, la 15 demande soit le plus instantané possible): Une requête est réceptionnée au niveau du répartiteur de charge principal (3) du système d'exploitation (2), qui comprend un fichier de configuration qui contient une liste d'adresses des noeuds sur lesquels le ou les instances de services demandées sont démarrées dans ledit système d'exploitation (2). Le répartiteur de charge principal (3) établit une liste de priorité d'accès du ou des dispositifs client(s) (1) au(x) noeud(s) sur lequel ou lesquels le ou les instances de services demandées sont démarrées, en fonction de règles prédéfinies dans son fichier de configuration. Ledit répartiteur de charge principal (3) dirige la requête formulée vers un ou plusieurs noeud(s)-esclave(s) (6) sur le(s)quel(s) l'instance du service demandée est démarrée, en fonction de la liste d'adresses des services et de la priorité définie dans ledit répartiteur de charge principal (3). Lorsqu'un nouveau service est démarré par le noeud esclave (6), son service de découverte (13) transmet le numéro de port du service exécuté et l'adresse dudit noeud à un référentiel (11) contenu dans un noeud-maître (5) présents dans le système d'exploitation (2), puis le/les répartiteurs de charges (15) du/desdits(s) noeud(s) vérifie(nt) que le/les référentiel(s) est/sont à jour. 3038179 - 7 - Les services de découverte (13) de chacun des noeuds met à jour son répartiteur de charge (15) ainsi qu'un référentiel (11) présent(s) dans un noeud-maître (5), à intervalles réguliers, afin d'actualiser la liste des adresses des noeuds et 5 des services présents dans lesdits noeuds. La réplication entre les référentiels (11) permet d'assurer la continuité du/des service(s) dans le cas où un référentiel n'est plus accessible. 10 Lorsqu'une instance de service est arrêtée ou en erreur, son adresse est supprimée de la liste d'adresses du répartiteur de charge et le ou les référentiel(s) (11) du ou des noeud(s)-maître(s) (5) est/sont mis à jour. Dans le cas de la reprise d'une instance de service en erreur, son adresse est rajoutée automatiquement à la liste d'adresses du répartiteur de charge et le ou les référentiel(s) (11) du ou des 15 noeud(s)-maître(s) (5) est/sont mis à jour. REVENDICATIONS1) Système automatique de configuration d'un répartiteur de charge par un service découverte dans un système d'exploitation composé d'un ou plusieurs noeuds, caractérisé en ce qu'il comprend: a. un répartiteur de charge principal (3) contenant une liste d'adresses des services démarrés sur chaque noeud (5 et/ou 6); b. un service de découverte principal (16) permettant la mise à jour du répartiteur de charge principal (3); c. un ou plusieurs noeuds maîtres (5), chacun de ces noeuds comprenant au moins un répartiteur de charge (15) contenant une liste d'adresses des services démarrés sur le noeud , un référentiel (11) et un service de découverte (13). d. zéro, un ou plusieurs noeuds esclaves (6), chacun de ces noeuds comprenant un répartiteur de charges (15) contenant une liste d'adresses des services hébergés sur le noeud , ainsi qu'un service de découverte (13), et disposant de zéro, un ou plusieurs services. 2) Procédé mis en oeuvre par le système selon la revendication 1, caractérisé en ce qu'il comprend les étapes suivantes: a. L'étape d'établissement par le répartiteur de charge principal (3) d'une liste de priorité d'accès du ou des dispositif(s) client(s) (1) au(x) noeud(s) esclave (6) sur le(s)quel(s) le ou les service(s) sont démarrés, en fonction de règles prédéfinies dans son fichier de configuration; b. L'étape d'adressage par le répartiteur de charges principal(3) de la requête (14) formulée par le ou les dispositif(s) client(s) (1) vers un ou plusieurs noeud(s)-esclave(s) (6), en fonction de la liste d'adresses des services et de l'ordre de la liste de priorité. 3) Procédé selon la revendication 2 , caractérisé en ce que lorsqu'une nouvelle instance de service est démarrée par le noeud-esclave (6) , son service de découverte (13) met à jour son répartiteur de charge (15) qui transmet le numéro de port du service exécuté et l'adresse du dit noeud au répartiteur de 3038179 - 9 - charge principal (3), ainsi qu'au référentiel (11) du ou des noeud(s)-maître(s) (5) présents dans le système d'exploitation (2). 4) Procédé selon les revendications 2 et 3, caractérisé en ce que s chaque service de découverte (13) de chacun des noeuds (5 et/ou 6) se synchronise avec son répartiteur de charge (15) pour la mise à jour de la liste des adresses des noeuds et des services présents dans le système d'exploitation (2), ainsi que la synchronisation à intervalles réguliers entre le service de découverte principal (16) et le répartiteur de charge principal (3) 10 pour la mise à jour de la liste d'adresses des services démarrés sur chaque noeud. 5) Procédé selon les revendications 2, 3 et 4, caractérisé en ce que le service de découverte (13) de chaque noeud esclave vérifie à intervalles réguliers que 15 le(s) référentiel(s) présents sur les noeuds maître sont à jour. 6) Procédé selon les revendications 2, 3, 4 et 5, caractérisé en ce que la réplication entre les référentiels (11) permet d'assurer la continuité du/des service(s) dans le cas où un référentiel n'est plus accessible. 20 7) Procédé selon les revendications 2, caractérisé en ce que lorsqu'un noeud est arrêté ou en erreur, son adresse est supprimée de la liste d'adresses du répartiteur de charge principal, et le ou les référentiel(s) (11) du ou des noeud(s)-maître(s) (5) est/sont mis à jour par les services découverte des 25 noeuds esclave.