SlideShare a Scribd company logo
/26
1
Parallel and Distributed Computing
Lecture 2: Architectures of Distributed
System
Zubaer Ibna Mannan
Kyungdong University
Global Campus
/26
2
ARCHITECTURAL STYLES
/26
3
Architectural Styles
 Architectural style is formulated in terms of components.
 A component is a modular unit with well-defined required and provided interfaces that is replaceable
within its environment.
 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.
 In a distributed system a connector is generally described as a mechanism that mediates communication,
coordination, or cooperation among components
 Based on the components and connectors, the architectural styles of a distributed system can be classified
as
 Layered architectures
 Object-based architectures
 Data-centered architectures
 Event-based architectures
/26
4
Layered Architectures
 Components are organized in a layered fashion.
 A component at layer LN is allowed to call
components at the underlying layer LN −1, but not the
other way around.
 A key observation is that control generally flows
from layer to layer.
 Requests go down the hierarchy
 In contrast, the results flow upward.
/26
5
Object-based Architectures
 Objected-based architectural styles is based on an
arrangement of loosely coupled objects, it is less structured.
 Each object corresponds to what we define as a component.
 These components are connected through a (remote)
procedure call mechanism.
 In this case of distributed systems, the calling object does not
need to be executed on the same machine as the called object.
 Object-based architectures are attractive because they provide
a natural way to encapsulate data (called the “state” of the
object) and the operations that can be performed on that data
(which are called “methods” or behavior of the object) in a
single entity.
/26
6
Data-centered Architectures
 In data-centered architecture, the data is centralized and accessed frequently by other components, which
modify data.
 The main purpose of this style is to achieve integrality of data.
 Data-centered architecture consists of different components that communicate through shared data
repositories.
 The components access a shared data structure and are
relatively independent, in that, they interact only through
the data store.
 The most well-known examples of the data-centered
architecture is a database architecture, in which the
common database schema is created with data definition
protocol.
/26
7
Event-based Architectures
 In event-based architectures, processes essentially communicate through the propagation of events and
optionally also carry data.
 For distributed systems, event propagation has generally been associated with publish/subscribe
systems.
 The basic idea is that processes publish events after which the 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. In principle, they need
not explicitly refer to each other.
 Event-based architectures can
be combined with data-
centered architectures,
yielding as shared data
spaces.
/26
8
SYSTEM ARCHITECTURES
/26
9
Centralized Architectures: Client – Server
 Client – Server model processes in a distributed system are divided into two (possibly overlapping) groups.
 A server is a process implementing a specific service, for example, a file system service or a database service.
 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.
 When a client requests a service, it simply packages a message
for the server, identifying the service it wants, along with the
necessary input data. The message is then sent to the server.
 The latter, in turn, will always wait for an incoming request,
subsequently process it, and package the results in a reply
message that is then sent to the client.
 Have multiple clients that decide when and how to use the
shared resource and display it, change data, and send it back to
the server.
/26
10
 Three-tier architecture organizes applications into three logical and physical computing tiers: the
presentation tier, or user interface; the application tier, where data is processed; and the data tier, where
the data associated with the application is stored and managed.
Centralized Architectures: Three – tier
 Presentation tier is the user interface and communication layer of
the application, where the end user interacts with the application. Its
main purpose is to display information to and collect information
from the user.
 Application tier (logic tier or middle tier) is the heart of the
application. Information collected in the presentation tier is
processed and decision making is conducted in middle tier. It act
like an agent that receives requests from clients, processes the data
and then forwards it on to the servers.
 Data tier (or database tier) the information processed by the
application is stored and managed.
 In a three-tier application, all communication goes through the
application tier. The presentation tier and the data tier cannot
communicate directly with one another.
/26
11
Centralized Architectures: Multi – Tier
 Multi – Tier architecture is used to divide an enterprise application into two or more components that may
be separately developed and executed.
 Multi-tier application includes: presentation tier, application processing tier, data access tier, and data tier.
 Presentation tier: Provides basic user interface and application access services
 Application processing tier: Possesses the core business or application logic
 Data access tier: Provides the mechanism used to access and process data
 Data tier: Holds and manages data that is at rest
 This division allows each component/tier to be separately developed, tested,
executed and reused.
 Enterprise application has both external and internal users which use a web-
