0% found this document useful (0 votes)
2 views

Distributed Systems Architectures - Study Guide

The provided text explores the fundamental architectural styles of distributed systems, differentiating between software and system architectures

Uploaded by

Leigh-Ann Cross
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Distributed Systems Architectures - Study Guide

The provided text explores the fundamental architectural styles of distributed systems, differentiating between software and system architectures

Uploaded by

Leigh-Ann Cross
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Architectures

Quiz

1. Describe the fundamental components of a distributed system and


explain how architecture relates to their organization.

2. What is the primary distinction between software architecture and


system architecture in the context of distributed systems? Provide one
example of each.

3. Explain the layered software architecture. What is the general flow of


requests and responses within this architectural style?

4. How does communication typically occur in an event-based


architecture? What role does an intermediary service play in this
model?

5. Contrast a centralized architecture with a decentralized architecture.


Provide a brief example of a system that might utilize each.

6. Describe the concept of vertical distribution in decentralized


architectures. How does it contribute to scalability and flexibility?

7. Explain the key characteristic of a peer-to-peer architecture. How do


nodes in this model function differently compared to a client-server
model?

8. What is the purpose of an overlay network in the context of large-scale


peer-to-peer systems? Briefly describe the difference between
structured and unstructured overlays.

9. Give an example of a hybrid architecture discussed in the text and


explain how it combines features of different architectural styles.

10. What is the core idea behind self-management in distributed


systems, and what is the underlying principle that enables it?

Quiz Answer Key

1. A distributed system is composed of software components, processing


nodes, and networks. Architecture deals with how these elements are
organized and how the software components are distributed over the
hardware components, defining their structure and interrelationships.

2. Software architecture focuses on how the software components of a


system are organized and interact (e.g., layered architecture). System
architecture focuses on how these software components are
implemented on the underlying hardware infrastructure (e.g.,
centralized client-server architecture).

3. In a layered software architecture, the system is divided into


hierarchical layers of functions. Upper layers request services from the
layer directly below them, and lower layers provide responses. Control
flows downwards for requests and upwards for responses.

4. Communication in an event-based architecture happens through the


sending (publishing) and receiving (subscribing) of events. An
intermediary service (like a message broker) is often required to route
events from publishers to interested subscribers, without the processes
needing direct knowledge of each other.

5. A centralized architecture has one or more server processes providing


services to multiple client processes (e.g., a web server). A
decentralized architecture distributes processing across multiple nodes
without a central server (e.g., a peer-to-peer file-sharing system).

6. Vertical distribution in decentralized architectures extends the client-


server model by distributing the traditional server functionality across
multiple servers arranged in tiers. This improves scalability by reducing
the load on each server and enhances flexibility by allowing
independent modification of each tier's functionality.

7. In a peer-to-peer architecture, all processes (peers) have the same


role, acting as both clients and servers. Each peer can both send
requests to and process requests from other peers, and they typically
provide the same logical services.

8. An overlay network in P2P systems is a virtual network formed by


nodes to manage the complexity of a large number of participants and
the information they offer. In unstructured overlays, neighbors are
often chosen randomly, while in structured overlays, neighbor selection
follows a specific structure based on identifiers.

9. A superpeer network is a hybrid architecture where a few powerful


nodes (superpeers) form a P2P network, and regular peers act as
clients to these superpeers. This combines the benefits of P2P systems
with a simplified indexing mechanism managed by the superpeers.

10. The core idea of self-management in distributed systems is to


enable automatic adaptation to changes through high-level feedback-
control systems. The underlying principle is to monitor the system,
analyze its state, plan necessary adjustments, and execute these
changes autonomously.

Essay Format Questions

1. Compare and contrast two different software architectural styles (e.g.,


layered and event-based), discussing their organizational principles,
communication mechanisms, and suitability for different types of
distributed applications.

2. Analyze the benefits and drawbacks of centralized and decentralized


system architectures. Under what circumstances might one be
preferred over the other? Provide specific examples to support your
arguments.

3. Discuss the evolution from traditional client-server architectures to


more complex decentralized architectures like peer-to-peer systems
and overlay networks. What were the key driving forces behind these
changes, and what challenges did they aim to address?

4. Explain the concept of hybrid architectures in distributed systems. Why


are they becoming increasingly common? Illustrate your answer with at
least two examples of hybrid architectures and discuss the advantages
they offer.

5. Critically evaluate the importance of self-management in modern


distributed systems. What are the key aspects of self-management,
and what challenges need to be addressed to build truly autonomic
and self-star distributed systems?

Glossary of Key Terms

 Distributed System: A collection of independent computing entities


that cooperate to accomplish a shared goal.

 Software Architecture: The high-level structure of the software


components of a system and their interactions.

 System Architecture: How the software components of a distributed


system are implemented on the underlying hardware infrastructure
(processing nodes and networks).
 Centralized Architecture: A system architecture where one or more
server processes provide services to multiple client processes from a
central location.

 Decentralized Architecture: A system architecture where processing


and data are distributed across multiple nodes in a network, without
reliance on a central server.

 Hybrid Architecture: A system architecture that combines


characteristics of different architectural styles (e.g., centralized and
decentralized).

 Layered Architecture: A software architecture where the system is


organized into hierarchical layers, with each layer providing services to
the layer above it and using services from the layer below.

 Object-Oriented Architecture: A software architecture where


modules (objects) interact through remote calling mechanisms via
well-defined interfaces.

 Data-Centred Architecture: A software architecture where


communication between components primarily occurs through a
shared data repository, such as a database or a distributed file system.

 Event-based Architecture: A software architecture where


components communicate asynchronously by publishing and
subscribing to events.

 Client-Server Model: A fundamental centralized architecture where


clients request services from a dedicated server.

 Peer-to-Peer (P2P) Architecture: A decentralized architecture


where all processes (peers) have equal roles and can act as both
clients and servers.

 Overlay Network: A virtual network built on top of a physical


network, used in P2P systems to organize nodes and facilitate resource
discovery.

 Vertical Distribution: A form of decentralized architecture that


extends the client-server model by splitting server functionality across
multiple servers in a tiered fashion.
 Horizontal Distribution: A form of decentralized architecture that
replicates the functionality of a server across multiple computers to
improve scalability and reliability.

 Self-Management (Autonomic Computing): The ability of a


distributed system to automatically adapt to changes in its
environment and workload, often involving self-configuring, self-
healing, self-optimizing, and self-protecting capabilities.

 Feedback Control Model: A system that uses monitoring, analysis,


planning, and execution loops to achieve and maintain a desired state,
often applied to self-management in distributed systems.

You might also like