Distributed Systems Syllabus
This page contains Syllabus of Distributed Systems of BCA.
Title | Distributed Systems |
Short Name | |
Course code | CACS352 |
Nature of course | Theory + Tutorial |
Sixth Semester | |
Full marks | 80 + 20 |
Pass marks | 32 + 8 |
Credit Hrs | 3 |
Elective/Compulsary | Compulsary |
Course Description
Course Description
The course introduces basic knowledge to give an understanding how modern distributed systems operate. The focus of the course is on distributed algorithms and on practical aspects that should be considered when designing and implementing real systems. Some topics covered during the course are causality and logical clocks, synchronization and coordination algorithms, transactions and replication, and end-to-end system design. In addition, the course explores recent trends exemplified by current highly available and reliable distributed systems.
Course objectives
The objective of the course is to make familiar with different aspect of the distributed system, middleware, system level support and different issues in designing distributed algorithms and finally systems.
Units and Unit Content
- 1. Introduction
- teaching hours: 4 hrs
1.1 Characteristics
1.2 Design Goals
1.3 Types of Distributed Systems
1.4 Case Study: The World Wide Web
- 1. Introduction to Mobile and Mobile Programming
- teaching hours: 2 hrs
Mobile Device (Features, Categories, History, Brands, Models and Platforms), Introduction to Mobile Programming.
- 2. Architecture
- teaching hours: 4 hrs
2.1 Architectural Styles
2.2 Middleware organization
2.3 System Architecture
2.4 Example Architectures
- 3. Processes
- teaching hours: 6 hrs
3.1 Threads
3.2 Virtualization
3.3 Clients
3.4 Servers
3.5 Code Migration
- 4. Communication
- teaching hours: 5 hrs
4.1 Foundations
4.2 Remote Procedure Call
4.3 Message-Oriented Communication
4.4 Multicast Communication
4.5 Case Study: Java RMI and Message
Passing Interface (MN)
- 5. Naming
- teaching hours: 5 hrs
5.1 Name Identifiers, and Addresses
5.2 Structured Naming
5.3 Attribute-based naming
5.4 Case Study: The Global Name Service
- 5. Coordination
- teaching hours: 7 hrs
6.1 Clock Synchronization
6.2 Logical Clocks
6.3 Mutual Exclusion
6.4 Election Algorithm
6.5 Location System
6.6 Distributed Event Matching
6.7 Gossip-based coordination
- 6. Coordination
- teaching hours: 7 hrs
6.1 Clock Synchronization
6.2 Logical Clocks
6.3 Mutual Exclusion
6.4 Election Algorithm
6.5 Location System
6.6 Distributed Event Matching
6.7 Gossip-based coordination
- 7. Consistency and Replication
- teaching hours: 5 hrs
7.1 Introduction
7.2 Data-centric consistency models
7.3 Client-centric consistency models
7.4 Replica management
7.5 Consistency protocols
7.6 Caching and Replication in Web
- 8. Fault Tolerance
- teaching hours: 5 hrs
8.1 Introduction to fault tolerance
8.2 Process resilience
8.3 Reliable client-server communication
8.4 Reliable group communication
8.5 Distributed commit
8.6 Recovery
- 9. Security
- teaching hours: 4 hrs
9.1 Introduction to security
9.2 Secure channels
9.3 Access control
9.4 Secure naming
9.5 Security Management
Lab and Practical works