Progetto di Reti di Calcolatori
Distribuzione di informazioni critiche
Autore: Matteo C. Meucci (meucci.matteo@tiscalinet.it)
Implementazione e scelte effettuate:Un dominio Amministratore definisce le politiche di sicurezza globale per un insieme di nodi. Questi hanno loro politiche locali che verranno sovrascritte dalle nuove generate dall'Amministratore. Il problema si focalizza sui nodi da amministrare che implenteranno un proprio caricatore di classi e avranno delle classi in esecuzione nel momento in cui arriverà la nuova politica.E' necessario garantire:
1) La corretta propagazione delle politiche all'insieme di nodi.
2) Efficienza nella distribuzione.
3) Replicazione delle informazioni critiche, per prevenire eventuali guasti.
E' necessario inoltre:
4) Implementare un meccanismo che tenga traccia dei processi che sono in esecuzione nel singolo nodo: nel momento in cui arriverà una nuova politica, si devono terminare e fare in modo di farli ripartire solo quando la nuova politica è stata attivata sul nodo.
Si è scelto Java per implementare il sistema in quanto è un linguaggio che si presta alla programmazione di rete ed è orientato alla sicurezza: è quindi possibile soddisfare i vincoli di specifica suddetti, in particolare la gestione del caricamento delle classi tramite il meccanismo di Class Loading del JDK1.2.
Si è rappresentato il sistema con 4 entità ognuna presente su un nodo distinto:
- Un name server DNS responsabile di registrare tutte le altre entità e imporre il ruolo di Master o Copy agli Administrator.
- Un Server MasterAdminitrator responsabile di editare le politiche di sicurezza e propagarle correttamente ai nodi sottostanti.
- Un Server CopyAdministrator responsabile di tenere aggiornato un registro con le operazioni svolte dal Master, e subentrare al Master in caso di guasto.
- Un insieme di nodi che hanno delle classi in esecuzione e che attendono le nuove politiche dal MasterAdministrator.
Una visione d'insieme: