un infrastruttura di supporto per servizi di file hosting n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Un’infrastruttura di supporto per servizi di file hosting PowerPoint Presentation
Download Presentation
Un’infrastruttura di supporto per servizi di file hosting

Loading in 2 Seconds...

play fullscreen
1 / 14

Un’infrastruttura di supporto per servizi di file hosting - PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on

Un’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. Servizi di FILE HOSTING. Obiettivi.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Un’infrastruttura di supporto per servizi di file hosting' - dante


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
un infrastruttura di supporto per servizi di file hosting

Un’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

obiettivi
Obiettivi
  • Progettare un’infrastruttura di supporto per garantire agli utenti la migliore QoSpossibile in base alle risorse dinamicamente disponibili in servizi di file hosting
architettura
Architettura

DATA SERVER

LIVELLO DI STORAGE

CLIENT SIDE

SERVER SIDE

LOGIC CLUSTER

MIDDLEWARE

MANAGER SERVER

MIDDLEWARE

LIVELLO DI CONTROLLO

caratteristiche dell architettura
Caratteristiche dell’architettura
  • 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)
  • Failovercontrollato sia dal middleware client che dal manager
  • Replicazioni con politiche lazy
    • Velocizzare tempo di risposta all’utente 
    • Possibili casi di non disponibilità dei dati 
  • Scelte implementative
    • Java versione 6 / Multithread / Socket TCP
manager server
Manager server
  • Coordina l’intera architettura lato server
    • Gestisce le richieste dei client bilanciando il carico sul livello di storage
    • Esegue operazioni di monitoraggio e replicazione
    • Mantiene un’immagine 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 
data server
Data server
  • Livello di storagedei 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
  • L’amministratore può gestire le risorse (data server) adattandole al carico richiesto dal servizio
client middleware
Client middleware
  • Nasconde i dettagli della comunicazione con l’architettura server ai diversi client
  • Consente l’integrazione trasparente di diversi client con il servizio di file hosting tramite un’interfaccia standard
  • Gestisce eventuali errori di comunicazione (o di protocollo) tramite ritrasmissioni e negoziazioni con i diversi server
algoritmo di download upload
Algoritmo di Download & Upload
  • Algoritmo a due fasi con ritrasmissioni nel caso di errori di rete
    • Richiesta da parte del client di una locazione di download/upload
    • Trasferimento vero e proprio dei dati

Manager Server

MIDDLEWARE

FASE 1

Richiesta locazione di upload/download

Data Server

FASE 2

Trasferimento file

load balancing
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 dall’amministratore
  • 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 
replicazione
Replicazione
  • Replicazione time-baseddecisa dal manager ed eseguita un maniera autonoma dai data server coinvolti
  • L’elenco 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 
  • L’amministratore può controllare il grado di replicazione e quindi l’overhead
    • Impostando il limite massimo di operazioni di replica per intervallo
    • Impostando la percentuale massima di spazio di memorizzazione disponibile per operazioni di replica
fault tolerance e integrit dei dati
Fault-tolerance e integrità dei dati
  • Il manager verifica lo stato dei diversi data server
    • Invio di pacchetti heartbeatcon un intervallo prefissato
      • In caso di non risposta prima ritrasmissione e successivamente dichiarazione di caduta del nodo
  • Meccanismi di ritrasmissione nell’algoritmo di download/upload a due fasi da parte del middleware client
  • Integrità dei dati trasmessi verificata con hashSHA-256
  • Gestione di download e upload in maniera transazionale
    • Garanzia delle proprietà A.C.I.D.
    • Meccanismi di rollback e commit
conclusioni e sviluppi futuri
Conclusioni e sviluppi futuri
  • È stato realizzato un supporto per un servizio di file hosting basato su un’architettura 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? Quiscustodietcustodes? 
  • Ulteriori sviluppi dovranno anche considerare la gestione della sicurezza in fatto di autenticazione ed autorizzazione dei diversi client e dei componenti dell’architettura server