Course Outline
Topics to be Covered in this Course
- Introduction and Review
- Definitions
- Hardware concepts
- Software concepts
- The client-server model
- Communication
- Layered protocols
- Remote procedure call
- Remote object invocations
- Message-oriented communication
- Stream-oriented communication
- Processes
- Threads
- Clients
- Servers
- Code migration
- Software agents
- Naming
- Naming entities
- Locating mobile entities
- Removing unreferenced entities
- Synchronization
- Clock synchronization
- Logical clocks
- Global state
- Election algorithms
- Mutual exclusion
- Distributed Transactions
- Consistency and Replication
- Distribution protocols
- Consistency protocols
- Fault Tolerance
- Introduction to fault tolerance
- Process resilience
- Distributed commit
- Recovery
- Security
- Introduction to security
- Secure channels
- Access Control
- Security Management
- Distributed Object-Based Systems
- Some case studies
- Distributed File Systems
- Some case studies