based application which communicates back to a common set of application
servers. Finally, the application servers communicate with a database server.
/26
12
 In Peer-to-Peer (P2P) architectures, computing or networking is a distributed application architecture
that partitions tasks or workloads between peers.
 Peers are equally privileged, equipotent participants in the application and said to form a peer-to-peer
network of nodes.
 This means that the functions that need to be carried out are represented by every process that
constitutes the distributed system.
De-centralized Architectures: Peer-to-Peer (P2P)
 Peers make a portion of their resources (such as processing power, disk
storage or network bandwidth) directly available to other network
participants, without the need for central coordination by servers or
stable hosts.
 Peers are both suppliers and consumers of resources, in contrast to the
traditional client–server model in which the consumption and supply of
resources is divided.
Peer
/26
13
De-centralized Architectures: Unstructured peer-to-peer
 Unstructured peer-to-peer networks do not impose a particular structure on the overlay network by
design, but rather are formed by nodes that randomly and freely connects with each other, e.g., it selects
arbitrary peers as neighbors.
 It neither has a centralized directory nor has any control over the network topology or resource placement.
 It largely relies on randomized algorithms for constructing an overlay network. Like as randomized
neighboring nodes the data items are assumed to be randomly placed on these nodes.
Live
node
 Each node maintains a list of c neighbors (also known partial view).
Nodes regularly exchange entries from their partial view.
 Each entry identifies another node in the network, and has an
associated age that indicates how old the reference to that node is.
 The active thread takes the initiative to communicate with another
node and selects the nodes from its current partial view.
 Assuming that entries need to be pushed to the selected peer, it
continues by constructing a buffer containing c/2+1 entries, including
an entry identifying itself. The other entries are taken from the current
partial view.
/26
14
De-centralized Architectures: Unstructured peer-to-peer
 If the node is also in pull mode it will wait for a response from the selected peer. That peer, in the
meantime, will also have constructed a buffer by means the passive thread whose activities strongly
resemble that of the active thread.
 Benefits:
 Because of no structure globally imposed upon them, unstructured networks are easy to build and
allow for localized optimizations to different regions of the overlay.
 Also, because of same role of all peers in network, unstructured networks are highly robust.
Live
node
 Limitations:
 The primary limitations of unstructured networks also arise from this
lack of structure. When a peer wants to find a desired piece of data in
the network, the search query must be flooded through the network
to find as many peers as possible that share the data.
 Flooding causes a very high amount of signaling traffic in the
network, uses more CPU/memory and does not ensure that search
queries will always be resolved. Furthermore, since there is no
correlation between a peers and the content managed by it, there is
no guarantee that flooding will find a peer that has the desired data.
/26
15
 In Structured Peer-to-Peer architectures, the overlay is organized into a specific topology, and the
protocol ensures that any node can efficiently search the network for a file/resource, even if the
resource is extremely rare.
 The overlay network is constructed using a deterministic procedure, namely distributed hash table
(DHT).
 In DHT, a variant of consistent hashing is used to assign ownership of each file to a particular peer
and enables peers to search for resources on the network using a hash table: that is, (key, value) pairs
are stored in the DHT.
De-centralized Architectures: Structured Peer-to-Peer
 In order to route traffic efficiently through the network, nodes in a
structured overlay must maintain lists of neighbors that satisfy
specific criteria. This makes them less robust in networks with a
high rate of churn (i.e. with large numbers of nodes frequently
joining and leaving the network)
 When looking up a data item, the network address of the node
responsible for that data item is returned. This is accomplished by
routing a request for a data item to the responsible node.
/26
16
Hybrid Architectures (1)
Many distributed systems combine architectural features (example: client-server solutions are combined with
decentralized architectures), such combine architectural featuring systems are known as Hybrid architectures.
 Edge-Server Systems: are deployed on the Internet where servers are placed ‘‘at the edge’’ of the network.
 This edge is formed by the boundary between enterprise networks and the actual Internet (example.
Internet service provider (ISP)).
 End users at home connect to the Internet through their ISP.
 End users, or clients in general, connect to the Internet by means of an edge server.
 The edge server’s main purpose is to serve content,
possibly after applying filtering and transcoding.
 More interesting fact is that a collection of edge servers
can be used to optimize content and application
distribution.
 For a specific organization, one edge server acts as an
