Professional Documents
Culture Documents
( CN-6123 )
CHAPTER – 2
Architectures
Chapter_2 Syllabus
System Architectures.
Introduction
•Distributed systems are often complex pieces of software.
•The components are by definition dispersed across
multiple machines.
•There are two different ways on how to view the
organization of a distributed system.
• Software Architectures.
- How software components are organized.
- How software components interact.
• System Architectures
- Describe the placement of software components on
physical machines.
Software Architectures
Layered Architectures
systems.
Software Architectures – Object Based
Object = Component.
RPC
RMI
software systems.
Software Architectures – Data Centered
Processes communicate through a common (passive / active)
repository.
Main purpose is data access and update.
place.
Ex. :
• Traditional data base (passive).
• Blackboard system (active).
• Web-based distributed systems.
• Shared distributed file systems.
Software Architectures – Event Based
Processes communicate through the propagation of events,
placement.
The Classification of System Architectures as follows
Centralized Architectures
– Application layering (logical software
layering)
– Multi-tiered architectures (system
architecture)
Decentralized Architectures
– Structured P2P (peer-to-peer) architectures
– Unstructured P2P architectures
System Architectures - Centralized
Vertical or hierarchical organization of communication and
server (responder).
In the basic or traditional client-server model,
Client-Server interaction is
Synchronous Communication:
Request - Reply
System Architectures – Centralized . . .
Implementation of Client-Server Communication
Connectionless protocol
Connection-oriented protocols
levels.
– User-interface level:
o Interacting with end users using either CUI or GUI.
- Processing level:
o Data processing applications.
o The core functionality.
- Data level:
o Interacts with data base or file system.
o Data usually is Persistent.
System Architectures – Centralized . . .
Examples for Layered Architectures
Desktop Office Suites
Thin Client
Fat Client
System Architectures – Centralized . . .
Multi-Tiered Architectures : Two – Tier Architectures
Thin Client
Server provides processing and data management.
Client provides simple graphical display.
- Perceived performance loss at client.
+ Easier to manage, more reliable.
Fat Client
All application processing and some data resides at the
client.
+ Reduces work load at server; more scalable
- Harder to manage by system admin, less secure
System Architectures – Centralized . . .
Multi-Tiered Architectures : Three – Tier Architectures
In some applications servers may also need to be clients, leading
two.
Ex. : * Distributed Transaction Processing
service attacks.
is not hierarchical.
System Architectures – Decentralized . . .
Nodes act as both client and server; interaction is symmetric.
Each node acts as a server for part of the total system data.
by the requester.
System Architectures – Decentralized . . .
Structured P2P Systems
A common approach is to use a Distributed Hash Table (DHT)
table.
The hash function value is used to insert an object in the hash
In a DHT, data objects and nodes are each assigned a key
space.
function value.
Random Graph.
Each node knows about a subset of nodes, its “neighbors”.
layered approach.
Lower layer:
broker
They hold index of information from its associated peers.
Edge-Server Systems.
server.
Edge is formed by the boundary between enterprise networks
BitTorrent
Globule
System Architectures – Hybrid . . .
Collaborative Distributed Systems - BitTorrent
P2P File downloading system.
Components for:
Redirect client requests to other servers.
Analyzing access patterns.
Managing the replication of Web pages.
Benefits of Globule
Good if your server goes down.
Good if too or slow traffic that your server can not handle.