BCA Distributed Systems
Distributed Systems
Subject Code: CACS352
Course Title: Distributed Systems
Course No: CACS352
Nature of Course: Theory & Practical
Full Marks: 60+40
Pass Marks: 24+16
Credit Hours: 3
Course Description
Course Objective
Course Contents
Unit 1. Introduction 4 Hrs.
Characteristics, Design Goals, Types of Distributed Systems, Case Study: The World Wide Web
Unit 2. Architecture 4 Hrs.
Architectural Styles, Middleware organization, System Architecture, Example Architectures
Unit 3. Processes 6 Hrs.
Threads, Virtualization, Clients, Servers, Code Migration
Unit 4. Communication 5 Hrs.
Foundations, Remote Procedure Call, Message-Oriented Communication, Multicast Communication, Case Study: Java RMI and Message Passing Interface (MPI)
Unit 5. Naming 5 Hrs.
Name Identifiers, and Addresses, Structured Naming, Attribute-based naming, Case Study: The Global Name Service
Unit 6. Coordination 7 Hrs.
Clock Synchronization, Logical Clocks, Mutual Exclusion, Election Algorithm, Location System, Distributed Event Matching, Gossip-based coordination
Unit 7. Consistency and Replication 5 Hrs.
Introduction, Data-centric consistency models, Client-centric consistency models, Replica management, Consistency protocols, Caching and Replication in Web
Unit 8. Fault Tolerance 5 Hrs.
Introduction to fault tolerance, Process resilience, Reliable client-server communication, Reliable group communication, Distributed commit, Recovery
Unit 9. Security 4 Hrs.
Introduction to security, Secure channels, Access control, Secure naming, Security Management
Text Books
- A.S. Tanenbaum, M. VanSteen, “Distributed Systems”, Pearson Education.
- George Coulouris, Jean Dollimore, Tim Kindberg, “Distributed Systems Concepts and Design”, Third Edition, Pearson Education.
- Mukesh Singhal, “Advanced Concepts in Operating Systems”, McGraw-Hill Series in Computer Science.
- Ajay D. Kshemkalyani, Mukesh Singhal, "Distributed Computing: Principles, Algorithms, and Systems", Cambridge University Press
- Christian Cachin, Rachid Guerraoui, Luís, "Introduction to Reliable and Secure Distributed Programming", Springer
