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
Up: Easter Term 2005: Part Previous: Databases   Contents


Distributed Systems

Lecturer: Dr J.M. Bacon

No. of lectures: 8

Prerequisite courses: Operating System Foundations, Digital Communication, 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
Up: Easter Term 2005: Part Previous: Databases   Contents
Christine Northeast
Wed Sep 8 11:57:14 BST 2004