Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoSilvano Micheli Modificato 8 anni fa
1
Proxy-Based infrastructure for LBS tailoring Presentazione di: Luca Pistolesi Gruppo: Luca Pistolesi Roberto Amici Alessandro Antonelli
2
Location-Based Services > >
3
Proxy and Tailoring Tipicamente il client non ha vincoli di comunicazione: può contattare qualsiasi servizio disponibile senza l'ausilio di intermediari Nel nostro caso è invece presente un Proxy che esegue del Tailoring sui contenuti.
4
Virtual Museum Tour Il “Case Study” fa riferimento ad una visita virtuale ad un museo ed introduce Suddivisione in macro-aree dell'area in cui fornire il servizio Suddivisione in macro-aree dell'area in cui fornire il servizio Assegnamento di un Proxy per ogni macro-area Assegnamento di un Proxy per ogni macro-area Collegamento wired fra Proxy e Server Collegamento wired fra Proxy e Server Collegamento wireless fra Proxy e Client Collegamento wireless fra Proxy e Client Intermediazione e Tailoring da parte del Proxy Intermediazione e Tailoring da parte del Proxy Proxy Deve adattare i contenuti in base alle informazioni provenienti dal client (tipo di client hw, dati dell'utente, preferenze, etc..) Deve adattare i contenuti in base alle informazioni provenienti dal client (tipo di client hw, dati dell'utente, preferenze, etc..) Separa i client dai server interponendosi come intermediario Separa i client dai server interponendosi come intermediario Definisce quindi la zona di “Back Bone” e la “External Zone” Definisce quindi la zona di “Back Bone” e la “External Zone” Gestisce una macro-area ed i relativi client Gestisce una macro-area ed i relativi client
5
External Zone 1/3 – Data Organization Le stanze sono raggruppate in macro-aree (floor) gestite da singoli Proxy. Ogni stanza è quindi coperta da uno o più AccessPoint: c'è la possibilità di aumentare la banda complessivamente disponibile nella stanza. Il Client ha nella propria mappa la locazione delle stanze ed il raggruppamento per floor. Ogni Proxy ha la sua “rete di AccessPoint”: c'è la possibilità di dedurre il grado di “saturazione” della stanza e dei relativi apparati di rete.
6
External Zone 2/3 - Topology Room “Giotto1” Floor “Classici” JAVA RMI PNS ETHERNETETHERNET Back Bone GPS Satellites
7
Esternal Zone 3/3 - Notes Java RMI Java RMI Sia il Client che il Proxy debbono eseguire codice Java. RMI si occupa della comunicazione mascherando i dettagli Sia il Client che il Proxy debbono eseguire codice Java. RMI si occupa della comunicazione mascherando i dettagli P roxy N aming S erver P roxy N aming S erver Raggiungibile dai Client Raggiungibile dai Client Fornisce al Client l'indirizzo del Proxy da contattare Fornisce al Client l'indirizzo del Proxy da contattare Può attuare politiche di distribuzione dei Client sui Proxy relativi ad un dato “Floor” Può attuare politiche di distribuzione dei Client sui Proxy relativi ad un dato “Floor” Proxy Proxy Implementa un server RMI Implementa un server RMI Isola i Client dalla Back Bone Isola i Client dalla Back Bone Distribuisce i Contenuti adattati Distribuisce i Contenuti adattati
8
Back Bone 1/2 - Topology VMT Wrapper Ctrl WS Management WS Legacy Server VMT Server Ctrl WS Management WS Streaming Component Client VMT Registry Comunicazioni per gestione e controllo Coordinamento Custom Protocol Data Streaming TCP / UDP
9
Back Bone 2/2 - Notes Registry Registry Entità di coordinamento per la gestione dell'inserimento e rimozione di Proxy e Server Entità di coordinamento per la gestione dell'inserimento e rimozione di Proxy e Server Raccoglie le informazioni sui contenuti presenti nei server Raccoglie le informazioni sui contenuti presenti nei server Invia ai Proxy le informazioni sui contenuti relativi ai Floor di pertinenza e presenti nei server (gestisce anche le modifiche) Invia ai Proxy le informazioni sui contenuti relativi ai Floor di pertinenza e presenti nei server (gestisce anche le modifiche) Gestisce inserimento e rimozione a caldo di Proxy e Server Gestisce inserimento e rimozione a caldo di Proxy e Server Supporta la presenza di più server per lo stesso servizio Supporta la presenza di più server per lo stesso servizio Wrapper Wrapper Implementa l'interfaccia WebService del VMT Server adattando il comportamento del Legacy Implementa l'interfaccia WebService del VMT Server adattando il comportamento del Legacy VMT Server VMT Server Definisce l'interfaccia per l'interazione di alto livello Definisce l'interfaccia per l'interazione di alto livello L'uso di WebService automatizza i processi di sviluppo ed integrazione L'uso di WebService automatizza i processi di sviluppo ed integrazione
10
Proxy Internals Struttura Modulare Workflow ● Il Proxy riceve una notifica da parte del Client e codifica le informazioni per il Tailoring ● Il Tailoring esegue l'analisi delle informazioni e produce un risultato dettagliato sui contenuti da erogare ● Il Pooling Module raggruppa le richieste simili, ossia aventi contenti uguali ● Il Multicast Module prepara il Proxy per l'erogazione Multicast dei contenuti ● I Workers informano i server sulle modalità e sui contenuti da erogare Note ● La struttura a moduli favorisce la progettazione ● RMI gestisce il parallelismo delle invocazioni ● RMI Registry programmato per servire su porte scelte (facile programmazione del firewall) ● Il Tailoring Module è un oggetto attivo e thread safe ● L'implementazione attuale utilizza Linux per eseguire il forward del traffico Proxy Pooling Module Multicast Module Tailoring Module Workers FORWARDINGFORWARDING
11
Tailoring Sub System 1/2 Suddivisione operazioni Suddivisione operazioni Il Tailoring è suddiviso in sub-ops: Categorizzazione, Meta-Valutazione, Valutazione, Controllo banda => pruning dei dati. Il Tailoring è suddiviso in sub-ops: Categorizzazione, Meta-Valutazione, Valutazione, Controllo banda => pruning dei dati. Operazioni a grana più fine, più veloci e da comporre “by need” Operazioni a grana più fine, più veloci e da comporre “by need” Cooperazione & Protocolli Cooperazione & Protocolli Ogni servizio lavora in modo Coordinato con gli altri Ogni servizio lavora in modo Coordinato con gli altri Per ogni servizio sono forniti moduli di regole ed un “ Adattatore ” Per ogni servizio sono forniti moduli di regole ed un “ Adattatore ” DRools è un BRMS per esprimere regole di business ad alto livello DRools è un BRMS per esprimere regole di business ad alto livello ClientProxyMeta-Eval Env Meta-Regole Servizio 1 Meta-Regole Servizio N Ogni servizio disponibile ha un modulo di meta-regole Env Survived Svcs Gold-Svcs Rules Useless-Svcs Rules SVCs-Eval Bandwidt h Rules Java Code Regole Survived Svc 1 Regole Survived Svc K Env Effective + Redefined SVCs μ-Req Setup “Gioconda” Ogni servizio disponibile ha un modulo di regole per il tailoring vero e proprio. 1 2 3 4 5 6 7 Vincoli Vincoli Prestazioni, throughput, esecuzione asincrona Prestazioni, throughput, esecuzione asincrona Indipendenza dai servizi ( si vuole definire solo l'infrastruttura ) Indipendenza dai servizi ( si vuole definire solo l'infrastruttura ) Modifica comportamento a run time
12
Oggetto attivo Oggetto attivo Isola il Tailoring dal resto del sistema Isola il Tailoring dal resto del sistema Permette controllo e modifica run-time dei componenti interni (Es.: i moduli di regole ) Permette controllo e modifica run-time dei componenti interni (Es.: i moduli di regole ) Permette esecuzione asincrona con generazione di eventi (realizzati con call-back) Permette esecuzione asincrona con generazione di eventi (realizzati con call-back) Permette “ hot swap ” dell'implementazione del Tailorer Permette “ hot swap ” dell'implementazione del Tailorer Alto parallelismo vs Economia di memoria Alto parallelismo vs Economia di memoria Adattamento dinamico Adattamento dinamico Realizzato tramite adattatori sviluppati dai fornitori di servizi Realizzato tramite adattatori sviluppati dai fornitori di servizi Forniscono la stima del “costo” degli adattamenti Forniscono la stima del “costo” degli adattamenti Realizzano l'adattamento dinamico vero e proprio Realizzano l'adattamento dinamico vero e proprio Permettono l'indipendenza del sistema dai servizi Permettono l'indipendenza del sistema dai servizi Tailoring Sub System 2/2 - Realizzazione
13
Testing Ambiente di simulazione Ambiente di simulazione PC dedicato alla simulazione client ed implementazione PNS PC dedicato alla simulazione client ed implementazione PNS PC dedicato per implementazione Server Legacy + Wrapper PC dedicato per implementazione Server Legacy + Wrapper PC dedicato per implementazione Registry e Proxy PC dedicato per implementazione Registry e Proxy Deployment Deployment Installazione di Tomcat sul server legacy, deploy del wrapper WebService, deploy dei moduli di regole e dell'adattatore Installazione di Tomcat sul server legacy, deploy del wrapper WebService, deploy dei moduli di regole e dell'adattatore Installazione Tomcat sul Registry e deploy del componente WS per gestione Proxy e Server Installazione Tomcat sul Registry e deploy del componente WS per gestione Proxy e Server Installazione sul client della mappa, del layer VMT e dell'applicazione grafica per visualizzazione output Installazione sul client della mappa, del layer VMT e dell'applicazione grafica per visualizzazione output Run time Run time Simulazione di Burst di clienti Simulazione di Burst di clienti Simulazione di flusso continuo di clienti Simulazione di flusso continuo di clienti
14
Conclusioni Tempi di espletamento del servizio lato Proxy: dalla ricezione notifica all'invio della risposta BurstInterleave Lato Client: Registrazione Lato Client: Elaborazione notifica Lato Client: Erogazione contenuti Dai test effettuati sembra che il sistema risponda in modo accettabile: ● I burst di arrivi sono tollerati sino alle 32 unità (si ricordi che nei test sono stati utilizzati notebook) ● La struttura stressata in modo continuativo degrada piuttosto linearmente rispetto al numero di utenti mediamente in carico al sistema Il sistema si presta ad essere esteso in molti punti ed applicato a molte realtà: ● Il GPS lo rende utilizzabile anche negli ambienti estesi ed il WiMax fornisce la copertura di comunicazione (zoo, parchi, città d'arte, etc...) ● L'architettura può essere completata progettando meccanismi per Dependability, etc..
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.