Professional Documents
Culture Documents
Prerequisites: Database Systems, Computer Networks and Operating Systems, Object Oriented
Programming
Course Purpose
The purpose of this course is to equip the learner with practical skills in distributed systems
fundamentals and design techniques
Learning Objectives
At the end of this unit, the students should be able to:
● Explain Characteristics of DS and Networks
● Explain problems encountered in DS
● To develop skills to develop distributed systems:
● To gain an understanding of distributed systems and their use.
● To appreciate the growth and importance of distributed systems in the society.
Course Description
Distributed Systems: General Introduction; Distributed computing: computational models,
communication complexity. Applications such as communication in data networks, control in
distributed system such as election, and distributed mutual exclusion, manipulation of distributed
data such as ranking. Fault tolerance; Replication; Clocks; Mutual exclusion; Atomic
transactions; Middleware; Distributed processing; Directory services; Distributed file systems;
Java remote method innovation (RMI), remote procedure call (RPC)
Course Structure
Communication Paradigms
Middleware
Inter Process Communication
o Message Passing
Issues in message passing
Synchronization
a. Message blocking
b. Process addressing
c. Process handling
o Sockets
o Multicast Communication
Network Virtualization:
o Overlay Networks
ASSIGNMENT ONE
WEEK 6: CAT 1
Introduction
Time in centralized systems
Time in distributed systems
Global System Invariants and States
o Physical Clock
Astronomic time
Atomic time
Synchronization of Clocks
Teaching Methodology
Lectures, Individual and Group discussions and presentations, problem solving, Tutorials,
student practical/ Exercises in computer lab
Course Evaluation
Continuous Assessment 20%
Assignments 10%
End of semester examination 70%
Total 100%
Course Textbooks
1. Coulouris, G., Dollimore, J., Kindberg, T., Blair, G., Distributed Systems: Concepts and
Design, 5th Edition, Addison Wesley, 2011.
Reference Textbooks
1. Tanenbaum, A. (2015). Introduction to distributed systems.
2. Verissimo, P., & Rodrigues, L. (2012). Distributed systems for system architects (Vol. 1)
Springer Science & Business Media.
JOURNALS
1. Journal of Information Technology
2. Computers & Security Journal