Proxy-based infrastructure for LBS availability

Post on 12-Jan-2016

29 views 1 download

description

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. - PowerPoint PPT Presentation

Transcript of Proxy-based infrastructure for LBS availability

Proxy-based infrastructure for LBS availability

Reti di Calcolatori L-S

Andrea Licastro

0000231728

Reti di Calcolatori LSAndrea Licastro

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.

Cliente

LBS

Reti di Calcolatori LSAndrea Licastro

Componenti fondamentali

• Il sistema deve prevedere: Client Proxy LBS Sistema di locazione

Client LBSProxy

Ekahau

Reti di Calcolatori LSAndrea Licastro

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 LSAndrea Licastro

Specifiche: …Proxy

• Replicazione proxy • Coordinamento tra le repliche• Availability del servizio• Persistenza delle informazioni• Bilanciamento del carico• QoS

Reti di Calcolatori LSAndrea Licastro

Funzionamento

LBS

Client

Proxy nProxy 2Proxy 1

Macro-area 1 Macro-area 2

Proxy nProxy 2Proxy 1

Client

Stato Client

Reti di Calcolatori LSAndrea Licastro

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 LSAndrea 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 LSAndrea Licastro

Comunicazioni inter-proxy

Proxy A Proxy BMailbox

• 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 LSAndrea 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 LSAndrea Licastro

Recovery

1. Individuazione del guasto tramite timeout o errore lanciato dalla connessione TCP

2. Invio messaggio Recovery3. 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 LSAndrea 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 client3. Invia il messaggio se la struttura non è vuota

Reti di Calcolatori LSAndrea Licastro

Conclusioni

Sistema progettato:• Tollerante ai guasti• Gestisce il carico• Informazioni persistenti• Trasparente ai clientSi è fatto ricorso a:• TokenRing • Repliche proxy• Database replicati con stati parziali• Connessioni TCP