Progetto Di Un’infrastruttura Che Permetta La Modifica Di
Dati Condivisi Distribuiti Su Più Nodi
Reti di calcolatori L-S 2004-2005
Gozzi Daniele 0000193625
IntroduzioneCreazione un’infrastruttura che permetta di
condividere dati: Letture su copia locale. Mantenga la consistenza tra le varie copie dei
file. Permetta il lock distribuito dei file:
Modifiche. Aggiornamenti.
Struttura dinamica. Registrazione e de-registrazione dati. Registrazione e de-registrazione client.
StrutturaDivisa in 3 parti:ClientServerDBMS
Devo produrre dei multicast a tutti i client registrati su un file.Il server mantiene lo stato dei nodi:
• Minore complessità• Minore overhead.
Struttura - Server Processo che si occupa di rendere
disponibili ai client i dati necessari all’interazione tra pari.
Mantiene lo stato della rete.Client presenti.File condivisi.
Persistenza dei dati affidata al DBMS. Richieste semplici e veloci da risolvere.
Difficilmente cono di bottiglia.Facile introdurre replicazione.
Struttura - Client Interfaccia verso l’infrastruttura. Etichette su ogni file.
Numero logico del file.Numero fisico del file.
Mantenimento dei lock sui file. Gestione algoritmo di votazione tra pari. Sincronizzazione nell’accesso ai file. Richieste al server.
Algoritmo Di Votazione Server
1: Richiesta al server
2: Elenco client interessati
3
3
3
4
4
43: Vote request.
4: Risposta positiva o meno
5a: Abort vote request.
5b: Release al termine dell’uso.
Ottenimento Del Lock
Non c’è ritrasmissione della richiesta in caso di conflitto. In alcuni client lock non memorizzato: possono essere
al più N/2 –1. Solo un client può avere abbastanza risposte positive
per procedere. Gli altri abortiscono la vote request.
A:1ok 2 abort
B:1abort 2 ok
C:1abort 2 ok
1
2
Il lock è ottenuto se N/2+1 client rispondono positivamente.
Concorrenza Per rendere asincrone e parallele le richieste ad altri client.
Attesa del gestore solo delle risposte necessarie per procedere
Restituzione del controlloI thread del pool terminano il loro compito asincronamente
Rmi Due tipi di interfacce registrate.
IServer. IClient.
Utilizzo di RMI porta, sia i client sia il server, a poter gestire richieste in parallelo.
Synchronized sui metodi di modifica dello stato.
Controlli sul lock effettuati prima in locale.
Utilizzo Di Diverse Politiche Mutex distribuito: strumento di base per gestire
la concorrenza. Default: in caso di conflitto attesa e successivi
tentativi di accesso. Utilizzo dei file come contenitori di strutture per
gestire l’accesso a risorse: Possibilità di implementare politiche di accesso
complesse. Accesso rapido al file che comporta difficilmente
conflitti. In caso di conflitto ritrasmissione.
Sviluppi Introduzione dell’hash dei file invece di
una stringa relativa al nome. Un’ottimizzazione degli aggiornamenti dei
file che a volte potrebbero essere evitati o effettuati solo in parte.
Prevedere dei controllori sullo stato della rete che si occupino di: De-registrare client in caso di fallimenti
ripetutiReinizializzare il server in caso di crash.
Top Related