(sito Web in fase di allestimento)

Servizi Multimediali in Ambiente Distribuito:

Architettura di Riferimento, Modalità di fruizione e Gestione della Qualità di Servizio


Contesto nazionale ed internazionale della ricerca

I recenti sviluppi tecnologici nel campo delle reti ad alta velocità e delle workstation multimediali a basso costo stanno rendendo possibile lo sviluppo e la diffusione di nuovi tipi di applicazioni multimediali distribuite. In particolare, servizi prima ristretti a reti di tipo specializzato possono adesso essere integrati nelle reti geografiche di uso generale.

I servizi di nuova generazione coinvolgono media di tipo diverso che vanno dal video, all'audio, al trasferimento dati ad alta velocità. Inoltre, per i media continui quali audio e video viene spesso richiesto che il livello di servizio sia garantito. Quindi, il concetto di Qualità del Servizio (QoS), associata ad un determinato flusso dati, è divenuto una questione di centrale importanza da applicare (e gestire) ad ogni livello del sistema nella sua globalità: avremo dunque una QoS a livello dell'utente, a livello di sistema (s.o. e device di I/O), a livello del sottosistema di comunicazione ed a livello di rete.

Nasce quindi l'esigenza di ricorrere a tecniche innovative per la gestione di un sistema cosi complesso che siano in grado di assicurare una efficiente identificazione delle risorse ed un conseguente accesso con livelli di qualità adeguati ai requisiti richiesti dalle attuali e future applicazioni multimediali interattive distribuite. A ciò si aggiunge la necessità di considerare la mobilità degli utenti e dei dispositivi wireless con cui si accede a tali servizi: se infatti fino ad oggi i dispositivi wireless hanno consentito solo una limitata interazione con i servizi di rete (per via della limitata ampiezza di banda disponibile), l'evoluzione tecnologica in questo campo consentirà nell'immediato futuro l'utilizzo di tali dispositivi e delle reti wireless di terza generazione per l'accesso a servizi multimediali, grazie ad ampiezze di banda maggiori (si consideri ad esempio UMTS).

In sintesi dunque, le problematiche connesse al problema della gestione di un servizio multimediale sono principalmente legate alla conoscenza delle tecnologie e dei protocolli di rete per il trasporto dei dati real-time, allo sviluppo di server multimediali ad alte prestazioni, alla definizione di servizi differenziati in base alla qualità ad essi associata, ovvero alle risorse da essi impiegate, nonché all'adattabilità dei servizi forniti ad utenze, terminali, reti ed ambienti d'esecuzione estremamente eterogenei e continuamente in evoluzione. Per affrontare adeguatamente queste problematiche è necessario adottare nuove tecniche e metodologie, facendo uso di differenti paradigmi di programmazione e progettando una infrastruttura di supporto che possa rispondere ai requisiti precedentemente delineati.


Obiettivi, programmi e metodologia della ricerca

La complessità dei moderni sistemi di elaborazione e delle loro applicazioni tende ad aumentare in maniera consistente con la disponibilità di infrastrutture sempre più sofisticate capaci di interconnettere una grande varietà di sistemi e di offrire una notevole quantità di risorse e di servizi. Al fine di dominare tale crescita di complessità e di sfruttare al meglio le potenzialità offerte dall'unico sistema globale sono necessari studi approfonditi su alcune tematiche di base inerenti sia le infrastrutture e la gestione delle risorse in reti eterogenee, sia gli ambienti per lo sviluppo di applicazioni mobili e/o distribuite.

Il progetto assume come target di riferimento un sistema distribuito su scala geografica in cui server multimediali ad alte prestazioni possono essere referenziati per il recupero e la fruizione di dati sia da terminali fissi che mobili con elevati livelli di qualità. I principali obiettivi che ci si prefigge possono essere riassunti nei punti seguenti:

  1. Definizione e sviluppo di un server multimediale ad alte prestazioni basato su architettura distribuita.
  2. Realizzazione di un ambiente basato sull'uso della tecnologia ad agenti mobili per l'accesso ai dati multimediali contenuti in più server distribuiti in ambito geografico.
  3. Sviluppo di tecniche per la gestione della qualità del servizio.
  4. Gestione della mobilità dell'utente e della adattabilità delle informazioni alle reali capacità di processamento del terminale utente.

