Distributed Systems


SPRING 2017-18
(Monday 9:00-10:00 AM)
(Friday 11:15AM-1:15 PM)

Venue: Room-5155, CC3 Building





Course Outline:


ArchitectureModels of computation: Message passing systems, synchronous and asynchronous systems; Classification of distributed systems : client/server, master/slave,cluster; Networks for distributed systems

Theoretical foundations : Managing physical clocks in distributed systems; Logical clocks: Lamport's and vector clocks; Global state recording and Snapshot Algorithms; Clock synchronization, Leader election; Waves and Traversal;

OS concepts : Distributed mutual exclusion - permission based algorithms, token based algorithms; Handling deadlocks; Event driven systems for asynchronous Distributed Systems;

Resourse management : Remote procedure calls, Remote Method Invokation; Distributed file systems; DFS examples: Hadoop; Distributed shared memory; Load distribution; Cloud computing, SOA;

Fault tolerance and recovery : Fault models, agreement problems and its applications; Commit protocols, voting protocols; Checkpointing and recovery, Multicast communication;





1.      George Coulouris Jean Dollimore, and Tim Kindberg, Distributed Systems: Concepts and Design [Download]

2.      Nancy Lynch; Distributed Algorithms, Morgan Kaufmann.

3.      Andrew S. Tanenbaum and Martan Van Steen, Distributed Systems, Principles and Paradigms

4.      Mukesh Singhal and Niranjan Shivaratri , Advanced Concepts in Operating Systems

5.      Jie Wu , Distributed Systems



Grading Policy:

o   1. Term examination : Mid-sem (30) and End-sem (75)

o   2. Project Assignment

o   3. Term Paper submission and review : For M.Tech students



Important Instructions:

1.         Project assignments (both B.Tech and M.Tech students) : The group assignments (max size - 4) will be uploaded on the website within the first week of commencement of classes ( possibly after 16th January, 2017).
Project submission : Contact the TAs for the detailed problem statement of your project assignment and the milestones to be achieved during mid-sem and end-sem evaluation. Each group would be presenting their work in both mid-sem and end-sem and would be evaluated on the basis of the milestones assigned apriori.
If a student does not submit the assignments, his/her grade will remain as incomplete

2.         Term Paper (only for M.Tech students) The term paper assignments to groups will be uploaded on the course website.
Each group is expected to write a term paper based on the assigned topics, and then review the term paper of another after submission. Thus you should be able to get exposure to topics in two other areas.

Note the following guidelines for writing the term paper carefully:

Term paper submission :
Each term paper should follow the following structure :
Section I : Big picture view of the situation, issues and challenges, Problem definition, types of solutions and evaluation (if any)
Section II : Assigned papers/protocols, their pros and cons, and comparison.
For each algorithm discussed, you must describe the intuition behind the algorithm, give a psuedocode, describe the psuedocode , and show an example (the example must be different from the ones in the paper)
Write the paper in your own words.

Cutting and pasting from other sources without reference is considered as a form of plagiarism and any act of plagiarism will incur severe penalty, which may include cancellation of the entire term paper.

Term paper review :
you are expected to submit a 3-4 page document that first summarizes the works discussed in the paper (about 2-3 pages) and then evaluates the paper on the following points: (1) Organization of the topics,
(2) Clarity in explaining the algorithm
For each of the above points, give a rating between 1 and 5 (5 - Excellent) with a short justification as to why you are giving that rating.


1.      Project Topics for the Course IDS630E

2.      Project Group Allotment