



Next: E-Commerce Up: Easter Term 2010: Part Previous: Business Studies Seminars Contents
Distributed Systems
Lecturer: Dr D. Evans
No. of lectures: 8
Prerequisite courses: Concurrent Systems and Applications, Operating Systems, Digital Communication I, Introduction to Security
Aims
The aims of this course are to study the fundamental characteristics of distributed systems, including their models and architectures; the implications for software design; some of the techniques that have been used to build them; and the resulting details of good distributed algorithms and applications.
Lectures
- Introduction.
Characteristics specific to distributed systems. Software structure.
Modelling, designing, and engineering distributed software. Issues of
scale and trust. Why seemingly easy problems suddenly become hard.
- 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.
- Middleware. Overview of synchronous, asynchronous, and
event-based communication. Web services.
- Naming.
Design of names, pure or hierarchical. Interpretation of names in
context. Binding. Long-term consistency. Finding entities in the
chaotic environment of a distributed system.
- Access control.
ACLs and capabilities in distributed systems. Role-based access control. Policy
expression and enforcement.
- Storage.
Design issues for network-based storage services. Storing different
types of objects; addressing; object decomposition.
- Applications.
Pervasive computing environments. Events, composite events, mobility,
location tracking. Electronic health, police, and transport services.
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;
- and be aware of some emerging application areas, such as pervasive and mobile computing.
Recommended reading
* 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. (2005, 2001). Distributed systems, concepts and design. Addison-Wesley (4th, 3rd eds.).
Mullender, S. (ed.) (1993). Distributed systems. Addison-Wesley (2nd ed.).




Next: E-Commerce Up: Easter Term 2010: Part Previous: Business Studies Seminars Contents