Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OPTIMIZED FAULT TOLERANCE MECHANISM FOR PEER-TO-PEER NETWORK
Document Type and Number:
WIPO Patent Application WO/2010/000992
Kind Code:
A1
Abstract:
The invention relates to a communication element (E2) comprising at least one interface with a communication network (NTEL) containing other communication elements (E1) and a peer-to-peer network (Np2p) for processing requests (Req) originating from the other communication elements, said peer-to-peer network consisting of nodes (N1, N2, N3, N4, N5) distributed among a set of processing apparatuses and organized in circular form. The communication element is associated with a management device comprising admission means for inserting a new node into the peer-to-peer network. Moreover, the communication element is designed so that contextual information used for processing the aforementioned requests is stored in the nodes and the element is characterized in that the admission means are designed to: determine a pair of adjacent nodes deployed on the same processing apparatus, and insert the new node between the two nodes of the pair.

Inventors:
TOMBROFF DIMITRI (FR)
DE ROP PIERRE (FR)
Application Number:
PCT/FR2009/050853
Publication Date:
January 07, 2010
Filing Date:
May 11, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALCATEL LUCENT (FR)
TOMBROFF DIMITRI (FR)
DE ROP PIERRE (FR)
International Classes:
H04L69/40
Foreign References:
US20070230482A12007-10-04
EP1553747A12005-07-13
Other References:
ION STOICA: "Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications", PROCEEDINGS OF ACM SIGCOMM, XX, XX, 1 January 1900 (1900-01-01), pages complete, XP002332182
Attorney, Agent or Firm:
CHAFFRAIX, Sylvain (FR)
Download PDF:
Claims:
Revendications

1 } Dispositif de gestion d'un réseau pair-à-pair composé d'un ensemble de nœuds (Nl , N2, N3, N4) répartis parmi un ensemble d'équipements de traitement (Ml , M2, M3) et organisé soυs une forme circulaire de sorte que chaque nœud possède un unique nœud successeur, ledit dispositif de gestion comportant des moyens d'admission pour insérer un nouveau nœud au sein dudif réseau pair-à-pair et étant caractérisé en ce que fesdîts moyens d'admission sont en outre prévus pour déterminer un couple de nœuds adjacent déployés sur un même équipement de traitement et pour insérer ledit nouveau nœud entre les deux nœuds dudit couple,

2} Dispositif de gestion selon Sa revendication précédente, dans lequel iesdïts moyens d'admission sont un composant d'admission mis en œuvre par υn dispositif distinct desdits nœuds.

3) Dispositif de gestion selon ici revendication précédente, dans lequel lesdits moyens d'admission sont un composant d'admission implénienté par tout ou partie desdits nœuds.

4} Elément de communication (E2) comportant au moins une interface avec un réseau de communication (NTEL) contenant d'autres éléments de communication (E1), et un réseau pair à pair (Np2p) pour le traitement de requêtes (Req) provenant desdits autres éléments de communication, ledit réseau paîr-à-pair étant constitué de nœuds (N1, N2, N3, N4, N5) répartis parmi un ensemble d'équipements de traitement et organisés sous une forme circulaire de sorte que chaque nœud possède un unique nœud successeur, et étant associé à un dispositif de gestion comportant des moyens d'admission pour insérer un nouveau nœud au sein dudît réseau pair-à-pair, ledit élément de communication étant prévu pour que des informations contextuelles utilisés pour ie traitement desdits requêtes sont mémorisés dans lesdits nœuds et caractérisé en ce que lesdits moyens d'admission sont en outre prévus pour déterminer un couple de nœuds adjacents déployés sur un même équipement de traitement et pour insérer ledit nouveau nœud entre les deux nœuds dudît couple.

5) Elément de communication selon la revendication précédente, dans lequel lesdites informations contextuelles sont dupliquées dans les nœuds successeurs.

6) Elément de communication selon l'une des revendications 4 ou 5, dans lequel lesdits moyens d'admission sont υn composant d'admission mis en œuvre par un dispositif distinct desdits nœuds,

7) Elément de communication seîon l'une des revendications 4 ou 5, dans lequel lesdiis moyens d'admission sont un composant d'admission impiémenté par tout ou partie desdits nœuds.

8) Elément de communication selon l'une des revendications 4 6 7 dans lequel ladite interface avec un réseau de communication est apte à transmettre des messages de signalisation conformes au protocole SIP.

Description:
Mécanisme de tolérance aux fautes optimisé pour réseau pair-à-pair

