Progetto RE.VE.N.GE. MQ
REliable and VErsatile News delivery support for aGEncies
Sistema di Distribuzione
Reti di Calcolatori LS – Prof. Antonio Corradi
Dario Zanelli 0000232070
(mail: [email protected])
Obiettivi
 Distribuzione di notizie di agenzie su larga
scala
 Presenza di un certo numero di fonti e un alto
numero di fruitori completamente
disaccoppiati ed eterogenei
 Utilizzo di IBM WebSphere MQ e delle sue
funzionalità disponibili in Java
 Realizzare un sistema affidabile e che tenga
in considerazione i problemi legati alla QoS
Dario Zanelli - Sistema di Distribuzione
2
Descrizione del sistema
 Presenza di un certo numero NOTIZIA
di fonti che
FONTI
immettono notizie nel sistema (fonti push o
pull)
 Presenza di un alto numero di fruitori
interessati alle notizie (fruitori push o pull)
 Sistema di distribuzione che si appoggia ad
MQ e porta le notizie dalle fonti ai fruitori
interessati
SISTEMA DI
DISTRIBUZIONE
FRUITORI
Dario Zanelli - Sistema di Distribuzione
3
Architettura del sistema di distribuzione 1/2
 Gerarchico organizzato su più livelli,
organizzato in maniera geografica
 I fruitori si posizionano all’ultimo livello
gerarchico della rete
 Si effettua consegna totale delle notizie
emesse (algoritmo Shortest Spannig Tree)
 L’unica eccezione è rappresentata dalle
notizie esclusive per le quali la consegna va
fatta solo ad un destinatario (algoritmo
Shortest Path)
Dario Zanelli - Sistema di Distribuzione
4
Architettura del sistema di distribuzione 2/2
 Presenza di un MASTER per ogni livello della
rete, con compiti di:




inizializzazione di sistema
mantenimento informazioni sullo stato della
rete
decisioni di routing in base allo stato della rete
ricezione delle notizie dal master del livello
gerarchico superiore
Dario Zanelli - Sistema di Distribuzione
5
Affidabilità e tolleranza ai guasti
 Principalmente due tipi di guasti possibili nel
sistema di distribuzione:


malfunzionamenti della rete: possibile caduta
di una tratta
malfunzionamenti dei nodi: possibile caduta di
un nodo
 Occorre garantire che non vadano persi i
messaggi durante qualsiasi tipo di
malfunzionamento
Dario Zanelli - Sistema di Distribuzione
6
Malfunzionamenti della rete 1/2
 Ogni notizia è caratterizzata da un ID
1) SendMessage (NodoA, 020, notizia1)
NODO A
NODO B
 Ogni nodo quando invia una notizia salva
informazioni1)dell’invio
(notizia,
destinatario, ID)
SendMessage (NodoA,
028, notizia2)
in un’apposita
struttura dati (Hashtable)
2) ReplyMessage (NodoB, 020)
 Ogni nodo quando riceve una notizia invia un
020 NodoA notizia1
ReplyMessage (NodoB, 028)
messaggio di2) conferma
avvenuta ricezione al
028 NodoA notizia2
mittente col proprio
nome
del messaggio
1) SendMessage
(NodoA, e
036,l’ID
notizia3)
036 NodoA notizia3
 Chi riceve uno di questi messaggi di conferma
elimina dalla struttura dati le informazioni
riguardanti quel messaggio
Dario Zanelli - Sistema di Distribuzione
7
Malfunzionamenti della rete 2/2
 Un processo periodicamente controlla
l’Hashtable e la confronta con una “fotografia”
della stessa all’istante di controllo precedente
MASTER
una tratta
 Se sono presenti MASTER
entryCade
comuni
si considera
caduta la tratta corrispondente e:


tutti i messaggi destinati a quella tratta prendono
strade alternative
viene avvisato il nodo master che tiene conto di
questa informazione nel calcolo dei successivi
alberi di routing
Dario Zanelli - Sistema di Distribuzione
8
Malfunzionamenti dei nodi 1/2
 Ogni nodo ha una copia capace di subentrare
al suo posto in caso di malfunzionamento
secondo un modello del tipo Master-Slave
con copia fredda
 Ipotesi di guasto singolo
 Le due copie risiedono su macchine diverse
con IP diversi
 La copia Slave invia messaggi di KeepAlive al
Master, considerando un opportuno timeout
Dario Zanelli - Sistema di Distribuzione
9
Malfunzionamenti dei nodi 2/2
NODO B
 Se il Master cade, subentra lo Slave, che:


Recupera gli indirizzi IP dei vicini dal Registry
Comunica ad essi la caduta del nodo Master
 I nodi vicini inviano allo Slave i messaggi di cui
MASTER
SLAVE
non avevano ricevuto
conferma
 La rete continua a lavorare con lo Slave che
svolge tutte le funzioni del Master
 Quando il Master torna disponibile riprende il
servizio ripristinando la condizione di partenza
KeepAlive
Response
NODO A
NODO C
Dario Zanelli - Sistema di Distribuzione
10
Il Registry
 Fornisce gli indirizzi IP di tutti i nodi, sia
REGISTRY
1) GetIP(ABRUZZO)
Master che Slave
Nome nodo, IP master, IP slave
2) “255.3.6.1”
255.3.6.2 socket
ABRUZZO, 255.3.6.1,
 Comunica
tramite
con connessione
LIGURIA, 255.8.11.2, 255.8.11.3
 Due tipi di richieste:


Richiesta IP di un nodo
1) GetIP(ABRUZZO,255.3.6.1)
2) “255.3.6.2”
Richiesta IP di un nodo dato l’indirizzo IP della
macchina non funzionante: verrà dato come
risposta l’IP della copia funzionante della
macchina
Dario Zanelli - Sistema di Distribuzione
11
Gestione della qualità del servizio 1/2
 La QoS del sistema di distribuzione è
garantita tramite un’azione di monitoring
sulle tratte che collegano i nodi
 Periodicamente ogni nodo invia messaggi
contenenti un Timestamp su un’apposita
coda dei vicini
 Il messaggio viene immediatamente rispedito
al nodo mittente
Dario Zanelli - Sistema di Distribuzione
12
Gestione della qualità del servizio 2/2
 Viene calcolato il peso della tratta come
Peso Tratta: 2
4
funzione lineare della differenza tra il
Timestamp del messaggio e quello attuale
(”MONITOR”,”NodoB”,04.10.2006 14:55:41)
NODO A
NODO B
 In caso di variazione di tale peso ne viene
(”MONITOR”,”NodoB”,04.10.2006 14:55:41)
data comunicazione al nodo master del livello
 Frequenza di monitoring non troppo alta per
Calcolo il nuovo peso della tratta che è 2
non appesantire troppo il sistema
Invio un messaggio al Master
indicando la variazione di peso della tratta
Dario Zanelli - Sistema di Distribuzione
13
Testing e conclusioni
 Testing avvenuto in locale su una macchina
 Attività di monitoring solo simulata
 È stato realizzato un prototipo che permette
la comunicazione disaccoppiata tra Fonti e
Fruitori
 Come sviluppi futuri si può prevedere la
trasmissione criptata delle informazioni, un
numero maggiore di contratti e una migliore
gestione degli utenti mobili
Dario Zanelli - Sistema di Distribuzione
14
Fine presentazione
Progetto RE.VE.N.GE. MQ
REliable and VErsatile News delivery support for aGEncies
Sistema di Distribuzione
Dario Zanelli - Sistema di Distribuzione
15
Scarica

presentazione