Intermediari su WWW




Sistemi Intermediari

Motivazioni

Semplicità, visibilità, scalabilità ed ubiquità, questi i fattori chiave che hanno portato il World Wide Web (WWW) ad essere considerato oggi l’universo inesauribile di informazioni accessibile attraverso un qualunque computer o dispositivo di rete. Il successo che lo ha contraddistinto sin dalla sua nascita, il numero sempre maggiore di documenti disponibili, l’alta dinamicità dei contenuti, il diffondersi di tecnologie wireless di terza generazione (2G, 3G, UMTS) e la necessità di recuperare informazioni quanto di condividerle con altri utenti, hanno portato ad un cambiamento significativo e radicale del Web, oggi pienamente caratterizzato dalla Legge di Reed (il valore di una rete cresce esponenzialmente rispetto alla sua interconnettività) e dalla precisa idea che le online communities acquisiranno un ruolo sempre più decisivo nella prossima generazione di servizi Internet. Questa evoluzione è ancora più importante perchè combinata alla crescente quantità di servizi personalizzati che possono essere offerti agli utenti finali. La personalizzazione dei contenuti Web, che tenga conto delle preferenze degli utenti, contesto, locazione e alle caratteristiche fisiche dei dispositivi client, può essere efficientemente fornita dai sistemi intermediari.

