Replicazione delle risorse: UN CASO DI STUDIO

Slides:



Advertisements
Presentazioni simili
Gestione di un Sistema di Talk multiutente
Advertisements

Amministrazione dei servizi di stampa. Sommario Introduzione ai servizi di stampa Introduzione ai servizi di stampa Terminologia della stampa Terminologia.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Progetto Mini di Sistemi Distribuiti – AA 2007/08 Secure Group Communication with GDH.1 Alessandro Licata Caruso Matr:
Modello di replicazione attivo e di supporto alla tolleranza ai guasti in ambito MOM Autore: Claudio Fusconi Matricola: Esame: Reti di calcolatori.
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.
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
autore: Simone Artesino ( )
BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.
CryptoAnalisisServer(CAS) Reti di Calcolatori LS progetto di Carpenè Michele, Busacca Fulvio Servizio distribuito basato sul calcolo parallelo per operazioni.
1 Packet Manager Sistema di gestione di pacchetti software per il progetto dell'esame di Reti di Calcolatori LS Progetto realizzato da Fabio Parisini.
Realizzazione di un supporto per la progettazione di applicazioni in ambiente distribuito Fiorani Enrico Matr Università degli studi di Bologna.
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,
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
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
Reti di calcolatori LS Enrico Pirazzini SSB un middleware basato su JMS per l'invocazione di servizi remoti.
Progetto di un Agente per l’Apprendimento mediante Alberi Decisionali in ambito distribuito Studente: Luca Monaco Anno Accademico
Music Everywhere BlueTooth project – MasterProxy Albertin Marco.
Dal click alla pagina web... Centro di Calcolo Corso Internet 22 Novembre 1996 Stefano Bistarelli Università di Chieti-Pescara “G. D’Annunzio” Dipartimento.
Progetto RE.VE.N.GE. (REliable and VErsatile News delivery support for aGEncies) Reti di Calcolatori L-S Anno Accademico 2005/2006 Nardini Elena
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.
Reti di computer Condivisione di risorse e
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.
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
PROTOTIPO DI UN GIOCO DI STRATEGIA IN RETE Alberto Buccella Università degli studi di Bologna Facoltà di Ingegneria Corso di Ingegneria Informatica.
Progetto e prototipazione di una infrastruttura di comunicazione per il supporto al monitoraggio distribuito del traffico di rete Progetto di Reti di Calcolatori.
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 –
P2P Reliable Multicast Messenger Progetto e realizzazione di un software peer to peer per comunicazioni di gruppo.
Java Distributed Event Service Bringing events to J2EE platform Università degli studi di Bologna Corso di Laurea Specialistica in Ingegneria Informatica.
Sistema di Replicazione di Risorse Distribuite Ring-Based Reti di Calcolatori LS Alessio Bonfietti.
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.
MUSE 2 WIFI MUSic Everywhere with WIFI presentazione di Pierangeli Diego Membri del gruppo: Bambini Stefano Bergamini Andrea Pierangeli Diego AA 2006/2007.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
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.
Proxy-based infrastructure for LBS availability Bucco Nicola matr
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.
Muse2: MUSic Everywhere with WI-FI Progetto realizzato da: Bambini Stefano Bergamini Andrea Pierangeli Diego Bologna C.d.L.S. Ingegneria Informatica.
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.
Università degli Studi di Bologna Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Scienze dell’Informazione Università degli Studi.
Bacheca: Supporto alla creazione e diffusione di annunci basato su CORBA Corso di Reti di Calcolatori LS Prof. Antonio Corradi Progetto di Elisa Addimanda.
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
Mots, programmazione collaborativa di Ettore Ferranti.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
Transcript della presentazione:

Replicazione delle risorse: UN CASO DI STUDIO Corso di Laurea in Ingegneria Informatica Facoltà di Ingegneria – A.A. 2005/2006 Università degli studi di Bologna Corso di Reti di Calcolatori LS Prof. Antonio Corradi Replicazione delle risorse: UN CASO DI STUDIO Progetto di Roberta Calegari

SCENARIO e OBIETTIVI Lo scopo del progetto è realizzare una semplice applicazione distribuita che preveda l’utilizzo di stampanti comuni. Nello svolgimento si vogliono trattare le tematiche che tipicamente emergono nella realizzazione nel distribuito: apertura e scalabilità trasparenza replicazione e fault tolerance Al fine di affrontare le tematiche proposte il progetto si occupa della realizzazione di: protocollo di discovery (apertura e scalabilità) servizio di lookup (replicazione calda e trasparenza) servizio di stampa (replicazione fredda) gestore di un pool di risorse (replicazione tiepida e bilanciamento del carico) Tecnologia implementativa scelta: Java; risponde infatti a tutte le esigenze nate in fase di progettazione.

