Aggiornamento dei dati in una rete peer-to-peer di database: il progetto Hyperion

Laurea liv.I

Facoltà: Scienze Matematiche, Fisiche e Naturali

Autore: Piero Turra Contatta »

Composta da 57 pagine.

 

Questa tesi ha raggiunto 449 click dal 10/10/2008.

Disponibile in PDF, la consultazione è esclusivamente in formato digitale.

 

 

Negli ultimi anni si sta sempre più utilizzando la tecnologia del peer to peer, ossia reti informatiche che non possiedono client fissi, ma una serie di nodi che fungono sia da client che da server, ogni nodo è chamato peer. Attualmente questo sistema è utilizzato per la diffusione di notizie, per il file sharing e da alcuni client di instant messaging.
Hyperion è un progetto attuato tramite la tecnologia peer-to-peer che ha lo scopo di definire un sistema per l’amministrazione dei dati. In pratica questa tecnologia viene usata per amministrare vari database indipendenti in vari peers, permettendone la comunicazione tramite la traduzione dei dati.
In particolare il sistema permette anche la manipolazione dei databases e la propagazione delle modifiche attraverso la rete, effettuando inserimenti e cancellazione di dati.
Con tale sistema però potrebbero verificarsi delle inconsistenze nei dati tra i peers, infatti per aggiornare un campo è necessario eseguire una cancellazione e successivamente un inserimento inviando due messaggi distinti. Le due operazioni potrebbero non venir effettuate nel guisto ordine oppure solo in parte a causa di eventuali ritardi dovuti alla propagazione dei pacchetti attraverso la rete o alla loro perdita. Ciò potrebbe causare notevoli disagi in applicazioni come ad esempio databases di compagnie aeree: se per un volo in comune tra due compagnie fosse necessario aggiornare un dato e ciò non avvenisse correttamente, in uno dei database potrebbero trovarsi più istanze dello stesso volo oppure nessuna.
L’obiettivo di questa tesi è quello di rendere consistente l’aggiornamento dei dati, rendendolo attuabile tramite un’unica operazione che sostituisca le azioni di cancellazione e inserimento consecutive. Ciò permette di propagare tutte le modifiche tramite la rete con un unico messaggio.
Nei seguenti capitoli si illustrerà dapprima lo stato dell’arte per quando riguarda i peer to peer, poi con più attenzione gli obiettivi e la struttura di Hyperion.
Di seguito verranno descritte le tecnologie sfruttate nella comunicazione tra i peers: le mapping table e le ECA rule. Successivamente verrà chiarito il problema da risolvere, la soluzione che è stata adottata e l’esito di alcuni test effettuati per verificarne la correttezza.

Mostra/Nascondi contenuto.
Capitolo 1 Introduzione Negli ultimi anni si sta` sempre piu` utilizzando la tecnologia del peer to peer, ossia reti informatiche che non possiedono client fissi, ma una serie di nodi che fungono sia da client che da server, ogni nodo e` chamato peer. Attualmente questo sistema e` utilizzato per la diffusione di notizie, per il file sharing e da alcuni client di instant messaging. Hyperion e` un progetto attuato tramite la tecnologia peer-to-peer che ha lo scopo di definire un sistema per l’amministrazione dei dati. In pratica questa tecnologia viene usata per amministrare vari database indipendenti in vari peers, permettendone la comunicazione tramite la traduzione dei dati. In particolare il sistema permette anche la manipolazione dei databases e la propagazione delle modifiche attraverso la rete, effettuando inserimenti e cancellazione di dati. Con tale sistema pero` potrebbero verificarsi delle inconsistenze nei dati tra i peers, infatti per aggiornare un campo e` necessario eseguire una cancel- lazione e successivamente un inserimento inviando due messaggi distinti. Le due operazioni potrebbero non venir effettuate nel guisto ordine oppure solo in parte a causa di eventuali ritardi dovuti alla propagazione dei pacchetti attraverso la rete o alla loro perdita. Cio` potrebbe causare notevoli disagi in applicazioni come ad esempio databases di compagnie aeree: se per un volo in comune tra due compagnie fosse necessario aggiornare un dato e cio` non avvenisse correttamente, in uno dei database potrebbero trovarsi piu` istanze dello stesso volo oppure nessuna. L’obiettivo di questa tesi e` quello di rendere consistente l’aggiornamento dei dati, rendendolo attuabile tramite un’unica operazione che sostituisca le azioni di cancellazione e inserimento consecutive. Cio` permette di propagare tutte le modifiche tramite la rete con un unico messaggio. Nei seguenti capitoli si illustrera` dapprima lo stato dell’arte per quando riguarda i peer to peer, poi con piu` attenzione gli obiettivi e la struttura di 5