Gli Intermediari o proxy HTTP rappresentano uno strumento efficace per sviluppare applicazioni Web che richiedono trasparenza, computazione in tempo reale, anonimia, e condivisione degli accessi da parte di un insieme di utenti. Dal punto di vista architetturale gli intermediari sono entità software che possono trovarsi in un qualunque punto lungo il flusso di informazioni scambiato fra un client ed un server. Essi agiscono da front-end per diversi client, nella loro interazione con diversi server, per migliorare le performance del WWW e la sua scalabilita’, per ridurre la latenza percepita dagli utenti finali e migliorare la qualita’ dei servizi Web. In virtù della loro posizione tra client e server i proxy possono agire da filtri e modificare tutte le richieste e le risposte HTTP scambiate tenendo conto sia delle preferenze deli utenti (specificate anche attraverso specifici profili) sia delle caratteristiche/limitazioni dei dispositivi client per l’accesso al Web. Infine, per assicurare un servizio efficiente gli intermediari devono essere in grado di assicurare: scalabilità (servizi di rete che crescono in maniera incrementale rispetto all’aumento del numero di utenti e servizi, accessibilità (applicazioni disponibili per qualunqe device, alta disponibilità e robustezza (dispobibilità 24×7, anche in caso di interruzioni e fallimenti), procuttività in relazione ai costi (possibilità di usufruire di funzionalità esistenti per non reimplementare completamente tutto il software).

Funzionalita’

Transcoding e adattamento di contenuti

Il proliferare di applicazioni multimediali ed interattive sul Web e la varietà di dispositivi client (pagers, PDA, hand-held computers, Web-phones, TV browsers, ecc) che possono accedere a tali applicazioni, comportano diverse difficoltà circa l’instradamento e la presentazione di servizi sempre più personalizzati. Queste problematiche possono essere affrontate attraverso il meccanismo dell’"adattamento di contenuti", laddove tale conversione dei documenti da un formato ad un altro, può essere efficientemente realizzato attraverso sistemi intermediari, lungo l’ "Edge" della rete, il più vicino possibile agli utenti finali.

Questa funzionalità si riferisce a due astrazioni differenti, vale a dire, personalizzazione e transcoding. La prima si occupa di come adattare i contenuti Web sulla base delle preferenze espresse dagli utenti finali, la seconda affronta il problema dell’adattare i contenuti Web sulla base delle caratteristiche fisiche dei dispositivi di accesso e della rete.

Accessibilita’

Accessibilità dei siti Web significa come garantire una corretta navigazione sul Web anche da parte utenti disabili ed anziani. Nonostante le tecnologie dell’informazione rendano possibile l’accesso ad ogni tipo di contenuto sul Web, esiste, purtroppo, ancora una parte di utenti che resta esclusa da questa società. Usare mouse e tastiera, ascoltare e vedere video musicali, navigare attraverso pagine Web "intrusive" (cioè pagine Web con pop-ups, banners, advertisement,ecc) ancora oggi risulta complicato da parte di utenti anziani ed utenti con diverse forme, spesso anche non gravi, di disabilità.

Il W3C è alla guida di diverse iniziative per rendere il Web accessibile a tutti, anche a persone con disabilità fisiche di diverso tipo e a chi dispone di strumenti hardware e software limitati. Tuttavia i contenuti disponibili sul Web continuano ad esibire una crescente complessità, in maniera particolare per utenti che hanno disabilità visive. D’altro canto, il Web rappresenta per gli utenti con disabilità motorie l’ambiente in cui ottenere informazioni che possono riguardare ogni aspetto della loro vita (altrimenti difficilmente accesibili): educazione, shopping, affari, ecc. In definitiva, quanto più Interent evolverà in diversità ed eterogeneità tanto più sarà maggiore la domanda per tecnologie che siano in grado di consentire un accesso universale al Web.

Cooperazione e collaborazione

Grazie alla sua popolarità ed alla sua semplicità d’uso il Web rappresenta una piattaforma interessante per il supporto al lavoro cooperativo. Sistemi di questo tipo possono essere di aiuto agli utenti per trovare facilmente informazioni utili sul Web ed allo stesso tempo consentire agli utenti di un gruppo di condividere informazioni e cooperare per uno scopo comune. Il problema maggiormente sentito durante la navigazione è la sensazione di disorientamento dovuto alla struttura complessa del Web (fenomeno noto anche come lost in hyperspace): gli utenti non sono in grado di navigare con successo i siti Web e trovare cosi informazioni di interesse. Questo fenomeno è inoltre strettamente legato ad un altro, noto come cognitive overhead, in cui gli utenti perdono completamente la cogniazione del perchè si trovano su una determninata pagina e come sono arrivati li. Le soluzioni che consentono di ridurre questi fenomeni dovrebbeo essere in grado di fornire una vista compatta della porzione del Web che si sta navigando, consentendo per esempio di fornire informazioni agguntive sulle pagine e sui link in esse contenuti.

Filtering

Le pagine Web contengono spesso contenuti che non risultano adatti ad una particolare fascia di utenti, vale a dire, ragazzi e bambini, che accedono ad Internet ad una età sempre più piccola e spesso senza nessun conrollo da parte dei genitori. I meccanismi di content filtering consentono di ottenere un perfetto controllo dei siti a cui gli utenti possono avere accesso, consentendo, ad esempio, l’accesso a determinate pagine solo ad utenti autorizzati, e proibendone la visione ai bambini. Sistemi di questo tipo danno inoltre la possibilità di stabilire i tempi di accesso al PC, i programmi che possono essere installati, le cartelle che possono essere esplorate, ecc. Tra le funzionalità offerte dai sistemi di content filtering possiamo includere virus scanning, analisi di cookies, analisi di testi, analisi di immagini (pornografia), ecc. Questi sistemi funzionano, in generale, specificando speciali caratteri o stringhe, che se trovati all’interno del testo delle pagine Web, consentono di individuare contenuti non desiderati (contenuti pornografici, violenti, ecc.). La criticità di questi sistemi riguarda la possibilità che, non intenzionalmente, vengano filtrati anche contenuti considerati non sbagliati.

Protezione della privacy

La dipendenza da Internet per una varietà di transazioni oramai quotidiane comporta la problematica di lasciare tracce su diversi siti Web, il che comporta la perdita di privacy per gli utenti durante le loro navigazioni. I siti più popolari, intenzionalmente o non, raccolgono informazioni circa l’identità degli utenti. Diverse tecniche, sia client-side che proxy-side, possono essere applicate per proteggere le informazioni degli utenti durante la loro navigazione. I meccanismi client-side risultano interessanti in quanto possono essere personalizzati sulla base delle reali preferenze degli utenti, mentre meccanismi proxy-side risultano assolutamente indipendenti dal browser utilizzato e possono essere impiegati per grosse organizzazioni. Un proxy che fornisce servizio di anonimia, inoltre, è in grado di nascondere la sorgente delle richieste e limitare quindi il tracciamento degli utenti (sia individuali che all’interno di una organizzazione). Le tecniche per il controllo della privacy includono: disabilitare o rimuovere cookies (tutti o solo quelli provenienti da siti di terze parti), disabilitare l’esecuzione di script (o rimuoverli completamente), rimuovere tutti gli oggetti di terze parti, filtrare le richieste le cui URL includono informazioni critiche (user name e passwords), filtering degli header delle richieste/risposte HTTP, rimuovere Web bugs, analisi e rimozione di immagini per il tracciamento degli utenti, ecc.

Il nostro contributo

SISI: Scalable Intermediary Software Infrastructure (for edge services)

SISI, acronimo di Scalable Intermediary Software Infrastructure for edge services [HPCCC05], è una infrastruttura distribuita e programmabile il cui principale obiettivo è quello di consentire un accesso universale ai contenuti Web. Per realizzare questo fornisce servizi quali adattamento di contenuti e personalizzazione in maniera efficace ed efficiente attraverso il loro sviluppo e deployment su sistemi intermediari. La programmabilità è una caratteristica cruciale che consente di implementare facilmente nuove funzionalità o assemblare quelle esistenti per ottenere funzionalità più complesse. A tale scopo SISI definisce un modello di programmazione ed un insieme di API che possono essere usati per lo sviluppo di nuovi servizi. Il framework, interamente scritto in linguaggio Perl, si compone di diversi moduli in esecuzione sotto il Web server Apache. Un modulo in particolare, mod_perl, è stato utilizzato per rendere più efficiente l’utilizzo di moduli Perl sotto Apache. I mdouli di cui si compone SISI, infine, agiscono ciascuno in una differente fase del ciclo di vita delle richieste HTTP sotto Apache, a seconda della specifica funzionalità che deve essese offerta.

Riferimenti

[SOUPS07] "Measuring privacy loss and the impact of privacy protection in web browsing" Balachander Krishnamurthy, Delfina Malandrino, and Craig E. Wills. In Proceedings of the Symposium on Usable Privacy and Security, pages 52-63, Pittsburgh, PA USA, July 2007. ACM International Conference Proceedings Series.

[UAIS07] "Personalizable Edge Services for Web Accessibility" Ugo Erra, Gennaro Iaccarino, Delfina Malandrino and Vittorio Scarano. In Universal Access in the Information Society, vol. 6, n. 3, pp. 285-306, November 2007. Springer Berlin, Heidelberg.

[WWW06] "Efficient Edge-Services for Colorblind Users" Gennaro Iaccarino, Delfina Malandrino, Marco Del Percio and Vittorio Scarano. In Poster Proc. of the 15th World Wide Web Conference 2006, May 23-26, 2006, Edinburgh, Scotland.

[W4A06] "Personalizable Edge-Services for Web Accessibility" Gennaro Iaccarino, Delfina Malandrino and Vittorio Scarano. In Proc. of the International Cross-Disciplinary Workshop on Web Accessibility. 22-23 May 2006, Edinburgh, Scotland, UK.

[WWWJ] "A Scalable cluster-based infrastructure for Edge-computing Services". Raffaella Grieco, Delfina Malandrino, Vittorio Scarano. World Wide Web Journal.

[CompNetw06] "Tackling Web Dynamics by Programmable Proxies". Delfina Malandrino, Vittorio Scarano. Computer Networks, Vol. 50, Issue 14, October 2006.

[Percom06] "Context-aware Provision of Advanced Internet Services". Raffaella Grieco, Delfina Malandrino, Francesca Mazzoni, Daniele Riboni. In Proceedings of the Fourth Annual IEEE International Conference on Pervasive Computing and Communications (PerCom 2006).

[Mobis05] "Mobile-Web Services via Programmable Proxies". Raffaella Grieco, Delfina Malandrino, Francesca Mazzoni, Vittorio Scarano". In Proceedings of the IFIP TC8 Working Conference on Mobile Information Systems – 2005 (MOBIS). Leeds, UK, December 2005.

[HPCCC05] "A scalable framework for the support of advanced edge services". Michele Colajanni, Raffaella Grieco, Delfina Malandrino, Francesca Mazzoni, Vittorio Scarano". In Proceedings of the 2005 International Conference on High Performance Computing and Communications (HPCC’05). Sorrento (Naples), Italy, September 2005.

[SIUMI05] "An Intermediary Software Infrastructure for Edge Services" Raffaella Grieco, Delfina Malandrino, Francesca Mazzoni, Vittorio Scarano, Francesco Varriale. Proc. of The first International Workshop on Services and Infrastructure for the Ubiquitous and Mobile Internet (SIUMI’05). Columbus, Ohio, June 2005.

[Webist05] "A Taxonomy of Programmable HTTP Proxies for Advanced Edge Services" Delfina Malandrino, Vittorio Scarano. Proc. of the International Conference on Web Information Systems and Technologies, Miami, Florida, USA, May 2005.

[SAC05] "SEcS: Scalable Edge-computing Services" Raffaella Grieco, Delfina Malandrino, Vittorio Scarano. Proc. of 20th ACM Symposium on Applied Computing (SAC 2005).