Supporto alla comunicazione di gruppo context aware per membri disconnessi. Reti di Calcolatori LS aa 2005/2006 Bruno Docimo 0000222738 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 ME2 ME2 ME3 LME1 LME2 ME1 LOC1 ME1 LOC2 Modalità di consegna Modalità re-connect: messaggi mantenuti all’interno della località To: ME1 ME2 LME1 ME1 LOC1 Architettura Context Manager: 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 o APPLICATION C.M. I.R.S. AGAPE 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. ME1 M.R. M.R. M.R. LME2 LME1 ME2 LOC1 ME3 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 To: ME2 LOC 1 ME1 M.R. LME1 ME2 LOC 1 Esempio: Messaggio in extralocality(1) Si invoca il C.M. che : – Restituisce lista di possibili corrieri (forwarding) ME2 Place (LID) Locality 0 (0) To ME1 LOCLocality 2 1 (1) Global Register Table 1 1 1 3 1 1 3 1 1 1 2 2 2 3 3 3 2 2 2 2 ME3 Next Locality History (LID) Locality 0 (0) 1 1ME2 1 3 1 1 3 1 1 1 Locality 1 (1) 0 3 0 3 0 0 0 3 3 0 LME1 Loc 1 ME2 corriere alta probabilità che andrà in Loc2 Next Locality History (LID) ME2 LME2 ME1 ME1 Loc 2 Esempio: Messaggio in extralocality(2) Decisione di memorizzare in messaggio ME2 Global Register Table Place (LID) Locality 0 (0) To ME1 LOCLocality 3 1 (1) Next Locality History (LID) 1 1 1 3 1 1 3 1 1 1 2 2 2 1 1 1 2 2 2 2 ME3 Next Locality History (LID) Locality 0 (0) 1 1ME2 1 3 1 1 3 1 1 1 Locality 1 (1) 0 3 0 3 0 0 0 3 LME1 Loc 0 Messaggio non recapitato a nessun corriere (caching) 3 0 M.R. ME1 Conclusioni Trasparenza Reliability Sviluppi Futuri Decentralizzare Supporto alla replicazione Migliorare algoritmi di predizione