Il progetto mira alla realizzazione di un sistema server multimediale e di una serie di applicativi client che consentano un utilizzo semplice di dati in modo differenziato, in termini di qualità, di risorse impegnate e di modalità di accesso tramite un terminale, una workstation, un telefono GSM, un palmtop, un televisore, un notebook, un Internet kiosk pubblico. Le modalità di presentazione delle informazioni richieste varieranno anche in base alle caratteristiche del dispositivo di accesso. In generale, terminali di tipo molto semplice, quali i telefoni cellulari, potranno ad esempio essere usati solamente per la notifica del completamento di un servizio, indicando eventualmente all'utente dove reperire i risultati delle elaborazioni richieste. Dispositivi più sofisticati, quali Palmtop con avanzate capacità grafiche ed elaborative, potranno invece permettere all'utente di accedere a complesse informazioni multimediali.


La mobilità dell'utente ha ripercussioni a livello di supporto alla programmazione che deve consentire sia di variare servizi e proprietà, sia di aggiungere servizi nuovi durante la esecuzione. Gli agenti mobili rappresentano la tecnologia che verrà adottata per ottenere flessibilità e dinamicità, in quanto la mobilità permette agli agenti di trasportare nuovi comportamenti, di coordinare varie attività e di adeguare componenti sviluppati precedentemente e già operativi. Caratteristica di base del progetto sara la massima apertura e accessibilità, favorita dalla interazione ed integrazione di componenti esistenti e dall'utilizzo di ambienti di ampio uso ed accesso come Java e di tecnologie e prodotti open source e freeware.
Il raggiungimento dei precedenti obiettivi richiede un notevole sforzo a livello di ricerca per la risoluzione di una vasta gamma di problemi che si estendono dal livello networking a quello applicativo.

Le attività saranno distribuite tra le singole UR come segue:


Descrizione particolareggiata della ricerca

L'obiettivo generale del progetto consiste nello sviluppo di un sistema distribuito ad alte prestazioni per l'integrazione di servizi di comunicazione digitali in reti a larga banda, incluse comunicazioni di natura audio/video. Ci si propone di affrontare queste tematiche con specifico riferimento all'impiego di tecnologie innovative che prevedano l'utilizzo di codice mobile per risolvere i problemi derivanti dall'eterogeneità dei sistemi in cui si opera.
Ai servizi digitali verrà data una nuova e più flessibile veste, ridefinendo l'oggetto "server" in termini di una generica risorsa applicativa che deve essere facilmente individuabile in rete e sempre disponibile all'invocazione del servizio da parte degli utenti. Per quanto riguarda il lato utente, le nuove tecnologie middleware attualmente disponibili consentono, se opportunamente impiegate, la realizzazione di applicativi utente la cui architettura interna non è in alcun modo vincolata a quella del server fornitore del servizio, ma solo alla sua "interfaccia". In tal modo è possibile lo sviluppo "indipendente" di numerose e diverse applicazioni per la fruizione dello stesso servizio, che si possono eventualmente differenziare nel modo in cui presentano l'informazione all'utente.
Avvalendosi di tali tecnologie, si vuole sviluppare un sistema server multimediale ed una serie di applicativi client che consentano l'utilizzo del servizio fornito in modo differenziato, in termini di qualità e di risorse impegnate tramite un terminale, una workstation, un telefono GSM, un palmtop, un televisore, un notebook, un Internet kiosk pubblico. Le modalità di presentazione delle informazioni richieste varieranno (oltre che in base alle caratteristiche della rete di comunicazione) anche in base alle caratteristiche del dispositivo di accesso. Terminali di tipo molto semplice, quali i telefoni cellulari, potranno ad esempio essere usati solamente per la notifica del completamento di un servizio, indicando eventualmente all'utente dove reperire i risultati delle elaborazioni richieste. Dispositivi più sofisticati, quali palmtop con avanzate capacità grafiche ed elaborative, potranno invece permettere all'utente di accedere a complesse informazioni multimediali.
Allo scopo di consentire un riscontro della validità e dei vantaggi delle soluzioni algoritmiche e delle scelte progettuali che saranno frutto del presente programma di ricerca, il suddetto lavoro verrà finalizzato alla realizzazione di un prototipo di applicativo che dimostri, implementandole, l'utilizzo delle architetture software e protocollari di cui sopra. Punto di partenza per lo sviluppo di tali applicazioni sarà il server distribuito DAVID originariamente sviluppato all'interno del concluso progetto di rilevante interesse nazionale MURST MOSAICO. Il presente progetto di ricerca si propone quindi di progettare un nuovo sistema per la distribuzione di servizi di comunicazione digitali per reti metropolitane, a partire dalla esperienza positiva rappresentata dal comportamento del server DAVID in ambito di rete locale, nonché di studiare le più efficaci soluzioni progettuali, da testare su un nuovo prototipo, che consentano di estendere i servizi anche alla rete Internet.
Il progetto è articolato nelle fasi seguenti:

  1. Definizione e sviluppo di un server multimediale ad alte prestazioni basato su architettura distribuita;
  2. Studio e analisi di protocolli e metodologie per la qualità del servizio nei sistemi di rete;
  3. Utilizzo di tecnologie innovative basate su codice mobile per la realizzazione di una infrastruttura di supporto;
  4. Gestione della mobilità dell'utente e della adattabilità delle informazioni alle reali capacità di processamento del terminale utente.

