Proxy-Based Infrastructure
for LBS Tailoring
Reti di Calcolatori LS – Prof. A. Corradi
Gruppo:
Roberto Amici
Alessandro Antonelli
Luca Pistolesi
Presentazione di:
Roberto Amici
Location-Based Services
●
●
●
Client mobili (collegamenti wireless)
Informazioni legate alla specifica locazione da cui il client le
richiede
Cambi di posizione del client implicano modifiche al
contenuto informativo fornito dal server
Proxy-Based Tailoring
Crescente eterogeneità dei dispositivi client
Necessità di servizi
personalizzati
Tailoring: adattamento dei
servizi in base alle capacità e
alle preferenze del client
Uso di un proxy per adattare i contenuti informativi
forniti dai server
Scenario Applicativo
Realizzazione di un servizio di Virtual Museum Tour
(visita ad un museo supportata da servizi multimediali
fruibili tramite un dispositivo portatile: pda, laptop,
notebook)
Fornitura di informazioni relative alle opere vicine alla
posizione attuale del client
Adattamento del servizio in base alle capacità del dispositivo
ed alle preferenze dell'utente
Regole di adattamento aggiornabili runtime
Suddivisione del museo in macroaree servite da un proxy
ciascuna
Elementi del sistema
Client
PNS
Proxy
Registry
Server
Meccanismi, non politiche
Idea di base: separazione dell'infrastruttura di gestione
dalla fornitura dei contenuti
Possibilità di inserire ed eliminare servizi a tempo di
esecuzione
Sistema di tailoring modulare ed estendibile
Coordinamento per la gestione dei server disponibili
Necessità di informazioni per poter integrare i nuovi servizi nel
sistema
Tailoring statico e dinamico
Statico: decisione del miglior match tra le capacità/preferenze
dell'utente e le risorse disponibili per la locazione corrente
Dinamico: adattamento del flusso informativo in erogazione per
venire incontro a necessità dinamiche dell'utente
Server
Entità che fornisce i servizi
Deve esporre un'interfaccia di integrazione con il sistema
VMT
Potenzialmente legacy: bisognerà costruire un wrapper che
fornisca la possibilità di integrazione
Regole e metaregole
File jar per l'adattamento
runtime del servizio
Registry
Entità di coordinamento e gestione dinamica
Visione globale dello stato del sistema
Aggiunta, rimozione e modifica di server/servizi
Attivazione e disattivazione di proxy
Location-awareness: mette in corrispondenza le risorse fornite dai
server con l'effettiva disposizione geografica delle opere all'interno
del museo
Espone un WebService per la registrazione/attivazione (sia
per i server che per i proxy)
Comunicazione Registry-Proxy in formato proprietario
tcp/ip (nessuna necessità di standardizzazione) per
notificare i proxy di modifiche alle risorse o ai servizi
Proxy
Elemento di base dell'infrastruttura
Comunicazione con i client (Java RMI)
Tailoring: regole fornite dai server (motore di inferenza:
DROOLS)
Adattamento ed inoltro dei servizi dai server verso i client
Gestione delle richieste multiple (possibilità di sfruttare flussi
condivisi: multicasting)
Stima dello stato di carico della rete e conseguente gestione della
banda da assegnare ai singoli client
Gestione differenziata per utenti paganti e non
Struttura interna pipelined: throughtput parzialmente
limitato dal numero di stadi della pipeline ma gestione più
semplice delle strutture dati condivise
DataFlow
Client: recupero della
propria posizione tramite
GPS
Client: interrogazione del
servizio di nomi (PNS)
Client: notifica di cambio
posizione al server rmi del
proxy
Proxy: tailoring,
predisposizione delle
strutture per il forwarding e
richiesta del servizio al
server
Server: fornitura del servizio
Testing
Ambiente di test:
Simulazione di un numero variabile di client e server di
risoluzione dei nomi da un pc dedicato (notebook Intel centrino,
Windows XP, scheda wireless 802.11g)
Proxy e Registry su una macchina apposita (notebook Intel
centrino duo, Linux, scheda ethernet 100Mbs, wireless 802.11g);
Server web tomcat come container per il web service di
accettazione richieste del registry
Server (Legacy+Wrapper) su notebook Intel Pentium IV, Windows
XP, scheda ethernet 100Mbs – Server Web tomcat come container
per i web service di gestione del server
Rete wireless di facoltà
Simulazioni:
Arrivo a flusso continuo di utenti
Worst case test: arrivo contemporaneo di n utenti
Testing - Risultati
Tempi di registrazione al sistema di un client presso il
proxy locale al piano di riferimento
1080
1060
Caso di utenti con arrivo
intervallato: prestazioni
sostanzialmente
indipendenti dal numero
di client.
1040
Millisecondi
1020
1000
980
960
940
920
900
16
#Client
Worst case scenario:
Utenti con arrivo
contemporaneo:
peggioramento delle
prestazioni
64
128
30000
27500
25000
22500
20000
Millisecondi
4
17500
15000
12500
10000
7500
5000
2500
0
4
16
32
#Client
64
96
128
Testing - Risultati
Tempi di risposta del proxy su notifiche di cambiamento
di posizione del client
725
700
675
Caso di utenti con arrivo
intervallato: leggero
degrado delle prestazioni
Millisecondi
650
625
600
575
550
525
500
4
16
#Client
64
128
20000
Worst case scenario –
Arrivo contemporaneo:
aumento rilevante dei
tempi di attesa
17500
Millisecondi
15000
12500
10000
7500
5000
2500
0
4
16
32
#Client
64
96
128
Conclusioni
Tempi di risposta accettabili in condizioni di utilizzo
normale, problemi invece con arrivo contemporaneo di
molti client
Non testata la funzionalità di raggruppamento dei client in
multicast, migliora le prestazioni in caso di arrivi contemporanei
Ottima flessibilità per quanto riguarda il riuso e le
possibilità operative fornite dall'infrastruttura, grazie alla
gestione modulare del modulo di tailoring e adattamento
Estensioni
Availability e fault tolerance non prese in considerazione, ma
aspetti imprescindibili di un progetto completo
Layer di presentazione: l'implementazione attuale è fornita solo di
un semplice sistema per il testing
Scarica

Presentazione