Proxy-based infrastructure
for LBS availability
Reti di Calcolatori L-S
Andrea Licastro
0000231728
LBS
(Location Based Services)
Uno dei più potenti modi per
personalizzare servizi
mobili, è sfruttare la
nozione della posizione
del cliente.
Le applicazioni LBS
potrebbero fornire al
visitatore di un museo le
informazioni sulle opere
della sala in cui si trova, e
cambiare in modo
trasparente all’utente.
LBS
Cliente
Reti di Calcolatori LS
Andrea Licastro
Componenti fondamentali
• Il sistema deve prevedere:




Client
Proxy
LBS
Sistema di locazione
Client
Ekahau
Proxy
Reti di Calcolatori LS
Andrea Licastro
LBS
Specifiche: sistema…
Il sistema deve:
• Dividere lo spazio del museo in macro-aree
• Registrare client e assegnarli priorità
• Gestire gli spostamenti del client in modo
trasparente, adattando il servizio alla
posizione
• Il sistema di locazione deve essere Ekahau
Reti di Calcolatori LS
Andrea Licastro
Specifiche: …Proxy
•
•
•
•
•
•
Replicazione proxy
Coordinamento tra le repliche
Availability del servizio
Persistenza delle informazioni
Bilanciamento del carico
QoS
Reti di Calcolatori LS
Andrea Licastro
Funzionamento
LBS
Macro-area 1
Proxy 1 Proxy 2
Macro-area 2
Proxy n
Proxy 1 Proxy 2
Stato Client
Client
Client
Reti di Calcolatori LS
Andrea Licastro
Proxy n
Replicazione e Bilanciamento
• Si è scelto di gestire le repliche dei proxy in un anello
logico (ispirati dal Principio di Minima Intrusione)
• Le repliche si coordinano tramite 2 token: uno di
registrazione e uno per lo spostamento tra macro-aree
• Bilanciamento del carico: si prevede che le registrazioni
avvengano compatibilmente alle disponibilità
computazionali, al fine di distribuire equamente il carico
• La struttura ad anello logico ha tra le sue caratteristiche
quella di essere scalabile, in quanto ogni nodo è
configurato con le informazioni della sua posizione
Reti di Calcolatori LS
Andrea Licastro
Persistenza informazioni
Ogni proxy deve avere conoscenza dei client!
Alternative plausibili:
• File testo
• Struttura volatile replicata
• Database
PRO: Fault Tolerance
CONTRO: Sincronizzazione (troppi messaggi)
L’introduzione di uno stato parziale replicato elimina inutili
messaggi tra i proxy, mentre la copia a cui il client si è
registrato conserva lo stato completo
Reti di Calcolatori LS
Andrea Licastro
Comunicazioni inter-proxy
Proxy A
Mailbox
Proxy B
• Il Proxy A invia messaggi al Proxy B facendo uso di una Mailbox
• Entrambi i proxy usano Mailbox per prelevare e depositare messaggi
dall’anello (comandi, dati, token)
• Le Mailbox sono usate anche dai thread interni, necessari per una
corretta e parallela esecuzione degli stessi
Reti di Calcolatori LS
Andrea Licastro
Availability
Obiettivo:
Individuare il guasto in tempi accettabili e
procedere all’adattamento della rete e alla
suddivisione del clienti “orfani”.
Ipotesi semplificative:
• Guasto singolo
• Corretto funzionamento della rete
…altrimenti costo e complessità proibitive.
Reti di Calcolatori LS
Andrea Licastro
Recovery
1. Individuazione del guasto tramite timeout o
errore lanciato dalla connessione TCP
2. Invio messaggio Recovery
3. Nodo precedente al nodo caduto riceve il
messaggio e si proclama gestore della procedura
di recovery
4. Invio di messaggio contenente la nuova struttura
dell’anello e variabili per rilevare la mancanza
dei token, ed eventuale immissione nel sistema
del token perso
Reti di Calcolatori LS
Andrea Licastro
Ripartizione client “orfani”
1. Il gestore del recovery, avendo gli stati parziali
di tutti i client, è in grado di prelevare dal
proprio DB le informazioni sui client del nodo
caduto e di costruire la struttura dati degli
“orfani”
2. Inserisce la struttura dati in un messaggio che
invia
3. Ogni replica che riceve il messaggio:
1. Preleva il primo client
2. Comunica ai nodi di gestire il client
3. Invia il messaggio se la struttura non è vuota
Reti di Calcolatori LS
Andrea Licastro
Conclusioni
Sistema progettato:
• Tollerante ai guasti
• Gestisce il carico
• Informazioni persistenti
• Trasparente ai client
Si è fatto ricorso a:
• TokenRing
• Repliche proxy
• Database replicati con stati parziali
• Connessioni TCP
Reti di Calcolatori LS
Andrea Licastro
Scarica

presentazione