KEMBAR78
Chapter 2- Architecture os distributed system.ppt
Architectures
1
3/30/2024
Course Outline
 Introduction
 Architectural Styles
 System Architectures
2
3/30/2024
Introduction
 Distributed System’s architecture defines how
the various components and nodes in the
system are connected, communicate, and
collaborate to 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.
3
3/30/2024
Introduction
 The organization of distributed systems is
mostly about the software components that
constitute the system.
 These software architectures tell us how the
various software components are to be
organized and how they should interact.
 The actual realization of a distributed system
requires that it can be instantiated and placed
software components on real machines which is
called system architecture.
4
3/30/2024
 Common types of architecture are
1. Centralized architectures ( traditional ) in
which a single server implements most of the
software components (and thus
functionality), while remote clients can access
that server using simple communication
means.
2. Decentralized architectures in which
machines more or less play equal roles, as
well as hybrid organizations.
5
3/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
connected to each other, the data exchanged
between components and finally how these
elements are jointly configured into a system.
 A component is a modular unit with well-
defined required and provided interfaces that
is replaceable within its environment.
6
3/30/2024
 A connector, which is generally described
as a mechanism that mediates
communication, coordination, or
cooperation among components.
 Basic architectural styles for distributed
systems are:
 1. Layered architectures
2. Object-based architectures
3. Data-centred architectures
4. Event-based architectures
7
3/30/2024
 Components are organized in a layered
fashion.
 Widely adopted by the networking community.
 Requests go down the hierarchy where as the
results flow upward.
8
3/30/2024
9
 Each object considered as a component, and these
components are connected through a remote
(procedure call) mechanism.
 Matches the client-server system 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-based data services.
10
3/30/2024
 Communicate through the propagation of events,
which optionally also carry data.
 Event propagation has generally been associated
with what are known as publish/subscribe systems.
 The basic idea is that processes publish events after
middleware ensures that only those processes that
subscribed to those events will receive them.
 The main advantage of event-based systems is that
processes are loosely coupled.
11
3/30/2024
 This is the result of combination of event-based
and data-centred architectures.
 The essence of shared data spaces is that
processes are now also decoupled in time: they
need not both be active when communication
takes place.
 They all aim at achieving (at a reasonable level)
distribution transparency.
 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.
12
3/30/2024
 Deciding on software components, their
interaction, and their placement leads to
an instance of a software architecture,
also called a system architecture.
 Common types are:
1. Centralized organizations
2. Decentralized organizations
3. Hybrid organizations
13
3/30/2024
 Helps us to understand and manage the complexity
of distributed systems.
 Common example in this organization is client-
server model.
 In the basic client-server model, processes in a
distributed system are divided into two (possibly
overlapping) groups.
1. A server is a process implementing a specific
service, for example, a file system service or a
database service.
2. A client is a process that requests a service from a
server by sending it a request and subsequently
waiting for the server's reply.
14
3/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 server for a
distributed database may continuously act
as a client because it is forwarding requests
to different file servers responsible for
implementing the database tables.
 Many people have advocated a distinction between
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
16
3/30/2024
17
The simplified example of their organization is an
Internet search engine into three different layers.
3/30/2024
 The simplest organization is to have only two types 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.
18
3/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.
19
3/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 client and a server at
the same time (which is also referred to as
acting as a servent).
 A process cannot communicate directly with an
arbitrary other process, but is required to send
messages through the available communication
channels.
 Two types of overlay networks exist: those that
are structured and those that are Unstructured
Peer-to- Peer Architectures.
20
3/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 randomly placed 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 network with 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.
22
3/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 two layered approach
23
3/30/2024
 Nodes such as those maintaining an
index or acting as a broker are generally
referred to as superpeers.
Organized in a peer-to-peer network,
leading to a hierarchical organization.
24
3/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 networks and the actual
Internet, for example, as provided by an Internet
Service Provider (ISP).
25
3/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.
26
3/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
software construct that will break the usual
flow of control and allow other 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.
27
3/30/2024
 The need for adaptation comes from the fact
that the environment in which distributed
applications are executed changes continuously
to consider the construction of adaptive
software.
Discussion
This approach is seen to work better when
discussing the physical organization of
distributed systems when decisions are
taken about where components are placed.
28
3/30/2024
29
3/30/2024
Questions?
30
3/30/2024

