Reliable And Timely Multipoint Distribution Infrastructure
1. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
tesi di laurea
Un Sistema per la Disseminazione Multipunto di Dati
in Ambito Geografico con Garanzie di Tempo ed Affidabilità
Anno Accademico 2008/2009
relatore
Ch.mo prof. Domenico Cotroneo
correlatore
Ing. Christiancarmine Esposito
candidato
Paolo Maresca
Matr. 885/254
2. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
Contesto
o Large scale Complex and Critical Infrastructure (LCCI)
• federazione di sistemi Off-The-Shelf (OTS) interconnessi da una soluzione middleware
attraverso reti di dimensione geografica (Wide Area Network, WAN) senza alcuna garanzia
sulla qualità del servizio percepita dall’utente
• caratterizzati da una natura Mission Critical: un fallimento dell’intero LCCI può comportare
ingenti perdite finanziarie e/o di vite umane
o Il middleware gioca un ruolo fondamentale per la qualità complessiva di un sistema
LCCI, pertanto deve godere delle seguenti proprietà:
Reliable, messaggi consegnati sebbene vari guasti si possano verificare
Soft/Near real-time, i tempi di consegna dei messaggi devono rispettare dei vincoli
temporali
Scalable, i tempi di latenza non dipendono dal numero di partecipanti alla
comunicazione
3. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
I Middleware Publish/Subscribe
Publish/
o Un middleware che adotta il paradigma Publish/Subscribe
o è attraente per il disaccoppiamento intrinseco che conferisce scalabilità
o è composto da due tipi distinti di nodi applicativi
• i publisher (che generano i dati da disseminare)
• i subscriber (che sottoscrivono interesse per certe classi di dati disseminati dai publisher)
Publisher e subscriber sono legati gli uni agli altri attraverso una soluzione middleware: il
notification service
4. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
Contributo
? “Le soluzioni pub/sub proposte in letteratura sono in grado di garantire la consegna dei messaggi,
nonostante l’occorrenza di hw/sw faults a livello di nodi e lossy behavior a livello di rete?”
Sì, ma solo pochi middleware pub/sub sono robusti alle perdite di messaggi imposte dalla rete
? “Le soluzioni pub/sub attualmente disponibili sono in grado di garantire una consegna dei messaggi
in tempo utile rispettando una data scadenza?”
No, in letteratura non esistono soluzioni che garantiscono timeliness rispetto alla consegna
è necessario ampliare con meccanismi di resiliency le attuali soluzioni
è necessario estendere la reliability dalla sola membership al processo di comunicazione
Il problema affrontato da questo lavoro di tesi consiste nel definire ed implementare un sistema
che garantisca congiuntamente:
reliability
timeliness
scalability (più di quella concessa dalle attuale soluzioni)
in comunicazioni multicast (disseminazione multipunto) REALM
5. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
La Soluzione proposta 1/4: realm
o Per poter strutturare in maniera più scalabile l’interazione pub/sub si è partititi dall’osservazione
dell’architettura dell’odierna Internet
o Internet: un’infrastruttura definita come
composizione di vari Autonomous Systems (AS)
o Gli algoritmi di routing possono essere
classificati rispetto a due categorie differenti:
intra-domain routing (coinvolge nodi
di uno stesso dominio)
inter-domain routing (interessa nodi
di domini differenti)
o Ricalcando l’architettura di Internet possiamo
clusterizzare nodi appartenenti a uno stesso AS
e suddividere i compiti del protocollo multicast
in:
intra-Cluster communication
inter-Cluster communication
6. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
La Soluzione proposta 2/4
o La comunicazione intra-Cluster: come scambiare messaggi tra nodi di un cluster
o avviene all’interno di un AS amministrato da un unico organizzazione, allora
IP-Multicast disponibile e utilizzabile
QoS garantita, perché si dispone di un’infrastruttura di rete dedicata e affidabile
o un cluster comunica con l’esterno attraverso il suo coordinator (coordinatore):
• single-point of failure per il sistema
• boottleneck point “necessità di tollerare
coordinator crash”
o La comunicazione inter-Cluster: la connettività tra cluster è realizzata scambiando messaggi tra i
relativi coordinator
o impiega la backbone di Internet:
routing poco controllabile
QoS, non garantita
“necessità di
IP-Multicast, non utilizzabile perché non sempre disponibile resiliency!”
7. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
La Soluzione proposta 3/4
o Al fine di ottenere una disseminazione multipunto di informazioni che sia resiliente e, al contempo,
efficiente:
• data-path codificati mediante tecniche ‘End-to-End FEC + ARQ’
o i membri del cluster delegano il coordinator
per la comunicazione inter-Cluster
o la disseminazione passa per il rendezvous
node
o ha l’identificatore più prossimo a quello
del gruppo inter-Cluster
o è un codec del FEC
o il rendezvous inoltra ai propri figli
• i figli, a loro volta, inoltrano ai loro figli,
• e così via… sino a raggiungere le
foglie dell’albero
o gli interessati alla comunicazione decodificano
le informazioni
o Ma, i requisiti di
Reliability?
Timeliness?
8. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
La Soluzione proposta 4/4
4/4
o Al fine di garantire reliability rispetto a link crash
• si utilizza un approccio basato sulla costruzione di una foresta di Alberi di Multicast
la costituzione degli alberi sfrutta la path-redundancy propria di Internet, mediante tecniche di
path-diversity stocastico
o Per garantire reliability rispetto a process crash
• si utilizzano tecniche combinate di replicazione
attiva, in un cluster sussistono p coordinator
passiva, ogni coordinator possiede k mirror puri
• si necessita dei servizi (offerti da GCT) di
• ABcast (Atomic Broadcast)
• VScast (Virtual Synchrony Multicast)
al fine di garantire la consistenza forte delle repliche
o L’efficienza del sistema risiede
• nel guadagno in scalability, grazie al (i) clustering realizzato e al (ii) DOLR su cui si definiscono gli alberi di
disseminazione delle informazioni
• nel guadagno in throughput complessivo, grazie alla (i) riduzione delle ritrasmissioni e alla (ii) possibilità di
allocare la bandwidth su più alberi
o La consegna dei messaggi può essere quindi garantita con tempestività :
• il worst case è noto ed indipendente dalle condizioni di rete.
9. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
L’Implementazione di realm 1/3
o Un middleware con supporto estensibile
• pluggability rispetto ai means
FEC (librerie che implementano la Forward Error Correction)
DHT (librerie di sistemi p2p strutturate che implementano il routing DOLR)
GCT (librerie per la comunicazione View Oriented (failure detection affidabile))
o strutturato secondo il design pattern layer:
• ogni layer ha un dato compito da adempiere
• ogni layer possiede delle capabilities totalmente indipendenti dagli altri
• ogni layer può essere unplugged ed utilizzato da solo
tools/means/supporti
necessari al core di realm
10. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
L’Implementazione di realm 2/3
o Infrastruttura del middleware che lavora su 3 tier:
• tier 0 e 1 occupati dal framework, a sua volta composto da
hot-spot, componenti (i) altamente mutabili, (ii) frequentemente sostituiti
frozen-spot, componenti (i) invarianti al variare degli hot-spot, (ii) notificati asincronamente
da questi ultimi
• tier 2 occupato da una logica di presentazione
o si può osservare il disaccoppiamento
che tale soluzione fornisce:
• applicazione totalmente
disaccoppiata dal kernel del
framework grazie alla logica di
presentazione
• comportamento del kernel
invariante al variare dei supporti
• logica di presentazione totalmente
indipendente dai supporti utilizzati
dal kernel
11. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
L’Implementazione di realm 3/3
3/3
o I frozen spot del kernel sono entità progettate ed implementate come componenti autonome, al fine
• di poterle estrapolare ed utilizzare in un altro contesto
• aumentare la modularità del sistema, con guadagno
separazione dei compiti
separazione tra interfaccia ed effettiva implementazione per ognuno dei componenti
manutenibilità grazie all’acquisita separazione
• aumentare la riusabilità (anche tra le versioni dello stesso kernel)
o Le caratteristiche principali dei frozen spot si riassumono nella tabella che si riporta a seguire
Componente Descrizione
State Of Context Punto Centralizzato di accesso alle Informazioni di stato
Factory Punto Centalizzato di Accesso ai Supporti
Core Protocols Punto di Accesso Centralizzato alla Logica Protocollare
Observer Controllore a Notifica Asincrona
Serializer Serializzatore per Tipi di Dato Strutturati
12. Facoltà di Ingegneria
Corso di Studi in Ingegneria Informatica Un Sistema per la Disseminazione Multipunto di Dati in Ambito Geografico
con Garanzie di Tempo ed Affidabilità
Conclusioni e Sviluppi Futuri
o I principali contributi di questo lavoro di tesi sono:
1. Studio di un’architettura innovativa per la disseminazione affidabile e tempestiva di eventi in
middleware Publish/Subscribe.
2. Integrazione nel kernel di un framework di un set di protocolli che concorrono a caratterizzare
l’architettura teorizzata.
3. Realizzazione prototipale del middleware a supporto estensibile su cui implementare un
paradigma publish/subscribe che costituirà la glue-technology tra i nodi di un sistema LCCI.
o I principali sviluppi futuri per questo lavoro di tesi sono:
1. Una campagna sperimentale in Wide Area Network che validi sperimentalmente l’efficacia di
quanto implementato in termini di aderenza alle specifiche di reliability e timeliness così come
definite.
2. Un protocollo di gestione di un approccio FEC integrato nell’albero di disseminazione
multicast, più efficiente e performante del FEC centralizzato nella sola radice.
3. Un protocollo di building dell’albero di multicast che lavori intelligentemente sulle statistiche di
rete fornite dal componente Observer.