1) Server multimediale distribuito

Tale fase riunisce tutte le attività di analisi, progettazione, sviluppo, ed implementazione relative all'adeguamento del sistema DAVID alla nuova infrastruttura di supporto derivante dalla collaborazione tra le unità di ricerca del progetto. I vari meccanismi studiati ed analizzati, saranno opportunamente adattati all'infrastruttura esistente al fine di mostrare la loro efficacia e di fornire utili spunti per l'indirizzamento degli sforzi ulteriori di ricerca. DAVID (Distributed Access Video on Demand server) è un prototipo di server VoD, sviluppato all'interno del progetto Mosaico, basato sull'impiego di un cluster di PC a tecnologia standard e sistema operativo Linux. Nell'ambito di questo progetto ci si propone di:

2) Protocolli e metodologie per la QoS

Uno scenario di erogazione di servizi multimediali integrati in ambiente Web e basati su media continui necessita di un'infrastruttura per negoziare il livello di QoS associato ad ogni flusso di dati fra fornitori e utenti, e per il controllo dinamico del rispetto del livello negoziato. L'infrastruttura deve offrire ai fornitori di servizio la possibilità di gestire dinamicamente la QoS tramite operazioni correttive (adattamento del flusso alle condizioni della rete e dei terminali coinvolti, nuova negoziazione, bilanciamento del carico, blocco di attacchi denial-of-service).
E' quindi di centrale importanza sviluppare metodologie per garantire la qualità del servizio nei sistemi di rete in particolare quando si prevede di dover fornire servizi di tipo multimediale, in cui i flussi di dati hanno stringenti requisiti temporali.
L'infrastruttura di servizio dovrebbe adattarsi alle condizioni dinamiche, come la disponibilità corrente di larghezza di banda, durante l'erogazione del servizio, al fine di permettere un miglioramento delle performance globali del sistema. Questo è ciò che viene indicato in letteratura come "gestione adattiva del QoS a livello applicativo" e prevede la realizzazione di azioni dinamiche sui componenti di servizio al fine di moltiplicare le connessioni adattive, adattare i requisiti di banda dei flussi multimediali trasportati, bilanciare il carico fra una molteplicità di possibili servitori funzionalmente equivalenti, impedire l'accesso alla fruizione del servizio a nuovi flussi quando il sistema globale risulta vicino al limite di carico.
Un passo fondamentale nell'erogazione di servizi multimediali con controllo e gestione della qualità di servizio è la disponibilità di un'infrastruttura che permetta il monitoraggio dell'esecuzione di componenti applicativi e di risorse distribuite di sistema.
Diverse attività di ricerca hanno investigato la possibilità di implementare strumenti di monitoraggio locali (ovvero processi capaci di osservare le proprietà di risorse localizzate nel loro stesso ambiente di esecuzione), e di coordinarli secondo differenti politiche e modalità per ottenere una visione globale del sistema distribuito. Inoltre, alcune attività di ricerca hanno posto l'accento su strumenti di monitoraggio capaci di ottenere dinamicamente informazioni su componenti di servizio mentre sono in esecuzione, al fine di avviare specifiche azioni di gestione durante la fornitura di servizio. Questi strumenti di monitoraggio sono identificati come on-line e devono essere configurati con particolare cura per mantenere minima la loro interferenza sul sistema osservato.
Strumenti di monitoraggio tradizionali sfruttano generalmente funzionalità native fornite da probe hardware/software dedicati o da sistemi operativi ospitanti. Queste soluzioni hanno raggiunto risultati significativi, ma non possono essere applicate in maniera naturale ad un ambiente intrinsecamente eterogeneo come Internet.
Il monitoraggio e la gestione di servizi Web multimediali è quindi un'area che richiede l'integrazione di differenti tecnologie implementative e standard riconosciuti, dalla realizzazione di interfacce grafiche utente, alle funzionalità di rete, dalle tecnologie per la computazione distribuita, alla modellazione orientata agli oggetti. In questo scenario, la tecnologia Java sta diventando una scelta obbligata, e dunque si impone anche per la realizzazione dell'infrastruttura di monitoraggio.
Nell'ambito di questa attività verranno analizzati i vari modelli per il supporto della QoS proposti in letteratura, con particolare attenzione per ciò che riguarda i modelli IntServ e Diffserv. In particolare si desidera esplorare la possibilità di rendere "programmabile" la rete stessa (mediante tecnologie basate su codice mobile), in modo tale da lasciar a ciascun "customer" della rete la possibilità di implementare la propria politica di gestione, scegliendo il giusto compromesso tra il prezzo da pagare e la qualità ottenuta.
L'obiettivo che ci si pone consiste nella progettazione ed implementazione di un prototipo di infrastruttura, basata sulla tecnologia ad agenti mobili, per la specifica, il controllo e la gestione del QoS in servizi Web multimediali. In particolare, l'infrastruttura dovrà facilitare il supporto di servizi multimediali capaci di esibire continuità, accessibilità, dinamicità, sicurezza, e inteoperabilità.
Nel dettaglio, si intende:

