PERMESSO
PERsistent MESSaging in ad hOc networks
Corso di Reti di Calcolatori LS
A.A. 2005/2006
Alessio Franco
Matr. 0000233544
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)
B: offline
online
C: offline
online
A
Host_Online
B
A: offline
online
C: online
Join_Network
Z: offline
A: offline
online
B: online
C
D
Protocolli: Left (2/4)
B: online
C: online
B
A
A: offline
online
C: online
Free_Memory_Response
Leave_Network
Free_Memory_Ask
A: offline
online
B: online
Z: offline
C
D
Protocolli: Amicizia (3/4)
D: offline
online
A
B
C: online
A:
C: online
Query_Alias
Friendship_Ask
Query_Response
Host_Online
Friendship_Yes
B: online
A:
B: online
Z: offline
A: offline
online
C
D
Protocolli: Chatting sincrono (4/4)
B
A
1000
B: 2000
E la porta remota di B?
Dummy
A: 1000
2000
1000 D’ora in avanti lo scambio di messaggi
avviene
a regime
passando
per thread?
i thread
Come gestire
il ciclo
di vita del
2000
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
…
Scarica

presentazione