PERMESSO
PERsistent MESSaging in ad hOc networks
Alessio FrancoMatr. 0000233544
Corso di Reti di Calcolatori LSA.A. 2005/2006
Overview
• Realizzazione di servizi di messaggistica istantanea in MANET
• Garanzia di servizi di invio messaggi sincrono/asincrono
• Presenza/assenza di un nodo centrale (persistent server)
• Necessità di utilizzare dispositivi dalle ridotte capacità compuazionali (J2ME)
• Tutti i nodi in diretta visibilità (distanza 1-hop)
Struttura e scelte progettuali
• Identificazione degli host tramite UUID• Scelta del protocollo per lo scambio dei
messaggi: UDP• Gestione dei pacchetti: PacketFactory,
Router, Dispatcher e ForwardPacket• Definizione della relazione di amicizia• Protocolli di comunicazione realizzati ad
hoc (si vedano i lucidi seguenti)• Trasparenza nei confronti del server
Protocolli: Join (1/4)
A: offlineC: online
Z: offlineA: offlineB: online
B: offlineC: offline
A B
C D
A: onlineC: online
A: onlineB: online
B: onlineC: online
Join_Network
Host_Online
A: onlineB: online
Protocolli: Left (2/4)
Z: offline
A
A: offlineB: online
B
C D
A: onlineC: online
B: onlineC: online
A: offlineC: online
Leave_NetworkFree_Memory_Ask
Free_Memory_Response
Protocolli: Amicizia (3/4)
A: onlineB: online
Z: offline
A
B: online
B
C D
A: onlineC: onlineC: online
Z: offlineA: offline
D: offline
Z: offlineA: online
D: onlineQuery_Alias
Query_ResponseFriendship_Ask
Friendship_YesHost_Online
Protocolli: Chatting sincrono (4/4)
A B
1000
1000
2000
2000 A: 1000B: 2000
Come gestire il ciclo di vita del thread?
E la porta remota di B?
D’ora in avanti lo scambio di messaggiavviene a regime passando per i thread
Dummy
Affidabilità sui messaggi di testo
• E nel caso (non così remoto…) che un messaggio di testo venga perso?
• UDP non ci dà garanzie a riguardo: aggiungiamo quindi un controllo sui messaggi di testo
• Ricevuto il messaggio il destinatario risponde inviando un ACK (portiamo su UDP alcuni dei controlli che TCP esegue in automatico)
• Invio di ACK singolo o cumulativo?• E se ad andare perso è l’ACK?• Chi gestisce invio e ricezione dell’ACK?
Sviluppi futuri
• Meccanismi di replicazione
• Load balancing
• Routing multi-hop
• Realizzazione di chat multiutente
• Possibilità di scambio file
• Introduzione di tematiche di sicurezza
• …
Top Related