130 likes | 287 Views
Permesso. PERsistent MESSaging in ad hOc networks. Massimo Benini matricola 0000293650 Reti di Calcolatori LS aa 2006/2007. Introduzione Progetto PERMESSO Persistent Server Comunicazione asincrona con PS Ingresso PS Estensione senza PS Uscita nodo Switch tra ChatForm Conclusioni.
E N D
Permesso PERsistent MESSaging in ad hOc networks Massimo Benini matricola 0000293650 Reti di Calcolatori LS aa 2006/2007
Introduzione • Progetto PERMESSO • Persistent Server • Comunicazione asincrona con PS • Ingresso PS • Estensione senza PS • Uscita nodo • Switch tra ChatForm • Conclusioni Temi trattati
MANET (Mobile ad Hoc Network) • Sistema pensato per fornire un servizio di messaggistica persistente ad utenti di una rete ad-hoc (MANET). • Alta dinamicità ed assenza di infrastruttura di comunicazione. • Eterogeneità dei dispositivi e scarsa capacità computazionale e di memorizzazione (smartphone, PDA). PERMESSO introduzione
Struttura : CHAT ASINCRONA CHAT SINCRONA NO PS PS DISCOVERY • Vincoli tecnologici: • J2ME (versione ridotta di Java 2) • Comunicazione di rete one-hop • Indirizzi IP statici • 802.11 PERMESSO progetto
Modello di comunicazione asincrona persistente: messaggi per utenti offline verranno recapitati successivamente all’ingresso del nodo interessato. • Due possibilità: • Soluzione centralizzata Persistent Server • Soluzione distribuita coordinazione tra peer per messaggi asincroni. • Permesso offre entrambe le possibilità offrendo totale trasparenza all’utente. • PERSISTENT SERVER come dispositivo dedicato alla ricezione, alla memorizzazione e al delivery dei messaggi asincroni. • Grande capacità di memorizzazione. PERSISTENT SERVER
Messaggi sincroni HERE I AM message Messaggi asicroni Join message Persistent Server MANET PS IP STORED ASINC MSGS PER IL NODO ENTRATO PERSISTENT SERVER
Persistent Server Da A per C Da B per C Da B per C MANET Tempack Temp end Delivery end Temp end Delivery req Tempack Delivery ack: portxx B Da A per C C A Comunicazione asincrona con PS
Scenario: -la gestione del traffico asincrono è a carico dei nodi Scenario: -Non è presente il PS -Normale gestione del traffico sincrono Scenario: -ingresso del PS MANET JOIN No PS, memorizzo io il msg oppure lo invio a un nodo a caso! A JOIN Sincmessage JOIN Scenario: -i nodi percepiscono la presenza del PS e convogliano verso di lui il traffico asincrono memorizzato -Start Deposit Thread su PS Da C per D Sincmessage C Sincmessage B Ingresso PERSISTENT SERVER
Scenario: -Non è presente il PS -Devo inviare un messaggio asincrono.. Lo salvo in memoria?? -quanti messaggi posso salvare? -dispositivi con ridotta capacità di memorizzazione… Lo invio a un altro nodo?? -a quale nodo? -soluzione sempre possibile?? Estensione senza PS
Algoritmo spedizione msg asincroni senza PS: A) Controllo quanti messaggi ci sono nella mia coda. D) Invio il msg sulla Deposit Port del nodo scelto in maniera random. Se il nodo scelto ha la memoria satura, provvederà a memorizzare comunque il msg, cancellando dalla coda il più vecchio E) Se non sono presenti altri nodi online, memorizzo il msg nella coda cancellando il msg più vecchio C) Se si è raggiunto il limite, seleziona a caso un nodo online B)Se c’è spazio disponibile, accoda messaggio inizio Sendasincmsg checkFreeSpace no yes ? getRandomNode enqueueMsg no yes sendAsyncMsgWithoutPS enqueueMsg Estensione senza PS
Invio sulla DEPOSIT PORT di C -se C ha la coda satura cancella il messaggio più vecchio Scenario: - Il nodo B comunica proattivamente di lasciare la manet. • Il nodo B possiede dei messaggi nella sua coda. • Se ci fosse PS li manderebbe a lui. • Sceglie un nodo a caso a cui mandarli. • Se non ci fossero nodi, i messaggi accodati andrebbero persi!! Uscita nodo B MANET A leave C leave Scelgo C leave D B Uscita nodo
Problema: - Un nodo A apre una chat in modalità asincrona con un nodo B. - B entra nella MANET. • PERMESSO, in maniera trasparente all’utente, invia una richiesta di chat sincrona da A a B. • Nel nodo B verrà creato un oggetto ChatForm in modalità sincrona • Nel nodo A verrà cambiata la modalità della chatForm, da asincrona a sincrona MANET Sync chat req trans A B Switch automatico di chat Form
Possibili sviluppi futuri: possibilità di effettuare conferenze, ovvero chat con più di due partecipanti (distribuzione multicast dei messaggi scambiati). rete multi-hop -> servizio di routing fra nodi non visibili sulla stessa rete. replicazione e monitoraggio del PS. gerarchie di nodi -> maggiore scalabilità la fase di discovery PERMESSO soddisfa a pieno le specifiche richieste: servizio di instant messaging persistente. Offre totale trasparenza all’utente sulla presenza o meno del PS. Chatting asincrono, con o senza PS, ha dato, empiricamente, buoni risultati, ma soffre un po’ dei ritardi dovuti all’elevato numero di messaggi. Conclusioni