Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A. 2003-2004.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

Meccanismi di IPC Problemi classici di IPC
La rete del futuro nell’autonomia scolastica
Progetto realizzato da: Francesco Seccia Matr Marco Spinelli Matr
L'innovazione Tecnologica Per Il Federalismo Efficiente Roma 30 Giugno 2005 Sistema Pubblico di Cooperazione Applicativa.
Modello di replicazione attivo e di supporto alla tolleranza ai guasti in ambito MOM Autore: Claudio Fusconi Matricola: Esame: Reti di calcolatori.
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito1 Reti di Calcolatori LS REALIZZAZIONE DI UN SERVIZIO DI ANNUNCI DISTRIBUITO Studente:
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.
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.
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,
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
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.
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Corso di Informatica per Giurisprudenza Lezione 7
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
File system distribuito transazionale con replicazione
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à.
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.
BDE-TRANS 1 Gestione di transazioni concorrenti. BDE-TRANS 2 Lock Principio: –Tutte le letture sono precedute da r_lock (lock condiviso) e seguite da.
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.
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
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.
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.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Sistema distribuito per il controllo remoto di Software SCADA HMI Presentazione di Paolo di Francia Reti di Calcolatori LS a.a
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.
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.
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.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
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.
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.
Il Sistema Operativo Processi e Risorse
Transcript della presentazione:

Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A

Obiettivi del progetto Un servizio di gestione di code –Affidabilità –Tolleranza ai guasti –Flessibilità –Indipendenza dal linguaggio di programmazione e dal sistema operativo client Case study interessante per –Replicazione attiva –Assenza di Gestione Centralizzata –Oggetti attivi –Ordinamento Atomico –Protocollo Ricart & Agrawala

Idea base N1 N2 N3 L’utente Bob vuole inviare un messaggio a Fred Bob affida il msg al servizio QMS presso N1 Il gruppo QMS si coordina ed il messaggio viene replicato su N2 ed N3 Anche nel caso che il nodo N1 si guastasse Fred comunque recupera il messaggio da QMS attraverso N3 ?

Dietro le quinte… Il client di Bob richiede una modifica ad una coda (aggiungere un messaggio) Il nodo N1 richiede l’accesso esclusivo alla coda per modificarla Il nodo N1 modifica la coda Il nodo N1 rilascia la coda Two Phase Lock Protocol Ordinamento atomico

Coordinamento (1) Per ogni coda –Uno stack di messaggi di coordinamento –Un insieme di possibili possessori della coda Nodi ordinati (a priori o dinamicamente) N1N2N3 N1 Req Lock N1 Agree Lock N1 Unlock Ow = N1 Locked! N1 Req Lock N2 Agree Lock N3 Agree Lock N1 Unlock N1 Change La coda viene modificata solo quando tutti i nodi sono d’accordo sul fatto che N1 (e solo N1!) la modificherà

Coordinamento (2) Richieste concorrenti di modificare una coda N1N2N3 N1 Req Lock N3 Req Lock N2 Agr Lck N3 N3 Agr Lck N3 N2 Agr Lck N1 N1 Agr Lck N1 OW=N1 OW=N3,N1 OW=N3 OW=N1 OW=N3,N1 N1 Agr Lck N3 Locked! N3 Unlock Adesso N3 può modificare la coda OW=N1 N3 Agr Lck N1 Locked! Adesso N1 può modificare la coda N1 Unlock

Gestione del gruppo (1) Il gruppo deve coordinarsi non solo per gestire le code –Aggiunta di un nuovo nodo –Partenza di un nodo –Dichiarazione del fallimento di un nodo  Recovery di uno stato consistente QMS garantisce –Continuità di servizio anche durante l’aggiunta di un nodo –Continuità di servizio anche a fronte di guasto di un nodo (purché resti almeno un nodo attivo nel gruppo)

Gestione del gruppo (2) Aggiunta di un nuovo nodo al gruppo Richiesta di join a N1 Freeze ! Copia stato code Copia info su Gruppo Info sul nuovo nodo Ready Il gruppo viene “congelato”, tutti i messaggi di coordinamento sulle code e tutte le richieste dei client vengono poste in un buffer Quando il gruppo viene dichiarato di nuovo “pronto” i messaggi bufferizzati vengono processati come se fossero stati ricevuti in ritardo Ora il nuovo nodo fa parte del gruppo

Gestione del gruppo (3) Partenza di un nodo dal gruppo –Il nodo informa il gruppo della propria partenza –Gli altri nodi si “dimenticano” del nodo  Eliminare i messaggi di lock/agree pendenti  Avviare le operazioni sospese in attesa dell’ agree del nodo che parte Dichiarazione del fallimento di un nodo –Un nodo ha un sospetto di fallimento di un altro nodo –Vengono informati tutti i nodi del fallimento –Il nodo allontanato se ancora attivo deve iniziare nuovamente il protocollo di join (vedendosi allontanato dal gruppo)

Client API Interfaccia standard –Protocollo http/https –XML ADT Messaggio –Mittente / Destinatario / Corpo –Stringhe con significato a carico dell’applicazione client API semplice –Creazione/Distruzione di code –Inserimento/Lettura/Estrazione di messaggi

Prototipo Applicazione Web Java –Portabilità –Semplicità nel deployment –Librerie standard per XML e HTTP Libreria Java QMS Client API Semplificazioni –Protocollo di join al gruppo semplificato –Persistenza solo in memoria RAM Componenti collaterali sviluppati –Scheduler per gestire l’asincronicità delle operazioni da portare avanti (il nodo è praticamente un ‘oggetto attivo’) –Servlet per interfaccia HTTP N2N e C2N –Amministrazione Web Predisposto per estensioni –Sistema Publish/Subscribe –Riordinamento dei messaggi

Caratteristiche del servizio Affidabilità –Tolleranza ai guasti –No gestione centralizzata Apertura / Indipendenza dal linguaggio –Interfaccia basata su protocolli/formati standard Servizio general purpose –Il sistema non pone particolari vincoli sul significato dei messaggi trattabili

Limiti Richiesta di canali di comunicazione affidabili fra i nodi –Messaggi ritardati ma mai persi –Grafo dei nodi completamente connesso Over-head dovuto alla sincronizzazione nell’accesso per modificare le code Sistema poco scalabile –Numero di messaggi scambiati –Tutte le entità da sincronizzare per ogni operazione significativa

Sviluppi futuri Differenziare le politiche di gestione delle code –Qualità di servizio –Sicurezza Servizio publish/subscribe –Il client non è costretto a fare polling ma può registrarsi come interessato a sapere quando un certo tipo di messaggio è stato inserito in una coda Ordinamento in base all’invio dei messaggi –Etichettamento sul client e poi ricostruzione della sequenza Ordinamento CAUSALE dei messaggi –Non mostrare messaggi “effetto” senza “causa”