Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Web mail Una modalità alternativa per accedere alla posta elettronica.
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
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.
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
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
Supporto allassistenza da remoto Sacchetti MauroMatr Prof. Antonio Corradi Progetto di Reti di Calcolatori LS.
Replicazione delle risorse: UN CASO DI STUDIO
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.
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.
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.
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.
Reti di calcolatori LS Enrico Pirazzini SSB un middleware basato su JMS per l'invocazione di servizi remoti.
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.
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.
Proxy-Based Infrastructure for LBS Tailoring Reti di Calcolatori LS – Prof. A. Corradi Presentazione di: Roberto Amici Gruppo: Roberto Amici Alessandro.
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 –
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Chat-quiz Reti di Calcolatori L-S AA. 2003/2004 Rossella Rubino.
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori LS – AA Presentazione di Davide Sansovini Professore: Antonio Corradi.
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.
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.
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.
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
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.
CORSO INTERNET la Posta elettronica
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
Le basi di dati.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Transcript della presentazione:

Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra

Introduzione Da quando è “esploso” Internet si è sentita sempre forte l’esigenza di una entità capace di trasformare il “nome logico“ di un servizio nelle sue “coordinate”, cioè nell’indirizzo di rete e numero di porta su cui è in attesa il servitore: questa entità è chiamata Gestore dei Nomi il tipo di servizio che offre è prezioso, occorre che anche in caso di un guasto il sevizio non venga negato, oppure che i tempi in cui il servizio non sia disponibile siano brevissimi. occorre pensare al gestore dei nomi come ad un servizio replicato

Obbiettivi Il gestore deve essere replicato per garantire comunque il servizio I servitori si possono registrare/cancellare al servizio di nomi I clienti devono fornirne il nome logico e otterranno indirizzo di rete e numero di porta o indicazione di errore. Le copie devono essere calde Le copie devono monitorare il sistema per identificare guasti Ipotesi di guasto singolo ai nodi

Idea Generale Gestore Nomi Server Cliente Richiesta registrazione/ cancellazione Richiesta indirizzo e porta del server Gestore Nomi Gestore Nomi

Progetto: idea generale Il gestore dei nomi è “un’entità complicata” che deve svolgere innumerevoli attività durante il suo ciclo di vita: fornire un servizio a server e clienti esterni monitorare le copie che compongono il servizio attendere nuove copie risolvere problemi dovuti a crash si è pensato per cui di strutturare l’entità come un insieme di Demoni che collaborano tra loro al fine di fornire il servizio richiesto

Progetto: replicazione Come abbiamo già detto occorre che il gestore sia replicato per poter tollerare guasti di diversa natura e garantire comunque il servizio. Il tipo di replicazione scelto per questa applicazione segue il modello delle copie passive di tipo Master-Slave Si è inoltre deciso che le copie si devono autoconfigurare in una catena dopo che è partita la copia Master Si è deciso di utilizzare un checkpointing event driven (ad ogni interazione con una entità server) seguendo la catena: Il master aggiorna il primo slave che aggiornerà il secondo….e così via

Progetto: analisi guasti(1) Prima di vedere come è stata strutturata l’applicazione è bene porre l’attenzione sulla tipologia di guasti che si devono riconoscere e risolvere. Come scelta progettuale è stato sottolineato che le copie si devono configurare in una catena e che si vuole un modello a copie calde: MasterI SlaveII Slave N  Salve

Progetto: analisi guasti(2) Con questo tipo di configurazione abbiamo diverse tipologie di guasti possibili Caduta del master Caduta di uno slave intermedio MasterI SlaveII Slave N  Salve Master I SlaveII Slave N  Salve I Slave

Progetto: analisi guasti(3) Caduta dell’ultimo slave MasterI SlaveII Slave N  Salve N-1 Slave Attesa nuovo slave

Struttura del master

Struttura dello slave

Comunicazione tra Demoni(1) La comunicazione tra demoni facenti parte della stessa applicazione avviene attraverso il Gestore dei Nomi che mette a disposizione un ambiente comune per il “dialogo”. Durante il normale funzionamento solo due Demoni hanno bisogno di scambiarsi le informazioni: nel caso master: DemonServer e DemonAggiorna nel caso slave: DemonAggiornato e DemonAggiorna Gestore Nomi DemonServer inserisci DemonAggiorna Aggiorna

Comunicazione tra Demoni(2) Quando si verificano guasti, si rende necessaria la comunicazione di più Demoni perché in base alla tipologia di guasto si devono prendere le opportune decisioni di terminazione o di attesa Passiamo ora a vedere i protocolli di comunicazione

Protocolli Comunicazione 1 Comunicazione tra server esterno e DemonServer Comunicazione tra cliente e DemonClient

Protocolli di Comunicazione 2 Comunicazione tra DemonAggiorna e DemonAggiornato Comunicazione per ingresso del master Gestore Nomi Entro Time out Master

Protocolli di comunicazione 3 Comunicazione tra DemonAttesa e nuova copia in arrivo Il master era in attesa Uno slave era in attesa

Protocolli di Comunicazione 4 Comunicazioni tra DemonLive e DemonLiveSlave Normale Segnale copia diventa master La copia deve sostituire lo slave intermedio caduto

Prototipo E’ stato realizzato un prototipo dell’applicazione nell’ambiente di sviluppo Java che realizza tutti gli obbiettivi che ci siamo posti all’inizio. Scelte fatte: I demoni sono stati realizzati attraverso Thread I demoni accedono alla struttura dove sono memorizzati i dati relativi ai server in modo mutuamente esclusivo Uso delle DatagramSocket e del protocollo UDP per lo scambio dei messaggi ulteriore struttura in cui vengono inseriti i messaggi di registrazione/ cancellazione dei server utilizzata per facilitare la fase stessa di aggiornamento.

Sviluppi futuri Estendere il prototipo affinchè possa funzionare con il multicast raffinare ulteriormente i protocolli per ridurre i tempi necessari alle varie copie per accorgersi di un problema gestire il caso dell’arrivo contemporaneo di due slave USI CONCRETI questa applicazione è utilizzata nel progetto di un collega di corso che ha realizzato un servizio di chat

Conclusioni La strutturazione del sistema in molti demoni è nata dalla necessità di avere un sistema estremamente “reattivo” nel senso che si voleva che il sistema fosse sempre pronto a fornire il servizio richiesto da entrambe le tipologie di utenti, delegando ad altri il compito di fornire un aggiornamento alle copie e di attenderne di nuove La scelta di fare l’aggiornamento ad ogni nuova richiesta dei server e di strutturare le copie in una “catena” è stata dettata dal fatto di avere le copie “quanto più calde possibili” per riuscire a garantire comunque un buon servizio aggiornato anche in caso di caduta del Master

Conclusioni L’applicazione realizzata si basa su protocolli e regole di interazione semplici, non bisogna farsi trarre in inganno dal numero di thread che la costituiscono, ogni thread realizza una sola funzionalità, così oltre che al requisito della semplicità guadagniamo anche in efficienza nei tempi di risposta. Inoltre questo ha permesso di sviluppare le varie parti del sistema in modo quasi indipendente e di capire molto velocemente la causa di malfunzionamenti riscontrati durante la stesura del codice