FR3078417A1 - Procede de configuration d'une architecture reseau et architecture reseau associee - Google Patents

Procede de configuration d'une architecture reseau et architecture reseau associee Download PDF

Info

Publication number
FR3078417A1
FR3078417A1 FR1855411A FR1855411A FR3078417A1 FR 3078417 A1 FR3078417 A1 FR 3078417A1 FR 1855411 A FR1855411 A FR 1855411A FR 1855411 A FR1855411 A FR 1855411A FR 3078417 A1 FR3078417 A1 FR 3078417A1
Authority
FR
France
Prior art keywords
trees
source server
machines
tree
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1855411A
Other languages
English (en)
Other versions
FR3078417B1 (fr
Inventor
Constant Colombo
Rene Kopp
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telediffusion de France ets Public de Diffusion
Original Assignee
Telediffusion de France ets Public de Diffusion
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telediffusion de France ets Public de Diffusion filed Critical Telediffusion de France ets Public de Diffusion
Publication of FR3078417A1 publication Critical patent/FR3078417A1/fr
Application granted granted Critical
Publication of FR3078417B1 publication Critical patent/FR3078417B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé de configuration d'une architecture réseau pour une transmission de type multidiffusion par un serveur source d'un flux de données vers des machines clientes via deux arbres de transmission de flux de données disjoints le procédé comprenant les étapes suivantes : la construction d'un graphe initial à partir de l'architecture réseau, le calcul de deux arbres de transmission de flux de données les plus disjoints possible entre le serveur source vers toutes les machines clientes, la configuration de l'architecture réseau via une configuration de routage représentative des deux arbres de transmission de flux de données, caractérisé en ce que le calcul des deux arbres comprend le calcul d'une première solution par application itérative d'un algorithme MIDCST, le calcul d'une seconde solution par application itérative d'un routage contraint en délai consécutivement pour chacun des arbres, la création de tables des routes exhaustives, l'application d'un algorithme génétique basé sur les tables des routes et les deux solutions précédemment calculées.

Description

PROCÉDÉ DE CONFIGURATION D'UNE ARCHITECTURE RÉSEAU ET ARCHITECTURE RÉSEAU ASSOCIÉE
1. Domaine technique de l'invention
L'invention concerne un procédé de configuration d'une architecture réseau. En particulier, l'invention concerne un procédé de configuration d'une architecture réseau pour une transmission de type multidiffusion (ou multicast en anglais) par un serveur source d'un flux de données vers des machines clients via un réseau informatique comprenant des machines reliées entre elles, en particulier pour la transmission de données de type flux audiovisuel temps réel (aussi appelé streaming en anglais).
2. Arrière-plan technologique
La transmission de flux audiovisuel sur un réseau d'une source vers de multiples destinations est usuellement effectué en multidiffusion ou multicast en anglais. Le cheminement des flux de la source vers les multiples destinations est déterminé par un arbre déployé sur une topologie. Sur chacune des branches, le flux n'est transporté qu'une fois, ce qui différencie la multidiffusion de diffusions multiples point-à-point ou unicast. La multidiffusion permet ainsi de diminuer la bande passante requise pour la transmission du flux de données.
Dans les réseaux de transmission de données audiovisuels, une des principales problématiques est la robustesse, c'est-à-dire la capacité à continuer la transmission des données malgré un problème dans le réseau pour assurer la contrainte temps réel. En particulier, la transmission doit s'effectuer sans pertes et sans délais, afin d'éviter les pertes d'informations ou les microcoupures dans la transmission qui réduisent l'expérience utilisateur à la destination.
De nombreuses solutions permettant cette robustesse ont été imaginées. En particulier, le standard de facto est Multicast VPN ou MVPN en réseau IP/MPLS traditionnel. Il s'agit d'une architecture basée sur des services de niveau 2 et 3 construits sur des tunnels résilients (E C. Rosen and R. Aggarwal, « RFC 6513: Multicast in MPLS/BGP IP VPNs », 2012). Cette solution est basée sur un arbre de diffusion multicast établi par le protocole PIM, basé sur l'IGP. Bien que résiliente, cette solution ne permet pas d'éviter l'impact suite à un reroutage.
Ghannami et Shao (A. Ghannami and C. Shao, « Efficient Fast Recovery Mechanism in Software-Defined Networks », llth International Conférence for Internet Technology and Secured Transactions (ICITST -2016), 2016) ont proposé une solution sur des réseaux SDN, dans laquelle des chemins de diffusion sont déployés sur la topologie et rapidement activés en cas de panne grâce aux possibilités offertes par les Fast Failover Group de la technologie OpenFlow. Il ne s'agit néanmoins pas d'arbres de multidiffusion, mais de multiples diffusions point-à-point.
Enfin, Xiong et Chen X. Xiong and T. Chen, « MTM: A Reliable Multiple Trees Multicast for Data Center Network », International Conférence on Networking, Architecture, and Storage (NAS), 2017) ont proposé une autre approche, dans laquelle les destinations sont séparées en N groupes, portés par N arbres. Chaque destination sélectionne un voisin de secours appartenant à un autre arbre que le sien. En cas de panne d'un arbre, toutes les destinations portées par cet arbre basculent vers le voisin de secours pour récupérer le flux.
Les solutions à base d'arbre pour déterminer le cheminement des données sont dépendantes d'un calcul d'arbres. Pour s'assurer de la robustesse d'une telle solution, les arbres sont calculés de façon à être disjoints, de sorte qu'un problème sur un machine d'un des arbres n'impacte pas ou peu le ou les autres arbres. L'objectif est de fournir une diversité de chemin à chaque destination afin que, en cas de panne, la livraison du flux de données soit assuré sans impact.
Une telle approche de calcul d'arbre est par exemple présentée par Médard et al. (M. Médard, S. G. Finn, R. A. Barry, and R. G. Gallager, « Redundant Trees for Preplanned Recovery in Arbitrary Vertex-Redundant or Edge-Redundant Graphs », IEEE/ACM TRANSACTIONS ON NETWORKING, vol. 7, no. 5, 1999), dans lequel un algorithme d'ordonnancement des nœuds permet de définir deux arbres totalement disjoints à partir d'une topologie où chaque destination est joignable par 2 chemins totalement disjoints.
La recherche de deux arbres totalement disjoints, bien que parfait en théorie pour une robustesse maximale, pose des problèmes car un réseau réel n'a pas forcément la possibilité de contenir ces deux arbres disjoints, auquel cas le calcul de
Médard et al. ne fournira aucun résultat.
Une autre solution est de calculer des arbres les plus disjoints possibles, permettant d'obtenir d'une part une forte robustesse, et d'autre part d'ajouter certains critères à l'élaboration des arbres au-delà du simple fait qu'ils soient disjoints ou non.
Le problème de calcul d'arbre disjoints a également été abordé par la classe des algorithmes génétiques dans le cas de Spanning Trees (S. Kubler, J. Robert, J.-P. Georges, and E. Rondeau, « Dual path communications over multiple spanning trees for networked control Systems, » Engineering Applications of Articial Intelligence, vol. 25, pp. 1460-1470, Oct. 2012). L'encodage proposé s'adapte à des Spanning Tree, mais pas à des cas plus généraux de calcul d'arbre, contrairement à l'encodage proposé dans (N. Shimamoto, A. Hiramatsu, and K. Yamasaki, «A dynamic routing control based on a genetic algorithm, » San Francisco, CA, USA, pp. 1123-1128, IEEE, 1993) qui traite du calcul d'un seul arbre.
Les solutions existantes présentent un certain nombre d'inconvénients.
D'une part, elles nécessitent généralement un graphe où toutes les destinations sont joignables par deux chemins strictement disjoints. Pour des raisons géographiques et économiques, les topologies des réseaux de transport ne remplissent pas toujours ces contraintes.
D'autre part, les solutions existantes ne s'intéressent pas au problème de la contrainte de délai, supposant que les caractéristiques physiques du réseau utilisé remplissent cette contrainte. Or, les applications de transmission de flux audiovisuel nécessitent une transmission continue des données en temps réel, et le délai de transmission doit donc être contraint.
Les inventeurs ont donc cherché une solution à ces inconvénients.
3. Objectifs de l'invention
L'invention vise à pallier au moins certains des inconvénients des procédés de configuration d'architecture réseau connus.
En particulier, l'invention vise à fournir, dans au moins un mode de réalisation de l'invention, un procédé de configuration d'architecture réseau permettant la transmission en multidiffusion d'un flux de données audiovisuel continu, dans un délai contraint, et résilient.
L'invention vise aussi à fournir, dans au moins un mode de réalisation, un procédé de configuration d'architecture réseau compatible avec tout type de topologie de l'architecture réseau.
4. Exposé de l'invention
Pour ce faire, l'invention concerne un procédé de configuration d'une architecture réseau comprenant un serveur source, une pluralité de machines clientes et une pluralité de machines nœuds, pour une transmission de type multidiffusion par le serveur source d'un flux de données vers les machines clientes via deux arbres de transmission de flux de données disjoints dans lesquels le serveur source forme une racine des arbres, les machines clients forment des feuilles des arbres et les machines nœuds forment des nœuds des arbres, le procédé comprenant les étapes suivantes :
une étape de construction d'un graphe initial à partir de l'architecture réseau, chaque serveur source, machine cliente et machine nœud formant un point du graphe, lesdits points étant reliés par des liens bidirectionnels et pondérés en fonction de la bande passante et du délai de transmission de données entre les points, une étape de calcul de deux arbres de transmission de flux de données les plus disjoints possible entre le point formé par le serveur source vers tous les points formés par les machines clientes, une étape de configuration de l'architecture réseau par un contrôleur de réseau en fournissant au serveur source et aux machines nœuds une configuration de routage représentative des deux arbres de transmission de flux de données, caractérisé en ce que l'étape de calcul des deux arbres de transmission de flux de données les plus disjoints possible comprend les sous-étapes suivantes :
Calcul d'une première solution par application itérative d'un algorithme MIDCST;
Calcul d'une seconde solution par application itérative d'un routage contraint en délai consécutivement pour chacun des arbres ;
Création de tables des routes exhaustives ;
Application d'un algorithme génétique basé sur les tables des routes et les deux solutions précédemment calculées.
Dans la suite de la description, on définira une racine d'un arbre comme étant une source, par exemple un serveur. Une feuille d'un arbre désigne une ou plusieurs machines clientes se situant en une extrémité d'un chemin de l'arbre, et un nœud d'un arbre désigne une ou plusieurs machines faisant le lien entre la source et différentes machines, par exemple des terminaux. Par création de tables de routes exhaustives, on comprendra l'identification de toutes les routes possibles qui respectent les contraintes de délai.
Un procédé de configuration selon l'invention permet donc d'obtenir deux arbres les plus disjoints possible permettant la configuration d'une architecture réseau permettant la transmission en multidiffusion d'un flux de données audiovisuel continu, dans un délai contraint, et résilient, d'une source vers plusieurs machines clientes.
Avantageusement et selon l'invention le calcul de deux chemins les plus indépendants possible, les moins coûteux en bande passante et contraint en délai entre le serveur source et ladite machine cliente est effectué via un algorithme MIDCST décrit dans l'invention.
Selon cet aspect de l'invention, contrairement à l'art antérieur en particulier l'algorithme Bejerano et al., cela permet le calcul des deux arbres sur tout type de graphe initial.
L'algorithme MIDCST est une variation de l'algorithme de Suurballe-Tarjan qui permet de trouver deux chemins les plus indépendants possibles, entre deux points d'un graphe dont les liens sont pondérés suivant deux dimensions, les moins coûteux suivant la première dimension (ici la bande passante) et sous contrainte d'un seuil pour la seconde dimension (ici le délai).
Avantageusement et selon l'invention, la sous-étape d'attribution de chemins aux différents arbres est effectuée suivant des paramètres quantitatifs d'indépendance et d'optimisation d'utilisation des liens.
Selon cet aspect de l'invention, cette étape garanti une indépendance maximale et participe à l'obtention d'un résultat plus optimal.
L'invention concerne également un procédé de configuration d'une architecture réseau comprenant une pluralité de serveurs sources, une pluralité de machines clientes et une pluralité de machines nœuds, pour une transmission de type multidiffusion par chaque serveur source d'un flux de données vers les machines clientes via deux arbres de transmission de flux de données disjoints dans lesquels le serveur source forme une racine des arbres, les machines clients forment des feuilles des arbres et les machines nœuds forment des nœuds des arbres, le procédé comprenant les étapes suivantes :
une étape de construction d'un graphe initial à partir de l'architecture réseau, chaque serveur source, machine cliente et machine nœud formant un point du graphe, lesdits points étant reliés par des liens bidirectionnels et pondérés en fonction de la bande passante et du délai de transmission de données entre les points, une étape de calcul d'une forêt d'arbre de transmission, ladite forêt comprenant, pour chaque serveur source, deux arbres de transmission de flux de données les plus disjoints possible entre le point formé par le serveur source vers tous les points formés par les machines clientes, une étape de configuration de l'architecture réseau par un contrôleur de réseau en fournissant au serveur source et aux machines nœuds une configuration de routage représentative des deux arbres de transmission de flux de données, caractérisé en ce que l'étape de calcul de la forêt d'arbre de transmission comprend, pour chaque serveur source, une étape de calcul des deux arbres de transmission de flux de données les plus disjoints possible d'un procédé de configuration selon l'invention.
Un procédé selon l'invention permet d'étendre le procédé de configuration pour la transmission à partir d'un serveur source à un procédé de configuration d'une architecture comprenant plusieurs serveurs sources. Pour chaque source, deux arbres de transmission de flux de données les plus disjoints possible sont calculés selon l'étape de calcul décrite précédemment et l'ensemble des arbres calculés forme une forêt associant à chaque serveur source deux arbres de transmission de flux.
L'invention concerne également une architecture réseau, comprenant un contrôleur de réseau, un serveur source, une pluralité de machines clientes et une pluralité de machines nœuds, pour une transmission de type multidiffusion par le serveur source d'un flux de données vers les machines clientes via deux arbres de transmission de flux de données disjoints dans lesquels le serveur source forme une racine des arbres, les machines clients forment des feuilles des arbres et les machines nœuds forment des nœuds des arbres, caractérisé en ce que le serveur source, la pluralité de machines clientes et la pluralité de machines nœuds sont configurés par le contrôleur de réseau pour réaliser ladite transmission d'un flux de données selon deux arbres calculés selon un procédé selon l'invention.
L'invention concerne également un procédé de configuration et une architecture caractérisés en combinaison par tout ou partie des caractéristiques mentionnées cidessus ou ci-après.
5. Liste des figures
D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante donnée à titre uniquement non limitatif et qui se réfère aux figures annexées dans lesquelles :
la figure 1 est un diagramme schématique d'un algorithme LARAC, la figure 2 est un diagramme schématique d'un algorithme de Suurballe-Tarjan, la figure 3 est un diagramme schématique de l'algorithme MIDCST, la figure 4 est un diagramme schématique d'un procédé de calcul de deux arbres de transmission de flux de données les plus disjoints possible selon un mode de réalisation de l'invention basé sur l'algorithme MIDCST, la figure 5 est un diagramme schématique d'un procédé de calcul de deux arbres de transmission de flux de données les plus disjoints possible selon un mode de réalisation de l'invention basé sur l'algorithme LARAC, la figure 6 est un diagramme schématique d'un procédé général de fonctionnement d'un algorithme génétique, la figure 7 est un diagramme schématique d'un procédé de calcul de deux arbres de transmission de flux de données les plus disjoints possible selon un mode de réalisation de l'invention basé sur un algorithme génétique et les deux procédés précédents, la figure 8 est un diagramme schématique d'un procédé de calcul de toutes les routes possibles entre un nœud source et un nœud destinations, la figure 9 est une représentation schématique illustrant des exemples d'encodage d'un arbre de diffusion sous forme de chromosome comme proposé dans (Λ/. Shimamoto, A. Hiramatsu, and K. Yamasaki, « A dynamic routing control based on a genetic algorithm, » San Francisco, CA, USA, pp. 1123-1128, IEEE, 1993), la figure 10 est une représentation schématique illustrant des exemples d'encodage d'une paire d'arbres de diffusion sous forme de chromosome exploitable par l'algorithme génétique, la figure 11 est une représentation schématique illustrant un exemple de mutation aléatoire d'une paire d'arbres sous forme de chromosome, la figure 12 est une représentation schématique illustrant un exemple de mutation appelée « Swap » d'une paire d'arbres sous forme de chromosomes, la figure 13 est une représentation schématique illustrant un exemple de croisement de deux paires d'arbres sous forme de chromosome, la figure 14 est un diagramme schématique d'une étape de calcul d'une forêt d'arbres de transmission de flux de données d'un procédé selon un mode de réalisation de l'invention.
6. Description détaillée d'un mode de réalisation de l'invention
Les réalisations suivantes sont des exemples. Bien que la description se réfère à un ou plusieurs modes de réalisation, ceci ne signifie pas nécessairement que chaque référence concerne le même mode de réalisation, ou que les caractéristiques s'appliquent seulement à un seul mode de réalisation. De simples caractéristiques de différents modes de réalisation peuvent également être combinées pour fournir d'autres réalisations.
Le procédé selon l'invention permet la configuration d'une architecture réseau comprenant un serveur source, une pluralité de machines clientes et une pluralité de machines nœuds, pour une transmission de type multidiffusion par le serveur source d'un flux de données vers les machines clientes via deux arbres de transmission de flux de données disjoints dans lesquels le serveur source forme une racine des arbres, les machines clients forment des feuilles des arbres et les machines nœuds forment des nœuds des arbres.
De façon connue, un tel procédé de configuration comprend une étape de construction d'un graphe initial à partir de l'architecture réseau, chaque serveur source, machine cliente et machine nœud formant un point du graphe, lesdits points étant reliés par des liens bidirectionnels et pondérés en fonction de la bande passante et du délai de transmission de données entre les points, une étape de calcul de deux arbres de transmission de flux de données les plus disjoints possible entre le point formé par le serveur source vers tous les points formés par les machines clientes, et une étape de configuration de l'architecture réseau par un contrôleur de réseau (ou équivalent) en fournissant au serveur source et aux machines nœuds une configuration de routage représentative des deux arbres de transmission de flux de données. L'architecture ainsi configurée par le contrôleur de réseau permet de mettre en œuvre la transmission du flux de données entre les différents éléments qui la composent.
Le procédé de configuration est particulier en ce que l'étape de calcul des deux arbres de transmission de flux de données les plus disjoints possible est améliorée par rapport aux méthodes connues, en particulier par rapport à la solution de Bejerano et al., déjà décrite.
En particulier, la figure 7 représente schématiquement une étape de calcul de deux arbres de transmission de flux de données les plus disjoints possible d'un procédé selon un mode de réalisation de l'invention. L'étape de calcul des deux arbres diffère sur plusieurs sous-étapes qui seront décrites plus loin en référence aux figures 4,5, et 8 à 13. En particulier, l'étape de calcul des deux arbres de transmission de flux de données les plus disjoints possible comprend plusieurs sous-étapes parmi les suivantes :
une sous-étape de calcul d'une première solution par application itérative d'un algorithme MIDCST;
une sous-étape de calcul d'une seconde solution par application itérative d'un routage contraint en délai consécutivement pour chacun des arbres ;
une sous-étape de création de tables des routes exhaustives ; et une sous-étape d'application d'un algorithme génétique basé sur les tables des routes et les deux solutions précédemment calculées.
La description de ces sous-étapes nécessite au préalable une définition de l'algorithme de LARAC, déjà connu et utilisés dans ces sous-étapes, ainsi qu'une variation de l'algorithme de Suurballe-Tarjan créée spécifiquement pour la mise en œuvre de ce procédé de configuration et mise en œuvre dans ces sous-étapes.
La figure 1 représente schématiquement un algorithme LARAC, pour « Lagrangian Relaxation based Aggregated Cost », permettant de calculer un chemin entre deux points d'un graphe pondéré par au moins deux dimensions. Le chemin est le moins coûteux suivant une dimension et sous un seuil défini pour l'autre dimension. Par exemple, en réseau de télécommunication, l'algorithme LARAC permet de trouver le chemin le moins coûteux en bande passante, sous contrainte de délai. Son fonctionnement détaillé est décrit dans la publication A. Juttner, B. Szviatovski, I. Mes, and Z. Rajk, « Lagrange relaxation based Method for the QoS routing problem », IEEE INFOCOM, vol. 2, pp. 859868, 2001.
L'algorithme de LARAC est utilisé dans différentes sous-étapes décrit plus loin. Toutefois, dans d'autres modes de réalisation, il peut être remplacé par d'autres algorithmes de routage contraints, par exemple l'algorithme « Constrained BellmanFord », décrit par Widyono dans R. Widyono, The design and évaluation of routing algorithms for realtime channels, International Computer Science Institute Berkeley, 1994.
La figure 2 représente schématiquement un algorithme de Suurballe-Tarjan, connu de l'art antérieur et permettant de calculer deux chemins strictement à nœuds disjoints entre deux points d'un graphe pondéré. Son fonctionnement détaillé est décrit dans la publication J. W. Suurballe and R. E. Tarjan, «A Quick Method for Finding Shortest Pairs of Disjoint Paths », in Networks, 1984 déjà citée. Cet algorithme peut également assurer le calcul de deux chemins strictement à nœuds disjoints entre deux points d'un graphe pondéré, si la première étape présentée en figure 2 est ignorée.
La figure 3 représente schématiquement une variation de l'algorithme de
Suurballe-Tarjan, appelée MIDCST.
Cette variation de l'algorithme de Suurballe-Tarjan contraint en délai à indépendance maximale permet de trouver deux chemins les plus indépendants possible, entre deux points d'un graphe pondéré par deux dimensions, les moins coûteux suivant la première dimension et sous contrainte d'un seuil pour la seconde dimension (ici le délai).
La première différence avec l'algorithme de Suurballe-Tarjan est l'utilisation d'un algorithme de LARAC ou équivalent pour obtenir deux chemins les moins coûteux et sous contrainte de délai. La seconde différence est la mise en place d'une tolérance permettant d'assurer deux chemins les plus indépendants possibles plutôt que de limiter l'algorithme à la recherche de chemins strictement indépendants.
De la même manière que l'algorithme de Suurballe-Tarjan, une indépendance de lien ou de nœuds peut être recherchée.
La figure 4 représente schématiquement un procédé de calcul de deux arbres de transmission de flux de données les plus disjoints possible selon un mode de réalisation de l'invention basé sur l'algorithme MIDCST. Ce procédé est appelé IS pour plus de lisibilité.
Pour chaque destination qui n'est pas encore jointe par les deux arbres, l'algorithme MIDCST est appliqué. Chacun des chemins appartenant à la paire ainsi calculée est alors affecté à l'un des deux arbres de sorte à respecter la plus grande indépendance possible et, en cas d'égalité, le plus grand partage de nœuds ou de liens déjà présents dans l'arbre.
Ce procédé tente de maximiser l'indépendance des arbres, tout en optimisant l'utilisation de nœuds ou liens communs au sein d'un arbre, le tout sous contrainte de délai.
La figure 5 représente schématiquement un procédé de calcul de deux arbres de transmission de flux de données les plus disjoints possible selon un mode de réalisation de l'invention basé sur l'algorithme LARAC. Ce procédé est appelé RTF (« Red Tree First ») pour plus de lisibilité.
Un premier arbre est calculé de la manière suivante. Pour chaque destination qui n'est pas encore jointe par l'arbre, l'algorithme LARAC est appliqué entre la source et la destination. Le chemin le plus léger parmi ceux obtenu est ajouté à l'arbre. La pondération du graphe est temporairement modifiée pour que les nœuds ou liens appartenant à l'arbre aient un poids nul. On itère cette opération jusqu'à ce que toutes les destinations soient jointes par l'arbre. Une fois l'arbre complet, la pondération du graphe est temporairement modifiée pour que les nœuds ou liens appartenant à l'arbre aient un poids maximal. Le second arbre est alors calculé dans ce contexte suivant le même procédé.
Ce procédé tente d'obtenir des arbres les plus léger possible, en priorisant la création du premier arbre, et maximise l'indépendance des arbres, le tout sous contrainte de délai.
La figure 6 représente schématiquement le procédé général de fonctionnement d'un algorithme génétique : à partir d'une population de solutions existante, une nouvelle population est générée grâce à des opérateurs de croisement et de mutation afin de converger vers un individu optimal, ou quasi-optimal suivant des contraintes de calcul données.
La figure 7 représente schématiquement le procédé de calcul de deux arbres de transmission de flux de données les plus disjoints possible selon un mode de réalisation de l'invention basé sur un algorithme génétique et les deux procédés IS et RTF.
Deux paires d'arbres sont d'abord calculées à l'aide des procédés IS et RTF présentés précédemment. Des tables des routes sont ensuite remplies à l'aide d'un procédé décrit en figure 8. Une population aléatoire de paires d'arbres est alors générée, incluant les paires calculées précédemment. Des opérateurs de croisement et mutation définis suivant un mode de réalisation de l'invention sont ensuite appliqués afin de générer une nouvelle population, et ce de manière itérative jusqu'à atteinte d'un objectif qui peut être défini par un temps de calcul, un nombre d'itérations ou encore un seuil de qualité.
Comme précédemment, cet algorithme peut rechercher une indépendance de liens ou de nœuds, suivant la valeur choisie pour Y avant le calcul de valeur d'adaptation. Dans la figure 7, c'est le nombre de liens communs qui est pris en compte.
Les deux arbres obtenus sont les arbres de transmission de flux de données les plus disjoints possible.
Le procédé de configuration peut donc réaliser l'étape de configuration de l'architecture réseau par un contrôleur de réseau en fournissant au serveur source et aux machines nœuds une configuration de routage représentative des deux arbres de transmission de flux de données.
La figure 8 représente schématiquement le procédé de calcul de toutes les routes possibles entre un nœud source et un nœud destinations afin de remplir une table des routes simples contraintes en délai exhaustive. On appelle route simple toute route qui ne contienne pas de cycles.
Une exploration du graphe à partir du nœud source à l'aide d'une pile contenant les chemins vers différents nœuds permet de trouver toutes les routes simples possibles. Une telle route est alors ajoutée à la table des routes si elle satisfait la contrainte en délai.
La figure 9 représente schématiquement des exemples d'encodage d'un arbre de diffusion sous forme d'une chaîne de caractères appelée chromosome comme proposé dans (Λ/. Shimamoto, A. Hiramatsu, and K. Yamasaki, « A dynamic routing control based on a genetic algorithm, » San Francisco, CA, USA, pp. 1123-1128, IEEE, 1993). Un tel encodage est appelé « Path-oriented » dans la littérature.
Un arbre est constitué d'un ensemble de routes vers les différentes destinations qu'il joint. Ces routes correspondent à un nombre entier dans la table des routes possibles vers un nœud donné. Chaque caractère du chromosome correspond à une destination de l'arbre, sa valeur correspondant à l'identifiant de route dans la table de cette destination. En haut à gauche par exemple, l'arbre représenté en pointillés est encodé dans le chromosome (1,1,2). Cela signifie que cet arbre est une combinaison du chemin 1 de la table dl, du chemin 1 de la table d2 et du chemin 2 de la table d3. Chacun des liens de l'arbre représenté appartient à l'un de ces chemins.
La figure 10 représente schématiquement des exemples d'encodage d'une paire d'arbres de diffusion sous forme de chromosome exploitable par l'algorithme génétique présenté en figure 7.
Il s'agit d'accoler l'encodage « Path-oriented » décrit en figure 9 de deux arbres de diffusion. A gauche par exemple, la paire d'arbre représentée est encodé dans le chromosome (1,4,3,2,1,1). Cela signifie que cette paire contient l'arbre A (en pointillés) qui est une combinaison du chemin 1 de la table dl, du chemin 4 de la table d2 et du chemin 3 de la table d3 ; et l'arbre B (en points-tirets) qui est une combinaison du chemin 2 de la table dl, du chemin 1 de la table d2 et du chemin 1 de la table d3. Chacun des liens de l'arbre représenté appartient à l'un de ces chemins.
La figure 11 représente schématiquement un exemple d'application de l'opérateur de mutation aléatoire utilisé dans l'algorithme génétique présenté en figure
7.
Une position aléatoire du chromosome est sélectionnée, et prend une nouvelle valeur aléatoire. Dans l'exemple, c'est le gène en position 2 qui passe de la valeur 4 à une nouvelle valeur aléatoire 2. L'arbre en pointillés est alors modifié en conséquence.
La figure 12 représente schématiquement un exemple d'application de l'opérateur de mutation appelé « Swap » selon un mode de réalisation de l'invention, utilisé dans l'algorithme génétique présenté en figure 7.
Deux valeurs du même chromosome sont échangées. Ces deux valeurs correspondent à des routes vers une même destination, c'est-à-dire que les positions de ces valeurs sont distantes d'exactement le nombre de destinations totales. L'opérateur de mutation dépend de la longueur du chromosome. Dans l'exemple, les gènes en position 1 et 4 sont échangés, car ils correspondent au premier gène de chaque arbre. Les chemins vers dl des arbres en pointillés et en points-tirets sont échangés.
La figure 13 représente schématiquement un exemple d'application de l'opérateur de croisement utilisé dans l'algorithme génétique présenté en figure 7, sur deux paires d'arbres sous la forme de chromosomes.
Deux paires de valeurs sont échangées entre les deux chromosomes parents. Ces valeurs se trouvent aux mêmes positions dans les deux chromosomes, et sont respectivement distantes d'exactement le nombre de destinations totales. Cette opération correspond à l'échange d'une paire de chemins pour une même destination entre deux paires d'arbres de diffusion. Dans l'exemple, les paires de gènes en position 3 et 6 sont échangés, car ils correspondent au troisième gène de chaque arbre. La paire (3,1) est échangée avec la paire (1,2). Les arbres associés aux chromosomes sont alors modifiés en conséquence.
La figure 14 représente schématiquement une étape de calcul d'une forêt d'arbres de transmissions de flux de données d'un procédé de configuration selon un mode de réalisation de l'invention.
Les tables des routes nécessaires au fonctionnement de l'algorithme génétique présenté en figure 7 sont établies de manière similaire au procédé présenté en figure 8 pour chacune des sources. A chaque chromosome est affecté un second chromosome de même longueur, indiquant le numéro de la table dans laquelle la valeur doit être lue. Ce chromosome associé subit les mêmes transformations que le chromosome représentant les arbres. Lors du fonctionnement de l'algorithme génétique, l'opérateur de mutation aléatoire présenté en figure 11 doit être modifié. Les valeurs aléatoires sont prises dans une table différente de la table utilisée pour le gène associé dans le second arbre. L'opérateur « Swap » et l'opérateur de croisement, présentés respectivement en figure 12 et 13, ne sont pas modifiés.
L'algorithme génétique présenté en figure 7 est alors appliqué sans l'intégration des résultats des heuristiques IS et RTF, respectivement présentés en figure 4 et 5, incompatibles avec la présence de plusieurs sources.
On obtient alors de multiples arbres - autrement appelé une « forêt » - chacun ayant pour racine l'un des nœuds source initialement souhaités.
En résumé, un procédé de configuration selon l'invention comprend l'utilisation d'un algorithme LARAC pour calculer un chemin qui soit le plus léger possible et contraint en délai. Cet algorithme LARAC est exploité par l'algorithme MIDCST pour en déduire deux chemins vers une destination, ces deux chemins étant les plus légers possible, les plus indépendants possible et contraints en délai. L'algorithme MIDCST est lui-même exploité par les procédés IS et RTF, chacun de ces procédés étant exploité par 5 l'algorithme génétique, comme précédemment décrit. L'algorithme génétique permet alors de calculer deux arbres les plus légers possible, les plus indépendants possible et contraints en délai.
L'invention proposée ne se limite pas au calcul d'arbres dans un graphe, mais 10 comprend aussi la détermination d'arbres de transmission de données entre en un serveur source vers des machines clients de façon à configurer une architecture de réseau. Les résultats des calculs sont transmis aux composants de l'architecture réseau, par exemple aux routeurs et aux commutateurs du réseau, pour implémenter le ou les arbres de transmission, et ainsi permettre la transmission de flux de données en 15 multidiffusion à partir des sources vers les destinations désirées.

