30 December 2014

Distributed Systems

• To explain what a distributed system is, why you would design a system as a distributed system, and what the desired properties of such systems are?
• To list the principles underlying the functioning of distributed systems, describe the problems and challenges associated with these principles, and evaluate the effectiveness and shortcomings of their solutions
• To recognize how the principles are applied in contemporary distributed systems, explain how they affect the software design, and be able to identify features and design decisions that may cause problems
• To design a distributed system that fulfills requirements with regards to key distributed systems properties(such as scalability, transparency, etc.), be able to recognize when this is not possible, and explain why?
• To build distributed system software using basic OS mechanisms as well as higher-level middleware and languages.


Characterization of Distributed Systems- Introduction, Examples of Distributed systems, Resource sharing and web, challenges, System models- Introduction, Architectural and Fundamental models, Networking and Internetworking, Interprocess Communication. Distributed objects and Remote Invocation-Introduction, Communication between distributed objects, RPC, Events and notifications, Case study-Java RMI.

Operating System Support- Introduction, OS layer, Protection, Processes and Threads, Communication and Invocation, Operating system architecture, Distributed File Systems-Introduction, File Service architecture, case study- SUN network file systems. Name Services-Introduction, Name Services and the Domain Name System, Case study of the Global Name Service, Case study of the X.500 Directory Service.

Peer to Peer Systems-Introduction, Napster and its legacy, Peer to Peer middleware, Routing overlays, Overlay case studies-Pastry, Tapestry, Application case studies-Squirrel, OceanStore.Time and Global States-Introduction, Clocks, events and Process states, Synchronizing physical clocks, logical time and logical clocks, global states, distributed debugging. Coordination and Agreement - Introduction, Distributed mutual exclusion, Elections, Multicast communication, consensus and related problems.

Transactions and Concurrency control - Introduction, Transactions, Nested Transactions, Locks, Optimistic concurrency control, Timestamp ordering, Comparison of methods for concurrency controls. Distributed Transactions - Introduction, Flat and Nested Distributed Transactions, Atomic commit protocols, Concurrency control in distributed transactions, Distributed deadlocks, Transaction recovery, Replication-Introduction, System model and group communication, Fault tolerant services, Transactions with replicated data.

Security - Introduction, Overview of Security techniques, Cryptographic algorithms, Digital signatures, Case studies-Kerberos, TLS, 802.11 WiFi. Distributed shared memory, Design and Implementation issues, Sequential consistency and Ivy case study, Release consistency and Munin case study, other consistency models, CORBA case study- Introduction, CORBA RMI, CORBA Services.

1. Distributed Systems Concepts and Design, G Coulouris, J Dollimore and T Kindberg, Fourth Edition, Pearson Education.
2. Distributed Systems, S.Ghosh, Chapman&Hall/CRC, Taylor&Francis Group, 2010.

1. Distributed Computing, S.Mahajan and S.Shah, Oxford University Press.
2. Distributed Operating Systems Concepts and Design, Pradeep K.Sinha, PHI.
3. Advanced Concepts in Operating Systems, M Singhal, N G Shivarathri, Tata McGraw-Hill Edition.
4. Reliable Distributed Systems, K.P.Birman, Springer.
5. Distributed Systems – Principles and Paradigms, A.S. Tanenbaum and M.V. Steen, Pearson Education.
6. Distributed Operating Systems and Algorithm Analysis, R.Chow, T.Johnson, Pearson.
7. Distributed Operating Systems, A.S.Tanenbaum, Pearson education.
8. Distributed Computing, Principles, Algorithms and Systems, Ajay D. Kshemakalyani & Mukesh Singhal, Cambrigde, 2010



Post a Comment

Thanks for that comment!