Syllabus
Introduction: Goals, Types: Distributed Computing Systems, Distributed Information Systems, Distributed Pervasive Systems.
Architecture: Architectural Styles, Middleware Organization, System Architecture – Centralized, Decentralized, Hybrid.
Processes: Threads, Virtualization, Application of virtual machines, Client and Server design, Code Migration.
Communication: Fundamentals, Remote Procedure Call, Message Oriented Communication, Socket interface and messaging with sockets, Multicast Communication
Naming: Flat – Home based solutions, DHTs. Structured – Name Space, Name Resolution, Examples – DNS, NFS. Attribute based; Coordination: Clock synchronization, Lamport’sLogical clocks, Vector clocks, Mutual Exclusion, Global Positioning, Election Algorithms
Consistency and Replication: Introduction, Data Centric, Client Centric models, Replica Management, Consistency Protocols; Fault Tolerance: Introduction, Process Resilience, Reliable Client Server Communication, Reliable group Communication, Distributed Commit, Recovery. Introduction to security.