3) Agenti mobili per la realizzazione di una infrastruttura di supporto

L'esplorazione di soluzioni architetturali a livello di supporto ad agenti per la gestione della QoS, sembra essere un approccio promettente per soddisfare requisiti quali scalabilità, flessibilità, e gestione dell'eterogeneità che i sistemi attuali richiedono.
La tecnologia ad agenti mobili permette un elevato grado di flessibilità e dinamicità. Infatti, la possibilità di migrazione di entità in esecuzione mette a disposizione i meccanismi necessari nel management distribuito di sistemi eterogenei, nel mobile computing, e nell'adattamento dinamico di flussi multimediali.
I lavori già prodotti da alcune UR in questo settore hanno mostrato che l'approccio distribuito comporta vari vantaggi nell'architettura globale del sistema; è possibile monitorare lo stato della rete a diversi livelli di dettaglio avendo quindi una migliore conoscenza delle "situazioni" locali; ciò consente all'occorrenza una più semplice e corretta localizzazione di eventuali situazioni anomale. L'approccio ad agenti viene sfruttato efficacemente, in quanto esso permette di realizzare le varie funzioni previste dall'architettura in maniera agevole ed in più apporta alcuni vantaggi propri della programmazione "agent-oriented". Sebbene infatti, le decisioni di management vengono e seguite localmente da ciascun agente, essi coordinano tali azioni scambiandosi informazioni sul loro stato interno. La presenza degli agenti inoltre consente operazioni di management più efficienti e flessibili: solamente quando una operazione diventa necessaria l'agente che la implementa viene inviato sul nodo (o sui nodi) interessati e lì diventa attivo eseguendo l'operazione richiesta.
Le funzionalità di base che un agente nella architettura proposta dovrebbe avere sono le seguenti:


