• Aucun résultat trouvé

Évaluation de performance : réduction du trafic

$ & ' ( ) $ * &

Figure 3.8 – Scénario partage entre deux réseaux domestiques

3.6 Évaluation de performance : réduction du trafic

Pour évaluer notre approche, nous l’avons implémentée sur le système Scribe [20]. L’étude expérimentale a été faite sur le simulateur FreePastry en utilisant une machine Linux dotée d’un processeur i5 CPU 2.53 GHz et 4 GB de RAM.

Nous rappelons que notre but est de répondre aux besoins exacts des utilisateurs sur les RSD en P2P et de réduire le trafic sur le réseau Internet. Ce dernier objectif est aussi un résultat direct du premier. En effet, éviter d’envoyer des données inutiles aux utilisateurs im-plique nécessairement la réduction considérable du trafic. Pour le prouver, nous avons testé avec deux scénarios. Dans le premier scénario, nous injectons 4000 publications sans utiliser le système publier/souscrire. Dans le deuxième scénario, nous injectons 1000 souscriptions sémantiques et les mêmes 4000 publications. Ces deux scénarios permettent de comparer un RS fondé sur un système publier/souscrire par rapport aux réseaux existants.

Le résultat montre que le nombre de notifications envoyées aux utilisateurs est remarqua-blement réduit en utilisant MULUS (avec publier/souscrire). En effet, l’acheminement des publications peut atteindre 100% si nous considérons le cas de Facebook où le partage se fait entre tout un groupe d’amis. Ce type de partage ne respecte pas les intérêts des utilisateurs et par conséquent ces derniers seraient insatisfaits. Cependant, en considérant les intérêts

Chapitre 3

des utilisateurs (avec MULUS), la réduction peut atteindre environ 82% comme montré par la courbe de la Figure 3.9.

Figure 3.9 – Réduction du trafic par un système publier/souscrire P2P sémantique

3.7 Conclusion

Dans ce chapitre, nous avons étudié la sémantique dans les réseaux publier/souscrire fondé sur la DHT. Nous avons distingué trois types d’approches : le premier type assure la scalabilité grâce à la tologie P2P structurée mais qui n’améliore pas l’expressivité. Le deuxième type d’approches essaye d’équilibrer entre la scalabilité et l’expressivité. Il amé-liore peu l’expressivité mais il n’assure pas la scalabilité vu la topologie hiérarchique de son service d’évènements. Le troisième type d’approches améliore l’expressivité et même utilise l’ontologie pour assurer plus de sémantique. Cependant, il n’est pas scalable à cause de la topologie centralisée. Nous avons constaté que l’utilisation de la sémantique avec un sys-tème publier/souscrire basé DHT est un défi. D’une part, la sémantique permet d’utiliser des expressions sémantiquement équivalentes mais syntaxiquement différentes. D’autre part,

le routage avec DHT est fondé sur les clés calculées par le hachage des données à partager. Ainsi, la différence syntaxique possible avec la sémantique perturbe le routage des messages sur la DHT.

Pour résoudre ce problème, nous avons proposé d’intégrer une entité logicielle appelée HBE pour MULUS. Cette entité est déployée dans chaque réseau domicile pour assurer les fonc-tionnalités sollicitées pour la gestion interne des clusters et le partage des sujets avec les autres serveurs d’évènements. Cette entité maintient une ontologie du domaine structurée (hiérarchique) et partagée entre tous les utilisateurs. Nous avons proposé ensuite une mé-thode d’indexation de cette ontologie fondée sur les nombres premiers. Cette mémé-thode offre un routage sémantique (pour communiquer entre les utilisateurs distants) à travers la DHT et permet par conséquent de répondre aux intérêts des utilisateurs.

Enfin, pour valider notre approche, nous avons conduit des tests expérimentaux pour mon-trer que l’intégration d’un système publier/souscrire sémantique réduit considérablement le trafic sur le réseau.

Pour mieux répondre aux besoins des utilisateurs de notre plateforme MULUS et pour améliorer le degré d’expressivité de MULUS, nous utiliserons la composition d’évènements dans le chapitre suivant. En effet, bien que la sémantique avec les ontologies améliore beau-coup l’expression des intérêts, elle ne traite pas les intérêts composites.

Chapitre

4 Composition d’évènements sur MULUS

4.1 Introduction

