ICS 408 Exam A
ICS 408 Exam A
C
1. Characteristics of Distributed Systems
2. Compare and contrast Client-Server and Peer-to-Peer (P2P)
3. Microservices architecture
4. Event-Driven architectural style
5. Communication models in distributed systems
6. Google’s Distributed File System (GFS)
7. CAP theorem
8. Concepts, use cases, advantages, and challenges of distributed databases, distributed file systems,
and object stores
9. Load balancing strategies and their advantages and disadvantages
10. Differences and similarities between concurrency and parallelism
11. Security challenges faced by distributed systems and the common
12. security measures implemented to mitigate these challenges
13. Concepts and use cases of leader election and distributed consensus, distributed coordination and
provide examples of algorithms used for each
14. Concepts of scalability and load balancing in distributed systems
15. Scalability patterns, and their pros and cons
Answer
1. Characteristics of Distributed Systems
a. Heterogeneity: Distributed systems consist of a variety of hardware, software, and network
components. These systems can run on different platforms and use different programming languages,
which requires standard protocols for communication and interaction.
b. Scalability: Distributed systems are designed to scale horizontally by adding more nodes
(machines) to handle increased load. This helps in accommodating growing data and user demands.
c. Fault Tolerance: These systems continue to function even when parts of the system fail.
Redundancy and replication are often used to ensure reliability and availability.
d. Concurrency: Multiple processes can run simultaneously across different nodes, allowing efficient
resource utilization and improved performance.
e. Transparency: The complexity of the system is hidden from users and developers, making the
system appear as a single unified entity. This includes transparency in access, location, migration,
replication, and failure.
f. Resource Sharing: Resources such as files, printers, and data can be shared among multiple users
and applications across the distributed system.
8. Concepts, Use Cases, Advantages, and Challenges of Distributed Databases, Distributed File
Systems, and Object Stores
a. Distributed Databases:
i. Concepts: Data is distributed across multiple physical locations, and each location can function
independently.
ii. Use Cases: Financial services, e-commerce platforms, global enterprises.
iii. Advantages: Improved reliability, availability, and scalability.
iv. Challenges: Ensuring data consistency, managing complex transactions, and handling network
partitions.
b. Distributed File Systems:
i. Concepts: Files are distributed across multiple servers to improve access speed and reliability.
ii. Use Cases: Cloud storage services, big data applications.
iii. Advantages: Scalability, fault tolerance, and high availability.
iv. Challenges: Data synchronization, replication management, and consistency issues.
c. Object Stores:
i. Concepts: Data is stored as objects, which include the data itself, metadata, and a unique identifier.
ii. Use Cases: Cloud storage (e.g., Amazon S3), multimedia storage, backup and archival.
iii. Advantages: Scalability, ease of management for unstructured data, and cost efficiency.
iv. Challenges: Handling consistency and latency, managing large volumes of data efficiently.
11 & 12. Security Challenges Faced by Distributed Systems and Common Security Measures
Implemented to Mitigate These Challenges
a. Challenges:
i. Data Breaches: Unauthorized access to sensitive data.
ii. DDoS Attacks: Overloading systems with a flood of requests, causing service disruptions.
iii. Man-in-the-Middle Attacks: Interception and alteration of communication between nodes.
iv. Endpoint Security: Securing each node in the distributed system.
v. Data Integrity: Ensuring data is not altered or tampered with during transmission or storage.
b. Security Measures:
i. Encryption: Protects data in transit and at rest using cryptographic techniques.
ii. Authentication and Authorization: Verifies user identity and grants appropriate access levels.
iii. Firewalls and Intrusion Detection Systems (IDS): Monitor and control incoming and outgoing
network traffic based on predetermined security rules.
iv. Secure Communication Protocols: Use of SSL/TLS to secure communications between nodes.
v. Regular Security Audits: Conducting periodic security assessments to identify and mitigate
vulnerabilities.
13. Concepts and Use Cases of Leader Election and Distributed Consensus, Distributed Coordination,
and Examples of Algorithms Used for Each
a. Leader Election:
i. Concept: A process to designate a single node as the coordinator or leader among distributed nodes.
ii. Use Cases: Distributed databases, distributed caching, and cluster management.
iii. Algorithms: Bully algorithm, Paxos.
b. Distributed Consensus:
i. Concept: Agreement among distributed processes or nodes on a single data value or decision.
ii. Use Cases: Blockchain, replicated state machines, and configuration management.
iii. Algorithms: Raft, Paxos.
c. Distributed Coordination:
i. Concept: Synchronizing and managing the activities of distributed components to achieve a
common goal.
ii. Use Cases: Resource allocation, distributed job scheduling, and configuration management.
iii. Examples: Zookeeper (coordination service for distributed systems), Chubby (distributed lock
service).