La présente invention est relative au déploiement d'un réseau paîr-à- pair sur un ensemble d'équipements de traitement. Elle concerne plus particulièrement l'utilisation de ces réseaux pair-à-pair pour des applications de télécommunication.

Il est connu de distribuer certaines applications de télécommunication notamment sur υr\ ensemble de nœuds de traitement. De cette façon, chaque nœud ne traite qu'une partie des requêtes adressées à l'application et il est possible de dîmensionnβr de façon éventuellement dynamique le nombre de nœuds en fonction des ressources nécessaires pour traiter ces requêtes. Une telle architecture permet également de facilement rendre l'application tolérante aux fautes du fait de la redondance inhérente des nœuds entre eux.

Pour certaines applications se pose toutefois le problème de la localisation d'informations contextuelles au sein de cet ensemble de nœuds. En effet, certaines applications comme un élément de signalisation peuvent nécessiter Sa mémorisation d'un contexte entre deux messages qui lui sont adressés. Ce contexte peut permettre de traiter un message suivant de façon appropriée, C'est le cas d'un élément de signalisation SÎP ou « proxy SIP » qui doit traiter une requête en fonction du statut de la session SIP (pour « Session Initiation Protocol »}

Pour ce type d'applications il est nécessaire d'une part de mémoriser ces informations contextuelles mais également de pouvoir les localiser au moment opportun.

Une approche possible consiste à disposer d'une base de données centralisée à laquelle chacun des nœuds a accès et peut mémoriser et récupérer les informations contextuelles des sessions qu'ils gèrent Cependant, lorsque cette base de données centralisée est implémeniée sur un disque dur ou sur un support matériel équivalent, le temps d'accès aux informations devient pénalisant et rend cette solution inadéquate aux applications demandant des temps de réponse très courts comme Ses applications de télécommunication.

Implémenfer la hase de données en mémoire permet de s'affranchir de ce problème du temps d'accès mais la nécessité d'incorporer de la redondance pour répartir la charge des accès et pour satisfaire les contraintes de tolérance aux fautes rend le système complexe. Il s'agît en fait de constituer un réseau de bases distinct de l'ensemble de nœuds de traitement, Outre qu'une telle approche ne semble intellectuellement pas très satisfaisante, eue engendre des problèmes de configuration et n'est nî souple ni aisée à gérer,

Les réseaux paîr-à-pair permettent, par l'utilisation d'une fable de bachage distribuée, de résoudre ces problèmes d'une façon automatique et transparente pour le développeur de l'application et pour les dispositifs extérieurs à l'application et devant communiquer avec elle.

La figure 1 schématise un réseau paîr-à-pair composé de N noeuds X1, X2, X3, X4.., XN.

Les informations contextuelles à mémoriser sont associées à des clés qui sont distribués sur cet ensemble de noeuds. Généralement, cette distribution est effectuée par une fonction de hachage qui permet de projeter l'espace des clés vers l'espace des nœuds tout en obtenant une bonne répartition de la charge parmi ces nœuds.

Les informations contextuelles peuvent être retrouvées à partir de la clé. L'application de la même fonction de hachage permet de déterminer le nœud associé à cette clé puis de récupérer les informations stockées sur ce nœud et associées à la clé. Afin de rendre Ie système îolérαnl aux fautes, si est généralement prévu que chaque association entre une dé et des informations contextuelles soif répliquée sur un second nœud, De celte façon, si le premier nœud ne fonctionne plus, Ses informations contextuelles peuvent être récupérées depuis ce second nœud.

Un algorithme simple et communément υtiiisé pour déterminer quel noeud doit mémoriser la copie des Informations contextuelles consiste à choisir le successeur, c'est-à-dire le ncsud suivant l'ordre du réseau paîr-ά-pair. L'intérêt d'un le! choix est qu'en cas de défaillance d'un nœud, Sa localisation de b copie des informations contextuelles est immédiate. On évite ainsi une période d'Incertitude à !a suite d'une défaillance, nécessitant une procédure suppiémentaire pour correctement gérer cette période sans risquer de répondre de façon erronée à une requête,

Ainsi, si la fonction de hachage appliquée à la clé recherchée désigne le nœud X2 et que celui-ci n'est plus accessible ou ne contient plus l'information à la suite d'un dysfonctionnement, Se système détermine automatiquement qu'une copie des informations contextuelles recherchées se trouve dans le nœud X3.

Ces implémentations d'un réseau pair-à-pair sont davantage expliquées dans l'article « Chord: A Scalable Peer-to-peer Lookυp Service for

Internet Applications .» de lan Stoica, Robert Morris, David Karger, M. Frans

Kaashoek et Hari Balakrishnaπ, ACM SIGCOMM 2001 , San Diego, CA,

Augυsi 2001 , pp. 149- 160,

Toutefois, en pratique, le problème technique de la tolérance aux fautes continue de se poser, En effet, les réseaux pair-à-paîr sont en pratique déployés sur des réseaux d'équipements de traitement. Ces équipements étant de plus en plus puissants, il est avantageux de déployer plusieurs nœuds sur un même équipement. Dans l'exemple de Sa figure 1 , les nœuds X2 et X3 sont situés sur l'équipement M2, les nœuds Xl et XN sont situés sur l'équipement Ml et le nœud X4 est situé sur l'équipement M3.

Par conséquent, si un équipement de traitement subit un dysfonctionnement, les nœuds présents peuvent être impactès et ne plus fonctionner. Ainsi, si l'équipement de traitement M2 subît une panne, les deux noeuds X2 et X3 ne fonctionnent plus.

Or, selon l'algorithme classique consistant à iocaliser la copie des informations sur le nœud successeur, les informations mémorisées sur le nœud X2 sont dupliquées sur ie nœud X3, Par conséquent, malgré le mécanisme de tolérance aux pannes de l'état de la technique, les informations contextuelles associées au nœud ne sont plus disponibles.

L' état de la technique est donc inadéquat pour procurer une tolérance aux pannes suffisante. Le but de la présente invention est de pallier cette insuffisance en améliorant la gestion d'un réseau pair-à~pair.

Pour ce faire l'invention a pour premier objet un dispositif de gestion d'un réseau pair-à-pair composé d'un ensemble de nœuds répartis parmi un ensemble d'équipements de traitement et organisé sous une forme circulaire de sorte que chaque nœud possède un unique nœud successeur. Le dispositif de gestion comporte des moyens d'admission (ou composant d'admission) pour insérer un nouveau nœud au sein du réseau pair-à-paîr, Il se caractérise en ce que les moyens d'admission sont en outre prévus pour déterminer un couple de nœuds adjacent déployés sur un même équipement de traitement et pour insérer ce nouveau nœud entre les deux nœuds du couple ainsi déterminé.

Les moyens d'admission peuvent par exemple être un composant d'admission mis en œuvre par un dispositif distinct desdits nœuds, ou un composant d'admission implêmenfé par tout ou partie des nœuds du réseau paîr-à~pair. L'Invention a également pour objet υn élément de communication comportant ou moins une interface avec un réseau de communication contenant d 'autres éléments de communication, et un réseau pair à pair pour ie traitement de requêtes provenant de ces autres éléments de communication. Le réseau pair-à-pair est constitué de nœuds répartis parmi un ensemble d'équipements de traitement et organisés sous une forme circulaire de sorte que chaque nœud possède un unique noeud successeur. Ce réseau pair-à-pair est en outre associé à un dispositif de gestion comportant des moyens d'admission pour insérer un nouveau nœud au sein du réseau painà-pair.

L'élément de communication selon l'invention est prévu pour que des informations contextuelles utilisés pour ie traitement des requêtes sont mémorisés dans ies nœuds, et il se caractérise en ce que les moyens d'admission sont en outre prévus pour déterminer un couple de noeuds adjacents déployés sur un même équipement de traitement et pour insérer ce nouveau nœud entre les deux nœuds du couple en question.

Les informations contextuelles peuvent être dupliquées dans les nœuds successeurs.

Les moyens d'admission peuvent par exemple être un composant d'admission mis en œuvre par un dispositif distinct desdits nœuds, ou un composant d'admission impiémenté par foui ou partie des noeuds du réseau.

L'interface avec un réseau de communication peut être apte à transmettre des messages de signalisation conformes au protocole SIP.

L'invention apparaîtra de façon plus claire dans la description qui va suivre en liaison avec les figures annexées.

La figure 1 , précédemment commentée, schématise un réseau pair-à- pair,, conforme à Pétcst de îa technique.

La figure 2 schématise un réseau pair-à-pair déployé sur un ensemble d'équipements de traitement, conformément à l'invention. Les figures 3a et 3b illustrent la répartition des informations mémorisés dans le réseau pair-à-pair.

La figure 4 illustre un élément de communication selon l'invention.

