1 / 13

High Available Instant Messaging Service

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:

carsyn
Download Presentation

High Available Instant Messaging Service

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. High Available Instant Messaging Service Fabio Bombardifabio.bombardi@studio.unibo.it

  2. Agenda • Chi sono • Obiettivi • Architettura • Protocolli • Demo • Sviluppi Futuri

  3. CHI SONO • Fabio Bombardi • Reg # 0000165168 • Mail: • fabio.bombardi@studio.unibo.it • mail@shadowsheep.it • Web: • http://www.shadowsheep.it

  4. 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

  5. ARCHITETTURA • Architettura del sistema (SERVER) (CLIENT) register (online) login talk talk register logout (online) (offline) (offline)

  6. 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

  7. 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)

  8. 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)

  9. PROTOCOLLI (4/6) • Comunicazione (Offline  Online) paperino Offline Msgs Empty Online (callback ) (offline  online) From: plutomsg: “ciao!!!” Send (callback )

  10. 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

  11. PROTOCOLLI (6/6) • Replicazione del server (2/2) update (callback ) SLAVE  MASTER CRASHED MASTER NEW MASTER

  12. Demo • Demo Applicazione

  13. 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.

More Related