Search Engine Distribuito e Replicato Corso di Reti di Calcolatori LS Andrea Boari –
Introduzione Motore di ricerca per siti internet Operazioni di inserimento e ricerca siti Bilanciamento del carico Tolleranza ai guasti
Architettura del sistema ServerManager SearchServer Client Registrazione Richiesta SearchServer
Entità in gioco Client Collegamento al ServerManager Richiesta SearchServer Richiesta operazioni specifiche(inserimento e/o ricerca dati) SearchServer Collegamento al ServerManager Registrazione del proprio riferimento Risposta ai client connessi ServerManager Lista dei SearchServer attivi Restituzione al client del riferimento al SearchServer più scarico Controllo della vitalità dei SearchServer
Replicazione dei SearchServer Molte copie attive contemporaneamente ( replicazione attiva ) Solo una serve il proprio client, le altre sono un back- up per quello specifico client ( replicazione passiva ) Modello ibrido Vantaggio – Possibilità di bilanciamento del carico Problema – Mantenimento coerenza delle copie
Coerenza Copie 2 operazioni Ricerca dati (frequente) Inserimento dati (sporadica) Client SearchServer Inserimento dati Risposta Inserimento dati Operazione di Inserimento
Replicazione del ServerManager Modello master-slave Copia passiva calda Utilizzo di heart-beat periodici per il controllo
Crash di un SearchServer SearchServer ServerManager Slave ServerManager Master Heart-beat SearchServer X Aggiornamento liste
Crash di un SearchServer SearchServer Heart-beat SearchServer ServerManager Master Client Collegamento C/S X Richiesta SearchServer Collegamento C/S
Crash del ServerManager SearchServer ServerManager Slave ServerManager Master Heart-beat SearchServer X
Implementazione del sistema Utilizzo di Java RMI e del tool Ant Un database per ciascun SearchServer IServerManagerISearchServer
Demo
Conclusioni Sistema efficiente e funzionante Tempi di risposta accettabili Sperimentate tecniche di replicazione e bilanciamento del carico Possibili sviluppi…