You are on page 1of 7

Distributed Systems Peter Arnold peter.arnold254@gmail.

com

Distributed System Models
A model is intended to provide an abstract, simplified but consistent description of a relevant aspect of a
distributed system design. There are two types of distributed system models i.e.
Architectural models
Fundamental models
Architectural models
An architectural model defines the way in which the components of systems interact with one another
and the way in which they are mapped onto an underlying network of computers. The architecture of a
system is its structure in terms of separately specified components.
Model Considerations
The placement of the components across a network of computers - this defines patterns for
the distribution of data and workloads.
The interrelationships between the components this defines their functional roles and the
patterns of communication between them.
There are several main paradigms commonly used to structure a distributed system. These include:
1. Master- slave model
2. Client/server model
3. Peer-to-peer model
4. Group model
Master slave model
A master process normally initiates and controls any dialogue with the slave processes. Slave processes
exhibit very little intelligence, responding to commands from a single master process and exchange
messages only when invited by the master process. The slave merely complies with the dialogue while
rules are set by the master.
Client/ server model
Clients request a particular service. Server process is normally non-terminating (persistent) and provides
services to more than one client process. On receipt of a request the, the server executes the
appropriate operation and sends a reply back to the client. The operation of this model can be depicted
as follows.
Distributed Systems Peter Arnold peter.arnold254@gmail.com

s1
s2
s3
s4
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
Cl i ent process
Server process











Peer-to-peer model
Every computer can be configured to be either a client or a server. Every process has the same
functionality as peer processes. Peer-to-peer (p2p) systems are usually decentralized systems where
computations may be carried out by any node in the network. The overall system is designed to take
advantage of the computational power and storage of a large number of networked computers. The
model can be depicted as follows.
Distributed Systems Peter Arnold peter.arnold254@gmail.com


Group model (Collaborative Application model)
Processes co-operate in such a way that one process may need to send a message to all other processes
in the group and receive response from one or more members. For example, in video conferencing,
when someone writes to the blackboard facility every other participant must receive the image. In this
model, processes participate in a collaborative session as a group. Each participating process may
contribute input to part or the entire group. Processes may do so using:
Multicasting - to send data to all or part of the group
virtual sketchpads or whiteboards - allow each participant to read and write data to a shared
display
Client/server variation models
These are extensions of client server model. They include the following:
Multi-tiered architecture
3 tier architecture
Mobile code
Mobile agent
Multi-tiered architecture
Distributed Systems Peter Arnold peter.arnold254@gmail.com

The vertical distribution or multi-tier architecture distributes the traditional server functionality over
multiple servers. The architecture can be depicted as follows.


3-Tier architecture
Three tier systems move the client intelligence to a middle tier so that stateless clients can be used. This
simplifies application deployment. This architecture is used in most web servers. It consists of:
Presentation Tier - This is the topmost level of the application. It displays information related to such
services as browsing merchandise, purchasing, and shopping cart contents. It communicates with other
tiers by outputting results to the browser/client tier and all other tiers in the network.
- The logic tier is pulled out from the presentation tier and, as
it w y, fy by fm dd .
Data Tier - This tier consists of Database Servers. Here information is stored and retrieved. The tier
keeps data neutral and independent from application servers or business logic. Giving data its own tier
helps improve scalability and performance.
The 3-Tier architecture can be depicted as follows.


Distributed Systems Peter Arnold peter.arnold254@gmail.com









The following diagram illustrates an example of a 3-Tier architecture in use.

Mobile Code
Refers to code that is sent to a client process to carry out a specific task. m d d
m mm d .


Distributed Systems Peter Arnold peter.arnold254@gmail.com

Mobile Agents
Refer to executing program i.e. code + data migrating amongst processes, carrying out an autonomous
task, usually on behalf of some other process. Mobile agents have the advantages of flexibility and
savings in communications cost.
Fundamental Models
They are a description of fundamental properties in processes and communication, shared among
different architectures. They refer to the aspects of the distributed system that we wish to capture in
the architectural models. They are concerned with a more formal description of the properties that are
common in all of the architectural models. They include:
1. Interaction model
2. Failure model
3. Secure model
The secure model
This model addresses the possible threats to processes and communication channels. Encryption and
authentication are used to build secure channels. Each of the processes knows the identity of the
principal on whose behalf the other process is executing and can check their access rights before
performing an operation. h md b dd fw.

The interaction model
The interaction model deals with performance and with the difficulty of setting time limits in a
distributed system. It is concerned with analysis of communication and coordination (synchronization
and ordering of activities) between processes.
Factors affecting interaction process
1. Performance of communication channels
Distributed Systems Peter Arnold peter.arnold254@gmail.com

Latency - transmission, access, or bandwidth
Jitter - variation in time taken to deliver a series of messages
2. Computer clocks and timing events
Clock drift - two processes running on different computers read their clocks at the same time,
their local clocks may supply different time values.
Clock drift rate - the relative amount that a computer clock differs from a perfect reference
clock.
Failure model
This is an analysis of potential effects whenever a fault occurs. This model gives a precise specification of
the faults that can be exhibited by processes and communication. In a distributed system, both
processes and communication channels may fail i.e., they may depart from what is considered to be
correct or desirable behavior.

You might also like