Reti L-S 2005 Servizio per la ricerca distribuita basato sul protocollo Rossi Daniele 193074.

Slides:



Advertisements
Presentazioni simili
Introduzione ad XML Mario Arrigoni Neri.
Advertisements

Estendere i linguaggi: i tipi di dato astratti
di Architetture Peer to Peer per la Gestione di Database Distribuiti
Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Alberi binari di ricerca
Middleware per MANET WP3 Alessandro Ghioni
Peer To Peer (o quasi) Gennaro Cordasco.
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Ancora esercizi!!! Chernoff Bound allora
Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – –
Autori: I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley Chord: A Scalable Peer-to-peer Lookup Service for Internet.
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
P2P (o quasi): Peer To Peer (o quasi) Gennaro Cordasco.
Sistemi P2P avanzati Lezione 3 Chord seconda parte.
Sistemi P2P Facciamo un piccolo test Quanti successori ha un nodo nel protocollo Chord? (m) (1) (log N) (nessun prec.) Aumentando il numero di identificatori.
Sistemi P2P Facciamo un piccolo test Quanti successori ha un nodo nel protocollo Chord? (m) (1) (log N) (nessun prec.) Aumentando il numero di identificatori.
Sistemi Peer To Peer (P2P)
Presentazione del progetto di: Reti di calcolatori L-S Matteo Corbelli.
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Un sistema software per la vendita di prodotti on-line Università degli studi di Bologna Facoltà di ingegneria Reti di calcolatori L-S Studente: Rinaldi.
P ROGETTO PERMESSO PER SISTENT MESS AGING IN AD H O C NETWORKS Presentazione di Manuela Bassetti Corso di Reti di Calcolatori L-S AA Progetto.
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
Stefano Lama Stefano Maggiore Giacomo Tartari. Scenario applicativo Crescente diffusione di dispositivi dotati di connettivita wireless porta a… … possibilità
Global Virtual Tuple Space
PERMESSO PERsistent MESSaging in ad hOc networks Alessio Franco Matr Corso di Reti di Calcolatori LS A.A. 2005/2006.
1 Packet Manager Sistema di gestione di pacchetti software per il progetto dell'esame di Reti di Calcolatori LS Progetto realizzato da Fabio Parisini.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori L-S AA Presentazione di Roberto Gamboni Progetto di Giuseppe Vitalone,
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
Situazione attuale delle reti e problematiche
Reti di Telecomunicazione Lezione 16 Corso di reti per le telecomunicazioni.
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
David Novak and Pavel Zezula GRUPPO 13 Decorte Andrea Giammarino Giuseppe.
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
L’architettura a strati
Architettura dei Servizi di Directory Università Cattolica del Sacro Cuore - Sede di Brescia - Facoltà di Scienze Matematiche Fisiche e Naturali Corso.
Un sistema per la replicazione ottimistica in una rete di pari Progetto di Reti di calcolatori LS Federico Grassi a.a. 2004/2005.
Progetto di un Agente per l’Apprendimento mediante Alberi Decisionali in ambito distribuito Studente: Luca Monaco Anno Accademico
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Progetto di: Daniele De Angelis Corso di: Reti di Calcolatori LS Un sistema fault tolerance per protocollo Diffie-Hellman.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Livello 3 Network (Rete)
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
Multi agent System per la gestione di feed RSS. Obiettivi  Progettazione di un sistema ad agenti basato su tucson per la gestione di feed RSS  Sviluppo.
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
P2P Reliable Multicast Messenger Progetto e realizzazione di un software peer to peer per comunicazioni di gruppo.
Overlay network strutturate per applicazioni peer to peer Lorenzo Castelli.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Middleware per la sincronizzazione di ambienti eterogenei Progetto di Reti di Calcolatori LS Emanuele Crescentini matr Ingegneria Informatica LS.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Università degli Studi di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Scienze dell’Informazione Università degli Studi.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Mobile Agent and Enterprise Architecture Integration Il Gestore di Librerie e Servizi Lambertini Riccardo.
JDICS Java Dynamic Infrastructure for C/S systems Laura Galli matr Reti di calcolatori LS, Prof. A.Corradi A.A
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Proprieta’ e caratteristiche strutturali dei sistemi.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
Prof.ssa Rossella Petreschi Lezione del 17 /10/2014 del Corso di Algoritmica Lezione n°5.
Transcript della presentazione:

