Management and Information Technology


CMPT 42142

Distributed Systems

Status : Elective Pre-requisite : None Co-requisite : None

On completion of this course, the student should be able to:

  • Explain what a distributed system is and describe desired properties of a distributed system.
  • Describe the principles underlying the functioning of distributed systems, the problems and challenges associated with and evaluate the effectiveness and shortcomings of their solutions.
  • Recognise how the principles are applied in distributed systems and how they affect the software design, be able to identify features and design decisions that may cause problems.
  • Design a distributed system that satisfy requirements with regards to key distributed systems properties.
  • Build distributed system software using both basic OS mechanisms as well as higher-level middleware and languages.

Introduction and RMI Basics, Controlling object exports and the Security, Manage Object Serialization, Processes and Threads, Programming with Sockets, Understanding the Transaction Management Problem, Concurrency Control, Distributed Transactions, Threat analysis, Cryptology, Network security, Keys, Signatures and Certificates, Access Control, Authentication, Secure Programming, Distributed Deadlocks, Reliability and Availability.

Lectures, tutorials and practical classes.
End-of- Semester examination, presentations and group assignments.

  1. Andrew S T and Maarten V S (2007), Distributed Systems: Principles and Paradigms, Pearsons Education.
  2. George, C, Jean D and Tim K (2005), Distributed Systems: Concepts and Design, Addison-Wesley.