Progetto di un Group Communication System Reti di Calcolatori LS A.A. 2003-2004 Giampaolo Capelli.

Slides:



Advertisements
Presentazioni simili
Il livello di trasporto
Advertisements

Procedure e funzioni A. Ferrari.
Progetto Mini di Sistemi Distribuiti – AA 2007/08 Secure Group Communication with GDH.1 Alessandro Licata Caruso Matr:
Modello ISO/OSI Un metodo di studio Vallì Rossella Carando 2006 SIS.
Sistema Geomonitor Schema di funzionamento generale
Modello di replicazione attivo e di supporto alla tolleranza ai guasti in ambito MOM Autore: Claudio Fusconi Matricola: Esame: Reti di calcolatori.
SARAH Shop Assistant in Reti Ad-Hoc Presence Awareness, modalità disconnessa e dinamiche di update Antonio Gaetani.
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Delay Tolerant Networking Service per SAMOA. Il framework SAMOA SAMOA è un framework che consente di gestire e popolare la rete sociale e propagare a.
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
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
Progetto PERMESSO PERsistent MESSaging in ad hOc networks Presentazione di Vitalone Giuseppe.
SARAH Shop Assistant in Reti Ad-Hoc Marco Montali.
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.
Supporto in RMI per la collaborazione in rete Autore:Vincenzo Coco Matricola: Corso di Reti di Calcolatori LS 2006/2007 Docente: Antonio Corradi.
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori L-S AA Presentazione di Roberto Gamboni Progetto di Giuseppe Vitalone,
JARS JavaActiveReplicationSupport Anno Accademico Bellocchi Marco Maria.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
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
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.
Il modello di riferimento OSI
File system distribuito transazionale con replicazione
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Calcolo timeout Modulo 2 - U.D. 5 - Lez. 6
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
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.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 5 – Metriche.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Infrastruttura per la gestione distribuita di un sistema di prenotazione Progetto di: Fabio Fabbri Matricola
Modulo 2 - U.D. 5 - L.3 (parte II)
Proxy-Based Infrastructure for LBS Tailoring Reti di Calcolatori LS – Prof. A. Corradi Presentazione di: Roberto Amici Gruppo: Roberto Amici Alessandro.
Flusso e congestione TCP
P2P Reliable Multicast Messenger Progetto e realizzazione di un software peer to peer per comunicazioni di gruppo.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Java Distributed Event Service Bringing events to J2EE platform Università degli studi di Bologna Corso di Laurea Specialistica in Ingegneria Informatica.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori LS – AA Presentazione di Davide Sansovini Professore: Antonio Corradi.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Fast Retransmit. Fast Retransmit (1) Altri indizi di perdite oltre il timeout: possiamo interpretare il verificarsi di sequenze di 4 ACK per lo stesso.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
PERMESSO PERsistent MESSaging in ad hOc networks Presentazione di Valentina Bonsi Corso di Reti di Calcolatori L-S AA Progetto di Giuseppe Vitalone,
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
B3Discovery: Infrastruttura di Discovery distribuita utilizzando l’architettura JXTA Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2005/2006.
R.E.V.E.N.G.E. RELIABLE AND VERSATILE NEWS DELIVERY SUPPORT FOR AGENCIES Corso di Reti di Calcolatori LS – AA Professore: Antonio Corradi Referente.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Progetto RE.VE.N.GE. MQ REliable and VErsatile News delivery support for aGEncies Sistema di Distribuzione Reti di Calcolatori LS – Prof. Antonio Corradi.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
Controllo di congestione avanzato. Controllo della congestione TCP Prima del 1988, solo controllo del flusso! TCP Tahoe 1988 − TCP con Slow Start, Congestion.
Progetto PERMESSO Progetto PERMESSO PERsistent MESSagging in ad hOc networks Presentazione di Elisabetta Visciotti Progetto di Gruppo di: Manuela Bassetti,
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
Reti di Calcolatori L-S Professor Antonio Corradi A.A Sistema Publish-Subscribe per la Gestione degli Eventi della Provincia di Rimini Provincia.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
Risultati Leapfrog IP per una comunicazione sicura e affidabile Cristiano Novelli ENEA, XML-Lab.
Transcript della presentazione:

Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli

