Module 06798 (2008)

Syllabus page 2008/2009

06-06798
Distributed Systems

Level 3/H

Nick Blundell
10 credits in Semester 2

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 Dr Blundell's web page.


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:
1recognise and appreciate fundamental characteristics of distributed systems: geographical distribution, concurrency, lack of global time, delay in communication, heterogeneity and existence of failures Examination
2explain the main types of architectures and mechanisms of communication, such as client-server, distributed object models and communication protocols Examination
3appreciate the difficulties of and techniques for handling timing, coordination and agreement in a distributed setting Examination
4understand 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:

May not be taken by anyone who has taken or is taking 06-18151 (Distributed Systems (Extended)).

Prerequisites:

None

Co-requisites:

None


Teaching

Teaching Methods:

2 hrs lectures per week + some problem classes.

Contact Hours:

24


Assessment

  • Sessional: 1.5 hr examination (100%).
  • Supplementary (where allowed): As the sessional assessment

Recommended Books

TitleAuthor(s)Publisher, Date
Distributed systems: concepts and Design (3rd ed.)Coulouris, Dollimore and KindbergAddison Wesley, 2000
Distributed Systems (2nd ed.)S MullenderAddison Wesley, 1999
Distributed Systems for System ArchitectsP Verissimo and L RodriguesKluwer, 2001
Engineering Distributed ObjectsW EmmerichWiley and Sons, 2000
Architecting with RM-ODPJanis R. PutmanPrentice Hall, 2001
Data Communications and Networking (2nd ed.)Behrouz A. ForouzanMcGraw-Hill, 2001

Detailed Syllabus

  1. Introduction: definition, characteristics and challenges of distributed systems.
  2. Architectural models (client-server).
  3. Networking (LANs/WANs, mobility and wireless networks; routing; protocols).
  4. Inter-process communication (sockets, UDP/TCP).
  5. Distributed object model, RMI and RPC
  6. Operating system support (threads, multi-threaded client/server).
  7. Distributed file service (design options, file sharing, access control).
  8. Name services (name resolution, navigation methods, discovery services).
  9. Clocks and time (UTC, clock synchronisation, logical clocks).
  10. Coordination and agreement
    • synchronous/asynchronous models
    • types of failures; some impossibility results
    • mutual exclusion, coordination and agreement.
  11. Distributed transactions (flat/nested, one/two phase commit).
  12. Security
    • main threats and techniques for ensuring security (secure channels, firewalls)
    • cryptographic algorithms (symmetric/asymmetric, digital signatures).
  13. Fault-tolerance and availability (passive/active replication, gossip architectures).
  14. Distributed-multimedia (QoS management/negotiations, traffic shaping).

Last updated: 22 Jan 2009

Source file: /internal/modules/COMSCI/2008/xml/06798.xml

Links | Outline | Aims | Outcomes | Prerequisites | Teaching | Assessment | Books | Detailed Syllabus