Note: Descriptions are shown in the official language in which they were submitted.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
1
Procédé et système pour la gestion performante et automatisée
de réseaux virtuels
La présente invention concerne un procédé de gestion performante et
automatisée d'au moins un réseau virtuel. Elle concerne également un
système mettant en oeuvre un tel procédé.
Un réseau physique est un réseau composé de plusieurs équipements
de réseau physiques appelés aussi noeuds physiques du réseau. Un
équipement de réseau physique peut être un routeur, un commutateur, un
point d'accès, une middlebox , un home gateway , un terminal IP, etc.
De plus en plus, chacun des noeuds physiques d'un réseau physique
comprend l'équivalent d'un ordinateur embarqué plus ou moins spécialisé et
possédant un système d'exploitation réseau (NOS pour Network Operating
System). Par ailleurs, les équipements de réseau physique peuvent, de plus
en plus, recevoir plusieurs systèmes d'exploitation réseau par le biais de la
virtualisation. La virtualisation permet à chaque système d'exploitation
réseau exécuté sur un équipement réseau physique de représenter une
instance d'un équipement de réseau virtuel.
On assiste donc à l'apparition de réseaux virtuels par mise en réseau
de plusieurs instances d'équipements virtuels de réseau, chacune étant
implantée sur un équipement d'un réseau d'équipements physiques parmi
une pluralité d'équipements physiques de réseau constituant un domaine.
Ainsi, il est possible de nos jours d'implanter plusieurs équipements
virtuels sur un unique équipement physique de réseau, chacun de ces
équipements virtuels constituant un noeud virtuel d'un ou plusieurs réseaux
virtuels.
Les inventeurs de la présente invention ont découvert qu'une telle
possibilité d'implantation de plusieurs équipements virtuels sur un unique
équipement de réseau physique s'accompagne d'un besoin d'une gestion
performante et automatisée de chacun des réseaux virtuels.
Or actuellement, il n'existe aucun procédé ou système de gestion
performante et automatisé d'un ou plusieurs réseaux virtuels.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
2
Un but de la présente invention est de remédier aux inconvénients
précités.
Un autre but de la présente invention est de proposer un procédé et
un système pour la gestion performante et automatisée d'un ou plusieurs
réseaux virtuels permettant de surveiller et d'améliorer le fonctionnement
des réseaux virtuels.
Il est aussi un but de la présente invention de proposer un procédé et
un système pour la gestion performante et automatisé d'un ou plusieurs
réseaux virtuels, facile à mettre en oeuvre.
Enfin, un but de la présente invention est de proposer un procédé et
un système pour la gestion performante et automatisée d'un ou plusieurs
réseaux virtuels plus souples.
L'invention propose d'atteindre les buts précités par un procédé pour
la gestion performante et automatisée d'au moins un réseau virtuel composé
de plusieurs noeuds virtuels implantés sur des noeuds physiques choisis
parmi un ensemble de noeuds physiques composant un réseau
d'infrastructure, ledit procédé comprenant les étapes suivantes pour chaque
réseau virtuel :
- détermination de données, dites de charge, relatives à un état de
charge d'au moins un noeud virtuel dudit réseau virtuel,
- détermination d'au moins un noeud virtuel surchargé dudit réseau
virtuel en fonction desdites données, et d'au moins un critère
prédéfini, et
- redéfinition dudit noeud virtuel surchargé, ledit noeud surchargé
bénéficiant de ressources supplémentaires après ladite
redéfinition.
Le procédé selon l'invention permet de surveiller chaque noeud virtuel
d'un réseau virtuel en déterminant des données relatives à l'état de charge
de chaque noeud virtuel.
A partir d'un ou plusieurs critères prédéfinis, un ou plusieurs noeuds
virtuels surchargés sont identifiés et redéfini de sorte que ces noeuds
surchargés bénéficient de plus de ressources. Ainsi, les noeuds virtuels
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
3
identifiés comme étant surchargées ne sont plus surchargés et le réseau
virtuel présente des performances améliorées.
L'identification d'un état de surcharge d'un noeud virtuel est réalisée
selon un ou plusieurs critères prédéfinis. Ce ou ces critères peuvent être
soit
communs à un ou plusieurs noeuds virtuels du réseau virtuel soit
individualisé pour chaque noeud virtuel du réseau virtuel, en fonction par
exemple de la fonction du noeud virtuel, du type de noeud etc.
Le procédé selon l'invention permet de réaliser la gestion des
performances des réseaux virtuels et d'améliorer les performances des
réseaux virtuels de manière totalement automatisée, simple et facile à
mettre en oeuvre. De plus, le procédé selon l'invention permet de réaliser
cette gestion de manière souple et sans perte de données.
Le procédé selon l'invention permet d'identifier les meilleurs
emplacements possibles des équipements virtuels d'un réseau virtuel pour
que les performances et l'utilisation des ressources du réseau physique
soient optimisées et de déplacer les équipements virtuels lorsqu'une
nouvelle configuration plus optimale est déterminée. Avantageusement, le
déplacement des équipements virtuels s'effectue sans aucune interruption
du trafic et sans perte de paquets.
Le procédé selon l'invention permet une redondance forte lors d'un
disfonctionnement et d'obtenir un réseau virtuel peu perturbé lors du
dysfonctionnement d'un ou plusieurs noeuds.
Avantageusement, l'étape de redéfinition du noeud virtuel surchargé
peut comprendre une allocation de ressources supplémentaires au niveau du
noeud physique sur lequel est implanté ledit noeud virtuel surchargé, lorsque
lesdites ressources sont disponibles au niveau du noeud physique.
Dans ce cas, le procédé selon l'invention peut comprendre avant
l'étape de redéfinition, une étape de détermination de ressources disponibles
sur le noeud physique sur lequel est implanté le noeud virtuel surchargé.
L'étape de redéfinition du noeud virtuel surchargé peut
avantageusement comprendre un transfert du noeud virtuel surchargé vers
un autre noeud physique faisant partie dudit réseau d'infrastructure de
noeuds physiques et présentant des ressources supplémentaires disponibles.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
4
En effet, lorsque le noeud physique sur lequel est implanté le noeud virtuel
surchargé ne possède pas de ressources supplémentaires disponibles, alors
la redéfinition du noeud surchargé peut comprendre une implantation du
noeud surchargé sur un autre noeud physique. Cet autre noeud physique est
avantageusement, un noeud physique se trouvant dans le voisinage du
noeud physique sur lequel est installé le noeud virtuel surchargé.
Dans ce cas, et préalablement à l'étape de redéfinition du noeud
virtuel surchargé, le procédé selon l'invention peut comprendre une étape
d'identification d'au moins un noeud physique présentant des ressources
supplémentaires disponibles.
Selon une première version du procédé selon l'invention, le transfert
du noeud surchargé vers un autre noeud peut comprendre un transfert de
l'équipement virtuel constituant ledit noeud surchargé. Dans ce cas
l'équipement virtuel agissant en tant que noeud virtuel est transporté
entièrement sur un autre noeud physique.
Selon une version préférée du procédé selon l'invention, le transfert
du noeud surchargé vers un autre noeud peut comprendre un clonage dudit
noeud surchargé sur ledit autre noeud physique, ledit clonage comprenant les
étapes suivantes :
= transmission, audit autre noeud, de données relatives à la
configuration dudit noeud surchargé selon un protocole de
configuration,
= configuration au niveau dudit autre noeud d'un nouveau noeud virtuel
avec lesdites données relatives à la configuration dudit noeud
surchargé, et
= suppression du noeud surchargé sur le noeud physique sur lequel il
était préalablement implanté.
Dans cette version préférée, l'équipement virtuel n'est pas transporté
d'un noeud physique à un autre noeud physique, seules les données de
configuration du noeud virtuel sont transmises du noeud physique sur lequel
était installé le noeud virtuel surchargé vers un autre noeud physique. Ces
données de configuration sont utilisées au niveau du nouveau noeud
physique pour configurer une instance vierge de l'équipement virtuel
agissant en tant que noeud virtuel pour le noeud surchargé.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
Ainsi, les données de configuration ayant une taille très faible, le
transfert d'un noeud virtuel depuis un noeud physique vers un autre noeud
physique est réalisé de manière simple, souple et rapide. Le transfert de
données de configuration d'un noeud physique à un autre peut être réalisé,
5 par exemple, en utilisant un réseau de signalisation reliant les noeuds
physiques du réseau d'infrastructure.
Les données de charges relatives à un état d'un noeud virtuel peuvent
comprendre des données relatives à des ressources allouées audit noeud
virtuel et/ou à l'activité dudit noeud virtuel. Ainsi, en surveillant les
ressources allouées à un noeud virtuel en fonction de son activité on peut
déterminer si le noeud virtuel en question est en état de surcharge ou non.
Selon un exemple de réalisation particulier, on peut surveiller le temps
d'attente d'un noeud virtuel sur un noeud physique pour déterminer si le
noeud virtuel en question est en surcharge ou non.
Selon un exemple de réalisation particulier, dans le cadre d'un
système d'exploitation de réseau (NOS), il est important de calculer le
temps pendant lequel des routeurs virtuels passent en mode latent.
Lorsqu'un routeur virtuel est dans la file d'attente, les paquets qui lui sont
destinés ne sont pas traités et seront fort probablement perdus. Dans le
cadre d'une communication UDP, c'est une contrainte beaucoup plus
importante que dans le cadre d'une communication TCP. Lors d'une
communication TCP, les pilotes des routeurs impliqués dans le transfert de
données s'adaptent et retransmettent les paquets manquants. En revanche,
dans une communication UDP ce mécanisme est inexistant et les paquets
sont simplement ignorés.
Par exemple, si l'on traite 25 000 paquets par seconde (25 paquets
chaque millième de secondes) et que le routeur virtuel est en attente
pendant 60 millièmes de seconde on perd 1500 paquets (25 x 60) chaque
seconde. Cette perte doit à tout prix rester sous le contrôle du réseau et
doit
pouvoir être assumé par le réseau. Pour contrôler la période de temps
pendant laquelle chaque routeur virtuel reste dans la file d'attente, il faut
utiliser un ordonnanceur. Cet ordonnanceur doit fonctionner par tranche de
temps et non par pourcentage d'utilisation. Il est possible de définir une
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
6
période pendant laquelle chacun des routeurs virtuels a accès aux
ressources du routeur. De cette façon, il est possible de contrôler la période
de temps pendant laquelle chacun des routeurs virtuels attend avant de
recevoir sa tranche de temps.
Par exemple, si on a trois routeurs virtuels installé sur un noeud
physique et que l'on établit que le temps d'attente de 60 millièmes de
seconde est acceptable, alors pour chaque cycle (période) de 90 millièmes
de seconde, chaque routeur virtuel doit avoir une tranche de temps
disponible de 30 millièmes de seconde. On comprend ici que 3 routeurs
virtuels x 30 millième de seconde = 90 millièmes de seconde. Quand un
routeur virtuel est en attente il attend que les deux autres routeurs virtuels
consomment leur tranche de temps de 30 millièmes de seconde; 2 x 30
millièmes de seconde = 60 millième de seconde avant de récupérer sa
propre tranche de temps. On respecte alors notre règle d'attente de 60 ms.
Or, si un ou plusieurs routeurs attendent plus de 60 millième de secondes,
cela veut dire qu'au moins un de ces routeurs virtuels est en état de
surcharge car le temps d'attente est trop long par rapport aux opérations
qu'il doit réaliser.
Avantageusement, le procédé selon l'invention peut comprendre une
mémorisation dans au moins un fichier par routeur physique, dit de
disponibilité, d'au moins une partie des données de charge relatives à l'état
de charge de chacun des noeuds virtuels implantés sur un noeud physique.
Un tel fichier de disponibilité peut être un fichier XML contenant les données
de charge.
Ainsi, l'identification d'au moins un noeud physique présentant des
ressources supplémentaires disponibles peut comprendre un partage entre
au moins une partie des noeuds physiques du réseau d'infrastructure, du
fichier de disponibilité associé à chacun desdits noeuds physiques.
Le partage des fichiers peut être réalisé sous toutes les formes
connues : transmission du fichier à chacun des noeuds physiques, mise en
partage du fichier sur chaque noeud physique de sorte que tous les noeuds
physiques peuvent y accéder, transmission des fichiers vers un ou plusieurs
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
7
serveurs accessibles par les noeuds physiques et mise en partage des
fichiers au niveau de ces serveurs.
Avantageusement, la détermination des données de charges relatives
à un état de charge d'un noeud virtuel peut comprendre, pour chaque noeud
physique :
- une détermination, d'au moins un paramètre, relative à une
utilisation des périphériques physiques dudit noeud physique par
chacun des noeuds virtuels implantés sur ledit noeud physique,
et/ou
- une détermination, d'au moins un paramètre, relative à l'état de
chacun des noeuds virtuels implantés sur ledit noeud physique par
exemple l'utilisation de l'unité centrale ou de la mémoire par
chacun des noeuds virtuels implantés sur ce noeud physique.
Selon un autre aspect de l'invention, il est proposé un programme
informatique comprenant des instructions exécutées sur un ou plusieurs
appareils informatiques pour réaliser les étapes du procédé selon l'invention.
Le programme informatique peut comprendre plusieurs modules
informatiques, identique ou non, et exécutés sur chacun des noeuds
physique. Le programme informatique peut en outre comprendre un module
central exécuté sur un serveur et permettant de générer l'ensemble des
modules installés sur les noeuds physiques.
Selon encore un aspect de l'invention, il est proposé un réseau virtuel
dont les performances sont gérées par le procédé selon l'invention.
Selon encore un autre aspect de l'invention il est proposé un système
de gestion automatisée des performances d'au moins un réseau virtuel
composé de plusieurs noeuds virtuels implantés sur des noeuds physiques
choisis parmi un ensemble de noeuds physiques composant un réseau
d'infrastructure, ledit système comprenant :
- des moyens pour déterminer des données, dites de charge,
relatives à un état de charge d'au moins un noeud virtuel,
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
8
- des moyens pour identifier au moins un noeud virtuel surchargé
dudit réseau virtuel en fonction desdites données, et d'au moins un
critère prédéfini,
- des moyens pour redéfinir ledit noeud virtuel surchargé de sorte
que ledit noeud surchargé bénéficie de ressources supplémentaires.
Avantageusement, les moyens pour déterminer des données relatives
à un état de charge d'au moins un noeud virtuel peuvent comprendre un
programme informatique, exécuté sur chaque noeud physique et qui observe
l'activité de chaque noeud virtuel implanté sur ledit noeud physique.
En outre, les moyens pour redéfinir un noeud virtuel surchargé
peuvent comprendre :
- un programme informatique pour allouer de nouvelles ressources
audit noeud virtuel sur le noeud physique lorsque ledit noeud
physique présente des ressources supplémentaires disponibles, et
- des moyens pour transférer ledit noeud virtuel surchargé sur un
autre noeud physique présentant des ressources supplémentaires
disponibles.
Le système selon l'invention peut en outre comprendre des moyens
d'identification d'au moins un noeud physique présentant des ressources
supplémentaires disponibles, lesdits moyens comprenant au moins un
fichier, dit de disponibilité, comprenant pour chaque noeud physique, au
moins une partie des données de charges relatives à chaque noeud virtuel
implanté sur ledit noeud physique. Les moyens d'identification peuvent en
outre comprendre des moyens de partage de ce fichier avec tous les noeuds
physiques du réseau d'infrastructure.
Ainsi, l'état de chaque noeud physique est connu des autres noeuds
physiques, ce qui permet d'identifier un noeud physique sur lequel des
ressources supplémentaires sont disponibles
Selon un exemple d'application non limitatif, un noeud physique peut
être un routeur physique.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
9
Toujours selon un exemple d'application non limitatif, un noeud virtuel
peut être un équipement informatique agissant en tant que routeur virtuel
implanté sur un noeud physique.
D'autres avantages et caractéristiques apparaîtront à l'examen de la
description détaillée d'un mode de réalisation nullement limitatif, et des
dessins annexés sur lesquels :
- la figure 1 est une représentation schématique d'une architecture
d'un noeud physique sur lequel sont implantés plusieurs noeuds
virtuels ; et
- la figure 2 est une représentation schématique d'un réseau
d'infrastructure comprenant cinq noeuds physiques présentant
plusieurs noeuds virtuels.
Sur les figures, les éléments communs à plusieurs figures conservent
la même référence.
La figure 1 est une représentation schématique de l'architecture de la
virtualisation sur un noeud physique d'un réseau physique permettant
d'implanter plusieurs noeuds virtuels sur un noeud physique.
Le noeud physique 100 représenté sur la figure 1 comporte un logiciel
et/ou matériel de virtualisation 102, appelé hyperviseur, qui a comme rôle
de partager les ressources physiques entre les instances virtuelles. Un
exemple est donné par le logiciel XEN. Cet hyperviseur permet de faire
fonctionner plusieurs systèmes d'exploitation réseau (NOS) sur le noeud
physique 100, chacun de ces systèmes d'exploitation constituant un noeud
virtuel.
Dans l'exemple représenté sur la figure 1, trois noeuds virtuels 104,
106, 108 sont implantés sur le noeud physique 100. Chaque système
d'exploitation comprend des pilotes XEN permettant l'interfaçage avec le
logiciel hyperviseur XEN 102.
Les systèmes d'exploitation constituant les noeuds virtuels 104-108
peuvent être identiques ou différents par exemple, des systèmes
d'exploitation Windows, Linux, NetBSD, FreeBSD ou autre.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
Dans l'exemple présent, les routeurs virtuels 104-108 sont des
instances d'équipement de réseau logiciel et/ou matériel, comme le routeur
logiciel XORP pour Extensible Open Router Platform.
Le noeud physique comprend en outre des périphériques physiques
5 110 ainsi que des logiciels de contrôle et des pilotes 112.
La figure 2 est une représentation schématique d'un ensemble 200 de
noeuds physiques 202 à 210 reliés entre eux par un réseau de signalisation
212. L'ensemble 200 est appelé réseau d'infrastructure.
10 Dans l'exemple représenté, deux noeuds virtuels 2022 et 2024 sont
implantés dans le noeud physique 202, deux noeuds virtuels 2042 et 2044
sont implantés dans le noeud physique 204, trois noeuds virtuels 2062, 2064
et 2066 sont implantés dans le noeud physique 206 et trois noeuds virtuels
2082, 2084 et 2086 sont implantés dans le noeud physique 208. Aucun
noeud virtuel n'est installé sur le noeud physique 210.
Par le biais de la virtualisation, le réseau de noeuds physiques
composé des noeuds 202 à 210 permet la mise en place de trois réseaux
virtuels : 214, 216 et 218.
Chaque noeud physique 202 à 210 comporte un stock de noeuds
virtuels vierge non configuré, à savoir le stock 2020 pour le noeud 202,
le stock 2040 pour le noeud 204, le stock 2060 pour le noeud 206, le stock
2080 pour le noeud 208 et le stock 2100 pour le noeud 2010. Chacun des
noeuds virtuels au niveau de chacun des noeuds physiques est obtenu par
une configuration particulière d'un noeud virtuel vierge, choisi dans le stock
de noeud virtuel. La configuration du noeud virtuel est fonction des aux
services mis en place dans le réseau virtuel et adaptée à ces services, à
savoir par exemple, transaction bancaire, télécommunications, etc.
Nous allons maintenant décrire, la gestion des performances du
réseau virtuel 214 conformément à l'invention.
On considère que les noeuds physiques 202 à 210 sont des routeurs
physiques et les noeuds virtuels sont des routeurs virtuels.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
11
La première phase de gestion des performances selon l'invention
correspond à une connaissance interne à chaque routeur physique des
ressources dont il dispose et de leur utilisation.
En référence à la figure 3, un programme informatique 302 est
exécuté sur chaque noeud physique 300. Ce programme informatique 302
surveille l'activité de chacun des noeuds virtuels 304 à 306 implantés sur le
noeud physique 300. Les données relatives à l'état de charge de chacun des
noeuds virtuels 304 à 306 sont intégrées dans un fichier de données 310,
par exemple de format XML.
Le programme informatique 302, installé sur chaque routeur
physique, peut être intégré dans le logiciel hyperviseur 102 en référence à la
figure 1.
Nous allons maintenant décrire un exemple de détermination des
ressources internes. Dans le cadre d'un système d'exploitation de réseau
(NOS), il est important de calculer le temps pendant lequel les routeurs
virtuels passent en mode latent. Lorsqu'un routeur virtuel est dans la file
d'attente, les paquets qui lui sont destinés, s'ils ne sont pas traités
rapidement, risquent d'être perdus. Dans le cadre d'une communication
UDP, c'est une contrainte beaucoup plus importante que dans le cadre d'une
communication TCP. Lors d'une communication TCP, les pilotes des routeurs
impliqués dans le transfert de données s'adaptent et retransmettent les
paquets manquants. En revanche, dans une communication UDP, ce
mécanisme est inexistant et les paquets sont simplement ignorés. Par
exemple, si l'on traite 25 000 paquets par seconde (25 paquets chaque
millième de secondes) et que le routeur virtuel est en attente pendant 60
millièmes de seconde on perd 1500 paquets (25 x 60) chaque seconde.
Cette perte doit à tout prix rester sous le contrôle du réseau et doit pouvoir
être assumée par le réseau. Pour contrôler la période de temps pendant
laquelle chaque routeur virtuel reste dans la file d'attente, il faut utiliser
un
ordonnanceur. Cet ordonnanceur doit fonctionner par tranche de temps et
non par pourcentage d'utilisation. Il est possible de définir une période
pendant laquelle chacun des routeurs virtuels a accès aux ressources du
routeur.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
12
De cette façon, il est possible de contrôler la période de temps
pendant laquelle chacun des routeurs virtuels attend avant de recevoir sa
tranche de temps.
Par exemple, si on a trois routeurs virtuels, à savoir les routeurs
virtuels 2082, 2084 et 2086 sur le routeur physique 208 et représentés sur
la figure 2, et que l'on établit que le temps d'attente de 60 millièmes de
seconde est acceptable, alors pour chaque cycle (période) de 90 millièmes
de seconde, chaque routeur virtuel 2082, 2084 et 2086 doit avoir une
tranche de temps disponible de 30 millièmes de seconde. On comprend ici
que 3 routeurs virtuels x 30 millième de seconde = 90 millièmes de
seconde. Quand un routeur virtuel est en attente, par exemple le routeur
virtuel 2086, il attend que les deux autres routeurs virtuels, c'est-à-dire
les
routeurs 2082 et 2084, consomment leur tranche de temps de 30 millièmes
de seconde; 2 x 30 millièmes de seconde = 60 millième de seconde avant
de récupérer sa propre tranche de temps. On respecte alors notre règle
d'attente de 60 ms. Cependant, si le routeur 2086 subit un temps d'attente
supérieure à 60 ms, alors les performances du réseau virtuel 214 seront
affectées et le routeur 2086 surchargé.
Pour la gestion interne des ressources physiques, l'invention s'appuie,
selon un mode de réalisation particulier, sur différents compteurs
d'utilisation des routeurs virtuels. Les paramètres observés sont
l'utilisation
réelle des périphériques physiques du routeur virtuel, ainsi que l'état de
chacun des routeurs virtuels.
Une fois que les ressources internes de chaque routeur physique sont
connues ainsi que l'activité de chaque routeur virtuel implanté sur le routeur
physique en question, chaque routeur physique doit découvrir les
équipements physiques voisins, à savoir les routeurs voisins, puis partager
ses informations sur ses ressources avec les équipements voisins.
Les informations recueillies précédemment et intégrées dans un fichier
de données, par exemple XML, sont partagées avec les routeurs de ce
voisinage. Une possibilité parmi d'autres pour réaliser ce partage consiste à
utiliser un protocole P2P. Par exemple, il est possible de choisir une
implémentation minimale du protocole P2P, par exemple Gnutella, avec un
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
13
modèle d'information, par exemple au format XML. Cette solution offre une
grande flexibilité d'interface et une grande facilité pour éventuellement
étendre les fonctionnalités du procédé.
Comme le propose le modèle P2P, le réseau d'infrastructure 200 est
formé des routeurs physiques qui servent de peer . Parmi ces routeurs,
plusieurs routeurs physiques font office de routeurs physiques
ultrapeers . Le rôle de ceux-ci est de servir de point d'entrée sur le
réseau d'infrastructure 200. Chaque routeur peer gère un fichier de
topologie qui comporte l'ensemble des routeurs peer et leurs
interconnexions ainsi qu'un fichier de disponibilité indiquant la
disponibilité
des routeurs virtuels attachés aux différents peer . Ces fichiers de
données peuvent être de type XML.
Le concept utilisé est décrit en référence aux figures 4 à 6. Ce
concept, décrit indépendamment du réseau d'infrastructure 200 pour plus de
clarté, est mis en oeuvre dans le réseau d'infrastructure 200 pour permettre
le partage des fichiers de disponibilité, entre les différents routeurs
physiques dans le réseau d'infrastructure 200.
En référence à la figure 4, lorsqu'un nouveau routeur virtuel se
branche, il est inclus dans le fichier de topologie du routeur physique
peer 402 sur lequel il a été créé. Par le biais du réseau P2P 400, celui-ci
contacte un routeur ultrapeer 404.
En référence à la figure 5, le routeur peer 402 se connecte au
routeur ultrapeer 404, au travers du réseau P2P qui peut être vu comme
un réseau de signalisation. Le routeur ultrapeer 404 ajoute le routeur
virtuel qui est indiqué sur le fichier de topologie du peer 402 à son
propre fichier de topologie pour la mise en place ultérieure de nouveaux
réseaux virtuels. Ainsi la liste des routeurs virtuels connus se bâtit
automatiquement.
En référence à la figure 6, le routeur ultrapeer contacte alors
chacun des routeurs peer , à savoir les routeurs 404 et 406. Les routeurs
peer contactés ajoutent alors le nouveau routeur virtuel à leur propre
fichier de topologie. Cette liste permet une propagation rapide des
changements dans le réseau.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
14
Le routeur peer 402 télécharge alors le fichier de données de
disponibilité des ressource, par exemple un fichier XML de disponibilité, de
chacun des routeurs peer contactés 404-408 et bâtit sa propre
représentation des ressources disponibles.
Lors de la découverte d'un routeur virtuel surchargé, le procédé selon
l'invention peut comprendre une phase consistant à déterminer le meilleur
emplacement possible du ou des routeurs virtuels. Cette détermination est
réalisée selon un algorithme prédéterminé. Par exemple, le routeur physique
qui possède le routeur virtuel surchargé consulte son fichier de disponibilité
et détermine le routeur physique le moins chargé dans son environnement
qui peut être par exemple les routeurs physiques situés à un saut de lui-
même, indiqués par le fichier de topologie. S'il ne trouve pas à un saut, il
recherche à 2 sauts, etc., jusqu'à ce qu'il trouve un routeur physique
acceptable. Ensuite, il lance une mise à jour d'un algorithme de routage
tenant compte de l'état des liens (OSPF par exemple) sur le réseau
d'infrastructure, en ne tenant compte que des routeurs physiques sur
lesquels sont installés des routeurs virtuel du réseau virtuel en cours de
modification, en prenant soin d'enlever le routeur physique sur lequel va
disparaitre le routeur virtuel déplacé et en ajoutant le routeur physique sur
lequel va apparaitre le routeur virtuel déplacé. Les états de lien utilisés
dans
l'algorithme de routage sont ceux des liens physiques et non pas les états de
lien du réseau virtuel. Le résultat du routage n'est cependant appliqué
qu'aux tables de routage du réseau virtuel qui est en cours de modification.
Cet algorithme a pour objectif de déterminer quel est le routeur
physique cible pour recevoir le routeur virtuel surchargé sur lequel travaille
déjà un routeur virtuel inactif et les nouvelles tables de routage du réseau
virtuel dans lequel un routeur virtuel a été déplacé.
Lorsque le routeur physique cible a été désigné, il commence par bâtir
sa table d'interfaces et émet un gratuitous ARP (requête gratuite
(non sollicitée) de Protocole de Résolution d'Adresse). Ceci a pour effet de
rendre les nouvelles interfaces actives sur le segment où le nouveau routeur
est branché. Ensuite, le processus de routage contacte ses pairs et s'ensuit
l'échange des tables de routage. Le routeur rebâtit alors sa nouvelle table de
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
routage. Le temps de convergence du réseau est égal au temps de
chargement de la configuration et de transfert des tables de routage.
Un protocole de configuration, par exemple de type Netconf, permet
d'établir une interface d'échange entre l'hyperviseur et ses routeurs
virtuels.
5 Ce protocole de configuration permet entre autre de lire et d'écrire des
informations sur un hôte distant en utilisant des primitives du type :
- get-config qui retourne entièrement la configuration du
routeur
- edit-config qui écrase la configuration du routeur.
10 Ces deux primitives permettent donc le déplacement du routeur
virtuel et de rendre inactif le routeur virtuel source. Les deux routeurs
impliqués dans la transaction sont alors de nouveau interrogés par le logiciel
de gestion de l'information, qui dans les secondes suivantes publie l'état des
nouvelles ressources qui seront transmises à tous les hôtes du réseau.
15 Dans l'exemple représenté sur la figure 2, le routeur virtuel 2086 du
réseau virtuel 214 est identifié comme étant surchargé du fait d'un temps
d'attente supérieure à 60 ms. La consultation des ressources des autres
routeurs virtuels montre qu'un routeur virtuel inactif 2102 est identifié sur
le
routeur physique 210 avec des ressources disponibles, c'est-à-dire un temps
d'attente inférieure à 60 ms. Les données de configurations du routeur
virtuel surchargé 2086 sont transmises à l'hyperviseur du routeur physique
210 selon le protocole de configuration Netconf en utilisant le réseau de
signalisation 214. Le routeur virtuel inactif 2102 est configuré avec les
données de configurations du routeur surchargé 2086. Une fois la
configuration effectuée, les tables de routage sont mises à jour et échangées
et le routeur virtuel 2102 remplace le routeur 2086. La configuration du
routeur 2086 est écrasée et le routeur 2086 devient un routeur inactif et
replacé dans le stock de routeur 2080.
La figure 7 donne la représentation du réseau d'infrastructure 200
après redéfinition du routeur 2086 en routeur 2102. Avant la redéfinition le
réseau virtuel 214 était composé des routeurs virtuels 2022, 2044, 2062 et
2086 alors qu'après redéfinition, le réseau virtuel 214 est composé des
routeurs virtuels 2022, 2044, 2062 et 2102.
CA 02767117 2012-01-03
WO 2011/007106 PCT/FR2010/051496
16
La surveillance et la gestion des performances des réseaux virtuels
216 et 218 sont réalisées d'une manière similaire à celle qui vient d'être
décrite.
La redéfinition du routeur 2086 en routeur 2102 est réalisée sans
perte de données en un laps de temps très court.
Bien entendu l'invention ne se limite pas à l'exemple d'application
nullement limitatif décrit ci-dessus.