Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoEdoardo Antonini Modificato 10 anni fa
1
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola 0000244226 Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A. 2006/2007
2
Servizi di FILE HOSTING Disponibilità dei propri dati da qualsiasi locazione Risparmio di spazio di memorizzazione locale Condivisione dei dati Caratteristiche Disponibilità e correttezza dei dati Velocità di risposta da parte del server Sicurezza e privacy Indicatori di QoS
3
Obiettivi Progettare uninfrastruttura di supporto per garantire agli utenti la migliore QoS possibile in base alle risorse dinamicamente disponibili in servizi di file hosting LATO CLIENT Trasparenza LATO SERVER Integrità Scalabilità Fault-tolerance Disponibilità
4
Architettura MIDDLEWARE LOGIC CLUSTER LOGIC CLUSTER MANAGER SERVER DATA SERVER CLIENT SIDE SERVER SIDE LIVELLO DI CONTROLLO LIVELLO DI STORAGE
5
Caratteristiche dellarchitettura Logic cluster basato su un modello di high-availability cluster con bilanciamento di carico Manager centralizzato Vantaggi Alta disponibilità Alte prestazioni Bilanciamento di carico Controllo dello stato dei data server a carico del manager (heartbeat) Failover controllato sia dal middleware client che dal manager Replicazioni con politiche lazy Velocizzare tempo di risposta allutente Possibili casi di non disponibilità dei dati Scelte implementative Java versione 6 / Multithread / Socket TCP
6
Manager server Coordina lintera architettura lato server Gestisce le richieste dei client bilanciando il carico sul livello di storage Esegue operazioni di monitoraggio e replicazione Mantiene unimmagine consistente del livello di storage sottostante e delle sue proprietà Registra i diversi data server e gestisce sia disconnessioni improvvise che terminazioni lecite Ipotesi Deployment su una macchina che non può presentare malfunzionamenti né colli di bottiglia in termini di risorse (ipotesi restrittiva ) Manager raggiungibile ad un indirizzo noto ai client e immutabile Non cè trasparenza alla allocazione
7
Data server Livello di storage dei dati Effettivo esecutore del servizio Accetta comandi sia dal manager che dal middleware client Il loro numero (dinamicamente variabile) determina le prestazioni lato server in fatto di: Capacità di replicazione Parallelismo di risposta ai diversi client Spazio disponibile Lamministratore può gestire le risorse (data server) adattandole al carico richiesto dal servizio
8
Client middleware Nasconde i dettagli della comunicazione con larchitettura server ai diversi client Consente lintegrazione trasparente di diversi client con il servizio di file hosting tramite uninterfaccia standard Gestisce eventuali errori di comunicazione (o di protocollo) tramite ritrasmissioni e negoziazioni con i diversi server
9
Algoritmo di Download & Upload Algoritmo a due fasi con ritrasmissioni nel caso di errori di rete 1.Richiesta da parte del client di una locazione di download/upload 2.Trasferimento vero e proprio dei dati Manager Server Data Server FASE 1 Richiesta locazione di upload/download FASE 1 Richiesta locazione di upload/download FASE 2 Trasferimento file FASE 2 Trasferimento file
10
Load-balancing Obiettivi Aumentare la velocità di risposta ai client Caricare al meglio i data server disponibili nel livello di storage Politiche nel caso di download Possesso del file Livello di congestione, cioè numero di connessioni già instaurate Connessioni massime ammesse, parametro settabile dallamministratore Politiche nel caso di upload Livello di congestione e connessioni massime, come nel caso di download Spazio disponibile (e sufficiente) Si usa una media pesata dei due fattori, con lo spazio disponibile predominante Caricare file su un server con poco spazio limita le possibilità di replicazione
11
Replicazione Replicazione time-based decisa dal manager ed eseguita un maniera autonoma dai data server coinvolti Lelenco dei file viene ripartito in due gruppi gerarchici in base al numero di proprietari Unico proprietario - Più proprietari Si individuano i file replicabili in base allo stato delle risorse nel livello di storage In ogni gruppo le possibili repliche sono ordinate in base alla maggiore dimensione dei file Si replicano prima file grandi, ottimizzando lo spazio disponibile nel livello di storage Lamministratore può controllare il grado di replicazione e quindi loverhead Impostando il limite massimo di operazioni di replica per intervallo Impostando la percentuale massima di spazio di memorizzazione disponibile per operazioni di replica
12
Fault-tolerance e integrità dei dati Il manager verifica lo stato dei diversi data server Invio di pacchetti heartbeat con un intervallo prefissato In caso di non risposta prima ritrasmissione e successivamente dichiarazione di caduta del nodo Meccanismi di ritrasmissione nellalgoritmo di download/upload a due fasi da parte del middleware client Integrità dei dati trasmessi verificata con hash SHA-256 Gestione di download e upload in maniera transazionale Garanzia delle proprietà A.C.I.D. Meccanismi di rollback e commit
13
Scalabilità Collo di bottiglia rappresentato dal manager server per le capacità computazionali e per la congestione di rete Aumento sia dei client che dei data server da gestire Abbiamo ipotizzato che il manager sia eseguito su un nodo con capacità computazionali e di rete infinite nonchè privo di malfunzionamenti Aumentando il numero di client il componente server che viene maggiormente stressato è il manager Aumentando il numero di macchine che eseguono i data server è possibile ottenere prestazioni maggiori
14
Conclusioni e sviluppi futuri È stato realizzato un supporto per un servizio di file hosting basato su unarchitettura per high availability in grado di adattarsi dinamicamente alle risorse presenti garantendo una buona QoS ai client Nei test eseguiti su LAN sono state confermate le qualità di load-balancing e affidabilità Il sistema è comunque adattabile a diverse situazioni tramite alcune costanti modificabili (timeouts, grado di replicazione,…) Il collo di bottiglia principale è rappresentato dal manager server Necessario prevedere meccanismi di replicazione e monitoraggio Se il nodo cade? Quis custodiet custodes? Ulteriori sviluppi dovranno anche considerare la gestione della sicurezza in fatto di autenticazione ed autorizzazione dei diversi client e dei componenti dellarchitettura server
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.