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
This 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