All'interno dell'attività si procederà alla definizione e realizzazione dell'intera infrastruttura di supporto per la creazione del servizio di video on demand. Le competenze nell'ambito della tecnologia ad agenti mobili delle UR di Messina, Bologna e Modena saranno messe a comune ed in particolre si procederà alla integrazione delle due piattaforma ad agenti MAP (ME) e SOMA (BO), che tra l'altro implementano lo standard MASIF, con il prototipo (MO) in Java della infrastruttura di coordinazione basata su spazi di tuple reattivi per consentire agli agenti mobili di interagire fra di loro e permettere di usufruire dei servizi messi a disposizione dei siti visitati.
Un risultato collaterale dell'attività sarà quindi quello di dimostrare la validità delle specifiche MASIF (implementate sia in MAP che in SOMA) permettendo agli agenti di migrare su piattaforme diverse in maniera del tutto trasparente.

4) Infrastruttura di supporto per utenti e terminali mobili

La mobilità dell'utente introduce discontinuità spaziali e temporali nell'accesso al sistema distribuito. Adeguati meccanismi dovranno essere sviluppati per gestire in maniera trasparente la disconnessione temporanea dell'utente ed il suo successivo collegamento da un altro client. L'utente dovrà quindi essere in grado di formulare la richiesta, disconnettersi dal sistema e ricevere i risultati in un secondo momento. Un possibile scenario di riferimento vede ad esempio un utente che tramite palmtop invia con il telefono cellulare una query al sistema; quindi si disconnette, si sposta fisicamente in un ambiente diverso e, ricollegatosi al sistema tramite una workstation, si vede fornire i risultati della query precedentemente inviata. Il sistema deve pertanto essere in grado di adattare dinamicamente le modalità di presentazione dei dati alle effettive risorse di visualizzazione e di calcolo dell'utente, tenendo conto che queste potrebbero cambiare nel tempo. Ad esempio, il concetto di Virtual Home Environment (VHE), sviluppato per le reti mobili della terza generazione (UMTS), prevede per l'utente la possibilità del service roaming su diverse reti e diversi dispositivi di accesso. In tale scenario, si ritiene che un approccio basato sul paradigma ad agenti mobili possa essere particolarmente indicato per affrontare le problematiche descritte, rendendo altamente flessibile e personalizzabile il service provisioning. E tutto ciò in maniera altamente distribuita, poiché i vari elementi della rete diventano delle entità attive nella fornitura del servizio, nel controllare la qualità del servizio erogato, nelle eventuali elaborazioni necessarie. Oltre agli aspetti legati alle funzionalità applicative degli agenti, i sistemi ad agenti possono fornire vantaggi di tipo tecnico quali la riduzione dei costi di comunicazione, un utilizzo ridotto di bandwidth, la possibilità di utilizzo di interfacce remote personalizzabili, ed un supporto per computazioni off-line.
La distribuzione sia temporale che spaziale della logica del servizio, comporta anche la scalabilità dello stesso, caratteristica di centrale importanza quando si vuole offrire un servizio su scala geografica.

Il progetto si articola su due fasi, rispettivamente di cinque e sette mesi.
La prima fase partirà da un'analisi dell'esistente, identificherà le soluzioni possibili e completerà da un lato la progettazione del nuovo servizio multimediale e del server distribuito in ambito geografico, dall'altro procederà alla definizione del prototipo di infrastruttura e delle tecniche per il controllo della qualità del servizio tramite l'utilizzo della tecnologia ad agenti mobili. La seconda fase si occuperà di implementare quanto definito nella fase precedente e di verificarne l'usabilità e l'efficacia tramite prove sperimentali, che metteranno in gioco la presenza di più server multimediali contemporaneamente attivi e soprattutto terminali mobili, distribuiti su scala geografica.

Prima Fase (5 mesi)
La prima fase deve arrivare a specificare e progettare una architettura di riferimento per la fruizione di servizi multimediali che, partendo da una modalità di interconnessione globale come Internet accresciuta con interconnessioni ad alta velocità, consenta di sviluppare i servizi richiesti usando nuove metodologie e modelli di soluzione, per superare i limiti dei prodotti e dei sistemi attuali.
Partendo da una analisi dell'esistente, i primi cinque mesi devono consentire la realizzazione di piccoli prototipi dimostrativi capaci di tenere in conto specifiche come la garanzia di diverse qualità di servizio dipendenti dalle risorse disponibili e dallo stato del sistema nella sua globalità, la continuità dei servizi stessi, e l'integrazione dei nuovi servizi con quelli esistenti per trarre il massimo vantaggio dalle risorse e dai servizi già realizzati. Questa fase permette anche di avere utili retroazioni attraverso le interazioni con le diverse Unità del progetto e avviare specifiche coordinate.

