1st year     2nd year     3rd year     4th year    



B.Tech. IV (CO) Semester - 8

L

T

P

C

CO402 : DISTRIBUTED ALGORITHMS

3

1

2

5

COURSE OBJECTIVES
  • To expose students to both the abstraction and details of file systems.
  • To provide students with contemporary knowledge in parallel and distributed computing.
  • To focus on performance and flexibility issues related to systems design decisions.
  • Introduce a variety of methodologies and approaches for reasoning about concurrent and distributed programs
COURSE OUTCOMES
After successful completion of this course, student will be able to
  • Understand the concepts and issues related to distributed systems.
  • Design and develop the programs for distributed environment.
  • Manage performance, reliability and other issues while designing in distributed environment.
COURSE CONTENT
  • INTRODUCTION TO DISTRIBUTED SYSTEMS
  • (04 Hours)

    Review of Networks, Operating Systems – Concurrent Programming - Characteristics & Properties of DSs – Taxonomy - Design goals – Transparency Issues

  • DISTRIBUTED COMPUTING PARADIGMS
  • (02 Hours)

    Basic Message Passing Model – The Client Server, Message Passing, Remote Procedure Call Model – RPC in conventional languages and in Java - The Distributed Objects – The Collaborative Application

  • INTER-PROCESS COMMUNICATION MECHANISMS
  • (08 Hours)

    Communication in Distributed Systems, Socket Programming -Client Server examples, I/O Multiplexing, Inetd Super Server – Secure Sockets – The SSL & the Java Secure Socket Extension

  • PROCESS MODELS IN DISTRIBUTED SYSTEMS
  • (08 Hours)

    Processes, Threads - Code Migration; Software Agents – CSP Distributed Processes - Naming  with Mobile Entities  - Unreferenced Objects

  • SYNCHRONIZATION
  • (04 Hours)

    Clock Synchronization – Logical clocks – Election Algorithms – Distributed Mutual Exclusion 

  • CONSISTENCY AND REPLICATION
  • (04 Hours)

    Motivation, Object Replication, Consistency Models, Distribution Protocols – Consistency Protocols

  • FAULT TOLERANCE
  • (04 Hours)

    Failure Models – Process Resilience – Reliable Client Server and Group Communications – Distributed Commit Protocols – Check-pointing and Recovery - Distributed Databases - Distributed Transactions

  • DISTRIBUTED FILE SYSTEMS
  • (04 Hours)

    SUN NFS – Naming issues in DFS – Examples of contemporary DFSes – Comparisons

  • MISCELLANEOUS TOPICS
  • (04 Hours)

    Distributed Object-based Systems – COM – CORBA – Architecture and Programming – Distributed Coordination based systems – TIB/RENDEZVOUS - JINI

  • Tutorials will be based on the coverage of the above topics separately and relevant research papers prescribed in the class
  • (14 Hours)

    (Total Contact Time: 42 Hours + 14 Hours = 56 Hours)

    PRACTICALS

    1. Implementation of the distributed applications/miniprojects using the TCP/IP Socket API as specified in the class e.g. a typical WWW server, a distributed Readers-Writers problem etc.
    2. Implementation of the distributed applications/ miniprojects using the  SUN ONC RPC Model, JAVA RMI, any Java-CORBA ORBas specified in the class

    BOOKS RECOMMENDED

    1. A S Tanenbaum, Martin Steen,"Distributed Systems: Principles and Paradigms", 2/E,PHI, 2006
    2. Nancy A. Lynch, "Distributed Algorithms", Morgan Kaufmann, 1996
    3. W Richard Stevens, "Unix Network Programming: Vol 1, Networking APIS: Sockets & XTI",2/E, Pearson Education,1998
    4. Colouris,Dollimore,Kindberg, "Distributed Systems Concepts & Design", 4/E,Pearson Ed. 2005
    5. MukeshSinghal, Niranjan G. Shivaratri, "Advanced concepts in operating systems: distributed, database, and multiprocessor operating systems", MGH, 1/E, 1994.