130 likes | 285 Views
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.
E N D
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 Ekahau Proxy LBS Client Reti di Calcolatori LS Andrea 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 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 Macro-area 2 Proxy 1 Proxy 2 Proxy n Proxy 1 Proxy 2 Proxy n Stato Client Client Client Reti di Calcolatori LS Andrea 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 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 Proxy B Mailbox • 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 • Individuazione del guasto tramite timeout o errore lanciato dalla connessione TCP • Invio messaggio Recovery • Nodo precedente al nodo caduto riceve il messaggio e si proclama gestore della procedura di recovery • 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” • 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” • Inserisce la struttura dati in un messaggio che invia • Ogni replica che riceve il messaggio: • Preleva il primo client • Comunica ai nodi di gestire il client • 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