La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 De la médiation au Pair-à-Pair Georges Gardarin Nicolas Travers.

Présentations similaires


Présentation au sujet: "1 De la médiation au Pair-à-Pair Georges Gardarin Nicolas Travers."— Transcription de la présentation:

1 1 De la médiation au Pair-à-Pair Georges Gardarin Nicolas Travers

2 2 1. Introduction Inspiré de Napster –un service distribué d'échange de fichiers musicaux –recherche des noms de fichiers des abonnés –controversé pour des raisons économiques (droits d'auteur) Intégration client et serveur –les serveurs centralisent l'information –il devient souhaitable d'accéder à toute information distribuée sur des réseaux de PC –tout calculateur connecté au réseau peut fournir un service à un autre calculateur connecté au réseau

3 3 Médiateur ou P2P ? Problèmes –bande passante et puissance du médiateur –fiabilité du médiateur Promesses –pas de centralisation –passage à l'échelle –nœuds hétérogènes –réseau évolutif P2P Médiateur

4 4 Plan Définitions Typologie des réseaux Exemple de systèmes: Chord, CAN Application à la médiation: MediaPeer La sémantique: Ontologie Projets P2P Conclusion

5 5 Définitions : Pair Pair (Peer) –nœud sur un réseau P2P à la fois client et serveur –communique avec ses pairs –est caractérisé par un identifiant (PID) Rôles d'un pair –client : demande des services au réseau P2P –serveur : offre des services au réseau P2P –routeur : route les demandes de service des pairs

6 6 Définitions : Cluster Groupe (Cluster) –ensemble de pairs fournissant un service commun –les groupes de pairs ont un intérêt partagé ou un but commun –exemple : partager des types de données, décrire des sources d'informations similaires, participer à une même application, avoir un même niveau de sécurité

7 7 Définitions: Transport Point terminal –source initiale ou destination finale de toute requête transmise sur le réseau Connexion –liaison de communication entre deux points terminaux ou deux pairs, virtuelle et asynchrone Requête –demande de fonction transmise sur un canal de point terminal à point terminal Le réseau physique est généralement IP –Le protocole de transport est souvent HTTP Le réseau logique (overlay network) –est indépendant du réseau physique –peut être plus ou moins structuré

8 8 Définitions : Service Service –ensemble de fonctions sémantiquement apparentées offertes par un pair serveur à un pair client –un service se caractérise par une interface décrivant, pour chaque fonction, les messages d'entrée et de sortie Exemple –transférer un fichier, effectuer un calcul, fournir une information d'état, localiser une ressource, … Les services Web (WSDL, SOAP) sont de plus en plus souvent utilisés pour décrire et invoquer les services

9 9 Services génériques déclarer un service découvrir un service invoquer un service router les requêtes joindre ou quitter un réseau, un cluster obtenir l'état d'un pair lister les services d'un pair …

10 10 2. Typologie des réseaux Architectures non structurées –tous les pairs sont au même niveau sur le réseau logique –la découverte s'effectue par diffusion aux voisins –le temps de recherche n'est pas garanti Architectures structurées –tous les pairs sont au même niveau sur le réseau logique –le réseau logique est fortement structuré (par hachage) –les données ou leurs références sont placées sur les pairs –le temps de recherche est garanti < log(n) Architectures hybrides –certains pairs sont distingués pour gérer des index –ils sont appelés super-pairs –le temps de recherche est partiellement garanti

11 11 Réseaux non structurés (1) Répertoire centralisé (Napster, Publius) –Un serveur maintient un répertoire des ressources et des pairs –La découverte des ressources s'effectue par requête au serveur –Le pair se connecte directement au pair découvert

12 12 Réseaux non structurés (2) Répertoire distribué (Gnutella, FreeHaven) –Chaque pair gère son répertoire de ressources –La découverte se fait par demande aux voisins de proche en proche (flooding) –Les requêtes de recherche sont propagées dans un rayon de voisinage limité –Il est possible de gérer des indices à chaque nœud