origin server from which all content originates. That
server can use other edge servers for replicating Web
pages.
/26
17
Hybrid Architectures (2)
 Collaborative Distributed Systems is used to deploy the Hybrid structures. Main issue of Hybrid systems is
to get started first which often use centralized client-server scheme. Once a node (client-server) has joined the
system, it uses a fully decentralized scheme for collaboration. Example: BitTorrent file-sharing.
 BitTorrent is a peer-to-peer file downloading system where an end user downloads chunks of the desired file
from other users until the downloaded chunks can be assembled together yielding the complete file.
 In most file-sharing systems, a file can be downloaded only when the downloading client is providing
content to someone else.
 To download a file, a user needs to access a global directory (i.e., Web sites) where such a directory contains
references (.torrent files).
 A .torrent file contains the information that is needed to download a specific file. Particularly, it refers to a
tracker which is a server that keeps an accurate account of active nodes that have chunks of the requested file.
 An active node is one that is currently downloading
another file. Once the nodes have been identified from
where chunks can be downloaded, the downloading node
effectively becomes active and forces other nodes to help.
 If node P notices Q is downloading more than uploading,
then P can decrease the rate at which P sends data to Q.
/26
18
MIDDLEWARE SYSTEM
/26
19
Middleware System
What Does Middleware Mean?
 Middleware is a software layer situated between applications and operating systems.
 Middleware is typically used in distributed systems where it simplifies software development by doing
the following:
 Hides the intricacies of distributed applications
 Hides the heterogeneity of hardware, operating systems and protocols
 Provides uniform and high-level interfaces used to make interoperable, reusable and portable
applications
 Provides a set of common services that minimizes duplication of efforts and enhances collaboration
between applications
/26
20
Kinds Middleware System (1)
New application development
 Middleware can support modern and popular runtimes for a variety of use cases.
 Developers and architects can work with agility across platforms, following sets of foundational runtimes,
frameworks, and programming languages.
 Middleware can also deliver commonly used functions such as web servers, single sign-on (SSO),
messaging, and in-memory caching.
Optimization of existing applications
 Middleware can help developers transform legacy monolithic applications into
cloud-native applications, keeping valuable tools active with better performance
and more portability.
 Legacy applications are implemented as monoliths, in which all data storage and
processing are controlled by the monolith, and all functions for all data objects are
processed using the same backend codebase.
Monolith
/26
21
Kinds Middleware System (2)
Comprehensive integration
 Middleware integration tools connect critical internal and external systems. Integration capabilities like
transformation, connectivity, composability, and enterprise messaging, combined with SSO
authentication, make it easier for developers to extend capabilities across different applications.
Application Programming Interfaces (APIs)
 Many middleware services are accessed through APIs, which are sets of tools, definitions, and protocols
that allow applications to communicate with each other.
 APIs make it possible to connect completely different products and services through a common layer.
/26
22
Kinds Middleware System (3)
Data streaming
 While APIs are one way to share data between applications, another approach is
asynchronous data streaming.
 This replicates a data set in an intermediate store, where the data can be shared
among multiple applications.
 One popular open source middleware tool for real-time data streaming
is Apache Kafka.
Intelligent business automation
 Middleware can help developers, architects, IT, and business leaders automate manual decisions.
 Automation can improve resource management and overall efficiency.
/26
23
SELF-MANAGEMENT IN DISTRIBUTED SYSTEMS
/26
24
The Feedback Control Model
 The most important feature of self-managing systems is the adaptations which take place by means of one
or more feedback control loops.
 The core of a feedback control system is formed by the components that need to be managed.
 These components are assumed to be driven through controllable input parameters, but their behavior
may be influenced by all kinds of uncontrollable input, also known as disturbance or noise input.
 Although disturbance will often come from
the environment in which a distributed
system is executing, it may well be the case
that unanticipated component interaction
causes unexpected behavior.
 There are essentially three elements that form
the feedback control loop:
 Metric Estimation Component
 Feedback Analysis Component
 Adjustment Component
/26
25
The Feedback Control Model
 Metric Estimation Component: Measures the various aspects (such as round-trip delays, latency between
nodes, effect of noise, placing replicas, changing scheduling priorities, switching services, and so on) of
the distributed system and sends those measured metrics to the analyzer.
 Feedback Analysis Component: It analyzes the measurements and compares these to reference values. It
forms the heart of the control loop as it contain the algorithms that decide on possible adaptations.
 Adjustment Component: consist of various
