Completamento Compilazione ed Esecuzione Query in XPeer Facoltà Di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Completamento Compilazione ed Esecuzione Query in XPeer Donato Ferrante e Michele Freschi Tutore Accademico: prof. Giorgio Ghelli
Cos’è XPeer Database XML Distribuito; Pensato per il Resource Discovery; Basato su un infrastruttura Peer-To-Peer; In grado di autoamministrarsi; Compilazione ed Esecuzione in fasi distinte.
Sistema root superpeer virtuali peer interrogazione Ad ogni peer è associato uno schema Ad ogni SuperPeer è associato un super-schema risultato
È un insieme di superpeer con stato condiviso SuperPeer Virtuale SuperPeer Virtuale SP 1 SP n È un insieme di superpeer con stato condiviso SuperPeer
Cloning SPV1 aumenta la propria cardinalità SPV 1 SP1 SP2 SPV 1 SP1 SPV1 è sovraccarico…
SPV 1 ha costi di sincronizzazione Splitting Splitting SPV1 dimezza la propria cardinalità I figli di SPV1 vengono ridistribuiti P5 P7 SPV 1a SP1 P1 P9 SPV 1b SP4 SP5 SP8 SPV 1 SP1 SP8 P1 P2 P7 SPV 1 ha costi di sincronizzazione elevati
MetaSearch { Px } invoker Ricerca di risorse nella rete. root Px Py (TTSIQ=2) (TTSIQ=1) SPV1 SPV2 (TTSIQ=3) (TTSIQ=2) SPV3 SPV4 SPV5 SPV6 { Px } (TTSIQ=4) Px Py invoker
MetaUpdate (SchemaUpdate) Gestisce la corretta sincronizzazione dello stato del sistema. Sc_root = union {Sc_v1, Sc_v2, Sc_v3} Sc_root = union {Sc_v1, Sc_v2, Sc_v3} root SPV1 SPV2 SPV3 Sc_v1 = union { Sc_x, Sc_1} Sc_v1 = {Sc_1} Sc_v2 = union { Sc_2, Sc_3} Sc_v3 = union { Sc_4, Sc_5} Px P1 P2 P3 P4 P5 Sc_x Sc_1 Sc_2 Sc_3 Sc_4 Sc_5
Compilazione ed Esecuzione Fase di Compilazione innescata da un Peer (invoker); identifica i Peer con dati “interessanti”. Fase di Esecuzione i peer individuati vengono coordinati dall’invoker per l’esecuzione dell’interrogazione.
Tree-guide Albero di nodi etichettati Inferito dai documento XML Descrive in modo sintetico il documento XML: Rappresenta tutte le possibili navigazioni Valori contenuti (Filtri di Bloom, Liste di valori) <cdl> <corso> <docente>Giorgio Ghelli</docente> <sigla>BDL</sigla> <cfu>6</cfu> </corso> <docente>Marco Vanneschi</docente> <sigla>ASE</sigla> <cfu>9</cfu> </cdl>
Query e Tree-guide Il tree-guide viene confrontato con l’interrogazione Per sapere se l’esecuzione sul corrispettivo documento XML produrrebbe qualche risultato L’algoritmo di confronto prende il nome di schema-match verifica compatibilità di uno schema con una interrogazione compatibile: l’esecuzione reale potrebbe produrre qualche risultato non compatibile: se l’esecuzione reale non produrrebbe alcun risultato
Peer interessanti:{p2} Peer interessanti:{p2, p3, p5} Compilazione: un esempio root SPV1 SPV2 SPV3 p1 p2 p3 p5 p6 p7 p8 Peer interessanti:{p2} Peer interessanti:{p2, p3, p5}
Esecuzione Decomposizione dell’interrogazione in sotto-interrogazioni (“pipe”) Le sotto-interrogazioni sono spedite ai rispettivi peer remoti Ogni peer remoto ottimizza ed esegue la sotto-interrogazione Il peer che ha inoltrato l’interrogazione riceve i risultati Path Sigma Union Return pipe-2 pipe-1 SPV SPV p1
Conclusioni e Risultati Sperimentali Risultati relativi alla precisione delle interrogazioni in relazione alla dimensione dei filtri di bloom Buona parte del lavoro di tirocinio è consistito nell’integrazione del treeguide e nel testing e misurazione di tutta la fase di compilazione
Ringraziamenti Prof. Giorgio Ghelli Dott. Carlo Sartiani