Ce chapitre adresse la composition de contenus partagés sur notre plateforme MULUS. Avec la composition d’évènements, le filtrage strict permet d’éviter la diffusion de messages inutiles ne répondant pas aux contraintes temporelles et logiques imposées par les utilisa-teurs. Le traitement des intérêts composites est assez important dans les RS puisqu’il permet d’alléger l’utilisation de la bande passante sur le réseau Internet. Nous cherchons à traiter la composition d’intérêts au niveau du système publier/souscrire, que nous utilisons comme couche principale de notre plateforme MULUS.

La gestion d’évènements composites et leur routage sont largement explorés dans la littéra-ture mais ils nécessitent encore des améliorations. En effet, les solutions proposées souffrent du problème de scalabilité et d’expressivité au niveau des relations de compositions traitées. Notre objectif est de fournir une approche scalable pour la gestion et le routage des évènements composites avec toutes les relations de compositions possibles sur un système publier/souscrire P2P structuré. A cette fin, nous proposons une structure d’indexation à trois dimensions que nous appelons CECube. Cette structure permet de gérer la composition d’évènements sur un réseau de brokers de topologie P2P structurée. CECube permet de vérifier toutes les relations logiques et temporelles possibles et élimine par la suite tous les transferts inutiles.

Dans la suite de ce chapitre, nous commençons par présenter les concepts de base pour expliquer ensuite le problème de gestion des évènements composites. Ensuite, nous détaillons les travaux existants pour identifier les points faibles à considérer. Dans la section suivante, nous détaillons notre solution pour la gestion distribuée des évènements composites en P2P. Enfin, nous validons notre proposition par des résultats expérimentaux.

4.2 Concepts de base

Dans cette section, nous détaillons quelques concepts de base pour mieux comprendre le problème de gestion des évènements composites.

4.2.1 Définition d’un évènement

Nous trouvons dans la littérature plusieurs définitions de la notion d’évènement selon le domaine d’application. Parmi les définitions les plus courantes, un évènement est défini comme étant l’occurrence d’une situation d’intérêt dans un système, ce qui nécessite généralement une réponse automatique par le système [78].

Cette notion est explorée dans les systèmes publier/souscrire dis encore systèmes basés évènements. Dans ces systèmes, l’évènement est équivalent à une production d’information sur le réseau qui stimule la réaction des serveurs d’évènements pour faire le filtrage et le routage de cette information [79]. L’occurrence d’un évènement se traduit par une notifica-tion (event notification) sous forme d’un message envoyé aux souscrits pour répondre à des intérêts exprimés auparavant. Ces intérêts peuvent être simples (primitifs ou atomiques) ou composites. D’où l’apparition de deux notions : évènement primitif et évènement composite.

4.2.2 Évènement primitif

Les évènements primitifs (ou atomiques) sont les évènements considérés atomiques et instantanés. Ils expriment un intérêt simple et non lié à d’autres évènements.

4.2.3 Évènement composite

Un évènement simple peut être relatif à d’autres évènements par une ou plusieurs rela-tions temporelles ou/et logiques. Ceci résulte en l’apparition de l’évènement composite. Les évènements composites sont les évènements de notification qui surviennent suite à l’arrivée d’autres évènements, dans un ordre ou un motif bien déterminé.

Par exemple, nous pouvons détecter, chaque fois, qu’un évènement de type T2 se produit

directement, après la survenance d’un évènement de typeT1 (une séquence de T1 et T2), ou

Chapitre 4

T1 et T2). La détection de ces modèles d’évènements composites peut être traduite par la production d’une notification d’évènement composite représentant l’occurrence particulière d’une suite d’évènements.

4.2.4 Souscription composite

Nous considérons la définition de souscription composite comme proposé dans [80] : "Une souscription composite consiste à des souscriptions reliées par des opérateurs logiques et temporels. Elles peuvent être utilisées pour exprimer un intérêt à un évènement composite. Une souscription composite n’est matchée que si toutes les souscriptions atomiques qui la composent sont vérifiées".

Dans de ce manuscrit, nous appelons :

– évènement primitif : tout évènement atomique n’ayant pas de relation avec d’autres évènements ;

– évènement composite : une souscription composite ou un évènement de notification composite ;

– évènement sous-composite : un élément d’un évènement composite qui peut être pri-mitif ou composite.