Obiettivi Realizzazione di un sistema per la comunicazione di gruppo: basato su view (stato del gruppo visibile a un membro), con ipotesi di gruppo dinamico membri del gruppo peer-to-peer: coordinamento senza centralizzazione comunicazione tramite invio di messaggi di gruppo: invio di un messaggio a tutti i membri del gruppo (a quelli della view)

Obiettivi (2) Aggiunta di reliability al multicast: ritrasmissione messaggi persi, ma senza duplicazione Tolleranza ai guasti dei membri del gruppo: crash detection Ordinamento FIFO e causale dei messaggi Ogni membro può offrire dinamicamente al gruppo dei servizi – acceduti come oggetti remoti – scoperti tramite discovery

View View = conoscenza che un membro ha del gruppo Gruppo dinamico: variabile nel tempo, uso di un meccanismo di membership per costruire le view Problema di sincronizzazione e consistenza delle view, anche a fronte di eventuali crash dei membri

Scenario

Membership Problema della consistenza delle view nel tempo, a fronte di tre tipi di evento – join: adesione al gruppo – leave: uscita dal gruppo – crash: blocco join e leave notificati al gruppo con messaggi dagli stessi membri che aderiscono o abbandonano crash rilevato in modo ipotetico da ogni membro, basandosi su un timeout

Supporto per lo scambio di messaggi Multicast di IGMP, a cui si aggiunge reliability Il mittente ha la responsabilità di verificare l’avvenuta ricezione dei messaggi inviati: attende conferma (ack) di ricezione da parte dei membri della view Due categorie di messaggi: – di controllo – ordinari (applicativi) Ordinamento causale oneroso, viene imposto solo sui messaggi ordinari Ordinamento FIFO imposto per tutti i messaggi tranne quelli critici, esempio di ipotesi di crash

semantica della Reliability per la consegna dei messaggi sincronizzazione fra le view: risolta in maniera passiva, nessun uso di sincronizzazioni forti (come ad es. 2 phase lock). Modifica delle view a fronte di: – rilevazioni di crash: basate su ipotesi da confermare – messaggi di join o leave: ricevuti in maniera asincrona Possibili inconsistenze temporanee fra view dei membri garanzia di consegna dei messaggi a tutti i membri, in ordine e senza duplicati sotto le ipotesi di: – view complete e consistenti – membri non bloccati – tempi di ricezione compatibili con timeout di crash detection Altrimenti, consegna ai membri presenti nella view del mittente, a meno di loro crash

Protocollo di join Il nuovo arrivato, 3, manda un messaggio di join al gruppo, ancora non ne conosce la composizione Gli altri rispondono con un messaggio di conferma (has joined), utile a 3 per costruire la propria view (discovery) 1 23 join has joined

Protocollo di join (2) il nuovo entrante, durante il join, non ha conoscenza del gruppo, perciò non può controllare che il proprio messaggio di adesione venga ricevuto da tutti è sufficiente che raggiunga un membro, il quale, divulgando il messaggio di tipo has joined, propagherà a tutti la notizia della sua entrata

Crash Detection a carico dei membri ancora “vivi” Non è un meccanismo esatto, funziona tramite ipotesi di crash (problemi di rete possono causare finti crash) Legato alla reliability del multicast: un mittente aspetta conferma di ricezione, allo scadere di un timeout ritrasmette, ma dopo n volte sospetta dei destinatari che non hanno risposto. dimensione del timeout critica per le prestazioni: rispetto alla frequenza media dei crash o alla velocità di comunicazione della rete: Timeout piccolo  sistema instabile (continui sospetti) Timeout grande  molte inconsistenze (membri bloccati considerati come ancora vivi)

Crash Detection (2) messaggio M ack dei membri per M (in unicast) Messaggio di suspect crashed di 2 Ordine di rimuovere 2 dalla view invio di messaggi di hello a cui 2 non risponde e conferma di suspect crashed di 2

