Brevet FR3041790A1 — publié le 20170331

-1- La présente invention concerne le domaine technique des services informatiques en nuage. Dans l'état de la technique, il existe différents types de services informatiques, à 5 savoir des services sans états, communément appelé stateless, et des services avec état, communément appelé statefull. Un service sans états est un service qui ne sauvegarde pas son état. Il existe seulement en mémoire vive (RAM - Random Access Memory), ou mémoire volatile, 10 c'est qui entraîne la perte de l'état du service dès que ledit service est consommé. Ainsi, lorsque le lancement d'un service sans état, stateless, est déclenché par le biais d'une requête réalisée par un utilisateur, la requête aura une réponse mais cette réponse ne sera pas sauvegardée à long terme. Ainsi, impossible de conserver, restaurer, lancer à nouveau et/ou partager ladite réponse. Afin de pallier à 15 cet inconvénient, des services avec état ont été développés. Un service avec état est un service qui sauvegarde son état, à comprendre qu'il sauvegarde des données représentant un état d'une demande et d'autres informations en utilisant une infrastructure de stockage non volatile. Il s'agit ici d'un 20 service qui est persistant. Cependant, lorsque le service avec état est arrêté ou en erreur, lesdites données ne peuvent pas être restaurées, lancées à nouveau et/ou partagées sur un quelconque noeud. La présente invention a donc pour but de résoudre les problèmes techniques 25 mentionnés ci-dessus, en proposant un système et un procédé qui rend possible la restauration des données sauvegardées par le service avec état, lors du lancement d'un service sans état, sur un quelconque noeud physique et/ou virtuel du système d'exploitation, étant donné que les ressources du système d'exploitation en nuage possèdent des moyens pour partager les données. 30 Glossaire: Le terme "système d'exploitation" utilisé dans la présente invention peut être compris de façon non limitative comme "operating system", "Datacenter", "operating system 3041790 - 2 - 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 d'un à plusieurs esclaves. Le système d'exploitation, sur sa forme minimale peut ainsi être constitué uniquement d'un noeud. Et il peut aussi être constitué de multiples noeuds. Le terme "en nuage" utilisé dans la présente invention peut être compris de façon non limitative comme "cloud", "cloud computing", "plateforme cloud". Le terme "service sans état" utilisé dans la présente invention peut être compris de façon non limitative comme "service stateless". Le service sans état peut être un service de haute disponibilité, configurés pour être exécutable et disponibles tout le temps ou à 99,99% du temps, ou le service sans état peut être un service à durée de vie limitée, également appelé programme des tâches planifiées, ou le service sans état peut être un service quelconque qui ne sauvegarde pas son état. Le terme "service avec état" utilisé dans la présente invention peut être compris de façon non limitative comme "service statefull", "service persistant", "service base de données", ou service permettant d'avoir une allocation de ressources statiques ou tout autre service qui écrit des données en base de données ou tout autre service qui sauvegarde son état ou tout autre service qui lit des données ou tout autre service qui donne accès à des données. Le terme "noeud" utilisé dans la présente invention peut être compris de façon non limitative comme "serveur virtuel, sur interner, "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 "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 la gestion de services" ou composante d'un noeud destiné à lancer et gérer les services à durée de vie limitée, lorsqu'il ordonne l'arrêt, le démarrage et/ou le redémarrage d'un 3041790 - 3 - service, aussi comme destiné à piloter les installations de service, à savoir la mise à jour d'une base de registre. Le terme "disque dur " utilisé dans la présente invention peut être compris de façon 5 non limitative comme "HDD ", "hard disk", "hard disk drive". Description de l'invention: La présente invention concerne un système et un procédé automatique de 1.13 sauvegarde et maintenance des données obtenues par des services avec état, communément appelé statefull, lors du lancement d'un service sans état, communément appelé stateless, dans au moins une ressource allouée de manière statique présente dans au moins un noeud physique et/ou virtuel du système d'exploitation en nuage. Ce procédé a pour but de conserver, restaurer, lancer à 15 nouveau et/ou partager les dites données sauvegardées sur un quelconque noeud physique et/ou virtuel du système d'exploitation en nuage. 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 le système d'exploitation (1) composé d'un à plusieurs noeuds 25 (2) et d'un orchestrateur (3). Elle représente aussi la présence des ressources allouées de manière statique (4) dans au moins un noeud du système (1). La figure 2 représente le lancement par l'orchestrateur (3) d'une ou plusieurs instances d'un service sans état (5). 30 La figure 3 représente le déclenchement par l'orchestrateur (3) du lancement des instances d'un service avec état (6). 3041790 - 4 - La figure 4 représente une communication entre le service sans état (5) lancé avec un service avec état (6), par le biais des protocoles de communication TCP, INPROC, IPC, UDP ou PGM. 5 La figure 5 représente la sauvegarde, clans au moins une ressource allouée de manière statique (4), des données obtenues par des services avec état (6), lors du lancement d'un service sans état (5). La ressource allouée de manière statique (4) est une infrastructure de stockage. 10 La figure 6 représente la défaillance d'une instance d'un service avec état (6). La figure 7 représente le lancement à nouveau d'une instance de service avec état (6) sur un quelconque noeud (2) physique et/ou virtuel du système d'exploitation (1) en nuage. Elle représente également la restauration, sur un quelconque noeud (2), 15 des données obtenues, avant la défaillance, par des services avec état (6), lors du lancement d'un service sans état (5), et sauvegardées dans au moins une ressource, allouée de manière statique (4). La figure 8 représente la sauvegarde des données obtenues, après le lancement à 20 nouveau, par le service avec état (6). La figure 9 représente la réplication des ressources statiques allouée de manière statique (4). 25 La figure 10 représente la répartition des ressources statiques allouée de manière statique (4). Description détaillée 30 En référence à la figure 1, le système d'exploitation en nuage (1) comporte des moyens adaptés pour la mise en oeuvre du procédé automatique de sauvegarde et maintenance des données obtenues par des services avec état (6) lors du lancement d'un service sans état (5). Un tel système (1) comporte un ou plusieurs noeuds (2) physiques et/ou virtuels composés chacun d'au moins une ressource. 3041790 - 5 - Cette ressource est préalablement allouée soit de manière dynamique, soit de manière statique par l'administrateur du système. Préférentiellement, un ou plusieurs noeuds (2) physiques et/ou virtuels du système d'exploitation (1) en nuage sont 5 composés de ressources allouées de manière statique (4). L'allocation des ressources est statique pour garantir des ressources persistantes, fixes, constantes et identiques dans le temps. 10 Avantageusement, un service devient un service avec état (6) par le biais de l'utilisation d'au moins une ressource allouée de manière statique (4) pour sauvegarder son état. L'administrateur du système réalise également l'affectation préalable des ressources 15 allouées de manière statique (4). Cette affectation comprend une étape de nommage des ressources (4) suivi par l'affectation de ces ressources (4) nommées à un service avec état (6). Préférentiellement, cette ressource allouée de manière statique (4) est un disque dur 20 (HDD) ou une quelconque infrastructure de stockage destinée à sauvegarder les données obtenues par des services avec état (6), lors du lancement d'un service sans état (5) dans un système d'exploitation (1) en nuage. Ce système (1) comporte également un orchestrateur (3) chargé de lancer les 25 instances d'un service. En référence à la figure 2, lors d'une demande ("requête") de démarrage de service sans état (5), l'orchestrateur (3) réalise une recherche sur l'ensemble des noeuds (2) pour indiquer les instances de services, les ressources disponibles et les ressources 30 nécessaires pour déployer le service sans état (5) demandé. Avantageusement, les informations sur le nombre d'instances de services et les ressources nécessaires pour déployer le service sans état (5) demandé sont préalablement fournis et/ou configurées par l'administrateur du système. 3041790 - 6 - Commodément, les ressources nécessaires pour déployer un service sans état (5) sont allouées de manière dynamique. 5 L'orchestrateur (3) réalise également une vérification sur le bon fonctionnement des noeuds (2) du système d'exploitation (1) en nuage et une vérification sur le bon fonctionnement des instances de services sans état (5). Une fois vérifié le bon fonctionnement du système (1), l'orchestrateur (3) réalise le 10 lancement d'une ou plusieurs instances du service sans état (5). Idéalement, l'administrateur du système peut également réaliser des requêtes pour démarrer certains services ou pour les mettre à jour et/ou des services peuvent également réaliser des requêtes sur d'autres services et ainsi devenir client d'autres services. 15 En référence à la figure 3, l'orchestrateur (3) déclenche le lancement d'une ou plusieurs instances du service avec état (6). Avantageusement, les informations sur le nombre d'instances de services et les 20 ressources allouées de manière statique (4) et affectées nécessaires pour déployer le service avec état (6) sont préalablement fournies et/ou configurées par l'administrateur du système. Parallèlement, lors du déclenchement du lancement des instances d'un service avec 25 état (6), l'orchestrateur (3) réalise une vérification sur le bon fonctionnement des instances de services avec état (6). Une fois que l'orchestrateur (3) a vérifié le bon fonctionnement des instances de services avec état (6), il réalise le lancement de ces instances de services. 30 En référence à la figure 4, le service sans état (5) réalise des requêtes sur un service avec état (6). 3041790 - 7 - Avantageusement, les services sans états (5) sont préalablement paramétrés avec des moyens pour accéder aux services avec état (6), dont son accès est conditionné à un système de sécurité qui comprend un protocole d'authentification ou un partage de clé. 5 Préférentiellement, la communication entre le service sans état (5) lancé avec un service avec état (6), est réalisée par le biais des protocoles de communication TCP, INPROC, IPC, UDP ou PGM. 10 Cette communication est nécessaire pour sauvegarder l'état et/ou les données issues d'un service sans état (5). En référence à la figure 5, pour sauvegarder son état et/ou les données obtenues lors du lancement d'un service sans état (5), le service avec état (6) utilise une 15 ressource alloué de manière statique (4). Commodément, les ressources allouées de manière statique (4) sont nommées et affectées à un service avec état (6) et/ou à un nombre d'instances du service avec état (6). Dès que les instances sont lancées, les données obtenues par les services avec 20 état (6), lors du lancement d'un service sans état (5), sont sauvegardées dans les ressources allouées de manière statique (4) ou dans l'infrastructure de stockage. Dans une réalisation, en référence à la figure 6, lors d'une défaillance d'une instance d'un service avec état (6) et/ou de la constatation par l'orchestrateur (3) du 25 dysfonctionnement d'un instance du service avec état (6), l'orchestrateur (3) redémarre l'instance de service avec état (6) ou lance à nouveau cette instance sur un autre noeud (2) du système d'exploitation (1). Avantageusement, les ressources allouées de manière statique (4) possèdent des 30 moyens pour conserver, restaurer, lancer à nouveau et/ou partager les données sauvegardes par le service avec état (6) sur un quelconque noeud (2) physique et/ou virtuel du système d'exploitation (1) en nuage. 3041790 -8- Ainsi, en référence à la figure 7, l'orchestrateur (3) lance à nouveau l'instance de service avec état (6) sur un quelconque noeud (2) à partir de la restauration des données obtenues, avant la défaillance, par des services avec état (6), lors du lancement d'un service sans état (5), et sauvegardées dans les ressources allouées 5 de manière statique (4) qui sont persistantes, fixes, constantes et identiques dans le temps. Idéalement, lorsque l'orchestrateur (3) vérifie un arrêt complet du service avec état (6), il réalise un démarrage complet dudit service. 10 En référence à la figure 8, le service avec état (6) lancé à nouveau utilise une ressource allouée de manière statique (4) pour sauvegarder son état et/ou les données obtenues, lors du lancement d'un service sans état (5). 15 Avantageusement, en référence aux figures 9 et 10, les ressources allouées de manière statique (4) possèdent des moyens pour qu'elles soient répliquées et/ou réparties sur un ou plusieurs noeuds (2) physique et/ou virtuel du système d'exploitation (1) en nuage. 20 Préférentiellement, dès que les données obtenues par les services avec état (6), lors du lancement d'un service sans état (5), sont sauvegardées dans les ressources allouées de manière statique (4) ou dans l'infrastructure de stockage, ces ressources allouées de manière statique (4) sont répliquées et/ou réparties sur un ou plusieurs noeuds (2). 25 Ainsi, les données peuvent être restaurées, même lors d'une défaillance du noeud (2) composé de la ressource allouée de manière statique (4) qui a sauvegardé lesdites données. 30 Avantageusement, l'orchestrateur (3) réalise une mise à jour sur l'ensemble des noeuds (2), lorsqu'il vérifie que le service a évolué entre son premier démarrage et son redémarrage. 3041790 - 9 - Ainsi, le système et le procédé selon l'invention sont particulièrement destinés à conserver, maintenir, restaurer et/ou relancer, sur un quelconque noeud (2) physique et/ou virtuel du système d'exploitation (1) en nuage, les données obtenues par des services avec état (6), lors du lancement d'un service sans état (5), et sauvegardées 5 dans des ressources allouées de manière statique (4). REVENDICATIONS1. Procédé automatique de sauvegarde et maintenance des données obtenues par des services avec état (6) lors du lancement d'un service sans état (5) dans un système d'exploitation (1) en nuage, caractérisé en ce qu'il comprend les étapes suivantes: a. allocation préalable des ressources (4), présentes dans au moins un noeud (2) physique et/ou virtuel du système d'exploitation (1) en nuage, de manière statique, b. l'affectation de ces ressources (4) à un service avec état (6), c. lancement par un orchestrateur (3) d'une ou plusieurs instances d'un service sans état (5) et d'une ou plusieurs instances d'un service avec état (6), d. communication entre le service sans état (5) avec un service avec état (6), par le biais des protocoles de communication TCP, INPROC, IPC, UDP ou PGM, e. sauvegarde, dans au moins une ressource allouée de manière statique (4), des données obtenues par les services avec état (6), lors du lancement du service sans état (5). 2. Procédé selon la revendication 1, caractérisé en ce que l'orchestrateur (3) réalise une vérification: a. sur le bon fonctionnement des noeuds (2) du système d'exploitation (1) en nuage, b. sur le bon fonctionnement des instances de services sans état (5), c. sur le bon fonctionnement des instances de services avec état (6) 3. Procédé selon la revendication 1, caractérisé en ce que les ressources nécessaires pour déployer un service sans état (5) sont allouées de manière dynamique. 4. Procédé selon la revendication 1, caractérisé en ce qu'un service devient un service avec état (6) par le biais de l'utilisation d'au moins une ressource allouée de manière statique (4). 3041790 5. Procédé selon la revendication 1, caractérisé en ce que l'affectation préalable des ressources allouées de manière statique (4) comprend: a. une étape de nommage des ressources (4) 5 b. suivi par l'affectation de ces ressources (4) nommées à un service avec état (6). Procédé selon la revendication 1, caractérisé en ce que l'accès aux services avec état (6) est conditionné à un système de sécurité qui comprend un protocole d'authentification ou une partage de clé. Procédé selon les revendications 1 et 6, caractérisé en ce que les services sans états (5) sont préalablement paramétrés avec des moyens pour accéder aux services avec état (6). Procédé selon les revendications 1 et 2, caractérisé en ce que l'orchestrateur (3) redémarre ou lance à nouveau l'instance de service avec état (6) sur un autre noeud (2) du système d'exploitation (1), lors d'une défaillance ou dysfonctionnement d'une instance d'un service avec état (6). Procédé selon les revendications 1 et 2, caractérisé en ce que l'orchestrateur (3) réalise: a. un démarrage complet du service avec état (6), lorsqu'il vérifie un arrêt complet dudit service. 25 b. une mise à jour sur l'ensemble des noeuds (2), s'il vérifie que le service a évolué entre son premier démarrage et son redémarrage. 10. Procédé selon la revendication 1, caractérisé en ce que les ressources allouées de manière statique (4) possèdent des moyens pour qu'elles soient 30 répliquées et/ou réparties sur un ou plusieurs noeuds (2) physique et/ou virtuel du système d'exploitation (1) en nuage. 6. 10 7. 15 8. 209.