Reti L-S 2005 Servizio per la ricerca distribuita basato sul protocollo Rossi Daniele

Reti L-S 2005 Architettura WebServer layer eBiblioServer layer ChordNode layer Interfaccia per effettuare la ricerca Area in cui viene mostrato il risultato

Reti L-S 2005 Architettura WebServer layer eBiblioServer layer ChordNode layer WebServer basato sul progetto Cassini Si pone in ascolto sulla porta 80 del nodo locale Interpreta le richieste provenienti dallinterfaccia Web Interroga il livello sottostante e fornisce una rappresentazione del risultato come pagina html Supporta linterrogazione a partire dal codice ISBN di unopera Si pone in ascolto sulla porta 6001 del nodo locale Gestisce la replicazione delle informazioni sui nodi della rete Interroga il livello sottostante per individuare il nodo della rete che mantiene linformazione cercata Supporta linterrogazione a partire dalla chiave di una risorsa Implementa il protocollo di rete CHORD Si pone in ascolto sulla porta 6000 Gestisce bilanciamento di carico, disponibilità e scalabilità Gestisce join e leave multiplo di nodi

Reti L-S 2005 Introduzione P2P: cosè? Peer-to-peer systems and applications are distributed systems without any centralized control or hierarchical organization, where the software running at each node is equivalent in functionality. [SMK+01] Usi comuni: Archiviazione ridondante Permanenza Ricerca Autenticazione Naming gerarchico Naming gerarchico (ad es. Computazione Distribuita (ad es.

Reti L-S 2005 Tipologie di lookup Lookup centralizzato (Napster) Architettura ibrida. Più server centrali risolvono le ricerche. Publish Search Flooded queries (Gnutella) Peer to Peer puro non strutturato Ogni nodo invia ricorsivamente la richiesta ai propri vicini. Routed Queries Architettura pura strutturata. Ogni peer attua politiche di routing

Reti L-S 2005 Protocollo scalabile per il lookup di chiavi in un sistema peer-to-peer con frequente arrivo e abbandono di nodi. Un nodo può entrare o uscire dalla rete in ogni momento Ad ogni nodo e risorsa è assegnata una chiave univoca tramite un algoritmo di consistent hasing Ogni chiave è mappata in un dato instante su un unico nodo della rete La responsabilità di una chiave può spostarsi da un nodo allaltro quando i nodi si disconnettono. La gestione delle risorse associate alle chiavi è lasciata a protocolli di livello applicativo Load balance Decentralization Scalability Availability La chiave k viene assegnata al primo nodo attivo il cui id è uguale o maggiore allidentificativo k della chiave. O(N) per il lookup Utilizzo di una tabella di Routing riduce fino a O(log(N)) il numero di nodi contattati in un lookup

Reti L-S 2005 Routing : Finger Table NotazioneDefinizione Finger[k].start.interval.node successor predecesor (n+2 k-1 ) mod 2 m, 1k m [finger[k].start,finger[k+1].start) first noden.finger[k].start the next node on the identifier circle finger[1].node the previous node on the identifier circle N L i-esima riga della finger table del nodo n contiene lidentificatore del nodo che lo segue di almeno 2 posizioni nellanello (i-1) Lidea è quindi quella di raddoppiare ad ogni passo la distanza a cui si cerca il nodo responsabile di una chiave. Ogni nodo ha una forte conoscenza dei nodi a lui vicini nell anello e una conoscenza sempre più vaga sui nodi distanti.

Reti L-S 2005 Multiple Node Join Ogni nodo esegue periodicamente un protocollo di stabilizzazione per mantenere aggiornato il proprio successore e predecessore La Multiple Join NON notifica al resto della rete lingresso del nodo n Stabilize() x = (finger[1].node).Find_Predecessor(); if ( x in [ n, finger[1].node ) finger[1].node = x; (finger[1].node).Notify(n); Chiede al suo successore, il predecessore Notifica al successore (eventualmente aggiornato) che n potrebbe essere il suo nuovo predecessore Se non cè predecessore (es. nodo in corso di join) o n è il nuovo predecessore, aggiorna linformazione Notify(n) if ( predecessor is null or n in [ predecessor, n ) predecessor = n; Se la rete non è stabilizzata, x potrebbe essere il nuovo successore. In tal caso aggiorna linformazione Algoritmo Utilizzato nel progetto

Reti L-S 2005 Lookup e fallimento di nodi Un lookup effettuato prima che la stabilizzazione abbia finito può terminare: 1) Correttamente: tutte le finger table sono ragionevolmente corrette nonostante il cambiamento dellanello 2) Correttamente ma dopo molto tempo: le finger tables sono inaccurate ma i nodi successori sono corretti. 3) Fallendo: lanello è in uno stato inconsistente al momento del lookup Gestione di fallimenti multipli Chord prevede che ogni nodo k mantenga anche una lista degli O (log(N)) successori. Se il nodo n si accorge che il suo successore è fallito, lo sostituisce con la prima entry valida nella sua lista dei successori. Ogni nodo è in grado di recuperare dal fallimento degli r-1 nodi a lui successivi

Reti L-S 2005 TCP – Implementazione ricorsiva La richiesta di lookup si propaga lungo il percorso di routing fino ad individuare il nodo responsabile della chiave. Ogni nodo esegue, se necessario, il forward della richiesta scegliendo il nodo più opportuno tra quelli presenti nella sua finger table. Una volta individuato il successore della chiave cercata, la risposta viene propagata in backward ?? lookup PROBLEMA Sia il nodo di origine, sia i nodi intermedi rimangono a lungo impegnati in attesa della risposta uso di meccanismi sincroni non bloccanti (?)

Reti L-S 2005 TCP – Implementazione iterativa La richiesta di lookup non si propaga. Il nodo che deve eseguire il lookup, contatta iterativamente nodi sempre più prossimi a quello responsabile della chiave. Lalgoritmo, a livello implementativo, cerca il predecessore più prossimo del nodo responsabile della chiave e, una volta individuato, lo interroga per conoscere il suo successore (cioè il nodo effettivamente cercato). Ogni nodo a cui viene domandato il predecessore della chiave, restituisce il nodo che, limitatamente alle informazioni in suo possesso, pensa che sia il predecessore. Lalgoritmo termina quando il predecessore restituito nP è tale per cui key appartiene allintervallo ( key, key.successor ] ?? successor predecessor

Reti L-S 2005 Acquisizione delle risorse Le risorse associate alle chiavi del nodo N, sono attualmente allocate sul successore di N N le richiede al suo successore non appena entra in rete Lazione di richiesta è a carico del nuovo nodo Il successore di N già dispone delle risorse replicate Non è garantita persistenza della informazioni se N e il suo successore dovessero andare in crash nello stesso momento Successore di N N Ipotesi di Single Fail

Reti L-S 2005 Replicazione Le risorse associate alle chiavi del nodo N, vengono replicate sul nuovo successore In caso di crash di N il nuovo successore è in grado di rispondere correttamente Nuovo successore N N Le risorse associate alle chiavi del nodo N1 sono ora di competenza di N (precedentemente replicate da N1 su N) N deve ora replicare le risorse associate alle nuove chiavi di sua competenza sul suo successore N1 Ipotesi di Single Fail

Reti L-S 2005 Conclusioni finali fornisce un esempio di applicazione di ricerca di informazioni su rete distribuita utilizza un protocollo di rete (CHORD) efficiente e robusto, trattando in particolare gli aspetti di scalabilità, bilanciamento di carico e disponibilità introduce un livello superiore al protocollo di rete per trattare la replicazione delle informazioni distribuite sui nodi Il progetto realizzato estensione del protocollo CHORD per gestire il recovery in caso di network partition miglioramento della replicazione, estendendola al caso di fallimento di più nodi consecutivi contemporaneamente ampliamento della interfaccia lato utente e della gestione delle informazioni sui singoli nodi Sviluppi futuri