Module 06798 (2005)
Syllabus page 2005/2006
06-06798
Distributed Systems
Level 3/H
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus
The Module Description is a strict subset of this Syllabus Page. (The University module description has not yet been checked against the School's.)
Relevant Links
For more information (such as administrivia, handouts, animations, glossary, useful URLs, etc) see the module web page at
http://www.cs.bham.ac.uk/~bxb/03_04/TachingStuff/TeachingPage.htm.
Outline
This module introduces the fundamental characteristics of distributed systems, their models and architectures, together with the methods and technology used during their design and implementation. The issues to be discussed will include topics such as distributed system architecture, communication mechanisms, protocols, consensus algorithms, real-time and synchronization issues, storage organisation access control, object-based distributed systems, fault-tolerance, naming, security and code mobility.
Aims
The aims of this module are to:
- introduce basic terminology, architectures and models of distributed systems
- familiarise with mechanisms and protocols for inter-process communication
- convey understanding of fundamental problems (security, naming, coordination and agreement, etc) in the design and programming of distributed systems, together with appropriate techniques and methodologies for their resolution
Learning Outcomes
| On successful completion of this module, the student should be able to: | Assessed by: | |
| 1 | recognise and appreciate fundamental characteristics of distributed systems: geographical distribution, concurrency, lack of global time, delay in communication, heterogeneity and existence of failures | Examination |
| 2 | explain the main types of architectures and mechanisms of communication, such as client-server, distributed object models and communication protocols | Examination |
| 3 | appreciate the difficulties of and techniques for handling timing, coordination and agreement in a distributed setting | Examination |
| 4 | understand fundamental issues in distributed systems design, such as security, storage, naming, fault-tolerance and mobility, and suggest appropriate methodologies in each case | Examination |
Restrictions, Prerequisites and Corequisites
Restrictions:
None
Prerequisites:
None
Co-requisites:
None
Teaching
Teaching Methods:
2 hrs lectures per week + some problem classes.
Contact Hours:
Assessment
- Supplementary (where allowed): As the sessional assessment
- 1.5 hr examination (100%).
Recommended Books
| Title | Author(s) | Publisher, Date |
| Distributed systems: concepts and Design (3rd ed.) | Coulouris, Dollimore and Kindberg | Addison Wesley, 2000 |
| Distributed Systems (2nd ed.) | S Mullender | Addison Wesley, 1999 |
| Distributed Systems for System Architects | P Verissimo and L Rodrigues | Kluwer, 2001 |
| Engineering Distributed Objects | W Emmerich | Wiley and Sons, 2000 |
| Architecting with RM-ODP | Janis R. Putman | Prentice Hall, 2001 |
| Data Communications and Networking (2nd ed.) | Behrouz A. Forouzan | McGraw-Hill, 2001 |
Detailed Syllabus
- Introduction: definition, characteristics and challenges of distributed systems.
- Architectural models (client-server).
- Networking (LANs/WANs, mobility and wireless networks; routing; protocols).
- Inter-process communication (sockets, UDP/TCP).
- Distributed object model, RMI and RPC
- Operating system support (threads, multi-threaded client/server).
- Distributed file service (design options, file sharing, access control).
- Name services (name resolution, navigation methods, discovery services).
- Clocks and time (UTC, clock synchronisation, logical clocks).
- Coordination and agreement
- synchronous/asynchronous models
- types of failures; some impossibility results
- mutual exclusion, coordination and agreement.
- Distributed transactions (flat/nested, one/two phase commit).
- Security
- main threats and techniques for ensuring security (secure channels, firewalls)
- cryptographic algorithms (symmetric/asymmetric, digital signatures).
- Fault-tolerance and availability (passive/active replication, gossip architectures).
- Distributed-multimedia (QoS management/negotiations, traffic shaping).
Last updated: 13 May 2005
Source file: /internal/modules/COMSCI/2005/xml/06798.xml
Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus