Back close

Course Detail

Course Name Distributed Systems and Applications
Course Code 24CCE337
Program B. Tech. in Computer and Communication Engineering
Credits 3
Campus Coimbatore, Chennai, Amaravati

Syllabus

Unit 1

Foundations of Distributed Systems: Introduction, Definition and characteristics of distributed systems, Architecture types – client-server, peer-to-peer, and microservices, Examples of distributed systems and their applications, Concurrency and Parallelism (Programming with Threads) – Concepts of concurrency in distributed systems, Multithreading models and programming with threads in Java/C++, Synchronization mechanisms and handling race conditions, Message-Oriented Middleware (MOM), Concepts of message-passing communication – Role of MOM in distributed systems, Examples: JMS (Java Message Service), RabbitMQ, Apache Kafka, Event/Notification Systems, Event-driven architecture and notification systems, Introduction to Enterprise Java Beans (EJB) for distributed component-based architecture.

Unit 2

Fault Tolerance, Communication, and Coordination: Fault Tolerance, Consistency, and Replication, Handling failures in distributed systems, Ensuring consistency (CAP theorem, ACID vs. BASE), Replication strategies for fault tolerance and scalability, Scalability in Distributed Systems, Techniques for scaling distributed systems (horizontal vs. vertical scaling), Load balancing strategies and caching mechanisms, Communication and Message Passing, Remote Procedure Call (RPC) and Java/RMI (Remote Method Invocation), Message-passing protocols and APIs (gRPC, HTTP, ZeroMQ), Asynchronous communication and messaging patterns, Distributed Coordination.

Unit 3

Distributed Coordination: Data partitioning and sharding for distributed databases, Consensus algorithms: Paxos, Raft, and their role in maintaining consistency, Coordination services (Apache ZooKeeper, Consul), Advanced Topics and Case Studies: Security and Authentication in Distributed Systems, Security challenges in distributed systems, Authentication mechanisms (OAuth, Kerberos), Case Studies and Real-World Examples – Case study on large-scale distributed systems (Google, Amazon, Netflix), Real-world applications of distributed databases (Cassandra, MongoDB), Discussion on microservices architecture and its implementation in real-world systems.

Objectives and Outcomes

Course Objectives

  • To introduce the principles of distributed computing and distributed systems architectures.
  • To introduce technologies and design patterns for designing distributed systems.
  • To monitor system security, debugging, and testing.

Course Outcomes: At the end of the course, the student should be able to

CO1: understand the fundamentals of various distributed systems architectures and models.

CO2: understand the technologies in distributed systems of each model and its security requirements.

CO3: apply design patterns and best practices for designing distributed systems.

CO4: design secure and performance optimized Distributed systems.

CO-PO Mapping

PO/PSO PO1 PO2 PO3 PO4 PO5 PO6 PO7 PO8 PO9 PO10 PO11 PO12 PSO1 PSO2 PSO3
CO
CO1 3 2 2                        
CO2 3 2 2 2                      
CO3 3 2 2 2 2 2                  
CO4 3 2 2 2 2 2                

*pso2 only for cce

Text Books / References

Textbook(s)

  1. Andrew S. Tanenbaum, Maarten Van Steen, Distributed Systems: Principles and Paradigms, 2016, 2nd edition, Createspace Independent Publishing 
  2. George Coulouris, Jean Dollimore, and Tim Kindberg, “ Distributed Systems Concepts and Design”, 5th ed., Pearson Education, 2011.

References(s)

  1. Nancy A. Lynch, “Distributed Algorithms”, Hardcourt Asia Pvt. Ltd., Morgan Kaufmann, 2000. 
  2. Sukumar Ghosh, Chapman&Hall/CRC, Distributed Systems, An Algorithm Approach, Taylor & Fransis Group, 2007. 
  3. George Coulouris, J Dollimore and Tim Kindberg, Distributed Systems, Concepts and Design, , Pearson Education, Edition. 2009. 

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now