GVTS
Global Virtual TupleSpace
Nicola Zanella
1
Obiettivi
• Fornire un’astrazione di
spazio di tuple condiviso
• Concetto di gruppo
• Presence awareness e
gestione profili
2
Scenario
• La comunicazione avviene
tra dispositivi
–
Eterogenei
–
Mobili
Uso una
MANET
• Contesto
– Che cambia dinamicamente
– Senza infrastrutture di rete
quali cavi, access point…
3
Mobile Ad-hoc NETwork
•Nodi mobili che collaborano per fornirsi servizi
•Topologia dinamica
•Problemi: mobilità dei nodi, perdita di
pacchetti, dispositivi diversi
4
Presence awareness
•Ogni nodo riceve le informazioni su coloro che
appartengono alla sua rete
•Le informazioni sono incapsulate nel
concetto di profilo
•Tramite un servizio che lavora ad intervalli regolari
è possibile sapere non solo chi ci sia ma anche ci
sia arrivato o se ne sia andato
5
Cos’è uno spazio di tuple
<“user 1”, “message”, “OK”, 12:57>
<Nicola, “ESP KH2”, “2000$”, AMEX>
<“Sensore 123”, “Rilievo 12”, 36°C>
esempio di tupla
• Insieme strutturato di relazioni
• Operazioni di prelievo,
deposito, lettura
• Pattern matching
• Semantica non deterministica
6
Allocation and Group Aware Pervasive Environment
ME
ME
ME
ME
LME
LME
Locality Manager Entity
ME
LME
ME
Managed Entity
Gli LME forniscono il supporto al
• Group and view management
• Routing
per gestire gli ME
7
GVTS: modello adottato
Lo spazio di tuple è partizionato su un numero
ristretto di membri detti SuperPeer, e gli altri, detti Peer,
si rivolgono ai primi per le loro operazioni: in, read e out
8
GVTS e AGAPE
APPLICATION
SuperPeerTupleManager
Spazio
di
tuple
ServerManagers
PeerTupleManager
GVTS
ClientManagers
AGAPE
Il SuperPeer viene mappato sopra un LME e
un Peer su un ME
Ci si concentra solo sui protocolli delle primitive
9
La primitiva OUT
LME1
ME1
ID
DEST
TUPLA
Req1
LME1
<?,?,?>
Timeout e
ritrasmissioni
Tabella delle richieste pendenti
10
La primitiva READ
LME1
ME1
ID
DEST
TUPLA
Req1
LME1
<?,?,?>
Timeout e
ritrasmissioni
Tabella delle richieste pendenti
11
La primitiva IN
ID
DEST
TUPLA
Req1
LME1
<?,?>
InRequest
InResponse
ID
DEST
TUPLA
Res1
ME1
<?,?>
Tabella delle risposte pendenti
Tabella delle richieste pendenti
ME1
ID
DEST
TUPLA
Ack1
LME1
<?,?>
Ack
LME1
Tabella degli ack pendenti
Timeout e
ritrasmissioni
12
Le primitive non annotate
• Ogni primitiva consente di
-- specificare l’LME destinatario
oppure
-- lasciare decidere il supporto
Si cicla sugli LME disponibili
Aspettando il MULTICAST su
agape...
13
Un applicazione di GVTS: SuSi
• Supporto alla Sicurezza
• Test delle primitive e protocolli applicativi
14
Sviluppi Futuri
• Autoregolazione dei tempi
di ritrasmissione e del
numero di tentativi per ogni
primitiva
• Aggiunta di altre
primitive(ad esempio In All)
• Supporto alla replicazione di
tuple e coordinamento
opportuno lato LME
15
Scarica

presentazione