Claims (5)

  1. REVENDICATIONS
    1. Procédé de configuration d'une architecture réseau comprenant un serveur source, une pluralité de machines clientes et une pluralité de machines nœuds, pour une transmission de type multidiffusion par le serveur source d'un flux de données vers les machines clientes via deux arbres de transmission de flux de données disjoints dans lesquels le serveur source forme une racine des arbres, les machines clients forment des feuilles des arbres et les machines nœuds forment des nœuds des arbres, le procédé comprenant les étapes suivantes :
    a) une étape de construction d'un graphe initial à partir de l'architecture réseau, chaque serveur source, machine cliente et machine nœud formant un point du graphe, lesdits points étant reliés par des liens bidirectionnels et pondérés en fonction de la bande passante et du délai de transmission de données entre les points,
    b) une étape de calcul de deux arbres de transmission de flux de données les plus disjoints possible entre le point formé par le serveur source vers tous les points formés par les machines clientes,
    c) une étape de configuration de l'architecture réseau par un contrôleur de réseau en fournissant au serveur source et aux machines nœuds une configuration de routage représentative des deux arbres de transmission de flux de données, caractérisé en ce que l'étape de calcul des deux arbres de transmission de flux de données les plus disjoints possible comprend les sous-étapes suivantes :
    Calcul d'une première solution par application itérative d'un algorithme MIDCST;
    Calcul d'une seconde solution par application itérative d'un routage contraint en délai consécutivement pour chacun des arbres ;
    Création de tables des routes exhaustives ;
    Application d'un algorithme génétique basé sur les tables des routes et les deux solutions précédemment calculées.
  2. 2. Procédé de configuration selon la revendication 1, caractérisé en ce que la sousétape de calcul d'une première solution à partir du graphe initial comprend :
    a) la création d'une liste des machines clientes dites non traitées,
    b) pour chaque machine cliente non traitée, le calcul d'une paire de chemins à partir du serveur source via un algorithme MIDCST, les chemins de la paire étant les plus indépendants possible, les moins coûteux en bande passante et contraints en délai,
    c) l'attribution de chaque chemin de la paire à un arbre, suivant la plus grande indépendance des deux arbres ou, en cas d'égalité, le plus grand nombre de liens réutilisés. En cas d'égalité, la machine cliente sera à traiter lors de l'itération suivante. Sinon, la machine clientes est supprimée de la liste des machines clientes non traitées
    d) la répétition des étapes b) et c) jusqu'à ce que la liste des machines clientes non traitées soit vide
  3. 3. Procédé de configuration selon la revendication 1, caractérisé en ce que la sousétape de calcul d'une seconde solution à partir du graphe initial comprend :
    a) la création d'une liste des machines clientes dites non traitées,
    b) pour chaque machine cliente non traitées, le calcul d'un chemin à partir du serveur source via un algorithme contraint en délai, le chemin le moins coûteux en bande passante sous contrainte de délai,
    c) la sélection du chemin le moins coûteux, la modification de la pondération à zéro des liens de ce chemin, et la suppression de la machine cliente de la liste des machines clientes non traitées,
    d) la répétition des étapes b) et c) jusqu'à ce que la liste des machines clientes non traitées soit vide,
    e) la modification de la pondération au poids total du graphe de tous les liens appartenant à des chemins sélectionnés lors de l'étape c),
    f) la répétition des étapes a) à d) pour la création d'un second arbre.
  4. 4. Procédé de configuration d'une architecture réseau comprenant une pluralité de serveurs sources, une pluralité de machines clientes et une pluralité de machines nœuds, pour une transmission de type multidiffusion par chaque serveur source d'un flux de données vers les machines clientes via deux arbres de transmission de flux de données disjoints dans lesquels le serveur source forme une racine des arbres, les machines clients forment des feuilles des arbres et les machines nœuds forment des nœuds des arbres, le procédé comprenant les étapes suivantes :
    g) une étape de construction d'un graphe initial à partir de l'architecture réseau, chaque serveur source, machine cliente et machine nœud formant un point du graphe, lesdits points étant reliés par des liens bidirectionnels et pondérés en fonction de la bande passante et du délai de transmission de données entre les points,
    h) une étape de calcul d'une forêt d'arbre de transmission, ladite forêt comprenant, pour chaque serveur source, deux arbres de transmission de flux de données les plus disjoints possible entre le point formé par le serveur source vers tous les points formés par les machines clientes,
    i) une étape de configuration de l'architecture réseau par un contrôleur de réseau en fournissant au serveur source et aux machines nœuds une configuration de routage représentative des deux arbres de transmission de flux de données, caractérisé en ce que l'étape de calcul de la forêt d'arbre de transmission comprend, pour chaque serveur source, une étape de calcul des deux arbres de transmission de flux de données les plus disjoints possible d'un procédé de configuration selon la revendication 1.
  5. 5. Architecture réseau, comprenant un contrôleur de réseau, au moins un serveur source, une pluralité de machines clientes et une pluralité de machines nœuds, pour une transmission de type multidiffusion par le serveur source d'un flux de données vers les machines clientes via deux arbres de transmission de flux de données disjoints dans lesquels le serveur source forme une racine des arbres, les machines clients forment des feuilles des arbres et les machines nœuds forment des nœuds des arbres, caractérisé en ce que le serveur source, la pluralité de machines clientes et la pluralité de machines nœuds sont configurés par le contrôleur de réseau pour 5 réaliser ladite transmission d'un flux de données selon deux arbres calculés selon un procédé selon l'une des revendications 1 à 3, ou selon une forêt calculée selon un procédé selon la revendication 4.
