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

Chapter_02_Architectural Model_Slide

Uploaded by

ifraxdeer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Chapter_02_Architectural Model_Slide

Uploaded by

ifraxdeer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Introduction

to
Distributed Systems
Chapter 2
Architectures

Compiled by CS dept.
Architectural Styles
• Distributed systems are often complex pieces of software of which
Architecture

the components are by definition dispersed across multiple


machines.

• 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.

• In this chapter we will first pay attention to some commonly applied


approaches toward organizing (distributed) computer systems.
2
Architectural Styles cont.

• The notion of an architectural style is important. Such a style is


Architecture

formulated in terms of components, the way that components are


connected to each other, the data exchange between components
and finally how these elements are jointly configured into a system.

• Using components and connectors, we can come to various


configurations, which have been classified into architectural styles.

3
Architectural Styles cont.

• The logical organization of distributed systems into software


Architecture

components

• A component is a modular unit with well-defined required and


provided interfaces that is replaceable within its environment

• A connector is a mechanism that mediates the communication,


coordination, or cooperation among components, e.g., facilities for
RPC, message passing, or streaming data

4
Architecture
Architectural Styles cont.

•Layered architectures
Various •Object-based architectures
Architectural
Styles •Data-centered architectures

•Event-based architectures

5
Layered Architectures
• components are organized in a layered fashion where a component
Architecture

at layer Li is allowed to call components at the underlying layer Li-1,


but not the other way around; e.g., network layers

6
Object-based architectures
• Each object corresponds to a component and these components
Architecture

are connected through a remote procedure call mechanism (client-


server paradigm)

7
Data-centered Architectures
• Processes communicate through a common repository; e.g., a
Architecture

shared distributed file system


 A component posts information & some component may come along later and
retrieve the info.

 Data posted in the shared data space have no specific information about the
recipient.

8
Event-based Architectures
• Processes communicate through the propagation of events
Architecture

• Components communicate through Publish/Subscribe systems

• Processes publish events and the middleware ensures that only those
processes that subscribed to those events will receive them

9
System Architectures
• we have briefly discussed some common architectural styles, let us
Architecture

take a look at how many distributed systems are actually organized


by considering where software components are placed.

• Deciding on software components, their interaction, and their


placement leads to an instance of a software architecture, also
called a system architecture

• We will discuss centralized and decentralized organizations, as well as


various hybrid forms.

10
Centralized Architectures
 communication between client and server can be
Architecture

• by a connectionless protocol if the underlying network is fairly


reliable; efficient since there is no much overhead
 but assuring reliability is difficult

 when messages are lost or corrupted let the client send the request
again; applicable only for idempotent operations

 an operation is idempotent (unchanged) if it can be repeated


multiple times without harm; e.g., reading a record in a database

 By connection-oriented protocol if network is unreliable


11
• establishing and terminating connections is expensive
Centralized Architectures
• No clear distinction between a client and a server; for instance a
Architecture

server for a distributed database may act as a client when it forwards


requests to different file servers

• Application Layering

• The user-interface level: implemented by clients and contains all


that is required by a client; usually through GUIs, but not necessarily

• The processing level: contains the applications

• The data level: contains the programs that maintain the actual data

12
dealt with
13
Architecture
Example
Tw o - t i e r e d a r c h i t e c t u r e
Alternative client-server organizations
Architecture

 (a) put only terminal-dependent part of the user interface on the client
machine and let the applications remotely control the presentation
 (b) put the entire user-interface software on the client side
 (c) move part of the application to the client, e.g. Validation in filling forms
14  (d) and (e) are for powerful client machines (more popular)
Three tiered architecture
an example of a server acting as a client
Architecture

15
An example is the organization of Web sites
Decentralized Architectures
• Distributed processing is equivalent to organizing a client-server
Architecture

application as a multi-tiered architecture.

• Vertical distribution: the ones discussed so far where the different tiers
correspond directly with the logical organization of applications;
place logically different components on different machines

• Horizontal distribution: physically split up the client or the server into


logically equivalent parts
• an example is a peer-to-peer system where processes are equal and

16
hence each process acts as a client and a server at the same time.
Architecture

• Read about the different approaches of peer-to-peer

architecture – [ pages 44 - 51 ]

and

• about Architectures versus Middleware – [ pages 54 – 66 ]

17
Architecture
Example: Horizontal Distribution

Web service
18
Hybrid Architectures
• Edge-Server Systems: An important class of distributed systems that is
Architecture

organized according to hybrid architecture. It can be used to


optimize content and application distribution.

19
Hybrid Architectures
• Collaborative Distributed Systems: let us first consider the BitTorrent file-sharing
Architecture

system. BitTorrent is a peer-to-peer file downloading system.

• The basic idea is that when an end user is looking for a file, It downloads chunks of
the file from other users until the downloaded chunks can be assembled together
yielding the complete file.

• An important design goal was to ensure collaboration.

20
THANK YOU

You might also like