13 13 Réseaux structurés (1) Chord, CAN, Pastry Les données ou les références de données sont placées sur des pairs spécifiques Le placement se fait en général par fonction de hachage La recherche seffectue à partir dune clé trouver rapidement un objet à partir de sa clé sur un grand réseau sans structure centralisée trouver rapidement un objet à partir de sa clé sur un grand réseau sans structure centralisée

14 14 Réseaux structurés (2) Typiquement, deux commandes sont gérées : –put (key, content) permet de placer une référence ou un objet (contenu) de clé key sur un pair –lookup (key) permet de retrouver un contenu à partir de sa clé Généralement, les réseaux structurés utilisent des DHT –Distributed Hash Table –Temps de recherche < log(N), N étant le nombre de nœuds –Supporte les évolutions du réseau: les pairs se connectent et se déconnectent –Différentes structures de réseau : anneau, hypercube, grid, tore …

15 15 DHT Mécanisme distribué et décentralisé permettant dassocier des valeurs de clés à un contenu par hachage de la clé –Chaque participant gère une partie de la table de hachage. –Performance en recherche de lordre de log(N) plus rapide quen non structuré (de lordre de N) et hybrides (de lordre de sqrt(N)) –Facilement reconfigurable lorsquun site se connecte ou se déconnecte Mécanisme général pour la localisation de ressources distribuées identifiées par des clés –Indexation de fichiers (clé = nom, contenu = adresse) –Partage de documents par contenu (clé = mots-clés, contenu = document) –Identification de personnes (clé = nom, contenu = clé public) –Fourniture de services persistants, e.g., indexation Fonction, de hachage consistante comme MD5, SHA1 pour éviter les collisions et bien équilibré la charge

16 16 Réseaux Hybrides Architectures où certains pairs ont des rôles différents –Super-pairs : généralement chargés de gérer des index pour les données des pairs –Pairs : gère les données indexées par les super-pairs Le réseau des super-pairs peut être structuré –Hiérarchie dindex (XPeer, MediaPeer) –DHT (Satine)

17 17 Exemple de Réseau Hybride

18 18 Domaines d'applications Recherche de fichiers Médiation dinformation –Basée schéma, données structurées –Optimisation de requêtes distribuées Moteur de recherche distribué –Basé mots-clés, données peu structurées Toutes ces applications ont besoin dunifier et intégrer des données ….

19 19 Interrogation versus Distribution Any RDBMS AmosII ObjectGlobe TSIMMIS TukWila Edutella Piazza Napster DirectConnect Gnutella KaZaA, P-GRID CAN CHORD Fixed schema /keywords key schema-based localdistributedP2P P2Presearch Database research

20 20 3. Exemple: Chord [Stoica 2001] Table de hachage distribuée Les clés et les pairs (adresse IP) sont hachés sur le même anneau (cercle) Fonction de hachage de m bit –Clés et pairs sont affectés à un identifiant ds [0..2 m -1] –Au plus 2 m –Au plus 2 m pairs –Succ(kid) : le plus petit identifiant de pair qui soit supérieur ou égal à k mod 2 m –Pred(kid) : le plus grand identifiant de pair inférieur à k mod 2 m Chaque clé didentifiant k est gérée par le pair suivant ou égal, i.e., didentifiant supérieur ou égal –Pred(Succ(kid)) < kid Succ(kid)

21 21 Exemple identifier circle identifier node X key succ(1) = 1 succ(2) = 3 succ(6)= 0 1) indexation

22 22 Recherche naïve Une recherche est adressée à un pair qcq –Le Peer[p] reçoit lookup(k) Il retourne la clé et son contenu si la clé est chez lui –Si clé k dans Peer[p] retourner (k, contenu) Sinon, il passe à son voisin lookup(k) –Il suffit de maintenir le pointeur Succ. Problème : la recherche est en O(N) !

23 23 Amélioration : Fingers Chaque pair maintient dans une table de routage appelée « fingers » les adresses IP dau plus m voisins La i-eme entrée des « fingers » du pair p désigne le premier pair successeur de p par au moins 2 i-1 sur lanneau –s = succ(p+2 i-1 ) s est appelé le i th « finger » du nœud p

