Progetto Re.Ve.N.Ge Corba REliable and Versatile News delivery support for aGEncies Realizzazione dei Fruitori A cura di Cristian Caruso Reti di calcolatori ls Anno Accademico 2006/2007 Outline • • • • • • Requisiti del sistema Analisi del problema Scelte progettuali Test e collaudo Conclusioni ed estensioni future Demo dell’applicazione Requisiti • Realizzare un sistema middleware di supporto per la distribuzione di notizie • Comunicazione tra fonti e fruitori di informazione eterogenei • Modalità di interazione push e pull Fonti Fruitori Sistema di consegna • Accesso possibile a terminali leggeri • Uso del Notification Service di CORBA Entità del sistema Fonti • Hanno il compito di produrre le notizie Sistema di consegna • Permette l’arrivo delle notizie dalle fonti ai fruitori Fruitori • Entità di destinazione delle notizie News • Unità di scambio Fonti New s Fruitori Sistema di consegna New s Analisi Fruitori • Segnalazione connessione e disconnessione • Recupero notizie in modalità push/pull • Segnalazione preferenze sulle notizie e sulla push qualità di servizio Fruitori mobili • Esistenza di un proxy proxy che agisca attivamente mobile sulla rete pull Sistema di consegna Notification Service • Supporto alla comunicazione sincrona • Possibilità data ai clienti di specificare gli eventi a cui sono interessati • Supporto alla configurazione della QoS PushConsumer PullConsumer PushSupplier Event Service Event channel Direction of Event Flow PullSupplier • Supporto all’interazione push e pull • Structured Event come struttura dati per le news Interazioni Eventi • OnlineUser: evento inviato dai fruitori al sistema per effettuare la registrazione • UpdateQoS: evento inviato dai fruitori al sistema per cambiare i parametri della QoS • ArrivingNews: evento attraverso il quale si ha la trasmissione dell’informazione • ProxyNews: inviato dal proxy ai fruitori mobili (dopo la loro riconnessione) attraverso il quale si ha la trasmissione dell’informazione Interazioni Eventi • OfflineUser: evento inviato dai fruitori al sistema per notificare una disconnessione Interazione pull • Interrogazione attiva da parte del fruitore • Flusso di esecuzione propria per il recupero delle notizie PullUserClient • Controllo se lo StructuredEvent è vuoto o meno • Chiamata non bloccante al metodo try_pull start PullConsumerUserHandler PullSupplierDsHandler try_pull try_pull() Gestione QoS • Stato dei clienti mantenuto sul server • Notifica dell’intenzione di cambiare i parametri mediante UpdateQoS event • Costruzione degli Structured Event con le informazioni della QoS aggiornate DeliverySystem UserClient UpdateQos Structured Event Change values Value used for creating structured event Qos Client Values Test e collaudo Interazione push Time response late 18 16 14 12 late 10 8 6 4 2 0 1 5 10 Num ber of clients 20 50 Test e collaudo Interazione pull Time response late 50 late 40 30 20 10 0 1 5 10 Num ber of clients 20 50 Test e collaudo Interazione push persistent reliability Conclusioni • Il prodotto realizzato rispetta i vincoli prepsosti Interazione Push Interazione Pull Gestione QoS • Come possibile estensione: esplorazione di tecnologie di supporto alla connessione mobile