Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr.0000232246.

Slides:



Advertisements
Presentazioni simili
Roma, Presentazione del sistema ClicLavoro.
Advertisements

2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
Seconda parte: i sistemi informativi in rete
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito1 Reti di Calcolatori LS REALIZZAZIONE DI UN SERVIZIO DI ANNUNCI DISTRIBUITO Studente:
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Reti di Calcolatori LS Universitá degli Studi di Bologna Remotizzazione del Framework Unibo-env Autrice: Leticia Riestra Ainsua.
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.
Qualità di servizio in ambiente wireless Progetto per il corso di Reti di Calcolatori L-S Prof. Antonio CorradiValentina Maraldi.
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à
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.
Realizzazione di un supporto per la progettazione di applicazioni in ambiente distribuito Fiorani Enrico Matr Università degli studi di Bologna.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori L-S AA Presentazione di Roberto Gamboni Progetto di Giuseppe Vitalone,
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
High-Available Service Manager Diego Costantini Università degli studi di Bologna Corso di Laurea Specialistica.
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.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
1 Reti di Calcolatori LS Prof. Antonio Corradi Progetto: Giombi Giorgio e Soffritti Luca Presentazione: Giombi Giorgio FotoContest Il primo servizio interamente.
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.
M OBILITÀ 2009/10 POLIS - Istanze On-Line Presentazione domande via web per la scuola Primaria 1.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
SISTEMA INOLTRO TELEMATICO ISTANZE DECRETO FLUSSI 2010
File system distribuito transazionale con replicazione
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Creato da Riccardo Nuzzone
Un sistema per la replicazione ottimistica in una rete di pari Progetto di Reti di calcolatori LS Federico Grassi a.a. 2004/2005.
Music Everywhere BlueTooth project – MasterProxy Albertin Marco.
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.
Realizzazione di moduli applicativi per messaggistica e gestione preferenze nel «carpooling» Università degli Studi del Sannio Dipartimento di Ingegneria.
Progetto di: Daniele De Angelis Corso di: Reti di Calcolatori LS Un sistema fault tolerance per protocollo Diffie-Hellman.
Presentazione Portale Vocale Rete di Accesso Wi-Fi Foggia, 15 maggio 2009 Università degli Studi di Foggia Dipartimento Sistema Informativo e Innovazione.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
PROTOTIPO DI UN GIOCO DI STRATEGIA IN RETE Alberto Buccella Università degli studi di Bologna Facoltà di Ingegneria Corso di Ingegneria Informatica.
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
Search Engine Distribuito e Replicato Corso di Reti di Calcolatori LS Andrea Boari –
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.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Servizi Internet Claudia Raibulet
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.
Middleware per la sincronizzazione di ambienti eterogenei Progetto di Reti di Calcolatori LS Emanuele Crescentini matr Ingegneria Informatica LS.
Corso di Reti di Calcolatori LS Progetto di un server FTP in grado di coordinarsi con altri mirror per garantire QoS di Marco Buccione.
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.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Proxy based infrastructure for LBS availability Reti di Calcolatori LS Serena Agresti.
Bacheca: Supporto alla creazione e diffusione di annunci basato su CORBA Corso di Reti di Calcolatori LS Prof. Antonio Corradi Progetto di Elisa Addimanda.
Live auction un’ infrastruttura di supporto per aste in tempo reale basata su JMS. Autore: Andrea Ceruti Matricola: Corso: Reti Di Calcolatori.
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.
1 High Available Instant Messaging Service Fabio Bombardi
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
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.
Transcript della presentazione:

Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr

Uno sguardo al servizio di chat Servizio ad ampia diffusione Uno degli strumenti principali per comunicare in rete Svariati forme di utilizzo –Dialogo tra amici –Coordinamento di un gruppo di lavoro –Strumento offerto da portali multimediali –…

Descrizione generale Modello considerato: client-server Gli utenti devono registrarsi per usufruire del servizio La registrazione è effettuata da un server di chat che eroga anche il servizio Gli utenti sono suddivisi in gruppi a seconda del tipo di argomento su cui verte la conversazione Gli utenti si scambiano messaggi in tempo reale (è il server che si incarica di far reperire i messaggi ai destinatari) Il server gestisce la lista degli utenti connessi Ruolo centrale del server

Protocollo comunicazione Registrazione 1)Invio i miei dati al server …… …… ……. … …… …… ……. … 3) Per connettersi si utilizzerà lo username fornito al server al passo 1 Autenticazione 1) Invio username 2) Verifica username 3) Il server notifica i partecipanti che aggiornano la loro lista utenti 4) Il server invia la lista utenti 2) Registrazione utente

