Search Engine
Distribuito e Replicato
Corso di Reti di Calcolatori LS
Andrea Boari – 0000170661
Introduzione
 Motore di ricerca per siti internet
 Operazioni di inserimento e ricerca siti
 Bilanciamento del carico
 Tolleranza ai guasti
Architettura del sistema
SearchServer
Client
Richiesta SearchServer
ServerManager
Registrazione
SearchServer
Client
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 backup per quello specifico client
(replicazione passiva)
Modello ibrido
Vantaggio – Possibilità di bilanciamento del carico
Problema – Mantenimento coerenza delle copie
Coerenza Copie
Ricerca dati (frequente)
2 operazioni
Inserimento dati (sporadica)
Operazione di Inserimento
Inserimento dati
Inserimento dati
Risposta
SearchServer
Client
Replicazione del ServerManager
 Modello master-slave
 Copia passiva calda
 Utilizzo di heart-beat periodici per il controllo
Crash di un SearchServer
SearchServer
Heart-beat
ServerManager Slave
Heart-beat
ServerManager Master
X
SearchServer
Aggiornamento liste
SearchServer
Crash di un SearchServer
SearchServer
Heart-beat
Richiesta SearchServer
ServerManager Master
Collegamento C/S
Collegamento C/S
Client
SearchServer
X
SearchServer
Crash del ServerManager
SearchServer
Heart-beat
ServerManager Slave
X
Heart-beat
ServerManager Master
SearchServer
SearchServer
Implementazione del sistema
 Utilizzo di Java RMI e del tool Ant
 Un database per ciascun SearchServer
IServerManager
ISearchServer
Demo
Conclusioni
 Sistema efficiente e funzionante
 Tempi di risposta accettabili
 Sperimentate tecniche di replicazione e
bilanciamento del carico
 Possibili sviluppi…