You are on page 1of 4

CIT 4102/ICS 2202/ ICS 2403: DISTRIBUTED SYSTEMS

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

WEEK 1 & 2: CHAPTER ONE: INTRODUCTION TO DISTRIBUTED SYSTEMS


 Introduction,
 Examples of distributed Systems,
 Trends in Distributed Systems
 Why Distributed Systems?
 Advantages/Disadvantages of Distributed Systems?
 Characteristics of Distributed Systems
 Components of a Distributed Systems
 Design Issues of Distributed Systems

WEEK 3: CHAPTER TWO: NETWORKING AND INTERNETWORKING


 Introduction,
 Types of network
 Network Performance
 Network Principles
 Packet Transmission
 Data Streaming
 Switching Schemes
DISTRIBUTED SYSTEMS PATRICK MAINA NDUNGU 2019
 Protocols
 Protocol Layers in the ISO Open Systems Interconnection (OSI) protocol
Model

WEEK 4&5: CHAPTER THREE: COMMUNICATION PARADIGMS/INTER PROCESS


COMMUNICATION (RPC)

 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

WEEK 7&8: CHAPTER FOUR: REMOTE INVOCATION:


 Recap on Communication Paradigms
 Distributed Objects and Remote Invocation:
o Communication between distributed objects,
o Remote procedure call, Events and notifications,
o Functions of Remote IPC
 Request-Reply Protocols
 Functions of Remote IPC
 Implementing RPC Mechanisms
o Marshalling
o Call Semantics
o Failure Handling
 Communication Protocols for RPCs
o Server Binding
 RMI distributed application
 Distributed
WEEK 9: CHAPTER FIVE: INDIRECT COMMUNICATION
 Introduction to Indirect Communication
 Group Communication
 Publish-Subscribe Systems
 Message Queues
 Shared Memory
o Distributed Shared Memory
o Message Passing Versus Distributed Shared Memory
DISTRIBUTED SYSTEMS PATRICK MAINA NDUNGU 2019
 ASSIGNMENT 11

WEEK 10: CHAPTER SIX: DISTRIBUTED OPERATING SYSTEMS.


 Distributed operating system Vs Network operating system
o Middleware and N/W operating system
o OS in a client/server System
o OS in a distributed system
 Middleware..
 Processes and Threads
 Distributed process management
 Process allocation
o Task Assignment Approach
o Load Balancing Approach
o Load Sharing Approach
o Process Migration
CAT 11

WEEK 11: CHAPTER SEVEN: TIME, COORDINATION AND AGREEMENT

 Introduction
 Time in centralized systems
 Time in distributed systems
 Global System Invariants and States
o Physical Clock
 Astronomic time
 Atomic time
 Synchronization of Clocks

WEEK 12: CHAPTER EIGHT: DISTRIBUTED FILE SYSTEM


 File access in DS
 Caching
 Transactions
 File Replication
 File Naming
 Distributed file system

WEEK 13: CHAPTER NINE: DNS AND NAME SERVICES


 Introduction to Domain Name Services
 DOMAIN NAME SYSTEM (DNS)
 Host Resolution
 DNS SERVER
 Name Services

DISTRIBUTED SYSTEMS PATRICK MAINA NDUNGU 2019


WEEK 14: CHAPTER TEN: DISTRIBUTED TRANSACTIONS
 Transaction concepts
 Properties of Transactions: ACID
 Nested vs Distributed Transactions
 Distributed Transaction
o Distributed ACID
 Schedule

Teaching Methodology
Lectures, Individual and Group discussions and presentations, problem solving, Tutorials,
student practical/ Exercises in computer lab

Instructional Materials/ Equipment


 A computer, Whiteboard, LCD/Overhead Projector, Handouts, Smart board

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

DISTRIBUTED SYSTEMS PATRICK MAINA NDUNGU 2019

You might also like