Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S
Alex Marchetti2 Sommario Obiettivi Descrizione del sistema Architettura Gestione dei guasti Implementazione Sicurezza Conclusioni
Alex Marchetti3 Obiettivi Realizzazione di un’infrastruttura di supporto ad un servizio di disco remoto Accesso a dati privati Accesso a dati condivisi Implementazione di alcuni accorgimenti relativi alla tolleranza ai guasti Replicazione dei dati Replicazione del servizio
Alex Marchetti4 Architettura del sistema Modello di comunicazione client/server: sincrono bloccante Lo scambio di informazioni tra il client ed il server avviene in modo asimmetrico Client Richiesta Risposta Server Rete
Alex Marchetti5 Architettura del sistema Il client ottiene un riferimento all’oggetto remoto: uso di proxy Lo stub e lo skeleton permettono a client e server di effettuare la serializzazione e la deserializzazione dei dati Ciascun client è legato allo stesso server per tutta la sua esecuzione Client Server StubSkeleton
Alex Marchetti6 Descrizione del sistema Ogni server ha una copia consistente dei dati Dati privati di un utente Dati condivisi tra tutti gli utenti Le operazioni che non effettuano modifiche sono eseguite senza nessun tipo di sincronizzazione Le operazioni di modifica necessitano di una fase di aggiornamento per garantire la consistenza dei dati Aggiornamento del manager Aggiornamento delle altre copie attive del server
Alex Marchetti7 Descrizione del sistema Ogni server effettua immediatamente le modifiche locali Le modifiche sono inviate al manager Il manager provvede all’aggiornamento di tutte le copie del server attive FS Server 1 FS Manager FS Server N
Alex Marchetti8 Gestore centralizzato Il manager consente ai server di Propagare le modifiche effettuate al file system Gestire gli utenti Il manager permette ai client di Ottenere un server a cui richiedere le operazioni Il manager è un oggetto attivo non replicato sempre in esecuzione su una macchina nota a tutti i partecipanti Il server da assegnare al client viene scelto in modo tale da mantenere un bilanciamento del carico su tutti i server attivi
Alex Marchetti9 Tolleranza ai guasti Replicazione dei dati Ogni server ha una copia consistente di tutti i dati presenti sul disco Il manager possiede anch’esso una copia consistente Replicazione del servizio Un utente può ottenere il servizio su uno qualunque dei server attivi Guasto sul server Il client richiede un altro server attivo al manager Il manager procede alla migrazione dei dati dell’utente dal server caduto al nuovo server assegnato
Alex Marchetti10 Implementazione: il manager Il manager implementa due interfacce IClientManager oconsente di ottenere l’indirizzo ed il nome di un server attivo IServerManager oconsente di propagare le modifiche effettuate ai dati verso tutti i server attivi oconsente a ciascun server di aggiornare la lista degli utenti attivi
Alex Marchetti11 Implementazione: il server Il server implementa tre interfacce IAccessServer oconsente di effettuare il login/logout dell’utente oconsente di modificare alcuni dati dell’utente IDirectoryServer oconsente di modificare la cartella privata dell’utente oconsente di modificare i file condivisi creati dell’utente IServerUpdate oconsente al manager di propagare le modifiche e di aggiungere un utente in caso di guasti
Alex Marchetti12 Sicurezza Autenticazione Identificazione dell’utente mediante la coppia username e password fornita dall’amministratore del sistema Riservatezza Le informazioni scambiate tra client e server sono mantenute riservate utilizzando RSA I file privati vengono mantenuti sul disco in forma cifrata
Alex Marchetti13 Conclusioni Sviluppo di un primo prototipo in grado di Lavorare anche in caso di guasti sul server Fornire sicurezza per le funzionalità base Sviluppi futuri Introduzione di replicazione del manager Miglioramenti della sicurezza Realizzazione di un interfaccia grafica lato utente