24 24 Exemple finger table startsucc. keys finger table startsucc. keys finger table startsucc. keys For For For.

25 25 Routage amélioré Chaque nœud connait ses successeurs (N° et adresse IP) en puissances de 2 successives sur lanneau Il envoie ainsi la recherche au moins à moitié chemin de la distance restant à parcourir sur lanneau pour trouver la clé La recherche seffectue ainsi par dichotomie – le temps de recherche est en O(logN).

26 26 Exemple M=6 (N0 à N63) Chemin suivi pour lookup(54) issue à N8

27 27 Restructuration Dynamique Ajout dun pair P –Succ(P) est trouvé et le pointeur Succ. est initialisé –Les clés P de Succ(P) sont déplacées sur P –Le pointeur Succ. de pred(P) est mis à P Retrait dun pair P –Ses clés sont déplacées vers son successeur –Le pointeur Succ. de pred(P) est mis à Succ(P) Il faut mettre à jour les tables de routage –Ceci est fait périodiquement Le lien Succ. correct garantie la correction –Opération testSucc et testPred périodiques

28 28 Bilan Chord Algorithmes simples et robustes Recherche en log(N) Fiabilisation en maintenant n successeurs –Anneau résistant en cas de panne dun pair Comment mapper lanneau virtuel sur le réseau réel ? –Prise en compte de la distance réseau

29 29 Autres Structures CAN = espace à N dimensions HyperCuP, Pastry = hypercube P-GRID = Arbre binaire auto-adaptatif Plateformes – –JXTA de Sun

30 30 4. Médiation P2P: MediaPeer Il existe un grand nombre de sources (sites web) et il faut cibler les recherches pour chaque requête Chaque pair publie une vue ontologique des données gérées Utiliser des chemins de concepts pour retrouver les sources de données Idée clé: –indexé le web sémantique par des index distribués gérés par des super-pairs

31 31 Architecture de réseau Réseau hybride: –Pairs/Super-pairs. Topologie d'arbre –équilibrer les charges –structure dynamique Groupage sémantique: –Paires attachés à un super- pair selon les concepts exportés –Super-pairs regroupés sous super-pair peer super-peer

32 32 Réseau en arbre Avantages: –Partage des méta-données: Recherche efficace Recherche efficace Routage rapide des requêtes Routage rapide des requêtes –Passage à l'échelle Mécanisme d'éclatement si nœud trop chargé –Mises à jour facilitées –Réorganisation rapide en cas de panne Inconvénients: –La racine reçoit toutes les requêtes –Saturation de la racine ?

33 33 Routage de requêtes Routage selon XPath (de concepts) Routage selon XPath (de concepts) Basé sur des indexes de chemins Basé sur des indexes de chemins – Gérés par les super-pairs Politique de routage d'un nœud Politique de routage d'un nœud Toujours: passer la requête à son parent Toujours: passer la requête à son parent Selon l'index: passer la requête aux enfants Selon l'index: passer la requête aux enfants

34 34 Exemple: Extraction des chemins For $h in collection("PLAYERS"), For $h in collection("PLAYERS"), $i in collection("TEAMS") Where $h/player/team=$i/club Return {$h/player/name} {$i/stade} Return {$h/player/name} {$i/stade} PLAYERS player team name stade TEAMS club For $h in collection("PLAYERS") Return {$h/player/name} {$h/player/team} For $i in collection("TEAMS") Return {$i/club} {$i/stade}

35 35 Le routage

36 36 Optimisation des indexes Problème: –La racine indexe tous les chemins de concepts –Taille de l'index racine ? Solution: Index partiel de type Patricia trié –Index avec précision adaptable –Pour chaque concept on garde les n premiers caractères –Précision de plus en plus faible en montant les niveaux –Routage rapide sur reconnaissance de préfixes

37 37 Index Trié Zidane Real de Madrid 30 Versailles