Protocollo di comunicazione user1 user2user3 Scambio di messaggi “ciao” user1->“ciao” Gestione utenti Logout Il server notifica I partecipanti Aggiorna lista utenti ! !

Realizzazione un prototipo e scelte architetturali Ruolo centrale del server: utilizzo di un sistema di replicazione master-multislave per –Far fronte a crash improvvisi del server –Garantire la disponibilità del servizio agli utenti Introduzione di un server di backup per –Garantire la persistenza delle informazioni del master –Permettere sia al master che agli slave di ottenere informazioni Scambio di messaggi e di file di testo in tempo reale –Copie di backup di messaggi e file in caso di errori di comunicazione Tecnologie utilizzate per lo sviluppo –Java per lo sviluppo dell’applicazione client e server –Java RMI come middleware di supporto alla comunicazione

L’applicazione client Dotata di GUI per l’invio di messaggi,file e visualizzazione lista utenti e messaggi ricevuti Modalità di ricezione –Messaggi: si interroga il master per vedere se ci sono nuovi messaggi (modalità a polling) –File: il master notifica ai client la ricezione di un nuovo file (uso di callback) Criteri di scelta della prima modalità –L’evento di ricezione di un messaggio ha una frequenza maggiore di quello di un file –Si evita di sovraccaricare il master in presenza di alto traffico Gli aggiornamenti della lista utenti sono notificati dal master

Architettura server Server di Backup (BS) Master Slaves Gestisce gli slave Gestisce gli utenti Verifica l’autenticazione degli utenti Invia i messaggi ed i file Interagisce con il server di backup Backup dei messaggi e dei file Mantiene una copia della lista utenti Mantiene informazioni sul master e sugli slaves interagisce sia con il master che gli slaves Sono equiprioritari Sono gestiti dal master Interagiscono con il server di backup

Scenari 1a) Il client si connette e master aggiorna la lista utenti 1b) Il master si connette a BS che aggiorna la lista utenti di backup 2a) Il client si disconnette e master aggiorna la lista utenti 2b) Il master si connette al BS che aggiorna la lista utenti di backup 1)Invio file/messaggio 2)Master contatta BS per salvare il file/messaggio 3)File/messaggio inviato ai destinatari copi a

Sistema di replicazione 1) Un nuovo slave contatta il BS per avere l’indirizzo master a cui connettersi 2)Il master registra lo slave nella sua lista 3)Il master invia la lista delle porte degli slave aggiornate al BS 4) Il nuovo slave contatta periodicamente il master per controllare che non sia andato in crash Slaves. … Slaves. … Slaves.Ports … Slaves.Ports … “OK”

Protocollo di elezione 1)Il master non risponde più agli slave 2)Gli slave chiedono al BS chi è il nuovo master 3)BS fornisce la porta del nuovo master 4)Gli slave confrontano la propria porta con quella fornita 5)Il nuovo master scarica la lista utenti dal BS ed aggiorna i riferimenti ai client 6)Il nuovo master registra gli slave 7)Il nuovo master invia a BS il suo indirizzo e chiede se deve essere reinviato un mess/file New Master ? New Master Port Check BS calcola la porta del nuovo master Porta del nuovo master calcolata in modo random tra quelle degli slave Ricalcolata ad ogni aggiornamento della lista slave Si suppongono slave equiprioritari

Test Sessioni di test qualitativi Sessioni di test quantitativi per –Misurare il tempo di ritardo necessario ad inviare messaggi e file degli utenti –Studiare il carico computazionale del server master all’aumentare del numero progressivo di utenti da gestire per ogni prova Oltre alla versione finale test anche sulla prima versione monoserver Introduzione di classi per supportare la raccolta dei dati (mediante file di log)

Test: risultati L’aumento del tempo di risposta al servizio è stato influenzato dal numero di utenti collegati Stesse considerazioni valgono per il carico computazionale del server Confrontando le due versioni – Il carico computazionale della versione finale è superiore rispetto alla prima –Ciò è dovuto all’introduzione del sistema di replicazione e di backup

Possibili sviluppi futuri Introdurre la replicazione anche per il server di backup Scambio per qualsiasi tipo di file Utilizzo di altri middleware per operare in ambienti eterogenei (vedi Corba) Utilizzare le informazioni del backup server per comunicare in altri ambienti (es. su mobile system)

Bibliografia Sito ufficiale di Java: sun.java.com Slide del corso di Reti di Calcolatori LA: “ Java RMI (Remote Method Invocation)”, “Java RMI: callback”, “Java RMI esercitazione 6” Slide del corso di Reti di Calcolatori LS: “Chiamate di Procedura Remota: il caso Java RMI ” Slide del Corso di Reti di Calcolatori LS: “Modelli di replicazione e di supporto alla tolleranza ai guasti Funzionamento di una chat: