Brevet FR3064863A1 — publié le 20181005

Réseau de télécommunications utilisant la multidiffusion Domaine technique de l'invention La présente demande concerne le domaine des réseaux de télécommunications aptes à transmettre des messages et plus particulièrement les réseaux utilisant un protocole de communication à multidiffusion (Multicast). Dans ces protocoles, des messages sont envoyés depuis un émetteur vers une adresse de multidiffusion, à laquelle un ensemble ou groupe de récepteurs peut s'abonner pour recevoir les messages. Des exemples de tels réseaux sont constitués par des réseaux utilisant le protocole IP (Internet Protocol), en mode UDP (User Datagram Protocol). Sur un tel réseau, la multidiffusion est une forme de diffusion de messages d'un émetteur (source unique) ou de plusieurs, vers un groupe de récepteurs. Les termes « diffusion multipoint » ou « diffusion de groupe » sont également employés. Chaque émetteur émet vers tous les récepteurs sans information en retour de la part de ceux-ci. Les récepteurs intéressés par les messages adressés à ce groupe doivent s'inscrire ou s'abonner à ce groupe, c'est-à-dire à l'adresse de multidiffusion. Art antérieur Dans l'art antérieur, la multidiffusion permet de développer des applications interactives de groupe, comme la visioconférence ou la télévision. Le multicast ne permet cependant en aucune façon le contrôle de la réception par la source. La source ne reçoit pas d'acquittement ou d'information en retour. L'identification et l'authentification des participants doivent être prises en charge au niveau applicatif si elles sont souhaitées. De plus, dans l'art antérieur, un réseau de communication utilisant un mode point à point (tcp), permet de fragmenter à l'émission les messages longs en plusieurs unités ou trames ou paquets (frames) et de reconstituer pour le récepteur le message à partir des trames. Chaque trame se voit attribuer un identifiant unique strictement croissant ou numéro, le réseau assurant dans ce mode une réception des trames dans l'ordre de leurs identifiants et une retransmission à partir d'un paquet perdu de la séquence des trames qui permet une certaine garantie de transmission. Au contraire, un réseau utilisant la multidiffusion n'assure aucune garantie de bonne transmission d'une trame ou d'un message s'étendant sur plusieurs trames quant à l'ordre de réception des trames par un récepteur. Dans l'art antérieur, un réseau de télécommunications transmettant des messages en mode multidiffusion est ainsi considéré inapte à transmettre des messages de façon fiable et avec une qualité de service (QoS) élevée, au niveau de la couche transport d'un modèle 3064863 2 en couche, indépendamment des applications transportées par le réseau. Par ailleurs, la répétition entraîne, de façon connue, soit une latence du réseau soit des collisions entre les paquets de signaux digitaux, qui peuvent induire une surcharge du réseau. 5 En conséquence, un homme du métier des réseaux informatiques IP connaissant TCP/IP, n'envisagerait pas de répéter les messages d'un réseau. En partant aussi de son expérience avec TCP/IP, un homme du métier des réseaux n'envisagerait pas non plus d'attribuer à un message, c'est-à-dire à l'ensemble de ses paquets un numéro ou un identifiant unique, ses paquets possédant déjà un tel identifiant. 10 La transmission fiable de messages au niveau de la couche transport d'un réseau de télécommunication utilisant un protocole de multidiffusion est donc pour l'art antérieur un problème difficile. Il en est ainsi pour des réseaux IP et donc pour un réseau intranet ou internet. Or, les avantages d'UDP, pour la transmission de messages particuliers, est reconnue pour 15 son efficacité et son économie de moyens, permettant de dépenser moins d'énergie pour transmettre un volume de message donné dans les signaux physiques envoyés sur le réseau. Exposé de l'invention Dans ce contexte, la présente demande concerne un réseau de télécommunications 20 comprenant un émetteur et un réémetteur, dans lequel l'émetteur est configuré pour émettre sur le réseau, selon un protocole de multidiffusion, des messages contenant un identifiant unique, vers une adresse de multidiffusion, et dans lequel le réémetteur est configuré pour répéter sur le réseau, selon le protocole de multidiffusion, les messages contenant un identifiant unique, vers l'adresse de multidiffusion, pendant une durée de 25 réémission limitée. Dans des variantes : - le réémetteur est configuré pour répéter les messages contenant un identifiant unique, vers l'adresse de multidiffusion, plusieurs fois pendant la durée de réémission ; - le réémetteur est configuré pour répéter les messages contenant un identifiant unique, 30 vers l'adresse de multidiffusion, plusieurs fois pendant la durée de réémission, périodiquement ; - le protocole de multidiffusion est un protocole IP (« Internet Protocol ») ; - le protocole IP de multidiffusion est un protocole UDP (« User Datagram Protocol ») ; - l'émetteur est configuré exécuter un premier programme d'ordinateur sous la forme d'un 35 premier micro-service générant les messages à identifiant unique, vers l'adresse de 3064863 3 multidiffusion et le réémetteur est configuré pour exécuter un second programme d'ordinateur sous la forme d'un second micro-service recopiant les messages à identifiant unique, vers l'adresse de multidiffusion. La présente demande concerne aussi un procédé pour la mise en oeuvre du réseau de 5 télécommunications comprenant les étapes suivantes: - émettre, sur le réseau, selon le protocole de multidiffusion, un message contenant un identifiant unique, vers l'adresse de multidiffusion; - répéter, sur le réseau, selon le protocole, le message à identifiant unique, vers l'adresse de multidiffusion, pendant la durée de réémission. 10 Dans une variante, le procédé comprend l'étape supplémentaire suivante : - recevoir par le réseau, selon le protocole de multidiffusion, le message à identifiant unique, depuis l'adresse de multidiffusion, sur un récepteur abonné à l'adresse de multidiffusion. La présente demande concerne aussi une utilisation du réseau de télécommunications ci- 15 dessus selon le procédé ci-dessus, pour la communication interne d'une application informatique distribuée. Liste des figures L'invention sera décrite en lien avec la liste des figures ci-dessous et en référence avec les 20 numéros entre parenthèses représentés sur ces figures. La figure 1 représente un exemple d'architecture globale d'un réseau selon l'invention La figure 2 représente un exemple de la composition d'un message à identifiant unique selon l'invention. 25 Description détaillée d'un mode de réalisation L'invention sera décrite dans un premier mode de réalisation pour des micro-services informatiques qui sont des programmes d'ordinateur, dédiés à une tâche particulière et réalisent sur un ordinateur muni d'une carte réseau connecté à un réseau de télécommunication, des fonctions permettant de transformer l'ordinateur exécutant le 30 micro-service en émetteur de message, en récepteur de message ou en réémetteur de message. L'invention ne se limite toutefois pas à ce mode de réalisation, des matériels dédiés pouvant être construits pour l'émission, la réception ou la retransmission ou réémission de 3064863 4 messages sur un réseau de télécommunications. Les termes d'émetteur, récepteur ou réémetteur (retransmetteur) seront ainsi considérés comme des synonymes sur le réseau de micro-service d'émission, de réception ou de réémission (retransmission), au sens de la présente demande. 5 L'invention concerne ainsi un dispositif et un procédé de mise en oeuvre de ce dispositif ainsi qu'une utilisation de ceux-ci. Le dispositif est un réseau de télécommunications de messages ou événements, utilisant des émetteurs de messages ou micro-services producteurs de messages et des récepteurs de message ou micro-services consommateurs de messages. 10 Les messages au sens de l'invention sont mono-trame et doivent être transmis par le protocole en une seule fois ou un seul paquet. La taille d'un message étant déterminée par le réseau physique sous-jacent (typiquement 64 kilo octets). Les producteurs d'événements émettent sur le réseau de l'invention des messages sans que les producteurs n'aient besoin de connaître explicitement les consommateurs, permettant 15 ainsi une grande flexibilité d'échelle, i.e. un nombre arbitraire de micro-services composant le système. De plus, les micro-services d'émission du réseau sont aptes à associer à chaque message ou encoder dans chaque message un identifiant unique par message, qui permet de distinguer un message transmis par le réseau de tous ceux qui ont été antérieurement transmis sur le 20 réseau et de tous ceux qui le seront ultérieurement. De même les micro-services de réception du réseau sont aptes à décoder l'identifiant unique et le reconnaître. De plus, certains éléments du réseau sont aptes à retransmettre ou à répéter un message contenant un identifiant unique, et à le reconnaître. 25 Le réseau de l'invention est donc un réseau permettant de traiter de manière unique les messages transmis, chacun des éléments composant le réseau devant être apte à permettre ce traitement des messages qui est un critère de l'invention pour sa mise en oeuvre : le réseau de télécommunications de l'invention est un réseau de traitement de messages mono-trame à identifiant unique. 30 Dans ce contexte, un émetteur de message dispose d'un algorithme pour attribuer à chaque message émis un numéro unique. Un tel algorithme est connu de l'art antérieur (génération d'un UUID à partir de bibliothèques connues). Les réémetteurs sont de même aptes à lire l'identifiant unique d'un message et à le mémoriser pour ne pas dupliquer les tâches de réémissions. 35 3064863 5 Sans cette caractéristique essentielle, plusieurs réémetteurs pourraient induire une saturation du réseau ou divergence. Par ailleurs, les éléments du réseau de l'invention ou ses micro-services sont aussi aptes à identifier des adresses de diffusion pour écouter des messages qui y sont adressés. Pour 5 chaque commande est associée une adresse de multi-diffusion, à laquelle ils doivent soit envoyer des messages, soit recevoir des messages soit renvoyer des messages, selon leur fonction. L'invention concerne ainsi un procédé permettant à des micro-services informatiques (producteur/consommateur) d'échanger des messages sous forme d'événements sans que 10 les producteurs n'aient besoin de connaître explicitement les consommateurs, permettant ainsi une grande flexibilité d'échelle sur le nombre de services composant le système. Dans l'art antérieur, les architectures en micro-services permettent : Le déploiement immédiat d'une fonctionnalité unique ; Différents niveaux d'élasticité adaptés à l'usage de chaque sous-ensemble de 15 fonctionnalité ; l'isolation d'un service défaillant avec un impact limité et maîtrisé sur le reste des services ; l'utilisation de technologies nouvelles et variées pour répondre au mieux à l'évolution technologique. 20 Néanmoins, l'un des challenges de ce type d'architecture est de faire communiquer ces micro-services. Pour ce faire, aujourd'hui, deux principales approches sont utilisées : la communication synchrone point à point entre les micro-services. Mais elle pose généralement les problèmes suivants : O blocage du fil d'exécution du client 25 0 pannes en cascade en cas d'appels imbriqués O couplage temporel entre les services la communication asynchrone point à point utilisant des systèmes de file de message. En ce qui la concerne, elle est sujette : O aux augmentations de la latence des échanges dues au fonctionnement 30 d'un système de file de message O à une diminution de la résilience des communications, induite par un point de passage central. L'idéal serait d'échanger des 'commandes' ( ou événements) portées par des 35 communications asynchrones, ce qui permettrait : un véritable découplage temporel entre les micro-services une forte résilience à la perte d'une partie du système, la mise en place de flux (en anglais « workflows ») complexes faisant interagir plusieurs sources d'informations. 3064863 6 De ce point de vue, le procédé de l'invention permet de répondre à cette problématique par l'envoi de messages ou 'commandes' (ou événements) au travers d'un bus de 5 communication asynchrone porté par le protocole de communication UDP. Le réseau de l'invention comprend, lui, les éléments suivants : Des micro-services : ce sont des applications distribuées, ils peuvent être producteurs de messages, consommateurs de messages ou les deux, Des groupes de communication : ce sont des adresses réseaux en mode 10 multidiffusion. Envoi de commandes : Selon le procédé, un micro-service producteur identifie l'adresse d'un groupe de 15 communication qu'il veut servir, à partir du nom de la commande qu'il souhaite envoyer. Il peut utiliser pour cela une table regroupant les adresses et les commandes. Puis le micro-service émetteur associe un identifiant unique et universel, un nombre entier, et une durée de vie à la commande, puis envoie l'ensemble à travers le réseau en mode 20 asynchrone. Le micro-service n'est pas en attente d'une réponse. Réception de commande Pour recevoir une commande, un micro-service consommateur utilise la même méthode 25 d'identification d'adresse du groupe de communication, puis s'abonne à l'écoute de tous les messages qui transitent sur ce groupe. Auto-élection 30 Lors de la réception d'un message, chaque instance d'un même type de micro-service vérifie que la commande la concerne en contrôlant son nom. Puis à partir de son identifiant, de celui de la commande et du nombre de ses congénères, elle définit de manière calculatoire par des moyens connus, si c'est à elle de la traiter parmi tous ses congénères. 35 Résilience du système Afin de prévenir le non-traitement d'un message ou non-réception par au moins un 40 récepteur, circonstance qui peut intervenir par : Perte d'une instance de micro-service, Non-réception de message par l'instance auto-élue, 3064863 7 un mécanisme de réémission des commandes est mis en place. Un type de micro-services y est dédié : les réémetteurs. Ces derniers espionnent toutes les commandes qui transitent sur soit un groupe de communication, soit plusieurs groupe de communication, soit tous les groupes de communications défini sur le réseau. Lorsqu'ils 5 perçoivent une nouvelle émission de commande, i.e. une commande avec un identifiant ou identifiant unique inconnu des réémetteurs, l'un des réémetteurs l'enregistre puis la renvoie à une fréquence donnée jusqu'à ce que la commande expire. De façon alternative, si la commande ne contient pas de durée de vie ou de temps de réémission, le réémetteur en charge de la réémission peut par configuration émettre cette 10 commande selon un motif prédéfini. Un tel motif temporel de durée finie ou limitée peut ainsi prévoir que la commande est émise une ou plusieurs fois pendant la durée limitée et à des intervalles réguliers, i.e. périodiquement, ou bien selon d'autres répartitions notamment apériodiques dans la durée de vie définie ou calculée, sans sortir de l'enseignement de la présente demande. 15 Idempotence des commandes Du fait du mécanisme de réémission des commandes, le système doit s'assurer de leur idempotence sur le réseau, i.e. qu'une commande n'est exécutée ou ne produit un effet qu'une seule fois. 20 Ainsi après le calcul de l'auto-élection, le micro-service élu vérifie dans sa base d'idempotence, qui est une table qu'il enrichit, si la commande a déjà été traitée : Si la commande a déjà été traitée, la commande est ignorée Si la commande est inconnue, son identifiant unique ne figurant pas dans la table, la commande est enregistrée dans la base d'idempotence puis est traitée. 25 Il apparaît donc essentiel à cette idempotence que les messages ou commandes soient identifiés de façon unique entre eux sur le réseau. Réseau La description du réseau selon la présente demande est précisée ci-dessous par : 30 - La description de l'architecture globale du réseau - la méthode d'identification des adresses réseau 3064863 8 Architecture Globale En référence à la figure 1, dans un premier mode de réalisation un réseau de télécommunications est composé: - d'un micro-service A émetteur (101), qui envoie des données (DATA ou 107, 201) 5 ou message ou commande ou événement; - d'un micro-service B récepteur (102) - d'un micro-service C réémetteur (103) qui réémet le message. Les instances de micro-services (104, 105 et 106) communiquent à travers un canal UDP (111) d'un réseau IP, ou canal UDP/IP, en envoyant un message, ici mono-trame (107, 201) 10 vers une adresse IPV6 (109) de multidiffusion. Chaque instance de micro-service récepteur s'abonne (se met en écoute) du groupe de communication GRP1 (109), associé à l'adresse de multidiffusion dont elle souhaite écouter les messages qui y transitent. Les messages (201) qui transitent sont composés de trois parties principales : 15 le nom de la commande du message (202) l'identifiant unique du message (203) généré par le micro-service émetteur et les données portées par le message (204). Le dispositif de réseau décrit et le procédé associé peuvent être appliqués à la 20 communication interne d'une application distribuée sur plusieurs machines physiques ou tout autre système de virtualisation (par isolation ou hypervision), pour assurer la répartition de la charge de traitement de commandes. Le mécanisme de réémission selon le protocole est identique à celui d'une réception puis d'une émission, un réémetteur pourra donc réutiliser un récepteur puis un émetteur pour 25 y parvenir. Il pourra entre les deux utiliser un programme de filtrage des messages reçus qui ne créera pas de nouvelle tâche de réémission, si le message contient un identifiant unique mémorisé dans le réémetteur. Une mémoire des identifiants uniques, reçus par le réémetteur permet ainsi d'empêcher un renvoi des propres messages du réémetteur ou d'autres réémetteurs, assurant la stabilité du réseau selon la présente demande. Ainsi 30 l'ensemble récepteur, programme de filtrage, mémoire et émetteur pourra être réalisé sous forme d'un micro-service. Dans tous les modes de réalisation de l'invention, la présence de messages à identifiant unique, répétés à l'identique sur un réseau stable ou non-divergent, émettant des messages en mode multidiffusion, indiquera ainsi la présence de l'invention. La présence 35 d'un identifiant unique dans les messages transportés permet en effet de leur appliquer une répétition qui peut être sélective en fonction du numéro d'identifiant ou de ne répéter les messages que pendant une durée finie, pour observer une convergence ou une stabilité du réseau. 3064863 9 L'invention est susceptible d'application industrielle ou utile dans le domaine des applications distribuées sur plusieurs machines physiques ou tout autre système de virtualisation. REVENDICATIONS1. Réseau de télécommunications comprenant un émetteur (101) et un réémetteur (103), dans lequel l'émetteur(101) est configuré pour émettre sur le réseau, selon un protocole de multidiffusion, des messages contenant un identifiant unique, vers une adresse de multidiffusion, et dans lequel le réémetteur (103) est configuré pour répéter sur le réseau, selon le protocole de multidiffusion, les messages contenant un identifiant unique, vers l'adresse de multidiffusion, pendant une durée de réémission limitée. 2. Réseau de télécommunications selon la revendication 1 dans lequel le réémetteur (103) est configuré pour répéter les messages contenant un identifiant unique, vers l'adresse de multidiffusion, plusieurs fois pendant la durée de réémission. [3] Réseau de télécommunications selon la revendication 2 dans lequel le réémetteur (103) est configuré pour répéter les messages contenant un identifiant unique, vers l'adresse de multidiffusion, plusieurs fois pendant la durée de réémission, périodiquement. [4] Réseau de télécommunications selon la revendication 1 dans lequel le protocole de multidiffusion est un protocole IP (« Internet Protocol »). [5] Réseau de télécommunications selon la revendication 4 dans lequel le protocole IP de multidiffusion est un protocole UDP (« User Datagram Protocol »). [6] Réseau de télécommunications selon la revendication 1 dans lequel l'émetteur (101) est configuré pour exécuter un premier programme d'ordinateur sous la forme d'un premier micro-service générant les messages à identifiant unique, vers l'adresse de multidiffusion et le réémetteur(103) est configuré pour exécuter un second programme d'ordinateur sous la forme d'un second micro-service recopiant les messages à identifiant unique, vers l'adresse de multidiffusion. [7] Procédé pour la mise en oeuvre du réseau de télécommunications selon la revendication 1 comprenant les étapes suivantes: - émettre, sur le réseau, selon le protocole de multidiffusion, un message (201) contenant un identifiant unique, vers l'adresse de multidiffusion; - répéter, sur le réseau, selon le protocole, le message(201) à identifiant unique, vers l'adresse de multidiffusion, pendant la durée de réémission. [8] Procédé selon la revendication 7 comprenant l'étape supplémentaire suivante : - recevoir par le réseau, selon le protocole de multidiffusion, le message(201) à identifiant unique, depuis l'adresse de multidiffusion, sur un récepteur (102) abonné à l'adresse de multidiffusion. 3064863 11 [9] Utilisation du réseau de télécommunications selon la revendication 1 pour la communication interne d'une application informatique distribuée.