[go: up one dir, main page]

0% found this document useful (0 votes)
18 views4 pages

CSC - 406 - 2 - DS Architectures

Architecture models of distributed systems define components, their relationships, and placement across a network. Common models include client-server, with separate client and server processes, and peer-to-peer, with equal peer nodes. Client-server divides tasks into requesting clients and providing servers, and servers may themselves act as clients. Variants include mobile code downloading to clients and mobile agents that travel between systems. Multi-tier architectures separate interfaces, business logic, and data into distinct tiers for scalability and flexibility.

Uploaded by

Samad
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)
18 views4 pages

CSC - 406 - 2 - DS Architectures

Architecture models of distributed systems define components, their relationships, and placement across a network. Common models include client-server, with separate client and server processes, and peer-to-peer, with equal peer nodes. Client-server divides tasks into requesting clients and providing servers, and servers may themselves act as clients. Variants include mobile code downloading to clients and mobile agents that travel between systems. Multi-tier architectures separate interfaces, business logic, and data into distinct tiers for scalability and flexibility.

Uploaded by

Samad
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/ 4

Architecture Models of Distributed Systems

• An architectural model of a distributed system is


concerned with the definition and placement of its Client/Server Basic Model (1)
components and relationship between them. Its goals:
– Meet present and likely future demands.
For a specific service; processes are divided into
– Make the system reliable, manageable, adaptable, and cost- two groups: servers and clients
effective.
• An architectural Model should: • Client:
– Simplify and abstract the functions of individual components – A process that requests service. Clients usually
• Example of an initial simplification is achieved by classifying invoked by end users when they require service. A
processes as server process / client process / peer process.
– Define the placement of the components across a network of Client usually blocks until server responds.
computers and patterns for the distribution of data and workloads
– The interrelationship between the components • Server:
• i.e. functional roles and the patterns of communication between – A process that provides service and usually with
them.
• Examples of architecture models: special privileges. A Server usually waits for incoming
– Client-Sever, requests.
– Peer-to-peer, – A Server can have many clients making concurrent
– Service Oriented Architecture. requests.

An Example Client and Server


Client/Server Basic Model (2)
(1)
Client invocation invocation
Server • The header.h file used by the client and
result result
server.
Server

Client
Key:
Process: Computer:

• Client process interact with individual server processes in order to


access data or resource. The server in turn may use services of
other servers.
• Examples:
– A Web browser is a client to a Web Server which is often a client of file
server. Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms. Prentice‐Hall, Inc. 2002

An Example Client and Server An Example Client and Server


(2) (3)
• A sample server. • A client using the server to copy a file.

Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms. Prentice‐Hall, Inc. 2002
Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms. Prentice‐Hall, Inc. 2002

1
Advantages of the Client-Server Problems with the Multiple Client /
Architecture Single Server Architecture
• Efficient division of labor.
• Server forms a bottleneck.
• Horizontal and vertical scaling of resources.
• Server forms a single point of failure.
• Better price/performance on client machines.
• System scaling is difficult.
• Ability to use familiar tools on client machines.
• Client access to remote data (via standards) .
• Full DBMS functionality provided to client
workstations.
• Overall better system price/performance.

Variants of Client/Sever Model Variants of Client Sever Model:


Mobile Code and Web Applets
a) client request results in the downloading of applet code
• C/S can be modified by:
– The partitioning /replication of Web
data at cooperative servers Client
server
Applet code

b) client interacts with the applet

Web
Client Applet server

• Applets downloaded to clients give good interactive response.


• Mobile codes such as applets are potential security threat,
– The browser gives applets limited access to local resources (e.g.
NO access to local/user file system).
– The caching of data by proxy servers or clients

Variants of Client Sever Model: Application S/W Logical Components


Mobile Agents
• Mobile agent: A running program (code and data)
that travels from one computer to another in a
network carrying out an autonomous task, usually
on behalf of some other process.
– Advantages: flexibility, savings in communications cost
• Potential security threat to the resources in
computers they visit. The environment receiving
agent should decide which of the local resource(s)
to allow. (e.g., crawlers and web servers). Copywrite: Sanjeev Setia; Distributed Software Systems
• Agents themselves can be vulnerable – they may
not be able to complete task if they are refused • Many applications can be considered to be made
up of three software components or logical tiers:
access.
– user interface, processing (logic) layer, and data layer

2
Architecture of Application S/W 3-Tier C/S Architecture
• Client/server architectures
– single-physical tiered
– two-physical tiered
– multi-tiered

e.g. Distributed DB Network File system WWW Telnet X-windows


Gartener Group Configurations

Advantages of Multi-Tier • An example of horizontal distribution of a


Architecture Web service.
• Frees clients from dependencies on the exact
implementation of the database.
• It allows “business logic” to be concentrated in
one place.
• Software updates are restricted to middle layer
• Performance improvements possible by
batching requests from many clients to the
database.
• Database and business logic tiers could be
implemented by multiple servers for scalability

Peer-to-Peer (P2P) Architecture


Definition: Structured Peer-to-Peer
• A P2P computer network refers to any network that does not have fixed
clients and servers, but a number of peer nodes that function as both
clients and servers to other nodes on the network. (Wikipedia.org) • Chord System: nodes are
• P2P computing is an alternative to the centralized and client-server logically organized in a ring.
models of computing,
– In its purest form, the P2P model has no concept of server; rather all • Mapping between nodes
participants are peers.
and the data they own is
required.
• Function lookup(k) returns
the network address of the
• Because accessing these decentralized resources means operating in node owning k. Lookups
an un-trusted environment of unstable connectivity and unpredictable
IP addresses, P2P nodes must operate outside the DNS system and can be done in O(log(N)),
have significant or total autonomy from central servers. where N is the number of
nodes.
Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms. Prentice‐Hall, Inc. 2002

3
Unstructured Peer-to-Peer Peer-peer applications
• Rely on randomized algorithms for • File sharing
constructing overlay networks that resembles a – Napster, Gnutella, KaZaa.
– Second generation projects
random graph. • Oceanstore, PAST, Freehaven, FreeNet.
• Main idea: • Distributed Computation
– Each node maintains a list of neighbors, but that this – SETI@home, Entropia, Parabon, United Devices,
list is constructed in a more or less random way. Popular Power.
– Data items are assumed to be randomly placed on • Other Applications
nodes. – Content Distribution (BitTorrent).
– Instant Messaging (Jabber), Anonymous Email.
– Goal is that each node constructs a partial view of the
– Groupware (Groove).
graph.
– P2P Databases.

Hybrid Architecture
• Solution with client-server architectures are combined
with decentralized architectures.

• BitTorrent :
– A centralized server is needed to let the client know about
the nodes from which chuncks of the file can be
downloaded.
– Once the client joins the system as a node, a
Spring 2014 CS432: Distributed Systems 21
decentralized architecture will be used.

You might also like