home , next


Il progetto

Sviluppato sotto il sistema operativo Linux, prevede la realizzazione di un programma C destinato a gestire una rete composta da un numero limitato di news server. Obiettivo principale e’ offrire ad un generico client la possibilità’ di ricevere le stesse informazioni indipendentemente dalla macchina server a cui si e’ rivolto.

Le informazioni, essendo Usenet l’argomento trattato, riguardano i post ricevuti dal news server.

Le ipotesi

Per motivi di semplificazione non sono stati sviluppati tutti i servizi previsti nel Network News Transfer Protocol (RFC 977). Il client potrà ricevere l’ elenco dei messaggi disponibili, richiedere il body di un messaggio e postare un nuovo testo. Non e’ presente alcun controllo sugli header.

Si considera l’ esistenza di un solo newsgroup, altri possono essere aggiunti modificando la struttura della directory che contiene i post.

I guasti

E’ previsto il riconoscimento dei guasti ma non il recovery, ogni server guasto potrà’, comunque, ripristinare il proprio stato semplicemente richiedendo i dati mancanti ad una macchina funzionante con lo stesso procedimento con cui li richiede un client.

Una macchina che non ha spedito i propri dati di aggiornamento a tutte le altre o che non ha ricevuto tutti i file necessari per il proprio aggiornamento e’ considerata guasta dall’ intera rete.

Ad esempio in una rete composta da 4 news server (etichettati come A B C D) il news server A considera il news server B guasto se risultano verificati uno o più’ dei seguenti casi:

 

1) B non ha spedito i propri dati;

 

2) B non ha accettato i dati inviati da A;

 

3) Nella fase finale di coordinamento A ha ricevuto da C o D un vettore di stato in cui si indica cheB e’ guasto. Nell' esempio in figura il server C comunica ad A che B e’ guasto. Questo significa che o C non ha ricevuto da B il file dei dati di aggiornamento o B non ha accettato da C alcun file oppure infine che D ha comunicato a C l’ informazione "B guasto" tramite il proprio vettore di stato.

 

( Nelle figure sono visualizzate solamente le connessioni che riguardano il server A)


home , next