• Aucun résultat trouvé

Exemple d’ex´ ecution

5.5 Exp´ erience et r´ esultats

5.5.3 Exemple d’ex´ ecution

Afin d’illustrer le fonctionnement de l’application, un exemple d’ex´ecution compos´e de plusieurs situations est d´ecrit ci-dessous. Pour ce faire, les quatre noeuds suivants ont ´et´e cr´e´es :

Identifiant du noeud noeud de connexion utilis´e

D69E32 /

906A71 D69E32

8D728D D69E32

98AD63 8D728D

Les diff´erents sc´enarios qui suivent sont class´es par ordre chronologique d’ex´ecution.

Cr´eation d’un groupe

Le noeud D69E32 cr´e´ee un nouveau groupe nomm´e “MyGroup” avec comme mot de passe “test” en cliquant sur le bouton Cr´eer et en remplissant ces donn´ees. Le message syst`eme suivant est alors affich´e :

New parent ¡0x8D728D..¿for topic :¡0x78D572..¿

Celui-ci renseigne le noeud que son parent pour ce groupe est le noeud 8D728D puisque ce dernier est num´eriquement plus proche de l’identifiant 78D572 du groupe “MyGroup” que le noeud courant.

Inscription `a un groupe (1)

Le noeud 8D728D souhaite faire partie du groupe “MyGroup”. Pour ce faire, l’utilisateur clique sur le bouton Connecter et entre les diff´erents param`etres.

Inscriptions `a un groupe (2)

Le noeud 906A71 souhaite ´egalement faire partie de ce groupe. Pour ce faire, l’utilisateur proc`ede de la mˆeme mani`ere qu’avec le noeud 8D728D. Ceci ´etant fait, le message syst`eme suivant signifiant que le noeud 8D728D est son parent apparaˆıt au noeud 906A71 :

New parent ¡0x8D728D..¿for topic :¡0x78D572..¿

De plus, le message syst`eme suivant apparaˆıt au noeud 8D728D :

child ¡0x906A71..¿ added for topic ¡0x78D572..¿

Ce dernier indique que le noeud 906A71 fait partie de ses enfants pour le groupe “My-Group”.

Le noeud 98AD63 se connecte de la mˆeme mani`ere `a ce groupe et son parent est le noeud 8D728D. Ce dernier sera ´egalement averti de l’arriv´ee d’un nouveau fils.

D´efaillance de la racine

Afin de simuler la d´efaillance de la racine, le noeud 8D728D est ferm´e via le bouton

Quitter. D`es cet instant, la reconstruction de l’arbre se produit. Le noeud 906A71 ´etant num´eriquement le plus proche de l’identifiant du groupe, celui-ci devient la nouvelle racine de l’arbre. Le message syst`eme suivant s’affiche d’ailleurs `a ce dernier :

IS ROOT for topic :¡0x78D572..¿

Ce message indique `a ce noeud qu’il est devenu la racine pour le groupe consid´er´e. Peu apr`es, les noeuds D69E32 et 98AD63 d´etectent la d´efaillance de leur parent (la racine 8D728D). Ces deux noeuds affichent alors comme messages syst`emes les messages suivants :

Parent failure detected !

New parent ¡0x906A71..¿for topic :¡0x78D572..¿

Ce dernier message indique le nouveau parent. De plus, le noeud 906A71 affichent les messages suivants indiquant l’ajout des deux noeuds dans sa table d’enfants :

child ¡0x98AD63..¿ added for topic ¡0x78D572..¿

child ¡0xD69E32..¿ added for topic ¡0x78D572..¿

Multicast d’un message

Le noeud 98AD63 envoie un message en mode multicast. Pour ce faire, ce dernier s´electionne le groupe dans la liste, entre son message, coche la casemulticastet clique sur le

Dans le cas o`u un des noeuds a indiqu´e un mauvais mot de passe lors de sa connexion au groupe, le message devant apparaˆıtre crypt´e est remplac´e par des di`eses et un message syst`eme l’en avertit.

Anycast d’un message

Les noeuds 98AD63 et D69E32 cochent la case pour accepter les messages en mode any-cast. Le noeud 906A71 effectue l’envoi en mode anycast d’un message qui sera r´eceptionn´e seulement par le noeud 98AD63. Si l’utilisateur d´esactive l’arriv´ee de messages anycast au noeud 98AD63 et que 906A71 effectue `a nouveau l’envoi, seul le noeud restant le re¸coit.

D´epart d’un enfant

