Reti di Calcolatori L-S Professor Antonio Corradi A.A Sistema Publish-Subscribe per la Gestione degli Eventi della Provincia di Rimini Provincia di Rimini di Claudia D’Ambrosio
Introduzione Crescente necessità di comunicare con i singoli utenti Crescente necessità di comunicare con i singoli utenti Importanza dei Sistemi Distribuiti Importanza dei Sistemi Distribuiti Sistema per comunicare gli eventi di una Provincia Sistema per comunicare gli eventi di una Provincia
Descrizione del Sistema Ente che Gestisce gli Eventi Ente Fiera Comune Luca Verdi Carlo Rossi Pubblica evento Marco Bianchi Iscrivi Sottoscrivi preferenze Notifica evento Sottoscrivi preferenze
Il Modello Publish and Subscribe Gestore degli Eventi Publisher 1 Publisher 2 Publisher N Subscriber 1 Subscriber 2 Subscriber M Notifica evento Notifica evento Notifica evento Notifica evento Notifica evento Subscribe Unsubscribe
I Livelli di Disaccoppiamento Disaccoppiamento temporale: Disaccoppiamento temporale: perchè l’interazione tra publisher e subscriver abbia luogo non è necessario che entrambe le entità siano attive Disaccoppiamento spaziale: Disaccoppiamento spaziale: pur interagendo, non è necessario che il publisher ed il subscriber si conoscano Disaccoppiamento di sincronizzazione: Disaccoppiamento di sincronizzazione: il publisher, dopo aver notificato un evento, potrà proseguire altre attività senza preoccuparsi se i subscriber interessati hanno ricevuto o meno tale notifica
Descrizione del Sistema Ente che Gestisce gli Eventi Ente Fiera Comune Luca Verdi Carlo Rossi Pubblica evento Marco Bianchi Iscrivi Sottoscrivi preferenze Notifica evento Sottoscrivi preferenze Publisher Subscriber
La Replicazione Il Sistema è centralizzato (gestore) Il Sistema è centralizzato (gestore) Necessità di replicazione Necessità di replicazione Replicazione attiva Replicazione attiva Copia 1 Copia 2 Copia N Entry Point
Un Caso d’Uso Ente che Gestisce gli Eventi Ente Fiera Luca Verdi Carlo Rossi Marco Bianchi “Fiera del Gelato” “Fiera del Gelato” “Fiera del Gelato”
La Tolleranza ai Guasti Copia 1 Copia 2 Copia N Entry Point DB 1 DB 2 DB N....
L’Implementazione: Modello Publish&Subscribe
L’Implementazione: Replicazione L’Entry Point è il gestore statico: inoltra le richieste e riceve le risposte L’Entry Point è il gestore statico: inoltra le richieste e riceve le risposte Risponde al Cliente secondo la politica Voting di Maggioranza Risponde al Cliente secondo la politica Voting di Maggioranza Se ci sono copie inconsistenti si occupa di metterle da parte Se ci sono copie inconsistenti si occupa di metterle da parte
Visione Globale Publisher Subscriber Entry Point Copia 1 Copia 2 Copia 3
Conclusioni L’applicazione è un prototipo L’applicazione è un prototipo Soddisfa le esigenze fondamentali del sistema Soddisfa le esigenze fondamentali del sistema Miglioramenti possibili: Miglioramenti possibili: –Gestione del recovery delle copie divenute inconsistenti –Facilità d’uso (modalità di interazione con l’utente) –Stabilire gestori non centralizzati –Gestire replicazione tramite multicast