GdR I3 - SPHERE - 22 juin 05
Médiation et Classification Sémantique dans une Architecture Pair-à-Pair
Nicolas Lumineau([email protected])
Équipe Base de Données du LIP6
Objectif
Elaborer un système de partage de données hétérogènes et distribuées: Autonome Passant à l’échelle Décentralisé Evolutif ( auto-gérable ) Permettant une localisation efficace des
données pertinentes
Contexte PADOUE (1)
Une importante masse de données sémantiquement pauvres
distribuées à travers le monde
Projet ACI GRID
Une importante masse demétadonnées sémantiquement riches
distribuées à travers le monde
Métadonnées Métadonnées
Métadonnées
Métadonnées
Métadonnées
Contexte PADOUE (2) Réseau de partage de métadonnées :
structurées qui référencent les données normalisées (norme de publication)
Attributs normalisés Attributs spécifiques
étiquetées par un ou plusieurs thèmes
Une taxonomie définie les thèmes couverts par le réseau de partage de données
connaissance globale partagée par tous les nœuds
Environnement
hydrologie climatologie
océanographie océanologie hydrogéologie météorologie paléoclimatologie
…
Norme
Schema
Architecture Pair-à-Pair basée sur la médiation de données
SolutionCréation d’un réseau pair-à-pair non structuré permettant l’interopérabilité d’un grand nombre de médiateurs
Complémentarité Pair-à-Pair / MédiateurPair-à-Pair :
+ Large échelle et dynamicité - Données faiblement structurées et langage de requête pauvre (simple mots-clés)
Médiateur :+ Langage de requête de haut niveau (SQL, Xquery…)- Sources figées et en faible nombre
Sémantique+ Vision sémantique du réseau
LeSelect
SQL
Plan Schéma de médiation personnalisé
Architecture pair-à-pair basée sur la médiation Génération des schémas de médiation
Schéma publié (dédié à l’échange à travers le réseau) Schéma thématique (dédié à l’interrogation du réseau)
Interrogation du réseau Organisation sémantique du réseau
Critères sémantiques Service de classification distribué Protocole d’insertion de nœuds
Expérimentations & Travaux Connexes Conclusion
Objectif Offrir aux utilisateurs du réseau de partage un outil de localisation
transparente de données structurées.
Contraintes principales Absence de coordination entre les fournisseurs de données Large échelle (grand nombre de sources d’information) Dynamicité du réseau
Utilisateur Réseau
Médiateur
1: Découverte du réseau
2 : Extraction des données
Finalité:Construire un schéma de médiation personnalisé
aux besoins des utilisateurs
Finalité:Récupérer les tuples filtrant la requête
Découverte du réseau Construire un schéma de médiation (schéma thématique) pour un thème donné
à partir des schémas disponibles sur le réseau (schéma publié).
Problèmes:1) Comment publier ses sources ?
2) Comment traiter l’intégration des attributs spécifiques ?
A
B
C
Utilisateur
Schéma thématique pour thème «H»
Schéma publié de «A» pour thème «H»
Schéma publié de «B» pour thème «H»
Source
Source
Inté
grat
ionpu
blic
atio
npu
blic
atio
n
Rés
eau
P
2P
Architecture globale Un pair représente un organisme Double rôle : producteur et utilisateur
Sources
MEDIATEUR
Réseau
Communication
P2P
Intégrateur
Interface UtilisateurSchéma Source
SchémaThématique
Pair
Phase 1
Publication
Phase 2
Intégrationdynamique
Schéma de Publication
Schéma de PublicationSchéma de PublicationSchémaPublié
Publieur
Schéma Publié
Rôle fournisseur Rôle utilisateur
Table de voisinage
Service Web
SOAP
Sources
Enrichissement sémantique des schémas de médiation Objectifs:
Faciliter l’échange de schémas à travers le réseau Permettre un traitement efficace des requêtes à venir
Dimensions sémantiques
type contraintes thématique localisation qualité description sémantique
Dimensions classiques
Dimensions supplémentaires
Instanciations
Schéma publié
<publishedSchema theme="hydrology" source="//[email protected]/" quality=5> <relation name="Dyke"> <sequence normalized=“yes”> <xs:element name="langCd" type=”string”> <description info=”document language code”/> </xs:element> <xs:element name="countryCd" type=”string”> <description info=”document country code”/> </xs:element> </sequence> <xs:sequence normalized=“no”> <xs:element name="lineage_stat" type=”string”> <description info=”statement of lineage”/> </xs:element> </sequence> </relation>…</publishedschema>
Schéma thématique
<thematicSchema theme="hydrology" freshness=1106129611224 > <relation name="Dyke"> <xs:element name="langCd" type=”string”> <description info=”document language code”/> <source uri="//[email protected]/"/> <source uri="//[email protected]/"/> </xs:element> <element name="countryCd" type=”string”> <description info=”document country code”/> <source uri="//[email protected]/"/> <source uri="//[email protected]/"> <mapping as="countryCd"> </sources> </element> <element name="lineage_stat" type=”string”> <description info=”statement of lineage”/> <source uri=“//[email protected]/“/></xs:element></relation>….</thematicschema>
Permet la détection de conflits
Permet la réutilisation et le partage des
schémas thématiques
Permet la résolution des conflits
A Couche de Publication
Génération d’un schéma publiéÉtape 1: Récupérer les informations sur le thème de publication
Fournisseur
Ré
sea
u
Étape 2: Configurer le médiateur Définition des wrappers Définition des vues
Sources
Publier données thème H
Étape 3: Description sémantique des attributs
Sources
Médiateur
Schéma publié de «A» pour thème «H»
Publieur
Interface Fournisseur
H
Catalogue des descriptions sémantiques
Schéma thématique pour thème «H»
Norme de publication
Étape 4: Configurer le service web
Service Web
D
A
B
Génération d’un schéma thématique (1)
Étape 1: Découverte des schémas publiés associés au thème H
Fournisseur
Fournisseur
C
Utilisateur
Service ID de A
Service ID de B
Besoin de données sur thème «H»
Réseau P2P
HH
Schéma publié de «A» pour thème «H»
Schéma publié de «B» pour thème «H»
EF
G
C
A
B
SW
SW
SW
D
Génération d’un schéma thématique (2)
Fournisseur
Fournisseur
Utilisateur
Service ID de A
{IP_A}
Service ID de B
{IP_B}
Besoin de données sur thème «H»Réseau
P2PSchéma publié de «A» pour thème «H»
Schéma publié de «B» pour thème «H»
EF
G
Étape 3: Collecte des URLs des services web pertinents
Étape 4: Récupération et Intégration des schémas publiés
Schéma thématique pour thème «H»
Étape 5: Affichage à l’utilisateur du schéma thématique associé au thème H
Algorithme d’Intégration Processus d’intégration
Détection des conflits Gestion des conflits Mémorisation des mappings
Intégration des schémas publiés: Analyse basée sur le schéma au niveau élément (et non au niveau
structure) Approche linguistique sur la technique de «description matching»
Extraction des mots clés des descriptions d’attributs Calcul de distance sémantique
Intégration coûteuse: Structure de contrôle du processus d’intégration basée sur la qualité des
schémas publiés Schémas de même qualité : intégration = union stricte Schémas de qualités différentes : intégration = analyse linguistique
Traitement adaptatif des requêtes SQL
N1 N2 N3
N4 N5 N6 N7
N8 N9 N10
N0
médiateur
Communication synchrone
Ni Nœud
Utilisateur
Traitement de médiateur à médiateur
N1 N2 N3
N4 N5 N6 N7
N8 N9 N10
N0
Propagation :
Requête
résultats
Ni Nœud
Utilisateur
Traitement via le réseau Pair-à-Pair
Quid de la distribution des thèmes ?Pour un thème populaire, risque de construire une connaissance quasi globale du réseau !
Définition d’un seuil limitant le nombre de sources mémorisées pour un attribut et au-delà duquel le système préfère ne rien mémoriser
Seuil évolutif selon la capacité et la charge du médiateur
Optimisation du système Remarque
Performance du système dépend de la rapidité de la localisation des schémas publiés
PropositionOrganiser sémantiquement le réseau en fonction du thème des données Réduire la distance logique entre des nœuds stockant des données de même thème
Architecture non P2P
(avec tous les nœuds interconnectés)
Architecture P2P
(choix aléatoire des voisins – à la Gnutella)
Architecture P2P
(choix des voisins tenant compte du contenu sémantique des nœuds)
Plan Schéma de médiation personnalisé
Architecture pair-à-pair basée sur la médiation Génération des schémas de médiation
Schéma publié (dédié à l’échange à travers le réseau) Schéma thématique (dédié à l’interrogation du réseau)
Interrogation du réseau Organisation sémantique du réseau
Critères sémantiques Service de classification distribué Protocole d’insertion de nœuds
Expérimentations & Travaux Connexes Conclusion
Nœud
Table de voisinage
Gestionnaire d’insertion de noeuds Construire le réseau en déterminant le voisinage logique pertinent pour le nœud
voulant se connecter
Problèmes:1) Qui gère l’insertion des noeuds?2) Comment ne pas rapprocher logiquement des nœuds physiquement très éloignés ?
Outil de classification
Vecteur de sortie
(IPs du voisinage pertinent)
(représentation sémantique du contenu d’un nœud)
Vecteur d’entrée
classe
Outil d’ordonnancement
Gestionnaire d’insertion
Représentations sémantiques Critère de classification
Contenu des données
Critère d’ordonnancement Approximation de la localisation physique du nœud
Taxonomie de thèmes
A
B C D
E F G H Idonnées
100 100 0 …50 0 50
(d1,E,…)(d2,G,…)
Analyseur de données
A B C …E F G
N1 N2 N3
Ni
560
10 5 60 10
Vecteur thématique
Vecteur de localisation
Service de classification
Service de classification
V
Classifieur
V1 V2 … Vn
P11 P12 … P1n
P21 P22 … P2n
Pk1 Pk2 … Pkn
V1 V2 … VnV1 V2 … VnV1 V2 … Vn
d1
d2
dk
inoutargmin {di}
i=1,…,k
Classe Clj
update
P’11 P’12 … P’1n
P’21 P’22 … P’2n
P’k1 P’k2 … P’kn
ClassifieurC’est un algorithme qui permet de regrouper (ou segmenter)une collection de données en différents ensembles, tel que les similarités entre individus d’un groupe donné soient plus importantes que celles entre individus de classes différentes
Exemples: K-means, cartes auto-organisatrices de Kohonen …
Classifieur non supervisé basé
sur un réseau de neurones
Neural net.
N3 (associé aux classes Cl7,Cl8,Cl9)
N2 (associé aux classes Cl4,Cl5,Cl6)
N1 (associé aux classes Cl1,Cl2,Cl3)
Vers un service de classification distribué
Classifieur
Distribution du classifieur et de l’ordonnanceurAttribuer la charge des calculs de la classification à plusieurs nœuds considérés comme stable
P11 P12 … P1n
P31 P32 … P3n
P21 P22 … P2n
P41 P42 … P4n
P51 P52 … P5n
P61 P62 … P6n
P71 P72 … P7n
P81 P82 … P8n
P91 P92 … P9n
N1 (associé aux classes Cl1,Cl2,Cl3)
Nœud entrant
N3 (associé aux classes Cl7,Cl8,Cl9)
N2 (associé aux classes Cl4,Cl5,Cl6)
Insertion d’un nœud dans le réseau (1)
Classifieur
Étape 1: Interrogation du classifieur distribué Récupération des distances sémantiques P11 P12 … P1n
P31 P32 … P3n
P21 P22 … P2n
P41 P42 … P4n
P51 P52 … P5n
P61 P62 … P6n
P71 P72 … P7n
P81 P82 … P8n
P91 P92 … P9n
V1 V2 … Vn
d1d2d3
d4d5d6
d7d8d9
V1 V2 … Vn
V1 V2 … Vn
e1
e2
e3
V1 V2 … Vn
Vecteur thématique V
V
V
Ve1 e2 e3
d7,d8,d9,e3
d1,d
2,d3
,e1
d4,d5,d6,e2 Cl4 = argmin{di}
Étape 2: Election de la classe gagnante Construction du vecteur de localisation
Nœud entrant
Insertion d’un nœud dans le réseau (2)
e1 e2 e3
N3 (associé aux classes Cl7,Cl8,Cl9)
N2 (associé aux classes Cl4,Cl5,Cl6)
N1 (associé aux classes Cl1,Cl2,Cl3)
Cl4
MAJ (Cl4)
MAJ (Cl4)
MAJ (Cl4)
Ordonnanceur
e1 e2 e3 IP1 4 10 6
IP2 6 8 15
… … … …
N1 N2 N3
{IP2, IP6, IP10,…}
Étape 3: Notification de la classe gagnante Envoi du vecteur de localisation à N2
Étape 4: Tri des nœuds mémorisés comme
appartenant à Cl4 Récupération des k premières adresses
Construction de la table de voisinage Trouver un bon compromis entre des liens de voisinage
intra et inter clusters
Pour une table de voisinage de p adresses
Les k premiers nœuds du classement
-----------
Intra-cluster
Inter-clusterp - k nœuds parmi les clusters voisins
Grille de neurones
Stratégies de clusterisation
Gnutella ClusteriséClusterisé optimisé
Maintenance du système
Évolution de la taxonomie En cas de modification de la taxonomie, il est
important de pouvoir répercuter ces modifications sur les vecteurs thématiques
Régénération du Vecteur Thématique Dès que de nouvelles données sont insérées dans les
sources, le Vecteur Thématique doit être mis à jour. Récupération d’un nouveau voisinage
Modèle de coût basé sur:
L’efficacité du traitement des requêtes de localisation Nombre moyen de rebonds nécessaires à la localisation des
nœuds pertinents Courbes de Rappel / précision
Coût de maintien du système Échanges de messages supplémentaires
Stage de DEA : Comparaison de stratégies de clusterisation de réseau
P2P par Julien Tanguy
Expérimentations Tests effectués
Par prototypage Simulateur réparti (communication UDP)
Agents simulant les utilisateurs et les fournisseurs Données fictives Pondération aléatoire pour simuler les distances
physiques Pour l’instant, jusqu’à 1000 nœuds (limite due aux
nombres d’instances de médiateurs par noeud)
Performances (1)
Rappel / Précision (moyenne sur 10 requêtes sur un réseau de 200 pairs)
Travaux connexes P2P dédié au partage de données
PeerDB Gossiping Edutella Piazza PIER PinS …
P2P & Clustering Semantic overlay network Semantic small world pSearch …
Conclusion
Architecture de médiation basée sur la complémentarité du pair-à-pair et des médiateurs
Schémas facilitant les échanges entre pairs: Publication des données Schéma publié Intégration dynamique des schémas publiés Schéma thématique
Schéma de médiation reflétant la réalité du réseau
Service de classification distribué et adapté à l’organisation sémantique des nœuds d’un réseau P2P
Classification consensuelle qui tient compte: de la distance sémantique entre les nœuds de la distance physique entre les nœuds
Questions ?