UFSEJ6-10-3
Distributed Systems

Where are we?

At the start of term!

Lectures

Part 1
Part 2 - Security
Part 3 - Time & Global state
Part 4 - Naming, Trading & Directory Services

Assignment

newThis years assignment

Last years assignment specification.  Please note this is linked closely to
the overview under worksheets below.

Suplementary Reading.

An article on the ISO ODP Reference Model
Review Exercises for chapter 1 (courtesy of CDK)
Review Exercises for chapter 7 (Security - courtesy of CDK)
Review Exercises for chapter 10 (Time - courtesy of CDK)
J.H. Ellis "The history of non-secret encryption" (CESG/GCHQ)

Support material written by Ian Anderson (and mentioned in
the work programme is available here.  Note:  This is currently
unsorted and disorganised!

Worksheets

An overview of what you are expected to do!

To start the module study Comer's socket example  here.
A small curses program to implement a serial line 2 person talk program is here.  Use this together with the
previous example to develop a socket based talk program.  Think about the issues involved in locating
and connecting to another user.  Can you extend this program to accomodate N users?

A multicast server and client in C

RFC2030 documents the Simple Network Time Protocol (SNTP)  a multicast NTP server
is configured in 3P27.  Try writing a client that finds a valid server via multicast.

The ntp-4.2.0 reference implemention

A worksheet on RPC programming 

SSL tutorials that  are here: (part1) (part2)

NEW! CORBA worksheet

RMI tutorial (due to Ian Anderson)

Security

A security primer (pdf)
 

Socket Programming

An excellent reference (local pdf) on socket pragramming including an example client & server and excercises.
Read this and work through it in the lab!

Brian (Beej) Hall's Guide to Network Programming is Excellent! (local pdf)

Linuxsocket.org is now unfortunately gone!  It contained a lot of useful code
examples from Sean Walton's Linux Socket Programming.  Fortunately the
website was GPL'ed and is partially mirrored here.  Note: Some links fail!

The Linux Gazette offers an introduction to socket programming (offsite).

the RFC Editor is the definative resource for RFC's and information on them.
 

Dead Trees

WWW.CDK3.NET is the web site for your course text.

O'Gorman, J; “Operating Systems with linux” Palgrave 2001.
Orfali R& Harkey D;  “Client-Server programming with Java & Corba”, Wiley 1997.
Richard, G.G.; “
Service & Device Discovery Protocols and Programming”, McGraw-Hill 2002.
Edwards, W.K. “
Core JINI”; Prentice Hall 1999.
Schmelzer, R et. al. “
XML & Web Services unleashed”, Sams 2002.

Ian Johnson, February 2007