GVTS
description
Transcript of GVTS
1
GVTS
Global Virtual TupleSpace
Nicola Zanella
2
• Fornire un’astrazione di spazio di tuple condiviso
• Concetto di gruppo
• Presence awareness e gestione profili
Obiettivi
3
Scenario
• La comunicazione avviene tra dispositivi
– Eterogenei– Mobili
• Contesto– Che cambia dinamicamente– Senza infrastrutture di rete
quali cavi, access point…
Uso una MANET
4
Mobile Ad-hoc NETwork
•Nodi mobili che collaborano per fornirsi servizi•Topologia dinamica•Problemi: mobilità dei nodi, perdita di pacchetti, dispositivi diversi
5
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
6
Cos’è uno spazio di tuple
• Insieme strutturato di relazioni• Operazioni di prelievo,
deposito, lettura• Pattern matching• Semantica non deterministica
<“user 1”, “message”, “OK”, 12:57><Nicola, “ESP KH2”, “2000$”, AMEX><“Sensore 123”, “Rilievo 12”, 36°C>
esempio di tupla
7
LME
LMELME
Allocation and Group Aware Pervasive Environment
ME
ME ME
ME
MEME
Gli LME forniscono il supporto al
• Group and view management• Routing
per gestire gli ME
Locality Manager Entity Managed Entity
8
GVTS: modello adottatoLo 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
9
AGAPE
ServerManagers
GVTS e AGAPE
SuperPeerTupleManager
APPLICATION
ClientManagers
PeerTupleManagerSpazio di
tuple
GVTS
Il SuperPeer viene mappato sopra un LME eun Peer su un ME
Ci si concentra solo sui protocolli delle primitive
10
Req1 LME1 <?,?,?>
La primitiva OUT
OutRequest
ID DEST TUPLA
Tabella delle richieste pendenti
OutResponse
ME1LME1
Timeout e ritrasmissioni
11
La primitiva READ
Req1 LME1 <?,?,?>
RdRequest
ID DEST TUPLA
Tabella delle richieste pendenti
RdResponse
ME1LME1
Timeout e ritrasmissioni
12
La primitiva IN
Req1 LME1 <?,?>
InRequest
ID DEST TUPLA
Tabella delle richieste pendenti
InResponse
ME1 LME1Ack
ID DEST TUPLA
Tabella degli ack pendenti
Ack1 LME1 <?,?>
ID DEST TUPLA
Tabella delle risposte pendenti
Res1 ME1 <?,?>
Timeout e ritrasmissioni
13
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...
14
Un applicazione di GVTS: SuSi
• Supporto alla Sicurezza
• Test delle primitive e protocolli applicativi
15
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