Distributed Computing Systems

Introduction: Definitions, Motivation; Communication Mechanisms: Communication 

Protocols, RPC, RMI, Stream Oriented Communication; Synchronization: Global State, Election, Distributed Mutual Exclusion, Distributed Transactions; Naming: Generic Schemes, DNS, Naming and Localization; Replication and Coherence: Consistency Models And Protocols; Fault Tolerance: Group Communication, Two-And Three-Phase Commit, Check pointing; Security: Access Control, Key Management, Cryptography;  etc