130 likes | 291 Views
High Available Instant Messaging Service. Fabio Bombardi fabio.bombardi@studio.unibo.it. Agenda. Chi sono Obiettivi Architettura Protocolli Demo Sviluppi Futuri. CHI SONO. Fabio Bombardi Reg # 0000165168 Mail: fabio.bombardi@studio.unibo.it mail@shadowsheep.it Web:
E N D
High Available Instant Messaging Service Fabio Bombardifabio.bombardi@studio.unibo.it
Agenda • Chi sono • Obiettivi • Architettura • Protocolli • Demo • Sviluppi Futuri
CHI SONO • Fabio Bombardi • Reg # 0000165168 • Mail: • fabio.bombardi@studio.unibo.it • mail@shadowsheep.it • Web: • http://www.shadowsheep.it
OBIETTIVI • Realizzazione di un servizio di Instant Messaging che garantisca un certo grado di affidabilità per quanto riguarda: • Alta disponibilità del servizio • Persistenza dei messaggi non recapitati
ARCHITETTURA • Architettura del sistema (SERVER) (CLIENT) register (online) login talk talk register logout (online) (offline) (offline)
PROTOCOLLI (1/6) • Registered • Client • List • - - - • Nick: pluto • Ip: 0.0.0.1 • Online • - - • … • - - • Nick: pippoip: 0.0.0.0 • Offline Registered Client List • Registrazione • Aggiunta di un utentealla propria lista di contatti Nick: pippoip: 0.0.0.0 - - - Nick: pluto Ip: 0.0.0.1 Online - - - … - - - Register (callback) Nick: pippoip: 0.0.0.0 Offline My Contacts Nick: pippo Nick: pipo ip: 0.0.0.0 addContact (callback) Nick: pippo Ip: 0.0.0.0Offline
PROTOCOLLI (2/6) • Registered • Client • List • - - - • Nick: pluto • Ip: 0.0.0.1 • Online • - - • … • - - • Nick: pippoip: 0.0.0.0 • Online • Online / Offline pippo login (callback ) Nick: pippoip: 0.0.0.0 online (offline) (online) Nick: pippoip: 0.0.0.0 online Nick: pippoip: 0.0.0.0 online multicast channel offline My Contacts Nick: pippo Ip: 0.0.0.1 Online (online) offline (online)
PROTOCOLLI (3/6) paperino • Comunicazione (online) • Comunicazione (offline) pluto pippo Offline Msgs Nick: paperino Msg: “ciao!!!” (offline) msg msg (online) (online) My Contacts Nick: paperino Ip: n.a. Offline pluto Nick: paperinomsg: “ciao!!!” send (callback) (online)
PROTOCOLLI (4/6) • Comunicazione (Offline Online) paperino Offline Msgs Empty Online (callback ) (offline online) From: plutomsg: “ciao!!!” Send (callback )
PROTOCOLLI (5/6) • Replicazione del server (1/2) • Ipotesi di guasto singolo • Copie fredde (1 sola copia slave) • Aggiornamento Time Driven info update (callback ) master slave
PROTOCOLLI (6/6) • Replicazione del server (2/2) update (callback ) SLAVE MASTER CRASHED MASTER NEW MASTER
Demo • Demo Applicazione
SVILUPPI FUTURI • Rendere più robusta la replicazione del server (e.g. clusterizzazione dei server, protocolli di heartbeat, etc.) • QoS • Crittografia dei messaggi • Persistenza dell lista dei contatti locale • Possibilità di rifiutare i messaggi da parte di un particolare destinatario • Etc.