Ii sera tout d'abord décrit le réseau pair-à-pair et le dispositif de gestion, puis leur application au sein d'un élément de communication.

La figure 2 représente un réseau pair-à-pair déployé sur un réseau constitué de 3 équipements de traitement Ml , M2, M3. Le réseau paîr-à-patr est constitué d'un ensemble de nœuds Nl , N2, N3 et N4 organisés sous une forme circulaire de sorte que chaque nœud possède un unique nœud successeur (et un unique nœud prédécesseur).

A ce réseau pair à pair est adjoint un dispositif de gestion comportant notamment des moyens d'admission. Ces moyens d'admission sont responsables de l'insertion d'un nouveau nœud au sein du réseau pair-à-pair. Une propriété essentielle des réseaux pair-à-pair est en effet d' être évolutif, au sens que des nœuds peuvent être ajoutés ou retirer à tout moment et que le réseau doit être prévu pour s'auto-organiser.

Si l'on suppose que le réseau est à un moment constitué des nœuds Nl , N2, N3, l'admission du nouveau nœud N4 comprend la détermination de l'emplacement de nœud entrant au sein du réseau déjà constitué, ainsi que ta détermination d'une nouvelle répartition des clés dans l'ensemble des nœuds. Cette répartition permet notamment de répartir la charge en tirant profit de l'apport des nouveaux nœuds en ressources de traitement et de stockage.

Les figures 3a et 3b illustrent de façon plus claire la détermination d'une nouvelle répartition des clés. Chaque ligne horizontaie représente l'espace des clés. On place sur ces lignes les nœuds présents dans ie réseau Chacun de ces nœuds est associé à un sous-ensembte de clés, correspondant aux clés qu'il mémorise.

La figure 3a correspond à une première situation dans laquelle le 5 réseau est composé des nœuds NI , N2 et N3. Chacun des nœuds mémorise un sous-ensemble correspond au tiers de l'ensemble total des clés. Ce sous- ensemble correspond, sur !a figure 3a, à la partie de la ligne horizontale située à sa gauche et bornée par le nœud précédent ou par le début de la ligne, 10

Lorsque le nosud N4 est à ajouter au réseau pair~à~pair, les moyens d'admission déterminent l'emplacement qu'il doit prendre au sein du réseau ainsi que la répartition des clés,

La localisation du déploiement d'un nœud sur un équipement de ) 5 traitement Ml , M2, M3, M4 peut être déclenchée par ies moyens d'admission, mais la détermination de cette localisation est classiquement prise en charge par d'autres modules du système de gestion. Par exemple, il peut être prévu que cette iocalisation soit déterminée par le système d'exploitation sous- jacent, sans que les moyens d'admission aient les moyens de la contrôler. 20

Les moyens d'admission sont un composant d'admission qui peut être mis en oeuvre par un dispositif distinct des nœuds du réseau paîr-à pair. Mais il peut également être implémeniέ par tout ou partie de ces nœuds. Ainsi, un nouveau nœud entrant peut s'adresser soi! à n'importe quel nœud déjà 25 membre du réseau, ou à certains de ces nœuds jouant un rôle particulier d'admission.

Selon l'invention, le composant d'admission est prévu pour déterminer un couple de nœuds adjacent déployés sur un même équipement

30 de traitement. Deux nœuds sont adjacents si l'υn est le successeur de l'autre au sein du réseau pair-à-pair. Par exemple, dans le cas du réseau formé des nœuds Si l'on suppose que le réseau est à un moment constitué des noeuds Nl , N2, N3, les nœuds Nl et N2 sont adjacents, les nœuds N2 et N3 sont adjacents et les nœuds Nl et N3 sont adjacents. Les nœuds N2 et N3 forment îe seul couple de nœuds adjacents déployés sur un même équipement de traitement, M2.

Le composant d'admission est prévu pour alors insérer le nouveau nœud N4 entre les deux nœuds de ce couple H2 f N3. Le nouveau réseau ρair-à-paîr forme un cercle contenant les nœuds ordonnés NI , N2, N4 et N3. Ainsi, le couple de nœuds adjacents N2, N3 es! rompu et il n'y a plus de couples de nœuds adjacents déployés sur un même équipement de traitement. D'une façon plus générale, l'admission d'un nouveau nœud permet de diminuer d'une unifé le nombre de ces couples.