mechanisms to directly influence the behavior of
the system. There can be many different
mechanisms: placing replicas, changing scheduling
priorities, switching services, moving data for
reasons of availability, redirecting requests to
different servers, etc. The analysis component will
need to be aware of these mechanisms and their
expected effect on system behavior. Therefore, it
will trigger one or several mechanisms, to
subsequently later observe the effect.
/26
26
Home Work
Study Examples:
 2.4.2 Example: Systems Monitoring with Astrolabe
 2.4.3 Example: Differentiating Replication Strategies in
Globule
 2.4.4 Example: Automatic Component Repair Management in
Jade

More Related Content

PPT
Chapter 2- Architecture os distributed system.ppt
PPT
Communications is distributed systems
PPT
Chapter 2A-Architectures.ppt
PDF
chapter 2 architecture
PPT
Chapter 2-Architectures23.ppt
PPT
Chapter 2-Architectures2.ppt
PPTX
chapter-1Introduction to DS,Issues and Architecture.pptx
PDF
Architectures of Distributed Systems.pdf
Chapter 2- Architecture os distributed system.ppt
Communications is distributed systems
Chapter 2A-Architectures.ppt
chapter 2 architecture
Chapter 2-Architectures23.ppt
Chapter 2-Architectures2.ppt
chapter-1Introduction to DS,Issues and Architecture.pptx
Architectures of Distributed Systems.pdf

Similar to Lecture_2_Architectures of Distributed System.pptx (20)

PDF
distrubuted system bca tu distrubuted system bca tudistrubuted system bca tu
PDF
This chapter introduces about the Architectures of Distributed Systems
PDF
This chapter gives the Architectures Introduction about distributed systems
PPTX
02 - Topologies of Distributed Systems
PPTX
DISTRIBUTED SYSTEM ARCHITECTURE.pptx
PPTX
Chapter 2 Architecture (updated).pptx
PPTX
ds2p1.pptx
DOC
Distributed Computing Report
PPT
3. Distributed System Models ssssssssssssssssss.ppt
PDF
Lecture5 architecture styles.pdf
PPT
DSchap-02.ppt
PPT
System models 2 in distributed system
PPTX
communication in distributed systems
PPT
Arquitecturas en los sistemas distribuidos
PDF
Distributed Systems in Data Engineering
PDF
11 Distributrd Systems and parallel systems_Chapter 2
PPTX
Distributed Computing - System Models.pptx
PPTX
Distributed architecture (SAD)
PPTX
Distributed Systems for Data Sciene and Analytics
PPT
System models in distributed system
distrubuted system bca tu distrubuted system bca tudistrubuted system bca tu
This chapter introduces about the Architectures of Distributed Systems
This chapter gives the Architectures Introduction about distributed systems
02 - Topologies of Distributed Systems
DISTRIBUTED SYSTEM ARCHITECTURE.pptx
Chapter 2 Architecture (updated).pptx
ds2p1.pptx
Distributed Computing Report
3. Distributed System Models ssssssssssssssssss.ppt
Lecture5 architecture styles.pdf
DSchap-02.ppt
System models 2 in distributed system
communication in distributed systems
Arquitecturas en los sistemas distribuidos
Distributed Systems in Data Engineering
11 Distributrd Systems and parallel systems_Chapter 2
Distributed Computing - System Models.pptx
Distributed architecture (SAD)
Distributed Systems for Data Sciene and Analytics
System models in distributed system
Ad

Recently uploaded (20)

PPT
Project quality management in manufacturing
PDF
R24 SURVEYING LAB MANUAL for civil enggi
DOCX
573137875-Attendance-Management-System-original
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
Well-logging-methods_new................
PPT
Mechanical Engineering MATERIALS Selection
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
web development for engineering and engineering
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
Geodesy 1.pptx...............................................
Project quality management in manufacturing
R24 SURVEYING LAB MANUAL for civil enggi
573137875-Attendance-Management-System-original
Model Code of Practice - Construction Work - 21102022 .pdf
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
bas. eng. economics group 4 presentation 1.pptx
Well-logging-methods_new................
Mechanical Engineering MATERIALS Selection
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
OOP with Java - Java Introduction (Basics)
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
web development for engineering and engineering
Automation-in-Manufacturing-Chapter-Introduction.pdf
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Geodesy 1.pptx...............................................
Ad

