(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:
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) 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à.