38 38 Médiation des données Découverte des sources pertinentes par les super-pairs Réduction des données et transferts par les pairs Traitement de la requête globale par le médiateur XLive Traitement de la requête globale par le médiateur XLive

39 39 Bilan MediaPeer Ce qui est proposé –Architecture de médiation sémantique –Découverte des sources en pair à pair –Des premières mesures de performance Ce qui reste à faire –Valider par plus de mesures –Développer les techniques de reprises –Intégrer les mappings sémantiques –Lever le goulot détranglement de la racine

40 40 5. Médiation P2P: PathFinder Besoin dinterroger un grand nombre de sources sur le web Moteur de recherche distribué pour XML/XQuery Il faut localiser les sources pertinentes pour chaque requête Chaque pair publie une vue « ontologique » des données gérées Utiliser des chemins de concepts pour retrouver les sources de données Idée clé: –Utiliser une DHT pour localiser les chemins En cours de réalisation à PRiSM

41 41 Objectives P2P network architecture suitable for: –Indexing of XML fragments (XML paths + Data). –Processing XML queries (path and twig-queries) by routing XML paths. –Easy to extend to a semantic level. Optimized architecture based on the observations of the previously proposed archirecture: –MediaPeer: A Safe, Scalable P2P Architecture for XML Query Processing. DEXA Workshops 2005 DEXA Workshops 2005DEXA Workshops 2005 –Routing Xquery in a P2P Network using Adaptable Trie- indexes. IADIS International Conference WWW/Internet 2005, Lisbon, Portugal, October 2005

42 42 Network model DHT network: –Decentralized. –Self-organizing. –Scalable. –Fault tolerance. –Guaranteed lookup complexity. –Chord model: Model adapted to our path indexing requirements. Easy to extend.

43 43 Indexing method Path clustering (observation from [MediaPeer]): – Index paths with similar structure at the same peer in the DHT. –Adapt to Chord indexation method: Assign IDs from 0..2^m to peers and keys: consistent hashing. Store each key at the first node with an identifier that is equal or follows the key identifier. –Map paths to identifiers in 0..2^m so that paths with similar structure (similar prefix) are mapped to close IDs. –What about consistent hashing ? Index distribution.

44 44 Path mapping method XML paths: –Path := element ("/" element )* –Example: catalog/book/isbn Hash each element to a numerical value: –Example: Hl(catalog)=2 ; Hl(book)=1; Hl(isbn)=3 –Hash function distributed to each peer –Hash function may keep lexical order (range query) Based on the element values compute the path value: –Pi = t1/(2a+1)^1 +t2/(2a+1)^2 + … + tn/(2a+1)^n –t1= Hl(element1) ; t2 = Hl(element2) ; …. ; tn = Hl(elementn) –a = hashing domain. –Example: P(catalog/book/isbn)= 2/41 + 1/41^2 + 3/ 41^3. Where hashing domain = 20.

45 45 Path mapping method II Based on the previous mapping method, index XML paths in Chord XML paths with similar prefix indexed by the same peer Several elements have associated values: author,title Chord Network 1/(2 x α +1 ) 2/(2 x α +1 ) 5/(2 x α +1 ) Peer1 Peer2 Peer catalog book isbn price title author Peter Alon David Agnes Ricardo XML … Indexing … Benchmark.. Algorithm … Routing …

46 46 Index distribution Path clustering no consistent hashing: –The path load not uniformly distributed to peers. Clustering solution: –Re-index sub-paths from an overloaded peer. Observations: –Keep maximal prefix at the same peer. –Clustering to the same peer cluster on different prefix. –Uniform path distribution might not be reached BUT clustering maintained. Chord Network 1/(2 x α +1 ) 2/(2 x α +1 ) 5/(2 x α +1 ) Peer1 Peer2 Peer catalog book isbn price title author Peter Alon David Agnes Ricardo 2 3 title XML … Indexing … Benchmark.. Algorithm … Routing …