Lecture_2_Architectures of Distributed System.pptx

  • 1. /26 1 Parallel and Distributed Computing Lecture 2: Architectures of Distributed System Zubaer Ibna Mannan Kyungdong University Global Campus
  • 3. /26 3 Architectural Styles  Architectural style is formulated in terms of components.  A component is a modular unit with well-defined required and provided interfaces that is replaceable within its environment.  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.  In a distributed system a connector is generally described as a mechanism that mediates communication, coordination, or cooperation among components  Based on the components and connectors, the architectural styles of a distributed system can be classified as  Layered architectures  Object-based architectures  Data-centered architectures  Event-based architectures
  • 4. /26 4 Layered Architectures  Components are organized in a layered fashion.  A component at layer LN is allowed to call components at the underlying layer LN −1, but not the other way around.  A key observation is that control generally flows from layer to layer.  Requests go down the hierarchy  In contrast, the results flow upward.
  • 5. /26 5 Object-based Architectures  Objected-based architectural styles is based on an arrangement of loosely coupled objects, it is less structured.  Each object corresponds to what we define as a component.  These components are connected through a (remote) procedure call mechanism.  In this case of distributed systems, the calling object does not need to be executed on the same machine as the called object.  Object-based architectures are attractive because they provide a natural way to encapsulate data (called the “state” of the object) and the operations that can be performed on that data (which are called “methods” or behavior of the object) in a single entity.
  • 6. /26 6 Data-centered Architectures  In data-centered architecture, the data is centralized and accessed frequently by other components, which modify data.  The main purpose of this style is to achieve integrality of data.  Data-centered architecture consists of different components that communicate through shared data repositories.  The components access a shared data structure and are relatively independent, in that, they interact only through the data store.  The most well-known examples of the data-centered architecture is a database architecture, in which the common database schema is created with data definition protocol.
  • 7. /26 7 Event-based Architectures  In event-based architectures, processes essentially communicate through the propagation of events and optionally also carry data.  For distributed systems, event propagation has generally been associated with publish/subscribe systems.  The basic idea is that processes publish events after which the 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. In principle, they need not explicitly refer to each other.  Event-based architectures can be combined with data- centered architectures, yielding as shared data spaces.
  • 9. /26 9 Centralized Architectures: Client – Server  Client – Server model processes in a distributed system are divided into two (possibly overlapping) groups.  A server is a process implementing a specific service, for example, a file system service or a database service.  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.  When a client requests a service, it simply packages a message for the server, identifying the service it wants, along with the necessary input data. The message is then sent to the server.  The latter, in turn, will always wait for an incoming request, subsequently process it, and package the results in a reply message that is then sent to the client.  Have multiple clients that decide when and how to use the shared resource and display it, change data, and send it back to the server.
  • 10. /26 10  Three-tier architecture organizes applications into three logical and physical computing tiers: the presentation tier, or user interface; the application tier, where data is processed; and the data tier, where the data associated with the application is stored and managed. Centralized Architectures: Three – tier  Presentation tier is the user interface and communication layer of the application, where the end user interacts with the application. Its main purpose is to display information to and collect information from the user.  Application tier (logic tier or middle tier) is the heart of the application. Information collected in the presentation tier is processed and decision making is conducted in middle tier. It act like an agent that receives requests from clients, processes the data and then forwards it on to the servers.  Data tier (or database tier) the information processed by the application is stored and managed.  In a three-tier application, all communication goes through the application tier. The presentation tier and the data tier cannot communicate directly with one another.
  • 11. /26 11 Centralized Architectures: Multi – Tier  Multi – Tier architecture is used to divide an enterprise application into two or more components that may be separately developed and executed.  Multi-tier application includes: presentation tier, application processing tier, data access tier, and data tier.  Presentation tier: Provides basic user interface and application access services  Application processing tier: Possesses the core business or application logic  Data access tier: Provides the mechanism used to access and process data  Data tier: Holds and manages data that is at rest  This division allows each component/tier to be separately developed, tested, executed and reused.  Enterprise application has both external and internal users which use a web- based application which communicates back to a common set of application servers. Finally, the application servers communicate with a database server.
  • 12. /26 12  In Peer-to-Peer (P2P) architectures, computing or networking is a distributed application architecture that partitions tasks or workloads between peers.  Peers are equally privileged, equipotent participants in the application and said to form a peer-to-peer network of nodes.  This means that the functions that need to be carried out are represented by every process that constitutes the distributed system. De-centralized Architectures: Peer-to-Peer (P2P)  Peers make a portion of their resources (such as processing power, disk storage or network bandwidth) directly available to other network participants, without the need for central coordination by servers or stable hosts.  Peers are both suppliers and consumers of resources, in contrast to the traditional client–server model in which the consumption and supply of resources is divided. Peer
  • 13. /26 13 De-centralized Architectures: Unstructured peer-to-peer  Unstructured peer-to-peer networks do not impose a particular structure on the overlay network by design, but rather are formed by nodes that randomly and freely connects with each other, e.g., it selects arbitrary peers as neighbors.  It neither has a centralized directory nor has any control over the network topology or resource placement.  It largely relies on randomized algorithms for constructing an overlay network. Like as randomized neighboring nodes the data items are assumed to be randomly placed on these nodes. Live node  Each node maintains a list of c neighbors (also known partial view). Nodes regularly exchange entries from their partial view.  Each entry identifies another node in the network, and has an associated age that indicates how old the reference to that node is.  The active thread takes the initiative to communicate with another node and selects the nodes from its current partial view.  Assuming that entries need to be pushed to the selected peer, it continues by constructing a buffer containing c/2+1 entries, including an entry identifying itself. The other entries are taken from the current partial view.
  • 14. /26 14 De-centralized Architectures: Unstructured peer-to-peer  If the node is also in pull mode it will wait for a response from the selected peer. That peer, in the meantime, will also have constructed a buffer by means the passive thread whose activities strongly resemble that of the active thread.  Benefits:  Because of no structure globally imposed upon them, unstructured networks are easy to build and allow for localized optimizations to different regions of the overlay.  Also, because of same role of all peers in network, unstructured networks are highly robust. Live node  Limitations:  The primary limitations of unstructured networks also arise from this lack of structure. When a peer wants to find a desired piece of data in the network, the search query must be flooded through the network to find as many peers as possible that share the data.  Flooding causes a very high amount of signaling traffic in the network, uses more CPU/memory and does not ensure that search queries will always be resolved. Furthermore, since there is no correlation between a peers and the content managed by it, there is no guarantee that flooding will find a peer that has the desired data.
  • 15. /26 15  In Structured Peer-to-Peer architectures, the overlay is organized into a specific topology, and the protocol ensures that any node can efficiently search the network for a file/resource, even if the resource is extremely rare.  The overlay network is constructed using a deterministic procedure, namely distributed hash table (DHT).  In DHT, a variant of consistent hashing is used to assign ownership of each file to a particular peer and enables peers to search for resources on the network using a hash table: that is, (key, value) pairs are stored in the DHT. De-centralized Architectures: Structured Peer-to-Peer  In order to route traffic efficiently through the network, nodes in a structured overlay must maintain lists of neighbors that satisfy specific criteria. This makes them less robust in networks with a high rate of churn (i.e. with large numbers of nodes frequently joining and leaving the network)  When looking up a data item, the network address of the node responsible for that data item is returned. This is accomplished by routing a request for a data item to the responsible node.
  • 16. /26 16 Hybrid Architectures (1) Many distributed systems combine architectural features (example: client-server solutions are combined with decentralized architectures), such combine architectural featuring systems are known as Hybrid architectures.  Edge-Server Systems: are deployed on the Internet where servers are placed ‘‘at the edge’’ of the network.  This edge is formed by the boundary between enterprise networks and the actual Internet (example. Internet service provider (ISP)).  End users at home connect to the Internet through their ISP.  End users, or clients in general, connect to the Internet by means of an edge server.  The edge server’s main purpose is to serve content, possibly after applying filtering and transcoding.  More interesting fact is that a collection of edge servers can be used to optimize content and application distribution.  For a specific organization, one edge server acts as an origin server from which all content originates. That server can use other edge servers for replicating Web pages.
  • 17. /26 17 Hybrid Architectures (2)  Collaborative Distributed Systems is used to deploy the Hybrid structures. Main issue of Hybrid systems is to get started first which often use centralized client-server scheme. Once a node (client-server) has joined the system, it uses a fully decentralized scheme for collaboration. Example: BitTorrent file-sharing.  BitTorrent is a peer-to-peer file downloading system where an end user downloads chunks of the desired file from other users until the downloaded chunks can be assembled together yielding the complete file.  In most file-sharing systems, a file can be downloaded only when the downloading client is providing content to someone else.  To download a file, a user needs to access a global directory (i.e., Web sites) where such a directory contains references (.torrent files).  A .torrent file contains the information that is needed to download a specific file. Particularly, it refers to a tracker which is a server that keeps an accurate account of active nodes that have chunks of the requested file.  An active node is one that is currently downloading another file. Once the nodes have been identified from where chunks can be downloaded, the downloading node effectively becomes active and forces other nodes to help.  If node P notices Q is downloading more than uploading, then P can decrease the rate at which P sends data to Q.
  • 19. /26 19 Middleware System What Does Middleware Mean?  Middleware is a software layer situated between applications and operating systems.  Middleware is typically used in distributed systems where it simplifies software development by doing the following:  Hides the intricacies of distributed applications  Hides the heterogeneity of hardware, operating systems and protocols  Provides uniform and high-level interfaces used to make interoperable, reusable and portable applications  Provides a set of common services that minimizes duplication of efforts and enhances collaboration between applications
  • 20. /26 20 Kinds Middleware System (1) New application development  Middleware can support modern and popular runtimes for a variety of use cases.  Developers and architects can work with agility across platforms, following sets of foundational runtimes, frameworks, and programming languages.  Middleware can also deliver commonly used functions such as web servers, single sign-on (SSO), messaging, and in-memory caching. Optimization of existing applications  Middleware can help developers transform legacy monolithic applications into cloud-native applications, keeping valuable tools active with better performance and more portability.  Legacy applications are implemented as monoliths, in which all data storage and processing are controlled by the monolith, and all functions for all data objects are processed using the same backend codebase. Monolith
  • 21. /26 21 Kinds Middleware System (2) Comprehensive integration  Middleware integration tools connect critical internal and external systems. Integration capabilities like transformation, connectivity, composability, and enterprise messaging, combined with SSO authentication, make it easier for developers to extend capabilities across different applications. Application Programming Interfaces (APIs)  Many middleware services are accessed through APIs, which are sets of tools, definitions, and protocols that allow applications to communicate with each other.  APIs make it possible to connect completely different products and services through a common layer.
  • 22. /26 22 Kinds Middleware System (3) Data streaming  While APIs are one way to share data between applications, another approach is asynchronous data streaming.  This replicates a data set in an intermediate store, where the data can be shared among multiple applications.  One popular open source middleware tool for real-time data streaming is Apache Kafka. Intelligent business automation  Middleware can help developers, architects, IT, and business leaders automate manual decisions.  Automation can improve resource management and overall efficiency.
  • 24. /26 24 The Feedback Control Model  The most important feature of self-managing systems is the adaptations which take place by means of one or more feedback control loops.  The core of a feedback control system is formed by the components that need to be managed.  These components are assumed to be driven through controllable input parameters, but their behavior may be influenced by all kinds of uncontrollable input, also known as disturbance or noise input.  Although disturbance will often come from the environment in which a distributed system is executing, it may well be the case that unanticipated component interaction causes unexpected behavior.  There are essentially three elements that form the feedback control loop:  Metric Estimation Component  Feedback Analysis Component  Adjustment Component
  • 25. /26 25 The Feedback Control Model  Metric Estimation Component: Measures the various aspects (such as round-trip delays, latency between nodes, effect of noise, placing replicas, changing scheduling priorities, switching services, and so on) of the distributed system and sends those measured metrics to the analyzer.  Feedback Analysis Component: It analyzes the measurements and compares these to reference values. It forms the heart of the control loop as it contain the algorithms that decide on possible adaptations.  Adjustment Component: consist of various mechanisms to directly influence the behavior of the system. There can be many different mechanisms: placing replicas, changing scheduling priorities, switching services, moving data for reasons of availability, redirecting requests to different servers, etc. The analysis component will need to be aware of these mechanisms and their expected effect on system behavior. Therefore, it will trigger one or several mechanisms, to subsequently later observe the effect.
  • 26. /26 26 Home Work Study Examples:  2.4.2 Example: Systems Monitoring with Astrolabe  2.4.3 Example: Differentiating Replication Strategies in Globule  2.4.4 Example: Automatic Component Repair Management in Jade