Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoTerzo Messina Modificato 10 anni fa
1
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito1 Reti di Calcolatori LS REALIZZAZIONE DI UN SERVIZIO DI ANNUNCI DISTRIBUITO Studente: Ludovisi Cesidio Matricola: 0000169645
2
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito2 INTRODUZIONE Lo scopo del progetto è quello di realizzare un servizio di annunci distribuito che consenta ad un cliente di: inserire un nuovo annuncio trovare annunci di interesse Abstract: descrizione generale del progetto maggiore approfondimento sulla parte implementativa Obiettivi: decentralizzazione della architettura dinamicità della architettura gestione della fault tollerance gestione Qos efficienza del servizio
3
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito3 DESCRIZIONE DEL SISTEMA Il sistema è composto da un certo numero di nodi che formano il core del servizio Il servizio consiste nel gestire un insieme di annunci in modo distribuito Quindi un utente può: inserire un annuncio su un nodo (asincrono) trovare annunci di interesse su un nodo (sincrono bloccante - callback) trovare annunci di interesse su linsieme dei nodi (sincrono bloccante - callback) Inoltre si svolge la gestione dinamica del binding di nuovi nodi: bind di un nuovo nodo (sincrono bloccante) unbind di un nodo (asincrono)
4
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito4 ARCHITETTURA LOGICA CORE del Servizio
5
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito5 ANNOUNCEMENT SERVICE Servizio Locale (lettura - inserimento) bloccante – callback - asincrono host Nodo2 port registry2 Nodo2
6
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito6 ANNOUNCEMENT SERVICE Servizio Distribuito (lettura) bloccante - callback host Nodo2 port registry2 Nodo2
7
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito7 BINDING SERVICE (1/2) registry 1 level registry 1 level registry 1 level 1) bindAll 2) update 3) update 8) bindLocal 7) update ? 4) bindLocal 9) update 11) update ? 5) update 10) verify 6) verify registry 1 level host NodoN port registry2 NodoN
8
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito8 BINDING SERVICE (2/2) registry 1 level registry 1 level registry 1 level registry 1 level
9
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito9 GESTIONE QoS Servizio Locale (lettura - inserimento) Servizio Distribuito (lettura) QoS: differenziazione del servizio azioni preventiva per evitare congestione n° utenti contemporanei
10
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito10 GESTIONE FAULT TOLLERANCE Ipotesi: guasto singolo probabilità di guasto bassa durante il recovery organizzazione gerarchica replicazione Master / Slave modello a copia fredda timestamp condiviso gestione della consistenza delle copie scrittura: prima su copia 1 poi su copia 2 lettura: lettura da copia 1 lettura da copia 2 confronto ricovery se necessario Gestione Fault Tollerance su tre livelli:
11
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito11 IMPLEMENTAZIONE DEL SISTEMA (1/5) Scelte Realizzative: uso di Java RMI database realizzati mediante file XML configurazione dei server mediante file XML programmazione concorrente attraverso Thread Considerazioni Introduttive sulla Implementazione: attenzione concentrata su protocolli e politiche di gestione rilassati vincoli di efficienza: uso di SAX per il parsering dei file XML
12
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito12 IMPLEMENTAZIONE DEL SISTEMA (2/5) Java Package: announcement.execution announcement.application announcement.application.rmiInterface announcement.application.implementation announcement.application.thread
13
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito13 IMPLEMENTAZIONE DEL SISTEMA (3/5) componenti che implementano le interfacce RMI remote Osservazioni: Qos gestita attraverso i metodi di prologo ed epilogo parallelismo realizzato attraverso le classi: ReadThread, BindThread, UnbindTread gestione della Memoria Stabile attraverso il componente MemoryManager (read, write)
14
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito14 IMPLEMENTAZIONE DEL SISTEMA (4/5) Realizzazione del Modello di Replicazione Master / Slave: masterChech() updateTimestamp()
15
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito15 IMPLEMENTAZIONE DEL SISTEMA (5/5) Realizzazione del gestore del nodo: Responsabilità del componente: parsering del file XML di configurazione del nodo inizializzazione dei registry di primo e secondo livello creazione delloggetto Master e di quello Slave creazione dei Thread per la sincronizzazione tra Master e Slave
16
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito16 TEST DEL SISTEMA Fasi: creazione dei registry: rmiRegistry localhost port esecuzione dei server dei nodi core del servizio: java announcement.execution.AnnouncementServerApplication serverId esecuzione di un nuovo nodo che effettua il binding: java announcement.execution.BindingServerApplication host port serverId action esecuzione dei clienti: java announcement.execution.AnnouncementClientApplication host port action pay ESECUZIONE TEST
17
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito17 CONCLUSIONI Obiettivi: decentralizzazione dinamicità fault tollerance Vantaggi: scalabilità robustezza Svantaggi: costi overhead Bilanciamento: semplicità dei protocolli non sincronizzazione ridondante principio di Minima Intrusione Java RMI: interazione ad alto livello supporto per la concorrenza supporto per la comunicazione naming service method invocation interfacce del servizio Progettazione: Realizzazione:
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.