Il progetto si propone di realizzare un servizio TELEFONICO distribuito su di una L.A.N. a piattaforma SUN presente nel LAB2 della Facoltà di Ingegneria di Bologna.
Il linguaggio di programmazione utlizzato è il C, compatibile con l' ambiente UNIX Sysem V 4.0 presente nelle macchine utilizzate. Le ragioni di questa scelta sono fondamentalmente di duplice natura:
- l' intenzione di provare personalmente gli strumenti di comunicazione messi a disposizione da UNIX ampiamente trattati durante il corso, in modo da verificare 'sul campo' la loro capacità espressiva.
- la necessità di sviluppare il progetto in un linguaggio più familiare rispetto ad altri ambienti di programmazione come ad esempio Java (condizione sicuramente più vincolante).
L' implementazione del servizio si basa su di un modello di comunicazione CLIENT-SERVER indipendente dall' allocazione basato su di un sistema di nomi piatto.
É dunque necessario definire un Name Server che in ogni istante sia in grado di rendere rag- giungibile il servizio nella rete (se presente) con forti implicazioni sul modello CLIENT-SERVER. Diviene fondamentale per i Servers una fase iniziale di registrazione al Name Server attraverso la quale non solo mettono a disposizione il servizio ma lo rendono anche accessibile. Dualmente i Client non possono accedere al servizio, se non indirettamente previa interrogazione al Name Server, in quanto ne ignorano la località.
Risulta evidente che il Name Server diviene l' elemento di centralità dell' applicazione rendendola vulnerabile ai guasti e potenzialmente soggetta al congestionamento, in più va sottolineato che il problema della raggiungibilità riguarda ora il Name Server, non solo per i Clients ma anche per i Servers.