Chapter 2- Architecture os distributed system.ppt

1,043 views 30 slides Mar 30, 2024
Slide 1
Slide 1 of 30
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30

About This Presentation

thanks


Slide Content

Architectures
13/30/2024

Course Outline
Introduction
Architectural Styles
System Architectures
23/30/2024

Introduction
Distributed System’s architecture defines how
the various componentsand nodesin the
system are connected, communicate, and
collaborateto achieve a common goal.
The architecture of a distributed system
encompasses the arrangement of hardware,
software, protocols, and communication
patterns.
Various technologies and frameworks, such as
message queues, distributed databases, remote
procedure calls (RPC), and publish-subscribe
systems, are used to implement different
aspects of a distributed systems architecture.
33/30/2024

Introduction
The organization of distributed systems is
mostly about the software components that
constitute the system.
These softwarearchitectures tell us how the
various software components are to be
organizedand how they should interact.
The actual realization of a distributed system
requires that it can be instantiatedand placed
software components on real machines which is
called system architecture.
43/30/2024

Common types of architecture are
1.Centralized architectures ( traditional ) in
which a singleserver implements most of the
software components (and thus
functionality), while remote clients can access
that server using simplecommunication
means.
2.Decentralized architectures in which
machines more or less play equalroles, as
well as hybrid organizations.
53/30/2024

The logical organization of distributed systems
into software components, also referred to as
software architecture.
Such a style is formulated in terms of
components, the way that components are
connectedto each other, the data exchanged
between components and finally how these
elements are jointlyconfigured into a system.
A component is a modular unit with well-
defined required and provided interfaces that
is replaceable within its environment.
63/30/2024

A connector, which is generally described
as a mechanism that mediates
communication, coordination, or
cooperationamong components.
Basic architectural stylesfor distributed
systems are:
1. Layered architectures
2. Object-based architectures
3. Data-centred architectures
4. Event-based architectures
73/30/2024

Components are organized in a layered
fashion.
Widely adopted by the networking community.
Requests go downthe hierarchy where as the
results flow upward.
83/30/2024

9
Each object considered as a component, and these
components are connected through a remote
(procedure call) mechanism.
Matches the client-serversystem architecture.
The layered and object based architectures still form the
most important styles for large software systems.
3/30/2024

Processes communicate through a common
(passive or active) repository.
Web-based distributed systems are largely
data-centric processes communicate through
the use of shared Web-baseddata services.
103/30/2024

Communicate through the propagationof events,
which optionally also carry data.
Event propagation has generally been associated
with what are known as publish/subscribesystems.
The basic idea is that processes publish events after
middlewareensures that only those processes that
subscribed to those events will receivethem.
The main advantageof event-based systems is that
processes are looselycoupled.
113/30/2024

This is the result of combination of event-based
and data-centredarchitectures.
The essence of shared data spaces is that
processes are now also decoupledin time: they
need notboth be activewhen communication
takes place.
They all aim at achieving (at a reasonable level)
distributiontransparency.
There is no single solution that will meet the
requirements for all possible distributed
applications, researchers have abandoned the idea
that a single distributed system can be used to
cover 90% of all possible cases.
123/30/2024

Deciding on software components, their
interaction, and their placementleads to
an instance of a software architecture,
also called a system architecture.
Common types are:
1. Centralized organizations
2. Decentralized organizations
3. Hybrid organizations
133/30/2024

Helps us to understand andmanagethe complexity
of distributed systems.
Common example in this organization is client-
servermodel.
In the basic client-server model, processes in a
distributed system are divided into two(possibly
overlapping) groups.
1.A serveris a process implementinga specific
service, for example, a file system service or a
database service.
2.A client is a process that requestsa service from a
server by sending it a request and subsequently
waiting for the server's reply.
143/30/2024

15
General interaction between a client and a server also
known as request-reply behaviour.
•Implemented by means of a simple connectionless protocol
when the underlying network is fairly reliable as in many LAN.
•However, many client-server systems use a reliable
connection oriented protocol in WAN.
E.g. TCP/IP for Internet
In this case, whenever a client requests a service, it first sets
up a connection to the server before sending the request.
3/30/2024

There is often no clear distinction b/n client
and server. For example, a serverfor a
distributed database may continuously act
as a clientbecause it is forwarding requests
to different file servers responsible for
implementing the database tables.
Many people have advocated a distinctionbetween
the following three levels, essentially following the
layered architectural style we discussed previously:
1. The user-interface level:contains interface with
the user
2. The processing level: contains the applications
3. The data level: manages the actual data
163/30/2024

17
The simplified example of their organizationis an
Internet search engine into threedifferent layers.
3/30/2024

The simplest organization is to have only twotypes of machines:
1. A client machine containing only the programs implementing
(part of) the user-interface level.
2. A server machine containing the rest, that is the programs
implementing the processing and data level.
We refer to this type of distribution as vertical distribution. The
characteristic feature of vertical distribution is that it is achieved by
placing logically different components on different machines.
183/30/2024

Server may sometimes need to act as a client,
A typical example of where a three-tiered
architecture is used in transaction processing.
A separate process, called the transaction processing
monitor, coordinates all transactions across possibly
different data servers.
193/30/2024

we refer to as horizontal distribution w/c is
known as peer-to-peer systems.
Interaction between processes is symmetric:
each process will act as a clientand a serverat
the same time (which is also referred to as
acting as a servent).
A process cannotcommunicate directly with an
arbitraryother process, but is required to send
messages through the available communication
channels.
Twotypes of overlay networks exist: those that
are structuredand those that are Unstructured
Peer-to-Peer Architectures.
203/30/2024

Overlay network is constructed using a
deterministic procedure.
Organize the processes through a distributed hash
table (DHT).
In a DHT -based system, data items are assigned a
random key from a large identifier space, such as a
128-bit or160-bit identifier.
21
Structured Peer-to-Peer Architectures
3/30/2024

Largely rely on randomized algorithms for
constructing an overlay network.
Data items are assumed to be randomlyplaced on
nodes.
As a consequence, when a node needs to locate a
specific data item, the only thing it can effectively
do is flood the networkwith a search query.
One of the goals is to construct an overlay network
that resembles a random graph.
The basic model is that each node maintains a list of
neighbours, where, ideally, each of these
neighbours represents a randomly chosen live node
from the current set of nodes.
223/30/2024

One key observation is that by carefully exchanging
and selecting entries from partial views, it is
possible to construct and maintain specific
topologies of overlay networks.
This topology management is achieved by adopting
a twolayered approach
233/30/2024

Nodes such as those maintaining an
index or acting as a brokerare generally
referred to as superpeers.
Organized in a peer-to-peer network,
leading to a hierarchical organization.
243/30/2024

Distributed systems in which client-server
solutions are combined with decentralized
architectures.
Edge-Server Systems
Servers are placed "at the edge" of the network
formed by enterprise networksand the actual
Internet, for example, as provided by an Internet
Service Provider (ISP).
253/30/2024

Traditional client-server scheme is
deployed.
Once a node has joined the system, it
can use a fully decentralized scheme for
collaboration.
BitTorrent file-sharing system
An important design goal was to ensure
collaboration.
263/30/2024

Middleware systems actually follow a specific
architectural style.
Benefit that designing applications may become
simpler.
Interceptors
Conceptually, an interceptor is nothing but a
softwareconstruct that will breakthe usual
flow of control and allowother application
code to be executed.
The basic idea is simple: an object A can call a
method that belongs to an object B, while the
latter resides on a different machine than A.
273/30/2024

The need for adaptation comes from the fact
that the environment in which distributed
applications are executed changescontinuously
to consider the construction of adaptive
software.
Discussion
This approach is seen to work better when
discussing the physical organization of
distributed systems when decisionsare
taken about where components are placed.
283/30/2024

293/30/2024

Questions?
303/30/2024