Dans ie cas où il n'existerait pas de couples de ce type, la composition d'admission peut fonctionner selon l'état de b technique et par exemple insérer le nouveau nœud entre le dernier nœud et le premier nœud du cercle formé par le réseau.

Sur la figure 3b figure le nœud N4, ajouté entre les nœuds N2 et N3. Le réseau païr~à~pair s'auto-configure de sorte que le sous-ensemble de clés précédemment associé au nœud N3 est divisé en deux parties, la partie la plus à gauche étant associée au nouveau nœud N4, ef Sa partie la plus à droite restant associée au nœud N3. Ces deux parties sont sensiblement de taille identique.

La partie de clés nouvellement assodée ou nœud N4 est transférée depuis le nœud N3 vers ce nouveau nœud. Avec ces clés sont également transférées les informations qui leur sont associées. Ces informations peuvent être des informations contextuelles dans le cas d'une application à un élément de communication comme il sera décrit plus bas.

Pour assurer la tolérance aux fautes du réseau pair-à-pair, les informations (contextuelles) sont dupliquées sur îe nœud successeur. Le nœud successeur est le nœud suivant dans l'ordre cîrcuiaire du réseau NI , N2, N4, N3.

Grâce à la façon dont les nouveaux nœuds sont insérés dans le réseau pair-à-pair, le successeur de chaque nœud n'est pas situé sur ie même équipement de traitement que celui -ci.

Ainsi, le successeur du nœud N2 est désormais le nœud N4 qui est déployé sur l'équipement de traitement M3.

Si l'équipement de traitement M2 subit un dysfonctionnement, le nœud N4, situé sur l'équipement M3 peut fournir Ia copie des informations du nœud N2, et le nœud N l , situé sur l'équipement Ml , peut fournir la copie des informations du nœud N3.

Le problème posé par les nœuds N2 et N3 dans l'état du réseau précédent l'admission du nœud N4 est donc résolu.

La figure 4 illustre l'application d'un réseau pair-à-pair selon l'invention à un élément de communication. Celui-ci peut être un serveur d'applications dans une architecture de communication, telle une architecture IλAS {« lP Multimedia Sυbsystem »). Il peut aussi être un élément de signalisation, tel un proxy conforme au protocole SIP {« Session invitation Protocol ») tel que spécifié par le RFC 3261 de l'IETF, ou une fonction CSCF (« CaII Session Control Fυntion ») au sein d'une architecture IMS.

Cet élément de communication E 2 possède des moyens de réception d'une requête Req provenant d'un autre élément E, à travers un réseau de communication N na . La requête Req est traitée par un module de répartition de charge L8, destiné à déterminer, pour chaque première requête d'une session de communication, que! nœud N1 , N2, N3, N4, N5 doit traiter la requête. Ces nœuds forment un réseau pair-à-pair N p2p te! que décrit précédemment.

Le traitement de la requête peut produire la génération d'informations contextuelles qui peuvent être utiles ou nécessaires pour le traitement d'une autre requête appartenant à îa même session. Elles sont donc associées à une clé, et mémorisées sur le nœud correspondant à cette clé.

L'association est effectuée par une fonction de hachage appliquée à un identifiant de ia session (par exemple, adresses IP de l'élément de communication émetteur E,, entête « call ID » de fa requête SIP, etc.). Le résultat de cette fonction de hachage peut donner directement le numéro du nœud modυio le nombre de nœuds dans le réseau. Ces différents mécanismes sont connus de l'état de la technique et ne sont pas décrits en détail dans cette demande de brevet. L'article précédemment mentionné et concernant îe mécanisme « Chord » peut être consulté pour obtenir certains de ces détails.

Dans l'exemple de la figure 4, les informations contextuelles C sont mémorisées dans !e nœud N 2 . Elies son! dupliquées dans son successeur, le noeud N 3 , Comme nous avons vu précédemment, le module d'admission du dispositif de gestion du réseau paîr-à-pair N p2p a fait en sorte que les nœuds adjacents N 2 et N 3 ne soient pas déployés sur un même équipement de traitement.

De cette façon, les prochaines requêtes appartenant à la même session pourront être traitées en récupérant les informations textuelles présentes sur le nœud N 2 , et en cas de défaillance de celui-ci, sur le successeur, le nœud N 3 .

Les deux N 2 et N 3 n'étant pas sur le même équipement de traitement,. la probabilité que ceux-ci sont défaillants simultanément est très faible. L'invention permet donc de résoudre le problème technique, sans changer fondamentalement les mécanismes connus de gestion du réseau pair-à-pair