The distributed systems course is divided between Omer Rana, Andrew Harrison and myself. I give around 2/3rds of the course and Omer and Andrew Harrison give around 1/3rd. Below are the resources available to the students:
This course gives a broad overview of current techniques used within distributed systems. It has a strong focus on real-world examples that exist today, so if you’ve ever used KaZaA, Morpheus, Limewire, Gnutella, SET@Home or Napster then this is your chance to find out how they work! There are examples of: peer-to-peer applications and infrastructures including Napster, SETI@Home, ICQ, Gnutella, Freenet and Jxta; distributed object systems e.g. Jini; document oriented computing e.g. Web Services; Grid computing e.g. Globus 2.x and OGSA/WSRF; and user environments, such as Portals and Problem Solving Environments. These are described at various levels of detail during the lectures and discussed in the context of a generalized taxonomy, discussed in the first lecture. This taxonomy serves as a placeholder for the distributed systems presented and gives an overview of the organizational differences between the various approaches. Most of the systems are discussed at a high level, particularly discussing the organization and topologies of the distributed resources.
The following books are recommended for further reading but are not essential.
1. From P2P to
Web Services and Grids: Peers in a Client/Server World, Ian J. Taylor, 2004,
Publisher: Springer, ISBN: 1-85233-869-5. The Web site is http://www.p2pgridbook.com/
2. Java P2P
Unleashed: With JXTA, Web Services, XML, Jini, JavaSpaces, and J2EE by Robert
Flenner, Michael
Abbott, Toufic
Boubez, Frank
Cohen, Navaneeth
Krishnan, Alan
Moffet, Rajam
Ramamurti, Bilal
Siddiqui, Frank
Sommers, 752 pages, Publisher: Sams; ; 1st edition (September 12, 2002),
ISBN: 0672323990
3. Peer to Peer: Harnessing the Power of
disruptive technologies, Edited by Andy Oram,
March 2001, 0-596-00110-X, 448 pages