GVTS

15
1 GVTS Global Virtual TupleSpace Nicola Zanella

description

GVTS. Global Virtual TupleSpace. Nicola Zanella. Obiettivi. Fornire un’astrazione di spazio di tuple condiviso Concetto di gruppo Presence awareness e gestione profili. Scenario. Uso una MANET. La comunicazione avviene tra dispositivi Eterogenei Mobili Contesto - PowerPoint PPT Presentation

Transcript of GVTS

Page 1: GVTS

1

GVTS

Global Virtual TupleSpace

Nicola Zanella

Page 2: GVTS

2

• Fornire un’astrazione di spazio di tuple condiviso

• Concetto di gruppo

• Presence awareness e gestione profili

Obiettivi

Page 3: GVTS

3

Scenario

• La comunicazione avviene tra dispositivi

– Eterogenei– Mobili

• Contesto– Che cambia dinamicamente– Senza infrastrutture di rete

quali cavi, access point…

Uso una MANET

Page 4: GVTS

4

Mobile Ad-hoc NETwork

•Nodi mobili che collaborano per fornirsi servizi•Topologia dinamica•Problemi: mobilità dei nodi, perdita di pacchetti, dispositivi diversi

Page 5: GVTS

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

Page 6: GVTS

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

Page 7: GVTS

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

Page 8: GVTS

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

Page 9: GVTS

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

Page 10: GVTS

10

Req1 LME1 <?,?,?>

La primitiva OUT

OutRequest

ID DEST TUPLA

Tabella delle richieste pendenti

OutResponse

ME1LME1

Timeout e ritrasmissioni

Page 11: GVTS

11

La primitiva READ

Req1 LME1 <?,?,?>

RdRequest

ID DEST TUPLA

Tabella delle richieste pendenti

RdResponse

ME1LME1

Timeout e ritrasmissioni

Page 12: GVTS

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

Page 13: GVTS

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...

Page 14: GVTS

14

Un applicazione di GVTS: SuSi

• Supporto alla Sicurezza

• Test delle primitive e protocolli applicativi

Page 15: GVTS

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