Pre-requisites: Operating Systems, Data Communication, Java or C++ programming language.

Objective:To understand the concept of distributed systems, to get the knowledge of distributed file systems and web based systems and to understand the issues involved in the design of distributed systems.

1. Distributed Systems - Goals, Types, Challenges, Architectural models, Inter-process communication – client server communication, group communication, RPC, RMI, Message oriented communication, Stream oriented communication.

2. Processes - Threads, Virtualization in Distributed Systems, Clients, Servers, Code Migration, Software agents, Naming, Synchronization in distributed systems, Distributed mutual exclusion.

3. SSecurity – Threats, Policies, Mechanisms, Fault tolerance-Distributed Commit Protocols, Distributed transactions.

4. Distributed object-based systems – CORBA, DCOM, Distributed Globe, Distributed File Systems – SUN Network File Systems, CODA file systems.

5. Distributed document-based systems – World Wide Web, Lotus notes, Distributed Coordination based systems – Introduction, TIB / RENDEZVOUS, JINI.


1. Andrew S. Tanenbaum and Maarten Van Steen, “Distributed System Principles and Paradigms”, 2002, Pearson education.

2. G Coulouris, J. Dollimore and T. Kindberg, “Distributed System Concepts and Design”, 4th Edition, 2005, Addison Wesley.

3. M.L.Liu, “Distributed Computing Principles and Applications”, 2004, Pearson Addison Wesley.

4. Hagit Attiya and Jennifer Welch, “Distributed Computing: Fundamentals, Simulations and Advanced Topics”, 2004, Wiley.

5. S.Mullender, “Distributed Systems”, 2nd Edition, 1993, Addison Wesley.

6. Ajay D. Kshamakalyani and Mukesh Singhal, “Distributed Computing Principles, Algorithms and Systems”, 2008, Cambridge.

7. Arno Puder, Kay Romer and Franc Pilhof, “Distributed Systems Architecture: A middleware approach”, 2006, Elsevier.