PERMESSO PERsistent MESSaging in ad hOc networks Alessio Franco Matr. 0000233544 Corso di Reti di...

Post on 01-May-2015

214 views 1 download

Transcript of PERMESSO PERsistent MESSaging in ad hOc networks Alessio Franco Matr. 0000233544 Corso di Reti di...

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

• …