General Instruction (Applicable to All Groups )
All students must demonstrate critical understanding and original analysis by not
only explaining concepts but also evaluating their limitations, trade-offs, and real-
world applications. Answers that only provide definitions without analysis,
examples, or justification will receive lower marks.
In addition, the assignment must:
Be prepared in a formal assignment report format (cover page,
introduction, body, conclusion, and references)
Be submitted as a soft copy document of 15–20 pages (excluding cover
page and references)
Include a 10-minute oral presentation to be delivered in class
Use proper academic writing style and cite references where necessary
Submission Deadline: 05/09/2018 E.C
Group 1: Synchronization in Distributed Systems
Conceptual Understanding
Define synchronization in distributed systems
Explain why synchronization is necessary
Discuss key challenges:
o Absence of global clock
o Network delays
o Concurrency issues
Clock Synchronization
Explain:
1
o Logical clocks
o Physical clocks
Describe and compare:
o Lamport Timestamps
o Vector Clocks
Mutual Exclusion in Distributed Systems
Explain the need for mutual exclusion
Compare at least TWO algorithms:
o Ricart–Agrawala Algorithm
o Token Ring Algorithm
Discuss:
o Message complexity
o Fairness
o Fault tolerance
Synchronization Problems & Solutions
Explain classical problems in distributed context:
o Deadlock
o Starvation
Suggest possible solutions or prevention techniques
Practical Case Study
Choose one real-world system and analyze how synchronization is handled:
Distributed databases
Cloud systems
Online transaction systems
2
Group 2: Consistency and Replication in Distributed Systems
Fundamentals of Replication
Define data replication in distributed systems
Explain why replication is used (fault tolerance, availability, performance)
Describe types of replication:
o Active vs Passive replication
o Synchronous vs Asynchronous replication
Consistency Models
Define consistency in distributed systems
Explain and compare:
o Strong Consistency
o Eventual Consistency
o Causal Consistency
Include discussion of:
o CAP Theorem
Replica Management Techniques
Explain strategies for managing replicas:
o Primary-backup approach
o Quorum-based protocols
Discuss:
o Read and write operations in replicated systems
o Trade-offs in latency, consistency, and fault tolerance
Consistency vs Performance Trade-off
3
Analyze how increasing consistency affects:
o System performance
o Availability
Provide examples where weaker consistency models are preferred
Case Study
Select one real-world system and analyze its replication and consistency approach:
Google Spanner
Amazon DynamoDB
Apache Cassandra
Include:
Type of replication used
Consistency model applied
Justification for design choices
Group 3: Fault Tolerance in Distributed Systems
Fundamentals of Fault Tolerance
Define fault tolerance in distributed systems
Explain why fault tolerance is critical
Identify and describe types of failures:
o Crash failures
o Omission failures
o Timing failures
o Byzantine failures
Failure Detection Mechanisms
4
Explain how distributed systems detect failures
Describe heartbeat mechanisms and timeout strategies
Discuss the challenges of failure detection in unreliable networks
Fault Tolerance Techniques
Explain key techniques:
o Replication
o Checkpointing and rollback recovery
o Redundancy (hardware/software)
Discuss the role of:
o Consensus Algorithms (e.g., leader election, agreement under failures)
Reliability and Availability
Define:
o Reliability
o Availability
Explain how fault tolerance improves both
Provide examples of trade-offs between them
Case Study
Choose one real-world system and analyze its fault tolerance strategy:
Google Spanner
Apache Kafka
Hadoop Distributed File System
Include:
Types of failures handled
Techniques used for recovery
5
Strengths and limitations
Group 4: Security in Distributed Systems
Fundamentals of Security
Define security in distributed systems
Explain the CIA triad:
o Confidentiality
o Integrity
o Availability
Threats and Attacks
Identify and explain common threats:
o Eavesdropping
o Man-in-the-middle attacks
o Denial of Service (DoS)
o Replay attacks
Discuss vulnerabilities unique to distributed environments
Security Mechanisms
Explain key mechanisms:
o Authentication
o Authorization
o Encryption
Discuss the role of:
o Public Key Cryptography
o Digital Signatures
6
Secure Communication
Explain how secure communication is achieved
Describe protocols such as:
o Transport Layer Security
Discuss:
o Key exchange
o Secure channels
Case Study
Choose one real-world system and analyze its security approach:
Amazon Web Services
Google Cloud Platform
Blockchain
Include:
Security mechanisms used
Types of threats addressed
Strengths and limitations
Group 5: Distributed Object-Based Systems
Fundamentals of Distributed Object-Based Systems
Define distributed object-based systems
Explain the concept of objects in distributed environments
Discuss advantages:
o Modularity
o Reusability
7
o Transparency
Remote Communication Between Objects
Explain how objects communicate across networks
Describe:
o Remote Method Invocation (RMI)
o Object serialization
Discuss challenges:
o Latency
o Partial failures
o Network unreliability
Middleware Technologies
Explain the role of middleware in distributed object systems
Describe and compare:
o Common Object Request Broker Architecture
o Java RMI
o Distributed Component Object Model
Discuss:
o Interoperability
o Platform independence
o Complexity
Transparency and Object Management
Explain types of transparency:
o Location transparency
o Access transparency
8
o Replication transparency
Discuss object lifecycle management:
o Creation
o Activation
o Garbage collection
Case Study
Choose one system and analyze how object-based concepts are applied:
Enterprise JavaBeans
Microsoft .NET Remoting
gRPC
Include:
Architecture overview
Communication model
Strengths and limitations
Group 6: Distributed File Systems
Fundamentals of Distributed File Systems
Define a distributed file system
Explain key goals:
o Transparency
o Scalability
o Fault tolerance
Compare DFS with traditional centralized file systems
File Access and Sharing Semantics
9
Explain how files are accessed in distributed systems
Describe file sharing semantics:
o UNIX semantics
o Session semantics
o Immutable files
Discuss challenges in maintaining consistency
File Caching and Replication
Explain file caching mechanisms:
o Client-side caching
o Server-side caching
Discuss replication strategies and their benefits
Analyze trade-offs:
o Consistency vs performance
Fault Tolerance and Recovery
Explain how DFS handles failures
Discuss:
o Data replication
o Checkpointing
o Recovery mechanisms
Case Study
Choose one distributed file system and analyze its design:
Google File System
Hadoop Distributed File System
Amazon S3
10
Include:
Architecture overview
File storage and replication strategy
Strengths and limitations
Group 7: Distributed Web-Based Systems
Fundamentals of Web-Based Distributed Systems
Define distributed web-based systems
Explain key components:
o Clients (browsers, mobile apps)
o Web servers
o Application servers
o Databases
Describe the role of:
o Client–Server Architecture
Communication Protocols and APIs
Explain how components communicate over the web
Describe:
o Hypertext Transfer Protocol
o Representational State Transfer
Discuss stateless vs stateful communication
Scalability and Load Distribution
Explain scalability in web systems:
o Vertical scaling
11
o Horizontal scaling
Describe:
o Load balancing
o Content Delivery Networks (CDNs)
Fault Tolerance and Reliability
Explain how web systems handle failures
Discuss:
o Redundancy
o Failover mechanisms
o Monitoring and recovery
Microservices and Modern Architectures
Explain microservices architecture
Compare with monolithic systems
Discuss benefits and challenges:
o Service communication
o Deployment complexity
Case Study
Choose one real-world system and analyze its distributed web architecture:
Amazon
Netflix
Facebook
Include:
Architecture overview
Scaling strategy
12
Fault tolerance mechanisms
Key challenges
Group 8: Distributed Coordination-Based Systems
Fundamentals of Coordination
Define coordination in distributed systems
Explain why coordination is necessary:
o Shared resources
o Event ordering
o Consistency requirements
Discuss coordination challenges:
o Concurrency
o Lack of global clock
o Partial failures
Coordination Models and Approaches
Explain different coordination approaches:
o Centralized coordination
o Decentralized coordination
o Hierarchical coordination
Compare their advantages and limitations
Distributed Agreement and Consensus
Define consensus in distributed systems
Explain key concepts:
13
o Agreement
o Termination
o Validity
Describe and analyze:
o Paxos Algorithm
o Raft Consensus Algorithm
Coordination Services and Tools
Explain the role of coordination services
Describe systems such as:
o Apache ZooKeeper
Discuss:
o Leader election
o Configuration management
o Distributed locking
Coordination Problems and Solutions
Explain common coordination problems:
o Deadlock
o Livelock
o Resource contention
Suggest techniques to handle them
Case Study
Choose one system and analyze its coordination mechanisms:
Kubernetes
Apache Kafka
14
Google Chubby
Include:
Coordination model used
Mechanisms for agreement and synchronization
Strengths and limitations
15