Afin de se d´esinscrire du groupe, le noeud D69E32 s´electionne le groupe dans la liste et clique sur le bouton Supprimer. Celui-ci ne recevra donc plus de messages associ´es `a ce groupe. De plus, son parent (906A71) re¸coit son message de d´esinscription et affiche :

child ¡0xD69E32..¿ removed for topic ¡0x78D572..¿

Conclusions

Ainsi, la premi`ere partie de ce travail a d´emontr´e la puissance de la technologie XML et sa plus-value dans le domaine des services web. En effet, cette technologie est utilis´ee abondamment afin de repr´esenter les types de donn´ees via des sch´emas XML, structurer les messages SOAP, permettre `a WSDL de d´ecrire les diff´erents services d’un service web et rendre possible la mise en place de m´ecanismes de s´ecurit´e autour de celle-ci.

D`es lors, XML constitue la base sur laquelle la technologie des services web repose. De ce fait, ces derniers h´eritent des avantages mais ´egalement des inconv´enients de la techno-logie XML. Dans cet ordre id´ees, peuvent ˆetre cit´es les avantages de l’interop´erabilit´e ainsi que d’une grande ´etendue d’utilisation. N´eanmoins, XML a une influence n´egative directe sur les performances des services web par rapport `a d’autres moyens de communication

´

etant donn´e qu’un document XML est plus lourd `a transmettre et donc utilise plus de bande passante.

Dans un second temps, ce m´emoire a expos´e l’utilit´e d’opter pour une architecture de type peer-to-peer par rapport `a une architecture centralis´ee. En effet, un syst`eme peer-to-peer permet d’´eviter un goulot d’´etranglement d’un point de vue de performance d’une part, ainsi qu’un point unique de d´efaillance d’autre part. De plus, de tels syst`emes pr´esentent des propri´et´es int´eressantes telles que la r´epartition de la charge, une extensibilit´e globale ou encore l’auto-adaptation face au d´epart ou `a l’ajout de noeuds et ce, `a n’importe quel instant. Finalement, ces syst`emes requi`erent des algorithmes de placement de donn´ees entre les diff´erentes peers. Le choix op´er´e entre de tels algorithmes constitue donc un point cl´e

pour cons´equence d’empˆecher l’acc`es `a certaines ressources.

De plus, ce document a trait´e tant des diff´erents avantages que des inconv´enients `a utili-ser les utili-services web comme couche de transport d’une architecture peer-to-peer. Ainsi, l’uti-lisation d’XML par les services web permet aux r´eseaux peer-to-peer de profiter du concept d’interop´erabilit´e, mais au prix d’une perte de performance. En outre, dans une telle com-binaison, un effort suppl´ementaire doit ˆetre fourni de fa¸con `a effectuer les s´erialisations n´ecessaires au bon fonctionnement du syst`eme.

Finalement, une preuve de faisabilit´e d’un syst`eme, utilisant une telle combinaison, a

´

et´e apport´ee par l’impl´ementation d’une application permettant une communication de groupe reposant sur une architecture peer-to-peer qui, elle, utilise les services web. Cette derni`ere a mis en ´evidence les probl`emes de s´erialisations ainsi que l’importance des choix des diff´erents param`etres de synchronisation du syst`eme, puisqu’il s’agit l`a d’un compromis

`

a effectuer entre la charge au niveau de la bande passante utilis´ee et le temps de validit´e des donn´ees de routage. En effet, plus la synchronisation des ensembles n´ecessaires au routage est fr´equent, plus la validit´e de ces donn´ees est garantie mais cela, au d´etriment d’une plus grande charge du r´eseau.

Ainsi, la combinaison des services web avec une architecture peer-to-peer ouvre ses portes vers des applications n´ecessitant une tr`es grande souplesse de fonctionnement vis-` a-vis de la d´efaillance de noeuds tout en permettant de profiter du principe d’interop´erabilit´e qu’offrent les services web.

Annexes

A.1 WSRemoteNodeI.java

Code source A.1 Interface du service web d’un noeud

1 public i n t e r f a c e WSRemoteNodeI{

public L e a f S e t M e s s a g e g e t L e a f S e t M ( ) throws E x c e p t i o n ;

public RouteSetMessage [ ] getRouteRow (i n t row ) throws E x c e p t i o n ; 5 public NodeId g e t N o d e I d ( ) throws E x c e p t i o n ;

public void r e m o t e R e c e i v e M e s s a g e ( S e r M e s s a g e msg , NodeId hopDest ) throws E x c e p t i o n ;

}

Documents relatifs