Crash Detection (3) È possibile la ricezione di messaggi da un membro M escluso per ipotesi di crash: – se M è stato escluso ingiustamente per un ritardo di risposta dovuto a rallentamenti nella rete – oppure se, dopo il blocco, M riprende l’esecuzione In entrambi i casi M non invia messaggi di join: un suo messaggio provoca comunque la divulgazione dei messaggi has joined negli altri, che lo considerano nuovamente nel gruppo

Ritrasmissioni Messaggi inviati vengono bufferizzati fino a che non si ricevono gli ack dei destinatari o ne è stato dichiarato il crash Periodicamente, se non arriva l’ack, si riinviano fino a un certo numero di volte Fino a che il crash detector non inizia il protocollo di crash detection mandando al gruppo un sospetto

Ordinamento dei Messaggi FIFO: tramite uso di numeri di sequenza progressivi e riordinamento sui riceventi Causale (solo per msg applicativi): protocollo basato su vector clock e causal delivery rule Ogni membro gestisce un vettore di clock logici, prima di inviare un msg incrementa di uno la propria componente e inserisce nel msg una copia del vettore Sui riceventi: a ogni ricezione di un messaggio ordinario, si ritarda il delivery fino a che non è vera la causal delivery rule Al delivery si aggiornano le componenti del vector clock locale relative agli altri: max{valore nel msg, valore corrente}

Causal delivery rule Delivery (consegna al livello applicativo) ritardato fino a che sono vere entrambe: 1. VT(msg)[sender] = VT(receiver)[sender_id]+1 2. VT(msg)[k] <= VT(receiver)[k],  k, k  sender_id Il cui significato è: 1. Il msg è il successivo inviato dal mittente 2. Dall’ultimo msg inviato dal mittente, gli altri non ne hanno mandati altri

Protocollo per causal order Gruppo in evoluzione nel tempo: necessaria una fase preliminare di scambio di informazioni di clock tra membri. In questa fase si ignora la causal delivery rule e non è garantito l’ordinamento causale: – esempio in caso di aggiunta di un nuovo membro – non è un problema, se in questa fase si mandano solo msg di controllo

Protocollo per causal order C{0,0,3} B{0,5,0} A{2,0,0} A{3,0,0} A{3,6,0}A{3,6,4} A{3,6,5}A{3,7,5} C{3,0,3}C{3,6,3}C{3,6,4}C{3,6,5}C{3,7,5} B{3,5,0}B{3,6,0} B{3,6,4} B{3,6,5} B{3,7,5} {3,7,5}

Pubblicazione di servizi I membri possono pubblicare dei servizi (come oggetti remoti) a disposizione del gruppo. I membri non hanno alcuna conoscenza a priori dei servizi. Un membro può: – eseguire discovery dei servizi, ottenendo l’elenco e la locazione di quelli attualmente disponibili, assieme alle funzionalità che offre – richedere un particolare servizio e invocarlo, se disponibile

Realizzazione del prototipo Uso della piattaforma Java Socket multicast (con datagrammi UDP) Servizi come oggetti remoti acceduti con RMI, esecuzione di rmiregistry sui membri Uso della reflection di Java per conoscere l’interfaccia dei servizi (signature dei metodi) Semplificazioni: – un servizio  membro – ack mandati in unicast con UDP

Limiti e sviluppi futuri IGMP per il multicast: uso limitato Sistema poco scalabile: – alto numero di messaggi di controllo – meccanismo pesante per la gestione degli ack: si attende un ack per ogni messaggio Possibili migliorie : – politiche di ritrasmissione con ack relativi a un insieme di messaggi e selective repeat, ack negativi – uso di unicast, invece che multicast, per le ritrasmissioni e i messaggi di hello – aggiungere meccanismo di publish/subscribe per la richiesta e notifica di servizi

Conclusioni protocolli e soluzioni per group communication system view-oriented con coordinamento fra pari: supporto per gruppo dinamico fault tolerant e crash detection dei partecipanti qualità nel servizio di consegna dei messaggi ordinamento FIFO e causale dei messaggi servizi conoscibili tramite discovery e accessibili come oggetti oggetti remoti. timeout T del crash detector: punto cruciale per la stabilità compromessa in caso se T troppo piccolo rispetto ai tempi medi di comunicazione dell’infrastruttura di rete