Brevet FR3072528A1 (20190419)

REVENDICATIONS1.- Un système de gestion distribuée pour un réseau de communication (1) comportant une pluralité de fonctions réseau virtuelles, le réseau de communication comportant une pluralité de machines connectées par une pluralité de liaisons, la pluralité de fonction réseau virtuelles étant exécutée par une pluralité de machines dites points de présences, une couche logicielle (30) de chaque point de présence comportant : - un module de routage (40) connecté entre au moins un port physique (26) et au moins un port interne (41) du point de présence, le port physique étant connecté au réseau de communication, pour le routage des paquets à partir d'une table de routage étendue (T) stockée par le point de présence, le module de routage étant propre à échanger des informations de routage avec les autres machines du réseau de communication ; - un module d'aiguillage (50) entre le port interne (41) et une pluralité de ports d'entrée virtuels (61, 62,\n<CLM>\1\t; - un module de virtualisation (60) ; et, - au moins une instance (71, 72,\n<CLM>\1\td'une fonction réseau virtuelle, dont l'exécution est gérée par le module de virtualisation (60), un unique port d'entrée virtuel de la pluralité de ports d'entrée virtuels étant associé à ladite instance, le module d'aiguillage permettant d'aiguiller un paquet du port interne vers le port d'entrée virtuel de l'instance de la fonction réseau virtuelle pour le traitement dudit paquet, la couche logicielle (30) comportant, en outre, un module de gestion et d'orchestration (80) comportant : - un algorithme (82) de surveillance et de gestion, propre à collecter des informations de gestion du module de virtualisation (60) et de la ou chaque instance (71, 72, 73), des informations de routage du module de routage (40) et à transmettre des informations de configuration au module d'aiguillage (50) ; - un algorithme (84) de mise à jour de la table de routage étendue (T) à partir des informations de gestion et des informations de routage collectées par l'algorithme (82) de surveillance et de gestion ; - un algorithme (86) de placement et de chainage propre, en fonction de la table de routage étendue (T), à lancer l'exécution d'une nouvelle instance d'une fonction réseau virtuelle, et/ou à configurer une instance d'une fonction virtuelle en cours d'exécution, et/ou à interrompre l'exécution d'une instance d'une fonction virtuelle, sur le point de présence considéré. 18 2.- Système selon la revendication 1, dans lequel la table de routage étendu (T) décrit un réseau étendu (101) associé au réseau de communication (1), les noeuds du réseau étendu correspondant soit à des noeuds physiques soit à des noeuds virtuels, chaque noeud physique correspondant à une fonction de routage des machines du réseau 5 de communication, chaque noeud virtuel correspondant à une fonction réseau virtuelle, et un lien du réseau étendu entre deux noeuds physiques correspond à la liaison entre les machines correspondantes du réseau de communication et un lien entre un noeud virtuel et un noeud physique correspondant à une instance de la fonction réseau virtuelle correspondant audit noeud virtuel exécutée par le point de présence correspondant audit 10 noeud physique. 3.- Système selon la revendication 2, dans lequel la table de routage étendue (T) associe à chaque lien du réseau étendu un poids, une décision de routage par le module de routage étant prise par la mise en oeuvre d'un algorithme de plus court chemin utilisant 15 la table de routage étendue (T). 4.- Système selon l'une quelconque des revendications précédentes, dans lequel l'algorithme (84) de mise à jour de la table de routage étendue (T) est propre à calculer une métrique étendue (M) après une mise à jour de la table de routage étendue (T), et à 20 transmettre la métrique étendue (M) au module de routage (4), le module de routage (40) utilisant directement la métrique étendue (M) pour prendre une décision de routage d'un paquet. 5.- Système selon la revendication 4, dans lequel le module de routage (40) 25 comporte un cache (C) propre à mémoriser une décision de routage d'un paquet appartenant à un flux de données, le cache étant réinitialisé à chaque mise à jour de la métrique étendue (M). 6.- Système selon l'une quelconque des revendications précédentes, dans lequel 30 le module de gestion et d'orchestration (80) transmet : - vers l'instance (71, 72, 73), des données de configuration ; - vers le module de virtualisation (60), des données de lancement de l'exécution d'une instance d'une fonction réseau virtuelle ou de suppression d'une instance d'une fonction réseau virtuelle en cours d'exécution ; et, 35 - vers le module d'aiguillage (50), des règles de transmission indiquant les ports d'entrée virtuels associés aux instances en cours d'exécution, et des règles d'aiguillage 19 de manière à adresser un paquet vers l'une ou l'autre des instances d'une même fonction réseau virtuelle.