Computer Laboratory Home Page Search A-Z Directory Help
University of Cambridge Home Computer Laboratory
Computer Science Tripos Syllabus - Distributed Systems
Computer Laboratory > Computer Science Tripos Syllabus - Distributed Systems

Distributed Systems next up previous contents
Next: E-Commerce Up: Easter Term 2005: Part Previous: Digital Signal Processing   Contents


Distributed Systems

Lecturer: Dr J.M. Bacon

No. of lectures: 8

Prerequisite courses: Concurrent Systems and Applications, Operating Systems II, Digital Communication I, Introduction to Security


Aims


The aims of this course are to study the fundamental characteristics of distributed systems and their implications on software design; their models and architectures; the design of distributed algorithms and applications.


Lectures

  • Introduction. Characteristics specific to distributed systems. Software structure. Modelling, architecting and engineering distributed software.

  • Time. Physical and logical time. Event ordering. Clock synchronisation. Message delivery ordering.

  • Algorithms and application protocols. Replication management. Strong and weak consistency. Asynchronous and synchronous algorithms. Atomic commitment. Process groups. Election. Mutual exclusion.

  • Naming. Design of names, pure or hierarchical. Interpretation of names in a context. Binding. Long-term consistency.

  • Access control. Capabilities in distributed systems. Role-based access control. Policy expression and enforcement.

  • Communication. Overview of synchronous, asynchronous and event-based middleware. Web services.

  • Storage. Design issues for network-based storage services.

  • Applications. Pervasive computing environments: active office, home and city. Events, composite events, mobility and location-tracking. Electronic health service.

Objectives


At the end of the course students should

  • understand the fundamental properties of distributed systems and how to design software to accommodate them

  • understand some basic distributed algorithms and the assumptions on which they are based

  • for widely distributed and/or large scale systems, understand how naming and access control can be designed

  • understand the tradeoffs involved in selecting various styles of middleware

  • be aware of some emerging application areas, such as pervasive and mobile computing.

Recommended books


* Bacon, J. & Harris, T. (2003). Operating systems: distributed and concurrent software design. Addison-Wesley.
Tanenbaum, A.S. & van Steen, M. (2002). Distributed systems. Prentice-Hall.
Coulouris, G.F., Dollimore, J.B. & Kindberg, T. (2001). Distributed systems, concepts and design. Addison-Wesley (3rd ed.).
Mullender, S. (ed.) (1993). Distributed systems. Addison-Wesley (2nd ed.).



next up previous contents
Next: E-Commerce Up: Easter Term 2005: Part Previous: Digital Signal Processing   Contents
Christine Northeast
Wed Sep 8 11:57:14 BST 2004