Objective
To be familiar with different aspect of the distributed system, middleware, system level support and different issues in designing distributed algorithms
Syllabus
- Introduction
- Introduction to Distributed Systems
- Examples of Distributed Systems
- Main Characteristics
- Advantages and Disadvantages of Distributed System
- Design Goals
- Main Problems
- Models of Distributed System
- Resource Sharing and the Web Challenges
- Types of Distributed System: Grid, Cluster, Cloud
- Distributed Objects and File System
- Introduction
- Communication between distributed objects
- Remote Procedure Call
- Events And Notifications
- Java RMI Case Study
- Introduction to DFS
- File Service Architecture
- Sun Network File System
- Introduction to Name Services
- Name Services and DNS
- Directory and Discovery Services
- Comparison of Different Distributed File Systems
- Operating System Support
- The operating system layer
- Protection
- Process and threads
- Communication and invocation
- Operating system architecture
- Distributed Heterogeneous Applications and CORBA
- Heterogeneity in Distributed Systems
- Middleware
- Objects in Distributed Systems
- The CORBA approach
- CORBA services
- Time and State in Distributed Systems
- Time in Distributed Systems,
- Physical Clocks
- Logical Clocks
- Vector Clocks
- Clock Synchronization
- Causal Ordering of Messages
- Global State and State Recording
- Distributed debugging
- Coordination and Agreement
- Mutual Exclusion in Distributed Systems
- Algorithms for Mutual Exclusion
- Distributed Elections
- Multicast communication
- Consensus
- Replication
- Reasons for Replication
- Object Replication
- Replication as Scaling Technique
- Fault Tolerant Services
- High Available Services
- Transaction with Replicated Data
- Transaction and Concurrency Control
- Transactions
- Nested Transaction
- Locks
- Optimistic Concurrency Control
- Timestamp Ordering
- Comparison of Methods For Concurrency Control
- Introduction to Distributed Transactions
- Flat and Nested Distributed Transactions
- Atomic Commit Protocols
- Concurrency Control in Distributed Transactions
- Distributed Deadlocks
- Transaction Recovery
- Fault Tolerance
- Introduction to Fault Tolerance
- Process Resilience
- Reliable Client Server Communication
- Distributed Commit
- Recovery
- Case Studies
- CORBA
- Mach
- JINI
- TIB/Rendezvous