FR1855411A 2018-02-28 2018-06-19 Procede de configuration d'une architecture reseau et architecture reseau associee Active FR3078417B1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1851767 2018-02-28
FR1851767A FR3078466A1 (fr) 2018-02-28 2018-02-28 Procede de configuration d’une architecture reseau et architecture reseau associee
FR1852833A FR3078467A1 (fr) 2018-02-28 2018-03-30 Procede de configuration d'une architecture reseau et architecture reseau associee

Publications (2)

Publication Number Publication Date
FR3078417A1 true FR3078417A1 (fr) 2019-08-30
FR3078417B1 FR3078417B1 (fr) 2021-04-09

Family

ID=61873618

Family Applications (3)

Application Number Title Priority Date Filing Date
FR1851767A Pending FR3078466A1 (fr) 2018-02-28 2018-02-28 Procede de configuration d’une architecture reseau et architecture reseau associee
FR1852833A Pending FR3078467A1 (fr) 2018-02-28 2018-03-30 Procede de configuration d'une architecture reseau et architecture reseau associee
FR1855411A Active FR3078417B1 (fr) 2018-02-28 2018-06-19 Procede de configuration d'une architecture reseau et architecture reseau associee

Family Applications Before (2)

Application Number Title Priority Date Filing Date
FR1851767A Pending FR3078466A1 (fr) 2018-02-28 2018-02-28 Procede de configuration d’une architecture reseau et architecture reseau associee
FR1852833A Pending FR3078467A1 (fr) 2018-02-28 2018-03-30 Procede de configuration d'une architecture reseau et architecture reseau associee