Protocollo di discovery Il protocollo di discovery permette ad una nuova entità di entare nel sistema, scoprendo le risorse e i servizi attivi in quel momento. Il servizio base, per cui ogni entità chiederà al momento di ingresso nel sistema, è il servizio di Lookup. Il protocollo realizzato prevede che la nuova entità invii in multicast un messaggio discovery che contenga il nome di ciò che si sta cercando (Lookup) e che tipo di entità lo sta cercando (Lookup, Server, Client). nuova entità Lookup nuova entità Server (ResourceManager, Resource) e nuova entità Client discovery lookupService address WSP master/ addressBis bisWSP discovery lookupService server address WRP discovery lookupService client address WRP

Servizio di LOOKUP: overview Un sistema a risorse condivise che vuole rispondere ai requisiti di apertura e dinamicità vede come necessaria la presenza di un servizio di Lookup che permetta ad una nuova entità (client/server) di agganciarsi al sistema stesso scoprendo le risorse a disposizione. Questo servizio, che possiamo vedere come risorsa del sistema, risulta quindi essenziale per il funzionamento e permette di esaminare la replicazione calda di risorse software. L’architettura scelta per la replicazione del servizio è quella di un sistema a catena in cui e’ presente un solo master che esegue le richieste ricevute dai nodi del sistema e si occupa poi di aggiornare le risorse (replicazione PASSIVA). Per la tolleranza ai guasti si è fatta un’ipotesi di guasto singolo: caduta del master caduta dell’utlimo slave caduta di un nodo intermedio

Servizio di LOOKUP: strutture dati discovery lookupService lookupService address WSP master/ addressBis bisWSP Service Table MSP WSP/ MP ID port address interface HPInkJet5000 3032 127.0.0.1 PRINT MUL MULticastPort: porta di multicast necessaria per il discovery Quando nasce un LookUpService manda un messaggio multicast per sapere se ci sono altri LookUpServices nel sistema. Allo scadere di un timeout, se nessuna risposta è stata ricevuta l’entità si configura come slave, altrimenti si aggancia alla catena diventando l’ultimo slave. WRP SUP UP Upgrade List WaitingSlavePort: su questa porta l’ultimo slave della catena attende un nuovo slave MonitorPort: se non si è l’ultimo slave la porta di waiting non deve essere attiva; si deve però comunicare con lo slave in modo da farsi monitorare MonitorSlavePort: su questa porta lo slave controlla il suo predecessore UpgradePort: da questa porta si mandano gli aggiornamenti al successore SlaveUpgradePort: su questa porta si ricevono gli aggiornamenti dal predecessore WaitingRequestPort: se si è master un demone resta in ascolto di richieste

Servizio di LOOKUP: protocolli di comunicazione delete interface address port ID lookingFor ID Il funzionamento a regime del Lookup può essere così schematizzato: registartion interface address port ID lookingForInterface interface live WRP WRP MP MSP WSP slave UpgradePort live Master Slave I ready UP bisUP UP SUP UP ready Upgrade List

Servizio di LOOKUP: ipotesi di guasto (1/3) live L’architettura realizzata prevede tre ipotesi di guasto: caduta del master live live Master MP UP MP UP SUP MSP MSP WSP WRP changeLookupService address port Slave II Master Slave I Master SUP Invio di un messaggio multicast per avvisare eventuali client del cambiamento del master.

Servizio di LOOKUP: ipotesi di guasto (2/3) live L’architettura realizzata prevede tre ipotesi di guasto: caduta di uno slave intermedio Problems MSP SUP live live MP live MP UP SUP MSP live MSP WSP Master Slave myMasterAddr myMasterWSP myMasterUP master Slave I Slave II UP SUP

Servizio di LOOKUP: ipotesi di guasto (3/3) live L’architettura realizzata prevede tre ipotesi di guasto: caduta dell’ultimo slave live live MP UP MP UP live MSP MP WSP WSP SUP MSP Terminate master Slave I Slave II SUP UP

Risorsa “stampante”: overview e strutture dati Request queue La realizzazione della risorsa stampante prende in esame la replicazione fredda delle risorse. Solo in caso di guasto della risorsa si effettua la sua sostituzione, in modo trasparente all’utente. WRP TCP EP Resource Printer Le funzionalità della risorsa stampante sono espletate da due demoni attivi (per tutto il tempo di vita dell’applicazione) su due porte diverse. WaitingRequestPort: porta di attesa richieste di stampa da parte del client ExecutePort: porta su cui è attivo il demone che si occupa della vera gestione della richiesta. Prevede l’attivazione di una connessione sulla porta TCP, dove attende lo stream di dati da stampare da parte del client. Anche in questo caso l’ipotesi di guasto fatta prevede il caso di guasto singolo: caduta della risorsa stampante caduta del client (tempo di lease)

