Reti di Calcolatori L-S Professor Antonio Corradi A.A. 2003-2004 Sistema Publish-Subscribe per la Gestione degli Eventi della Provincia di Rimini di Claudia D’Ambrosio Introduzione Crescente necessità di comunicare con i singoli utenti Importanza dei Sistemi Distribuiti Sistema per comunicare gli eventi di una Provincia Descrizione del Sistema Ente Fiera Comune Ente che Marco Bianchi Gestisce gli Luca Verdi Carlo Rossi Eventi Il Modello Publish and Subscribe Publisher 1 Subscriber 1 Publisher 2 Subscriber 2 . . . . Publisher N Gestore degli Eventi . . . . Subscriber M I Livelli di Disaccoppiamento Disaccoppiamento temporale: perchè l’interazione tra publisher e subscriver abbia luogo non è necessario che entrambe le entità siano attive Disaccoppiamento spaziale: pur interagendo, non è necessario che il publisher ed il subscriber si conoscano 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 Publisher Ente Fiera Comune Ente che Marco Bianchi Gestisce gli Luca Verdi Eventi Carlo Rossi Subscriber La Replicazione Il Sistema è centralizzato (gestore) Necessità di replicazione Replicazione attiva Copia 1 Entry Point Copia 2 . . . . . Copia N Un Caso d’Uso Ente Fiera Luca Verdi “Fiera del Gelato” “Fiera del Gelato” Ente che Gestisce gli Eventi Carlo Rossi Marco Bianchi “Fiera del Gelato” La Tolleranza ai Guasti Entry Point . . . Copia 1 DB 1 Copia 2 DB 2 . . Copia N . . DB N L’Implementazione: Modello Publish&Subscribe L’Implementazione: Replicazione L’Entry Point è il gestore statico: inoltra le richieste e riceve le risposte Risponde al Cliente secondo la politica Voting di Maggioranza Se ci sono copie inconsistenti si occupa di metterle da parte Visione Globale Publisher Subscriber Subscriber Copia 1 Entry Point Copia 2 Copia 3 Conclusioni L’applicazione è un prototipo Soddisfa le esigenze fondamentali del sistema 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