Country Status (1)

Country Link
FR (3) FR3078466A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160254984A1 (en) * 2015-02-27 2016-09-01 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Method and system for delivering service-enabled flow paths across multiple domains in sdn networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160254984A1 (en) * 2015-02-27 2016-09-01 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Method and system for delivering service-enabled flow paths across multiple domains in sdn networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JUTTNER A ET AL: "Lagrange relaxation based method for the QoS routing problem", PROCEEDINGS IEEE INFOCOM 2001. CONFERENCE ON COMPUTER COMMUNICATIONS. TWENTIETH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETY (CAT. NO.01CH37213); [PROCEEDINGS IEEE INFOCOM. THE CONFERENCE ON COMPUTER COMMUNICATIONS], PISCAT, vol. 2, 22 April 2001 (2001-04-22), pages 859 - 868, XP010538772, ISBN: 978-0-7803-7016-6, DOI: 10.1109/INFCOM.2001.916277 *
SUURBALLE J W ET AL: "A QUICK METHOD FOR FINDING SHORTEST PAIRS OF DISJOINT PATHS", NETW, NEW YORK, NY, US, vol. 14, no. 2, 1 January 1984 (1984-01-01), pages 325 - 336, XP009052907, ISSN: 0028-3045 *

Also Published As