47 47 Query evaluation Network model adapted to twig-query evaluation: Evaluate the common prefix. Starting from the peer indexing the common prefix, evaluate the rest of sub-paths. Example: –for $b in collection(catalog)/book where contains ($b/author, Alon) and contains ($b/title,XML) return $b/price First route: /catalog/book –> Map to numerical value and route all the query to the corresponding peer. Depending on the local indexed values evaluate the remaining sub-paths.

48 48 6. Semantic Web Nouvelle vision du Web Avec une sémantique commune

49 49 Web Sémantique Évolution du Web pour rendre l'information plus accessible Un vaste espace de documents semi- structurés (XML) Décrire le contenu avec un formalisme à base de connaissances (RDF) Utiliser des ontologies communes (RDF Schema, OWL) pour annoter les documents

50 50 Qu'est-ce que la sémantique? signification des mots composés rapports de sens entre les mots Opposé à syntaxe (fond/forme) Dégager du sens des mots

51 51 Qu'est ce qu'une Ontologie ? Définition de termes et relations entre termes utilisés pour décrire un domaine de connaissance Exemples: –Finance, Tourisme, Transport, Médecine, Immobilier... Utilisée par les gens, les bases de données et les applications pour partager l'information et son sens Définition des concepts de base, de leurs propriétés et relations

52 52 Cas d'usage Portails Web –Description des informations publiées Objets multimedia –Description des images, films,... Site Web d'entreprise –Unifier les informations Documentation de conception –Description des documents d'ingénierie Agents et services –Description de connaissances échangées Calculateurs embarqués et mobiles –Description des capacités des mobiles et terminaux

53 53 Objectifs de Conception Ontologies partagées Ontologies évolutives Ontologies interoperables Détection d'incohérences Equilibre entre puissance d'expression et échelle Facilité d'utilisation Compatibilité avec autres standards Internationalisation

54 54 Exemple d'Ontologie (OTA)

55 55 Sémantique Web et Web Services Le Web Sémantique vise à: –Faciliter les liens sémantiques pour le partage d'information et l'interopérabilité –Automatiser les communications et les évaluations de requêtes basées sur la composition de Web Services Semantic Web et Web Services sont complémentaires: –Semantic Web= Interopérabilité sémantique des contenus –Web Services= Interopérabilité syntaxique des échanges

56 56 Sémantique Web et Médiation Finance Ontology Ontology Boursorama Ontology FirstInvest Wrapper Mediator Boursorama Schema Local 2 Schema Local 1 XQuery Schema Global Finance Ontology Mapping FirstInvest wrapper

57 57 Mapping Centralisé –Passage par une ontologie de référence –Chaque site : Décrit ses données en fonction de son ontologie locale (dans son langage) Schéma local Map ses descriptions (types …) en fonction dune ontologie globale (langage pivot) Schéma exporté –Le schéma global est lintégration des schémas exportés Décentralisé –Un site map ses descriptions vers ses voisins –Risque dexplosion combinatoire –N² mapping au lieu de N il faut limiter lhorizon des voisins

58 58 Exemple de Mapping dOntologie Tourism Organisation 1 Address - Street&Number - PostalCode - City Tourism Organisation 2 Location - Street - StrNumber - City&ZIP

59 59 Sémantique Web et P2P Computing PC, Win2K, Java Mobile, Symbian, C MainFrame, UNIX, C++ Mac, MacOsX, Python Sensor, TinyOS, Obj-c refridgerator, TinyOS, Perl

60 60 Bilan Sémantique Web Pertinence des ontologies –Web Services Description du profile Description des services –Médiation Description des sources Description des schémas d'intégration –P2P Définition des mots-clés Définition des mappings

61 61 8. Conclusion P2P et médiation sintègrent Nécessité de parler des mêmes objets dans le même langage –Ontologie –Mapping dontologie Besoin de passer à léchelle du Web Autre projet : Piazza –Mappings décentralisés


Télécharger ppt "1 De la médiation au Pair-à-Pair Georges Gardarin Nicolas Travers."

Présentations similaires


Annonces Google