Seconda Fase (7 mesi)
Nella seconda fase si intende arrivare all'implementazione completa dell'architettura definita durante la prima fase. Si ritiene fondamentale mostrare il sistema realizzato in azione su una specifica applicazione multimediale multistream, che introduca scelte differenziate al livello di qualità di servizio, ottenendo soluzioni con garanzie di efficienza, di usabilità, e di flessibilità.
L'applicazione dovrà prevedere l'accesso da parte di una molteplicità di clienti da allocazioni geograficamente distanti a una molteplicità di server in grado di erogare flussi parzialmente replicati ottenendo il migliore utilizzo delle risorse di banda e delle possibilità di memorizzazione distribuita e tenendo conto dei tempi di servizio garantiti ai clienti. I servizi sviluppati devono potere facilmente selezionare livelli di qualità differenziati dipendentemente dal costo e dall'efficienza delle soluzioni.

Il raggiungimento dei precedenti obiettivi richiede quindi un notevole sforzo a livello di ricerca per la risoluzione di una vasta gamma di problemi che si estendono dal livello networking a quello applicativo. La selezione delle unità di ricerca (UR) coinvolte nel progetto è stata pertanto basata sulla attenta selezione delle singole competenze con il risultato finale di avere costituito un gruppo apparentemente eterogeno che però ottiene dalla complementarietà delle singole competenze la capacità globale di affrontare con successo il problema in oggetto.
In questa sezione si vuole sottolineare come le attività svolte dalle singole unità siano perfettamente complementari tra loro e concorrono al raggiungimento degli obiettivi previsti.
Il server multimediale DAVID sarà esteso in modo da permetterne la fruizione in ambito geografico. Questa specifica attività sarà portata avanti dalla UR di Messina, che si coordinerà attivamente con le altre UR allo scopo di permettere l'integrazione del server distribuito tramite il supporto ad agenti mobili sviluppato da Bologna e Modena.
In particolare durante lo sviluppo dell'infrastruttura ad agenti per la gestione della qualità del servizio, i modelli di coordinazione basati su tuple sviluppati dall'unità di Modena potranno essere efficacemente utilizzati dai vari agenti per la negoziazione dei parametri di qualità fra le diverse entità coinvolte. I modelli di sicurezza sviluppati a Bologna dovranno essere integrati nell'intero sistema, dal momento che si prevede un suo utilizzo in ambito geografico, inerentemente non sicuro. Per lo sviluppo di applicazioni multimediali si opererà congiuntamente all'unità di Parma per la definizione di una interfaccia comune di accesso al servizio stesso che permetterà di rendere del tutto trasparente la selezione del server multimediale più conveniente nel rispetto di predeterminati indici di qualità. La UR di Parma si occuperà anche dello sviluppo di modelli per la valutazione delle prestazioni del server multimediale con riferimento ai meccanismi di I/O e all'interazione fra l'applicazione e i servizi di base offerti dal sistema operativo.
Tali risultati saranno di sicuro giovamento per la UR di Messina che potrà così procedere ad ulteriori affinamenti del sistema DAVID.
Il Cineca si farà carico di fornire tutto il supporto necessario alla sperimentazione del servizio in ambito geografico mettendo a disposizione delle UR le proprie competenze nell'ambito delle reti. Il supporto fornito dal Cineca sarà quindi trasversale rispetto alla attività svolta dalle singole Unità di Ricerca, in quanto mirato alla realizzazione e gestione dell'ambiente di sviluppo in cui confluiranno i risultati delle singole esperienze.
L'utilizzo di standard nella definizione dei vari componenti, e delle varie interfacce software sarà un obiettivo sempre perseguito da tutte le unità. Il ricorso alla notazione UML nello sviluppo dei moduli software costiuirà una delle specifiche del progetto che permetterà una più semplice integrazione dei contributi delle singole unità.