Risorsa stampante: protocolli di comunicazione Il comportamento a regime di una risorsa è attendere richieste dal cliente sulla porta WRP. La richiesta prevede l’invio dei dati del cliente stesso. Una volta ricevuta la richiesta viene accodata nella lista delle richieste della stampante e, quando prima in coda, viene gestita (politica FIFO possibilità di estendere con nuove politiche). Il demone incaricato di eseguire la prima richiesta in coda provvederà ad aprire una connessione TCP con il cliente, aprendo una ServerSocket sulla porta TCPPort e rimanendo in attesa di una richiesta di connessione dal client (che deve avvenire entro un timeout). I dati relativi alla porta di attesa della risorsa vengono quindi comunicati al client, in modo che possa aprire la connessione. Client CP TCP client ID address port TCP IDresource address TCPport Request queue WRP Resource Printer EP TCP Sfruttando la connessione TCP il client può inviare alla stampante il file da stampare ed essa può quindi procedere nella stampa.

Risorsa stampante: ipotesi di guasto live L’architettura realizzata prevede due fasi relative all’ipotesi guasto: caduta della risorsa/client prima della connessione TCP Le porte per lo scambio di messaggi sono se non ricevono messaggi si accorgono del guasto, lo comunicano in multicast e tronano al funzionamento a regime. Resource Printer WRP EP WRP CP CP client ID address port Client caduta della risorsa/client durante connessione TCP stabilita Client client ID address port Resource Printer TCP Introduzione tempo di lease entro il quale il client deve mandare un messaggio per mantenere impegnate le risorse. Lato client l’errore di non poter scrivere sulla socket produce il messaggio “risorsa non raggiungibile”.

Gestore delle risorse: overview e strutture dati La realizzazione del gestore delle risorse prevede una replicazione tiepida con architettura a catena PASSIVA di tipo master/slave. I demoni relativi alla gestione della replicazione sono analoghi a quelli illustrati per il servizio di Lookup. In aggiunta sono presenti due demoni per la gestione delle risorse in modo da poter svolgere il compito di bilanciamento del carico: WaitingRequestPort: attende registrazione da parte di stampanti e richieste da parte del cliente WaitingTerminationPort: attende messaggi di terminazione da parte delle stampanti gestite, in modo da poter aggiornare il numero di richieste accodate su quella risorsa. Replicazione Servizio WRP Resource Manager 127.0.0.1 ID port address interface HPInkJet5000 3032 PRINT #request WTP Resource Table La struttura dati principale è una tabella che mantiene un elenco centralizzato delle risorse attive a cui è possibile smistare richieste. Per svolgere il compito di bilanciamento carico è necessario un attributo aggiuntivo che memorizza il numero di richieste in coda su ciascuna risorsa. L’ipotesi di guasto fatta è quella di guasto singolo.

Gestore delle risorse: protocolli di comunicazione (3) client ID address port Client WRP CP TCP (4) client ID address port (5) Resource Manager TCP IDresource address TCPport (2) OK Request queue (6) WRP WTP (1) registration interface address port IDResource Resource Printer EP TCP (7) IDresource terminate Le richieste alle risorse arrivano in questo caso in modo mediato, passando attraverso il gestore che ha appunto il ruolo di mediatore.

Gestore delle risorse : ipotesi di guasto live L’architettura realizzata prevede due ipotesi guasto: caduta del gestore: l’architettura è la stessa del servizio di Lookup; identificazione guasto e recovery sono quindi analoghe caduta di una risorsa Il gestore prova ad inoltare la richiesta ad una risorsa, ma non riesce a comunicare. Elimina la risorsa dal suo elenco centralizzato rilevando il guasto e provvede a smistare la richiesta su una risorsa diversa. Il tutto avviene in modo trasparente all’utente. Resource Manager Resource Printer Resource Printer Resource Printer

Sviluppo prototipo e test Il prototipo del sistema è stato realizzato in Java (demoni realizzati come Thread). Il sistema è stato testato su una rete di 5 computer. Il protocollo di discovery è stato implementato utilizzando le socket multicast, basate sul protocollo UDP. Per la realizzazione dei servizi si è scelto di utilizzare sempre le DatagramSocket (protocollo UDP) tranne per la connessione tra client e risorsa, dove si è ritenuta idonea una connessione TCP (attraverso l’uso di Socket e ServerSocket).

Conclusioni Nel progetto svolto vengono affrontate le tematiche/problematiche di un sistema distribuito che ha come fine la condivisione di risorse. In particolare si affrontano le tematiche di replicazione (calda, tiepida, fredda), dinamicità ed apertura, e tolleranza ai guasti. Concetto rilevante nella realizzazione: struttura semplice che usa protocolli semplici. Possibili estensioni: ampliamento dei servizi forniti (come gestione di file comuni o accesso ad un database) estendere le politiche di gestione delle risorse e delle richieste cliente raffinamento dei protocolli per velocizzare lo scambio di informazioni potrebbe aumentare le performance del sistema