Chapter 2- Architecture os distributed system.ppt

  • 1.
  • 2.
    Course Outline  Introduction Architectural Styles  System Architectures 2 3/30/2024
  • 3.
    Introduction  Distributed System’sarchitecture defines how the various components and nodes in the system are connected, communicate, and collaborate to 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. 3 3/30/2024
  • 4.
    Introduction  The organizationof distributed systems is mostly about the software components that constitute the system.  These software architectures tell us how the various software components are to be organized and how they should interact.  The actual realization of a distributed system requires that it can be instantiated and placed software components on real machines which is called system architecture. 4 3/30/2024
  • 5.
     Common typesof architecture are 1. Centralized architectures ( traditional ) in which a single server implements most of the software components (and thus functionality), while remote clients can access that server using simple communication means. 2. Decentralized architectures in which machines more or less play equal roles, as well as hybrid organizations. 5 3/30/2024
  • 6.
     The logicalorganization 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 connected to each other, the data exchanged between components and finally how these elements are jointly configured into a system.  A component is a modular unit with well- defined required and provided interfaces that is replaceable within its environment. 6 3/30/2024
  • 7.
     A connector,which is generally described as a mechanism that mediates communication, coordination, or cooperation among components.  Basic architectural styles for distributed systems are:  1. Layered architectures 2. Object-based architectures 3. Data-centred architectures 4. Event-based architectures 7 3/30/2024
  • 8.
     Components areorganized in a layered fashion.  Widely adopted by the networking community.  Requests go down the hierarchy where as the results flow upward. 8 3/30/2024
  • 9.
    9  Each objectconsidered as a component, and these components are connected through a remote (procedure call) mechanism.  Matches the client-server system architecture.  The layered and object based architectures still form the most important styles for large software systems. 3/30/2024
  • 10.
     Processes communicatethrough a common (passive or active) repository.  Web-based distributed systems are largely data-centric processes communicate through the use of shared Web-based data services. 10 3/30/2024
  • 11.
     Communicate throughthe propagation of events, which optionally also carry data.  Event propagation has generally been associated with what are known as publish/subscribe systems.  The basic idea is that processes publish events after middleware ensures that only those processes that subscribed to those events will receive them.  The main advantage of event-based systems is that processes are loosely coupled. 11 3/30/2024
  • 12.
     This isthe result of combination of event-based and data-centred architectures.  The essence of shared data spaces is that processes are now also decoupled in time: they need not both be active when communication takes place.  They all aim at achieving (at a reasonable level) distribution transparency.  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. 12 3/30/2024
  • 13.
     Deciding onsoftware components, their interaction, and their placement leads to an instance of a software architecture, also called a system architecture.  Common types are: 1. Centralized organizations 2. Decentralized organizations 3. Hybrid organizations 13 3/30/2024
  • 14.
     Helps usto understand and manage the complexity of distributed systems.  Common example in this organization is client- server model.  In the basic client-server model, processes in a distributed system are divided into two (possibly overlapping) groups. 1. A server is a process implementing a specific service, for example, a file system service or a database service. 2. A client is a process that requests a service from a server by sending it a request and subsequently waiting for the server's reply. 14 3/30/2024
  • 15.
    15 General interaction betweena 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
  • 16.
     There isoften no clear distinction b/n client and server. For example, a server for a distributed database may continuously act as a client because it is forwarding requests to different file servers responsible for implementing the database tables.  Many people have advocated a distinction between 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 16 3/30/2024
  • 17.
    17 The simplified exampleof their organization is an Internet search engine into three different layers. 3/30/2024
  • 18.
     The simplestorganization is to have only two types 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. 18 3/30/2024
  • 19.
     Server maysometimes 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. 19 3/30/2024
  • 20.
     we referto as horizontal distribution w/c is known as peer-to-peer systems.  Interaction between processes is symmetric: each process will act as a client and a server at the same time (which is also referred to as acting as a servent).  A process cannot communicate directly with an arbitrary other process, but is required to send messages through the available communication channels.  Two types of overlay networks exist: those that are structured and those that are Unstructured Peer-to- Peer Architectures. 20 3/30/2024
  • 21.
     Overlay networkis 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
  • 22.
     Largely relyon randomized algorithms for constructing an overlay network.  Data items are assumed to be randomly placed 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 network with 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. 22 3/30/2024
  • 23.
     One keyobservation 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 two layered approach 23 3/30/2024
  • 24.
     Nodes suchas those maintaining an index or acting as a broker are generally referred to as superpeers. Organized in a peer-to-peer network, leading to a hierarchical organization. 24 3/30/2024
  • 25.
     Distributed systemsin which client-server solutions are combined with decentralized architectures.  Edge-Server Systems Servers are placed "at the edge" of the network formed by enterprise networks and the actual Internet, for example, as provided by an Internet Service Provider (ISP). 25 3/30/2024
  • 26.
     Traditional client-serverscheme 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. 26 3/30/2024
  • 27.
     Middleware systemsactually follow a specific architectural style.  Benefit that designing applications may become simpler.  Interceptors Conceptually, an interceptor is nothing but a software construct that will break the usual flow of control and allow other 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. 27 3/30/2024
  • 28.
     The needfor adaptation comes from the fact that the environment in which distributed applications are executed changes continuously to consider the construction of adaptive software. Discussion This approach is seen to work better when discussing the physical organization of distributed systems when decisions are taken about where components are placed. 28 3/30/2024
  • 29.
  • 30.