La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: 170735 Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.

Presentazioni simili


Presentazione sul tema: "Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: 170735 Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004."— Transcript della presentazione:

1 Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004

2 Introduzione Newsgroup: gruppo di discussione che si forma attorno a un tema ben definito e pubblica i messaggi inviati dai partecipanti in bacheche elettroniche, visibili a tutti Newsgroup: gruppo di discussione che si forma attorno a un tema ben definito e pubblica i messaggi inviati dai partecipanti in bacheche elettroniche, visibili a tutti Un servizio di newsgroup deve permettere di Un servizio di newsgroup deve permettere di –Inserire un nuovo messaggio in bacheca –Rispondere ad un messaggio –Leggere messaggi

3 Obiettivo: Utilizzo semplicità dello schema C/S ma con studio delle problematiche relative a Utilizzo semplicità dello schema C/S ma con studio delle problematiche relative a –Tolleranza ai guasti –Concorrenza e performance del sistema –Accesso trasparente lato client Soluzione: Utilizzo di replicazione attiva dei server Utilizzo di replicazione attiva dei server Accesso al servizio tramite un servizio di naming Accesso al servizio tramite un servizio di naming

4 Il sistema realizzato Lato client si accede al servizio tramite un servizio di naming Lato client si accede al servizio tramite un servizio di naming Lato server è costituito da un numero dinamico di servitori Lato server è costituito da un numero dinamico di servitori Permette di eseguire le operazioni di Permette di eseguire le operazioni di –Inserimento di un nuovo messaggio in bacheca –Risposta ad un messaggio –Lettura messaggi

5 Struttura del sistema

6 Progetto del lato server deve tenere conto Comunicazione con gli altri server attivi per mantenere la consistenza dei dati Comunicazione con gli altri server attivi per mantenere la consistenza dei dati –Conoscenza reciproca Struttura a ring Rilevazione della caduta di un nodo e ricomposizione degli elementi del ring Rilevazione della caduta di un nodo e ricomposizione degli elementi del ring Variazione dinamica del numero di server attivi Variazione dinamica del numero di server attivi Operazioni di bind e unbind

7 Struttura lato server Registro di 1°livello Registro di 2°livello ServizioBinding ServerN+1 ServRef0 ServRefN Server0 ServerN ServizioID Servizio ID univoci ServerN+1

8 Progetto: operazioni newsgroup Uso di callback per le operazioni Uso di callback per le operazioni –client Non deve aspettare elaborazione del server Non deve aspettare elaborazione del server Implementa un’interfaccia di operazioni invocabili dal server Implementa un’interfaccia di operazioni invocabili dal server

9 Inserimento/risposta a un messaggio Bacheca locale 1) writeMsg() 2) Callback 3) transmitMsg() n) transmitMsg() Cliente newsgroupServer i Server i+1 Server i-1

10 Lettura di messaggi Bacheca locale 1) readMsg() 2) Callback Cliente newsgroupServer i Server i+1 Server i-1

11 Criteri di ricerca di messaggi di interesse Oggetto dei messaggi Autore e oggetto dei messaggi Autore, oggetto e ora d’invio dei messaggi Messaggi di risposta di un dato messaggio Tutti i messaggi Messaggio particolare identificato tramite un ID

12 Aggiornamento dello stato dei server Eseguito by – need Eseguito by – need –In seguito all’inserimento di un nuovo messaggio in bacheca Utilizzo di una politica ottimista Utilizzo di una politica ottimista –Aggiornamento dei server attivi dopo aver comunicato la riuscita dell’inserimento al client Uso modalità best effort Uso modalità best effort Controllo dello stato dei server: ci sono stati failure? Controllo dello stato dei server: ci sono stati failure?

13 Modifica del ring o dello stato dei suoi componenti Per fare una qualunque modifica al ring Per fare una qualunque modifica al ring –Inserimento di messaggio messaggio nuovo nodo nuovo nodo –Eliminazione di un nodo Ho bisogno di una autorizzazione ottenuta tramite il possesso di un token

14 Algoritmo per ottenere il token 1. Si richiede il token a tutti i componenti del ring 2. Se tutti danno il consenso, il server i ottiene il token (che poi deve essere liberato) 2. Se tutti danno il consenso, il server i ottiene il token (che poi deve essere liberato) 3. Se non tutti danno il consenso (in caso di richiesta simultanea) si aspetta un tempo casuale prima di rinoltrare la richiesta Ok token

15 Implementazione Utilizzo di Java RMI, perché offre Utilizzo di Java RMI, perché offre –Un servizio di naming già funzionante –La possibilità di gerarchizzare i registri in due livelli –Un meccanismo per poter comunicare in remoto con una certa sicurezza

16 Struttura delle classi

17 Demo applicazione

18 Sviluppi futuri Decentramento del servizio di nomi univoci Decentramento del servizio di nomi univoci Supporto per la persistenza dei dati Supporto per la persistenza dei dati Altre logiche di assegnamento di un server a un cliente Altre logiche di assegnamento di un server a un cliente …

19 Conclusioni Col sistema realizzato si è cercato di ottenere Col sistema realizzato si è cercato di ottenere –Tolleranza ai guasti –Concorrenza e performance –Accesso trasparente lato client migliori rispetto al classico C/S, senza rinunciare ad un’architettura molto semplice Poteva essere inserita una gestione della qualità di servizio, ma si reputa, dato il servizio, il principio di minima intrusione, che il sistema abbia comunque un buon rapporto costo, prestazione, almeno per questa prima versione Poteva essere inserita una gestione della qualità di servizio, ma si reputa, dato il servizio, il principio di minima intrusione, che il sistema abbia comunque un buon rapporto costo, prestazione, almeno per questa prima versione


Scaricare ppt "Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: 170735 Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004."

Presentazioni simili


Annunci Google