Supporto alla comunicazione di gruppo context aware per membri disconnessi. Reti di Calcolatori LS aa 2005/2006 Bruno Docimo
Scenario Mobile Ad-hoc NETwork Nodi mobili che collaborano per fornirsi servizi Topologia dinamica Problemi: mobilità dei nodi, perdita di pacchetti, disconnessioni improvvise.
AGAPE E’ un middleware: – Gestisce comunicazione di gruppo in MANET – Gestisce la rete (comunicazione, routing, …) – Unico per l’idea di vista. – Permetta di capire chi è presente attualmente in rete, qualificandolo attraverso un profilo (presence awareness)
Obiettivo Estendere AGAPE supporto alla comunicazione verso utenti disconnessi. Reliability (affidabilità) Rispettando il principio di minima intrusione
Modalità di consegna Modalità context-aware :consegna messaggi con delega LME1 LME2 ME1 ME2 ME1 ME2 LOC1 LOC2 ME3
Modalità di consegna Modalità re-connect: messaggi mantenuti all’interno della località LME1 ME1 To: ME1 ME2 LOC1
Architettura Context Manager: o Determina la politica di consegna dei messaggi o Raccoglie informazioni sugli spostamenti e li deposita in un HR o Calcola le probabilità che i vari utenti presenti si possano muovere verso la destinazione target Interlocation Routing Service : o Memorizza i messaggi nel MR (chashing) o Consegna dei messaggi agli utenti corrieri (forwarding). Message Repository: o offre servizi di memorizzazione dei messaggi AGAPE I.R.S.C.M. APPLICATION M.R.
I.R.S. Lato ME Rimane in attesa di nuovi messaggi “extralocality” che devono essere veicolati. Memorizza tali messaggi nel MR locale Invio di tali messaggi al LME della nuova località corrente M.R. LME1 LME2 M.R. ME1 ME2 ME3 LOC2 LOC1
I.R.S. Controllore Località (LME) Si interfaccia col VMS di Agape per ricevere le viste aggiornate: – Se sono presenti nuovi elementi, ripete la procedura di instradamento dei messaggi presenti nel MR locale – Se ci sono elementi disconnessi, invoca il CM per rimuovere gli HR. se il messaggio da spedire è diretto alla località usa il metodo searchUserMatchingProfile controlla se il destinatario o i destinatari sono presenti in tale località, e spedito. Se il messaggio deve essere consegnato fuori dalla località corrente viene invocato il CM che restituisce o l’elenco dei possibili corrieri, o la decisione di memorizzare localmente il messaggio.
Esempio: Messaggio in località Invoca il metodo serchUserMatchingProfile e controlla se il destinatario è presente – Se il destinatario è presente allora invio. – Altrimenti caching LME1 ME1 ME2 To: ME2 LOC 1 M.R.
Esempio: Messaggio in extralocality(1) Si invoca il C.M. che : – Restituisce lista di possibili corrieri (forwarding) LME1 LME2 ME1 ME2 ME1 ME2 To ME1 LOC 2 Loc 1 Loc 2 ME2 Global Register Table Place (LID)Next Locality History (LID) Locality 0 (0) Locality 1 (1) ME3Next Locality History (LID) Locality 0 (0) Locality 1 (1) ME2 corriere alta probabilità che andrà in Loc2
Esempio: Messaggio in extralocality(2) Decisione di memorizzare in messaggio (caching) LME1 ME1 ME2 To ME1 LOC 3 Loc 0 ME2 Global Register Table Place (LID)Next Locality History (LID) Locality 0 (0) Locality 1 (1) ME3Next Locality History (LID) Locality 0 (0) Locality 1 (1) M.R. Messaggio non recapitato a nessun corriere
Conclusioni Decentralizzare Supporto alla replicazione Migliorare algoritmi di predizione Trasparenza Reliability Sviluppi Futuri