Publication number Publication date
FR3078467A1 (fr) 2019-08-30
FR3078466A1 (fr) 2019-08-30
FR3078417B1 (fr) 2021-04-09

Similar Documents

Publication Publication Date Title
EP2263353B1 (fr) Technique pour déterminer un arbre point à multipoint reliant un noeud racine à une pluralité de noeuds feuilles
EP1803258B8 (fr) Procede et dispositif de creation d'un tunnel dans un reseau de telecommunication a permutation d etiquettes
Walkowiak Modeling and optimization of cloud-ready and content-oriented networks
TWI521924B (zh) 藉由鏈路利用作為回饋至平局決勝機制的多協定標籤交換〈mpls〉技術之自動化的訊務工程
EP1476990A1 (fr) Methode dynamique et distribuee de protection locale d'un chemin a commutation d'etiquettes
US9049145B2 (en) Method and apparatus for calculating MPLS traffic engineering paths
EP2436155B1 (fr) Procédé de gestion de chemins entre un noeud source et un noeud destinataire au niveau de la couche de liaison, noeud source et table correspondants
WO2014155040A1 (fr) Système et procédé de routage de multidiffusion
CN116527565A (zh) 基于图卷积神经网络的互联网路由优化方法及装置
EP2226970A1 (fr) Procédé dans un environnement de réseaux interconnectés de communication, de sélection d'une chaîne de contrats de service
EP3900281B1 (fr) Équipement réseau avec fonction de routage basé sur une politique inter-réseau
EP2572479A1 (fr) Procede de routage a etats de liens pour router des flux de donnees dans un reseau maille comprenant des n uds relies par des liens a trois etats
FR3078417A1 (fr) Procede de configuration d'une architecture reseau et architecture reseau associee
FR3097392A1 (fr) Procédé de configuration d’une architecture réseau et architecture réseau associée
Mohammadi et al. An intelligent multicast traffic engineering method over software defined networks
EP3231137B1 (fr) Réseau superposé pour reseau de communication connectant des centres de données d'un fournisseur de services en nuage
Lenis et al. Designing connection oriented networks for multi-domain path resilience
Guedrez Enabling traffic engineering over segment routing
Vijayalakshmi et al. A novel hybrid immune-based GA for dynamic routing to multiple destinations for overlay networks
Wang On the use of network coding and multicast for enhancing performance in wired networks
WO2023031288A1 (fr) Procédé de détermination d'une topologie d'interconnexion entre commutateurs d'un réseau de communication, produit programme d'ordinateur et dispositif correspondants
EP2254288B1 (fr) Procédé de prévention et d'évitement de boucles en inter-domaine
Rossini Design and analysis of forwarding strategies for host and content centric networking
EP3783501A1 (fr) Procédé rapide d établissement de routes de communication entre ordinateurs d'un superordinateur
Alouf Parameter estimation and performance analysis of several network applications

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20190830

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7