SlideShare a Scribd company logo
System Models
Architectural System Model
An architectural model of a distributed system is
concerned with the placement of its parts and the
relationships between them.
Examples
Client-server
Peer-to-peer
Interaction Model
Deals with performance and the difficulty to set time
limits (e.g., in message delivery).
Failure Model
Gives a precise specification of the faults of the
processes and the links.
Defines reliable communication and correct processes.
Architectural Models
The architecture abstracts the functions of the
individual components of the distributed system.
ensure that the structure will meet present and likely
future demands
make the system reliable, manageable, adaptable, and
cost-effective
Classification of processes
Servers, clients, peers
Identifies responsibilities, helps to assess their
workloads, determines the impact of failures in each of
them.
Software Layers
Software architecture refers to services offered and requested
between processes located in the same or different computers.
structuring of software as layers or modules
Service layers
Distributed service
One or more server processes
Client processes
Platform -> the lowest level hardware and software layers
Examples: Intel x86/Windows, Intel x86/Solaris, PowerPC/MAC OS,
Intel x86/Linux
Middleware
masks heterogeneity & provides a convenient programming model
Provides useful building blocks:
Remote method invocation, communication between a group of processes,
notification of events, partitioning, placement and retrieval of data or
objects, replication, transmission of multimedia data in real time
Software and hardware service layers
in distributed systems
Applications, services
Computer and network hardware
Platform
Operating system
Middleware
Clients invoke individual servers
Server
Client
Client
invocation
result
Server
invocation
result
Process:
Key:
Computer:
A distributed application based on peer
processes
Application
Application
Application
Peer 1
Peer 2
Peer 3
Peers 5 .... N
Sharable
objects
Application
Peer 4
Variations
Derived from the consideration of the
following factors:
Use of multiple servers and caches to
increase performance and resilience
Use of mobile code and mobile agents
User’s need for low-cost computers with
limited hardware resources that are simple
to manage
Requirement to add and remove mobile
devices in a convenient manner
A service provided by multiple
servers
Server
Server
Server
Service
Client
Client
- Partition the set of
objects and
distribute them
between themselves
- maintain replicated
copies
- Web
- SUN Network
Information Service
Web proxy server
Client
Proxy
Web
server
Web
server
server
Client
A cache is a storage facility of recently used data objects that is closer to
the objects themselves.
Web proxy servers provide a shared cache of web resources for the client
machines at a site or across several sites.
•Increase availability
•Increase performance
•Reduce the load on the wide-area network and web server
Mobile Code - Web applets
a) client request results in the downloading of applet code
Web
server
Client
Web
serverApplet
Applet code
Client
b) client interacts with the applet
- Good interactive response
Mobile Agents
• A mobile agent is a running program that travels from
one computer to another in a network carrying out a
task on someone’s behalf.
• A mobile agent may make many invocations to local
resources at each site it visits (e.g., access to
individual database entries).
Might be used to:
• install software on the computers of an organization
• compare the prices of products of vendors
Negative aspects
• mobile agents are a potential security threat to the resources
• they can be themselves vulnerable (they may not be able to
complete their tasks if they are refused access to the
information needed)
Design Requirements for Distributed
Architectures
Performance Issues
Responsiveness
The speed of a remote invocation depends on:
The load and performance of the server and network
Delays in all the software components (client and server
operation systems and middleware, code of the process that
implements the service)
Transfer of data is slow
Throughput
Rate at which computational work is done
Fairness
Balancing of Computational Loads
Applets remove load from the server
Use several computers to host a single service
Design Requirements for Distributed
Architectures
Quality of Service
Reliability (the ability of a system to perform and maintain its
function in every circumstance).
Performance
Adaptability (the ability of a system to adapt itself
efficiently and fast to changed circumstances)
Resource Availability
Some applications handle time-critical data – streams of
data that are required to be processed or transferred from
one process to another at a fixed rate.
Design Requirements for Distributed
Architectures
Caching and Replication
Cached copies of resources should be kept up-to-date when
the resource at a server is updated.
A variety of cache-coherency protocols are used to suit
different applications.
Web Caching Protocol
Web browsers and proxy servers cache responses to client
requests from web servers
The cache-consistency protocol can provide browsers with
fresh copies of the resources held by the web server, but for
performance reasons the freshness condition can be relaxed.
A browser or proxy can validate a datum with the server.
Web servers assign approximate expiry times to their
resources
The expiry time of the resource and the current time at the
server are attached to the response.
Design Requirements for Distributed Architectures
Dependability Issues
Dependable applications should continue to function correctly in the
presence of faults in hardware, software and networks.
Attributes
Availability – readiness for correct service
The ratio of the total time a functional unit is capable of being used
during a given interval to the length of the interval
Reliability
the probability that a device will perform its intended function during a
specified period of time under stated conditions
Replication
Multiple computers – multiple communication paths
Several replicas of a data item
Retransmission of messages, etc.
Safety – absence of incorrect behavior
Integrity – absence of improper system alteration
Maintainability – ability to undergo modifications and repairs
correct defects, meet new requirements, make future maintenance
easier, cope with a changed environment)
Fundamental Models
A model contains only the essential ingredients needed to
understand and reason about some aspects of a system’s behavior.
A system model has to address the following:
What are the main entities in the system?
How do they interact?
What are the characteristics that affect their individual and collective
behavior?
Purpose
Make explicit all the relevant assumptions about the system we are
modeling
Make generalizations concerning what is possible or impossible, given
those assumptions.
General purpose algorithms
Desirable properties
Interaction
Communication takes place with delays
Maintaining the same notion of time across all nodes of a distributed
system is difficilt.
Failure
Interaction Model
The behavior and state of distributed systems
can be described by a distributed algorithm
A definition of the steps to be taken by each of the
processes, including the transmission of messages
between them.
Messages are transmitted to transfer
information between processes and to coordinate
their activity.
The computing rates of processes and the timing
of the transmission of messages cannot in general
be predicted.
Each process has its own state, consisting of the
set of data that it can access and update (i.e., its
local variables).
Processes and Channels
processp processq
Communication channel
send
Outgoing message buffer Incoming message buffer
receivem
Formal Model of Message-Passing Systems
There are n processes in the
system: p0, .., pn-1
Each process is modeled as
a state machine.
The state of each process is
comprised by its local variables and a set of arrays.
For instance, for p0, the state includes six arrays:
inbuf0[1], …, inbuf0[3]: contain messages that have been
sent to p0 by p1, p2 and p3, respectively, but p0 has not yet
processed.
outbuf0[1], …, outbuf0[3]: messages that have been sent by
p0 to p1, p2, and p3, respectively, but have not yet been
delivered to them.
Formal Model of Message-Passing Systems
The state of process pi excluding the outbufi[l]
components, comprises the accessible state of pi.
Each process has an initial state in which all inbuf
arrays are empty.
At each step of a process, all messages stored in
the inbuf arrays of the process are processed, the
state of the process changes and a message to each
other neighboring process can be sent.
A configuration is a vector C = (q0, .., qn-1) where qi
represents the state of pi.
The states of the outbuf variables in a configuration
represent the messages that are in transit on the
communication channels.
In an initial configuration all processes are in initial states.
Formal Model of Message-Passing Systems
Computation event, comp(i)
Represents a computation step of process pi in which pi’s transition
function is applied to its current accessible state.
Delivery Event, del(i,j,m)
Represents the delivery of message m from processor pi to
processor pj (i.e., message m is placed in one of the inbuf buffers of
pj)
The behavior of a system over time is modeled as an execution, which is
a sequence of configurations alternating with events.
This sequence must satisfy a variety of conditions.
Safety condition
Holds in every finite prefix of the execution (it states that nothing bad
has happened yet)
Liveness condition
Holds a certain number of times (it states that eventually something good
must happen)
Performance of Communication Channel
Latency
The delay between the start of a message’s transmission
from one process and the beginning of its receipt by
another.
Bandwidth
Total amount of information that can be transmitted over
it in a given time. The latency includes:
Time taken for the first of a string of bits transmitted
through the network to reach its destination + delay in
accessing the network + time taken by the OS
communication services at both sender and receiver
Jitter
The variation in the time taken to deliver a series of
messages.
Computer Clocks and Timing Events
Local clocks
Clock drifts from perfect time and their
drift rates differ from one another
Clock Drift Rate: the relative amount that
a computer clock differs from a perfect
reference clock.
Even if clocks are set at the same time
initially, they would eventually vary unless
corrections are applied periodically.
Interaction (Timing) Models
(Partially-Fully) Synchronous Systems
There is a fixed upper bound ∆ on the time for messages to
be delivered (communication is synchronous).
There is a fixed upper bound Φ on the rate at which one
processor’s clock can run faster than another’s (processors
are synchronous).
If Φ=1 and ∆=1, we talk about a fully synchronous system.
Then,
The sequence of alternating configurations and events can be
partitioned into disjoint rounds.
A round consists of a deliver event for every message in an
outbuf variable, until all outbuf variables are empty, followed by
one computation event for every processor.
Asynchronous Systems
There is no fixed upper bound on how long it takes for a
message to be delivered or how much time elapses between
consecutive steps of a processor. Clock drift rates may be
also arbitrary.
Real-Time Ordering of Events
send
receive
send
receive
m1 m2
2
1
3
4
X
Y
Z
Physical
time
A
m3
receive receive
send
receive receive receive
t1 t2 t3
receive
receive
m2
m1
Relative order in which events take place in a system: there are
relationships between events in distributed systems (causality)
Logical clock, logical timestamp
A receives the
messages in the
wrong order!
Logical Clocks
Omission and arbitrary failures
Class of failure Affects Description
Fail-stop Process Process halts and remains halted. Other processes may
detect this state.
Crash Process Process halts and remains halted. Other processes may
not be able to detect this state.
Omission Channel A message inserted in an outgoing message buffer never
arrives at the other end’s incoming message buffer.
Send-omission Process A process completes asend,but the message is not put
in its outgoing message buffer.
Receive-omissionProcess A message is put in a process’s incoming message
buffer, but that process does not receive it.
Arbitrary
(Byzantine)
Process or
channel
Process/channel exhibits arbitrary behaviour: it may
send/transmit arbitrary messages at arbitrary times,
commit omissions; a process may stop or take an
incorrect step.
Timing failures
Class of Failure Affects Description
Clock Process Process’s local clock exceeds the bounds on its
rate of drift from real time.
Performance Process Process exceeds the bounds on the interval
between two steps.
Performance Channel A message’s transmission takes longer than the
stated bound.
Masking Failures – Reliability of one-to-
one Communication
A service masks a failure, either by hiding it all
together or by converting it into a more
acceptable type of failure.
Checksums are used to mask corrupting messages -> a
corrupted message is handled as a missing message
Message omission failures can be hidden by re-
transmitting messages.
The term reliable communication is defined in
terms of validity and integrity as follows:
Validity: any message in the outgoing buffer is
eventually delivered to the incoming message buffer
Integrity: the message received is identical to one sent,
and no messages are delivered twice.

More Related Content

What's hot

Communication in Distributed Systems
Communication in Distributed SystemsCommunication in Distributed Systems
Communication in Distributed Systems
Dilum Bandara
 
Distributed System
Distributed System Distributed System
Distributed System
Nitesh Saitwal
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
SHATHAN
 
communication Mechanism in Client Server Model
communication Mechanism in Client Server Model communication Mechanism in Client Server Model
communication Mechanism in Client Server Model
Junaid Lodhi
 
5. Distributed Operating Systems
5. Distributed Operating Systems5. Distributed Operating Systems
5. Distributed Operating Systems
Dr Sandeep Kumar Poonia
 
Clientserver Presentation
Clientserver PresentationClientserver Presentation
Clientserver Presentation
Tuhin_Das
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
Rishikese MR
 
Client Server models in JAVA
Client Server models in JAVAClient Server models in JAVA
Client Server models in JAVA
Tech_MX
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
Dilum Bandara
 
Peer to Peer services and File systems
Peer to Peer services and File systemsPeer to Peer services and File systems
Peer to Peer services and File systems
MNM Jain Engineering College
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
RituBhargava7
 
Client server component
Client server componentClient server component
Client server component
Satya P. Joshi
 
Clientserver
ClientserverClientserver
Clientserver
Madhumithah Ilango
 
Fault tolerance in Information Centric Networks
Fault tolerance in Information Centric NetworksFault tolerance in Information Centric Networks
Fault tolerance in Information Centric Networks
Nitinder Mohan
 
Principles of Compiler Design
Principles of Compiler DesignPrinciples of Compiler Design
Principles of Compiler Design
Marimuthu M
 
Basic features of distributed system
Basic features of distributed systemBasic features of distributed system
Basic features of distributed system
satish raj
 
Distributed Coordination-Based Systems
Distributed Coordination-Based SystemsDistributed Coordination-Based Systems
Distributed Coordination-Based Systems
Ahmed Magdy Ezzeldin, MSc.
 
Client-Server Model
Client-Server ModelClient-Server Model
Client-Server Model
HTS Hosting
 
middleware
middlewaremiddleware
middleware
rkk0o7
 
Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed Systems
Nandakumar P
 

What's hot (20)

Communication in Distributed Systems
Communication in Distributed SystemsCommunication in Distributed Systems
Communication in Distributed Systems
 
Distributed System
Distributed System Distributed System
Distributed System
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
 
communication Mechanism in Client Server Model
communication Mechanism in Client Server Model communication Mechanism in Client Server Model
communication Mechanism in Client Server Model
 
5. Distributed Operating Systems
5. Distributed Operating Systems5. Distributed Operating Systems
5. Distributed Operating Systems
 
Clientserver Presentation
Clientserver PresentationClientserver Presentation
Clientserver Presentation
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 
Client Server models in JAVA
Client Server models in JAVAClient Server models in JAVA
Client Server models in JAVA
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
 
Peer to Peer services and File systems
Peer to Peer services and File systemsPeer to Peer services and File systems
Peer to Peer services and File systems
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Client server component
Client server componentClient server component
Client server component
 
Clientserver
ClientserverClientserver
Clientserver
 
Fault tolerance in Information Centric Networks
Fault tolerance in Information Centric NetworksFault tolerance in Information Centric Networks
Fault tolerance in Information Centric Networks
 
Principles of Compiler Design
Principles of Compiler DesignPrinciples of Compiler Design
Principles of Compiler Design
 
Basic features of distributed system
Basic features of distributed systemBasic features of distributed system
Basic features of distributed system
 
Distributed Coordination-Based Systems
Distributed Coordination-Based SystemsDistributed Coordination-Based Systems
Distributed Coordination-Based Systems
 
Client-Server Model
Client-Server ModelClient-Server Model
Client-Server Model
 
middleware
middlewaremiddleware
middleware
 
Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed Systems
 

Viewers also liked

Use of the Virtual Medical Record Data Model for Communication among Componen...
Use of the Virtual Medical Record Data Model for Communication among Componen...Use of the Virtual Medical Record Data Model for Communication among Componen...
Use of the Virtual Medical Record Data Model for Communication among Componen...
Arturo González Ferrer
 
Chapter 2 slides
Chapter 2 slidesChapter 2 slides
Chapter 2 slides
lara_ays
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
Kathirvel Ayyaswamy
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
Harshad Umredkar
 
Distributed computing ).ppt him
Distributed computing ).ppt himDistributed computing ).ppt him
Distributed computing ).ppt him
Himanshu Saini
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
karan2190
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
Rupsee
 

Viewers also liked (7)

Use of the Virtual Medical Record Data Model for Communication among Componen...
Use of the Virtual Medical Record Data Model for Communication among Componen...Use of the Virtual Medical Record Data Model for Communication among Componen...
Use of the Virtual Medical Record Data Model for Communication among Componen...
 
Chapter 2 slides
Chapter 2 slidesChapter 2 slides
Chapter 2 slides
 
CS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMSCS6601 DISTRIBUTED SYSTEMS
CS6601 DISTRIBUTED SYSTEMS
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
 
Distributed computing ).ppt him
Distributed computing ).ppt himDistributed computing ).ppt him
Distributed computing ).ppt him
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 

Similar to Cs556 section2

characteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.pptcharacteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.ppt
RamkumardevendiranDe
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
FamiDan
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4
yawani05
 
Designing distributed systems
Designing distributed systemsDesigning distributed systems
Designing distributed systems
Malisa Ncube
 
Ch12
Ch12Ch12
Ch12
phanleson
 
CS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfCS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdf
KishaKiddo
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
koolkampus
 
24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS
koolkampus
 
Netkit
NetkitNetkit
Netkit
dambatbul
 
Cs556 section1
Cs556 section1Cs556 section1
Cs556 section1
farshad33
 
Distributed Computing Report
Distributed Computing ReportDistributed Computing Report
Distributed Computing Report
IIT Kharagpur
 
OSI Model of Networking
OSI Model of NetworkingOSI Model of Networking
OSI Model of Networking
Mukesh Tekwani
 
Distributed system
Distributed systemDistributed system
Distributed system
chirag patil
 
Cloud data management
Cloud data managementCloud data management
Cloud data management
ambitlick
 
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.pptModule-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
KAnurag2
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
Mohammed Fazuluddin
 
Chapter 3-Processes.ppt
Chapter 3-Processes.pptChapter 3-Processes.ppt
Chapter 3-Processes.ppt
sirajmohammed35
 
Csc concepts
Csc conceptsCsc concepts
The Grouping of Files in Allocation of Job Using Server Scheduling In Load Ba...
The Grouping of Files in Allocation of Job Using Server Scheduling In Load Ba...The Grouping of Files in Allocation of Job Using Server Scheduling In Load Ba...
The Grouping of Files in Allocation of Job Using Server Scheduling In Load Ba...
iosrjce
 
J017367075
J017367075J017367075
J017367075
IOSR Journals
 

Similar to Cs556 section2 (20)

characteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.pptcharacteristicsofdistributedsystem-121004123308-phpapp02.ppt
characteristicsofdistributedsystem-121004123308-phpapp02.ppt
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
 
Software architecture unit 4
Software architecture unit 4Software architecture unit 4
Software architecture unit 4
 
Designing distributed systems
Designing distributed systemsDesigning distributed systems
Designing distributed systems
 
Ch12
Ch12Ch12
Ch12
 
CS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdfCS8603_Notes_003-1_edubuzz360.pdf
CS8603_Notes_003-1_edubuzz360.pdf
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
 
24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS
 
Netkit
NetkitNetkit
Netkit
 
Cs556 section1
Cs556 section1Cs556 section1
Cs556 section1
 
Distributed Computing Report
Distributed Computing ReportDistributed Computing Report
Distributed Computing Report
 
OSI Model of Networking
OSI Model of NetworkingOSI Model of Networking
OSI Model of Networking
 
Distributed system
Distributed systemDistributed system
Distributed system
 
Cloud data management
Cloud data managementCloud data management
Cloud data management
 
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.pptModule-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
Module-6 process managedf;jsovj;ksdv;sdkvnksdnvldknvlkdfsment.ppt
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
 
Chapter 3-Processes.ppt
Chapter 3-Processes.pptChapter 3-Processes.ppt
Chapter 3-Processes.ppt
 
Csc concepts
Csc conceptsCsc concepts
Csc concepts
 
The Grouping of Files in Allocation of Job Using Server Scheduling In Load Ba...
The Grouping of Files in Allocation of Job Using Server Scheduling In Load Ba...The Grouping of Files in Allocation of Job Using Server Scheduling In Load Ba...
The Grouping of Files in Allocation of Job Using Server Scheduling In Load Ba...
 
J017367075
J017367075J017367075
J017367075
 

More from farshad33

Topic 4 -software architecture viewpoint-multi-agent systems-a software archi...
Topic 4 -software architecture viewpoint-multi-agent systems-a software archi...Topic 4 -software architecture viewpoint-multi-agent systems-a software archi...
Topic 4 -software architecture viewpoint-multi-agent systems-a software archi...
farshad33
 
Topic 1 lecture 3-application imapct of mas&t
Topic 1 lecture 3-application imapct of mas&tTopic 1 lecture 3-application imapct of mas&t
Topic 1 lecture 3-application imapct of mas&t
farshad33
 
Topic 1 lecture 2
Topic 1 lecture 2Topic 1 lecture 2
Topic 1 lecture 2
farshad33
 
Topic 1 lecture 1
Topic 1 lecture 1Topic 1 lecture 1
Topic 1 lecture 1
farshad33
 
Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...
Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...
Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...
farshad33
 
Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...
Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...
Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...
farshad33
 
Chapter 6 agent communications--agent communications
Chapter 6 agent communications--agent communicationsChapter 6 agent communications--agent communications
Chapter 6 agent communications--agent communications
farshad33
 
Chapter 5 design patterns for mas
Chapter 5 design patterns for masChapter 5 design patterns for mas
Chapter 5 design patterns for mas
farshad33
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
farshad33
 

More from farshad33 (9)

Topic 4 -software architecture viewpoint-multi-agent systems-a software archi...
Topic 4 -software architecture viewpoint-multi-agent systems-a software archi...Topic 4 -software architecture viewpoint-multi-agent systems-a software archi...
Topic 4 -software architecture viewpoint-multi-agent systems-a software archi...
 
Topic 1 lecture 3-application imapct of mas&t
Topic 1 lecture 3-application imapct of mas&tTopic 1 lecture 3-application imapct of mas&t
Topic 1 lecture 3-application imapct of mas&t
 
Topic 1 lecture 2
Topic 1 lecture 2Topic 1 lecture 2
Topic 1 lecture 2
 
Topic 1 lecture 1
Topic 1 lecture 1Topic 1 lecture 1
Topic 1 lecture 1
 
Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...
Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...
Chapter 8 agent-oriented software engineering ch8-prometheus research methodo...
 
Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...
Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...
Chapter 7 agent-oriented software engineering ch7-agent methodology-agent met...
 
Chapter 6 agent communications--agent communications
Chapter 6 agent communications--agent communicationsChapter 6 agent communications--agent communications
Chapter 6 agent communications--agent communications
 
Chapter 5 design patterns for mas
Chapter 5 design patterns for masChapter 5 design patterns for mas
Chapter 5 design patterns for mas
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
 

Recently uploaded

How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
Celine George
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
TechSoup
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
paigestewart1632
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
heathfieldcps1
 
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
RitikBhardwaj56
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
sayalidalavi006
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 
Smart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICTSmart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICT
simonomuemu
 

Recently uploaded (20)

How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
The basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptxThe basics of sentences session 6pptx.pptx
The basics of sentences session 6pptx.pptx
 
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 
Smart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICTSmart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICT
 

Cs556 section2

  • 2. Architectural System Model An architectural model of a distributed system is concerned with the placement of its parts and the relationships between them. Examples Client-server Peer-to-peer Interaction Model Deals with performance and the difficulty to set time limits (e.g., in message delivery). Failure Model Gives a precise specification of the faults of the processes and the links. Defines reliable communication and correct processes.
  • 3. Architectural Models The architecture abstracts the functions of the individual components of the distributed system. ensure that the structure will meet present and likely future demands make the system reliable, manageable, adaptable, and cost-effective Classification of processes Servers, clients, peers Identifies responsibilities, helps to assess their workloads, determines the impact of failures in each of them.
  • 4. Software Layers Software architecture refers to services offered and requested between processes located in the same or different computers. structuring of software as layers or modules Service layers Distributed service One or more server processes Client processes Platform -> the lowest level hardware and software layers Examples: Intel x86/Windows, Intel x86/Solaris, PowerPC/MAC OS, Intel x86/Linux Middleware masks heterogeneity & provides a convenient programming model Provides useful building blocks: Remote method invocation, communication between a group of processes, notification of events, partitioning, placement and retrieval of data or objects, replication, transmission of multimedia data in real time
  • 5. Software and hardware service layers in distributed systems Applications, services Computer and network hardware Platform Operating system Middleware
  • 6. Clients invoke individual servers Server Client Client invocation result Server invocation result Process: Key: Computer:
  • 7. A distributed application based on peer processes Application Application Application Peer 1 Peer 2 Peer 3 Peers 5 .... N Sharable objects Application Peer 4
  • 8. Variations Derived from the consideration of the following factors: Use of multiple servers and caches to increase performance and resilience Use of mobile code and mobile agents User’s need for low-cost computers with limited hardware resources that are simple to manage Requirement to add and remove mobile devices in a convenient manner
  • 9. A service provided by multiple servers Server Server Server Service Client Client - Partition the set of objects and distribute them between themselves - maintain replicated copies - Web - SUN Network Information Service
  • 10. Web proxy server Client Proxy Web server Web server server Client A cache is a storage facility of recently used data objects that is closer to the objects themselves. Web proxy servers provide a shared cache of web resources for the client machines at a site or across several sites. •Increase availability •Increase performance •Reduce the load on the wide-area network and web server
  • 11. Mobile Code - Web applets a) client request results in the downloading of applet code Web server Client Web serverApplet Applet code Client b) client interacts with the applet - Good interactive response
  • 12. Mobile Agents • A mobile agent is a running program that travels from one computer to another in a network carrying out a task on someone’s behalf. • A mobile agent may make many invocations to local resources at each site it visits (e.g., access to individual database entries). Might be used to: • install software on the computers of an organization • compare the prices of products of vendors Negative aspects • mobile agents are a potential security threat to the resources • they can be themselves vulnerable (they may not be able to complete their tasks if they are refused access to the information needed)
  • 13. Design Requirements for Distributed Architectures Performance Issues Responsiveness The speed of a remote invocation depends on: The load and performance of the server and network Delays in all the software components (client and server operation systems and middleware, code of the process that implements the service) Transfer of data is slow Throughput Rate at which computational work is done Fairness Balancing of Computational Loads Applets remove load from the server Use several computers to host a single service
  • 14. Design Requirements for Distributed Architectures Quality of Service Reliability (the ability of a system to perform and maintain its function in every circumstance). Performance Adaptability (the ability of a system to adapt itself efficiently and fast to changed circumstances) Resource Availability Some applications handle time-critical data – streams of data that are required to be processed or transferred from one process to another at a fixed rate.
  • 15. Design Requirements for Distributed Architectures Caching and Replication Cached copies of resources should be kept up-to-date when the resource at a server is updated. A variety of cache-coherency protocols are used to suit different applications. Web Caching Protocol Web browsers and proxy servers cache responses to client requests from web servers The cache-consistency protocol can provide browsers with fresh copies of the resources held by the web server, but for performance reasons the freshness condition can be relaxed. A browser or proxy can validate a datum with the server. Web servers assign approximate expiry times to their resources The expiry time of the resource and the current time at the server are attached to the response.
  • 16. Design Requirements for Distributed Architectures Dependability Issues Dependable applications should continue to function correctly in the presence of faults in hardware, software and networks. Attributes Availability – readiness for correct service The ratio of the total time a functional unit is capable of being used during a given interval to the length of the interval Reliability the probability that a device will perform its intended function during a specified period of time under stated conditions Replication Multiple computers – multiple communication paths Several replicas of a data item Retransmission of messages, etc. Safety – absence of incorrect behavior Integrity – absence of improper system alteration Maintainability – ability to undergo modifications and repairs correct defects, meet new requirements, make future maintenance easier, cope with a changed environment)
  • 17. Fundamental Models A model contains only the essential ingredients needed to understand and reason about some aspects of a system’s behavior. A system model has to address the following: What are the main entities in the system? How do they interact? What are the characteristics that affect their individual and collective behavior? Purpose Make explicit all the relevant assumptions about the system we are modeling Make generalizations concerning what is possible or impossible, given those assumptions. General purpose algorithms Desirable properties Interaction Communication takes place with delays Maintaining the same notion of time across all nodes of a distributed system is difficilt. Failure
  • 18. Interaction Model The behavior and state of distributed systems can be described by a distributed algorithm A definition of the steps to be taken by each of the processes, including the transmission of messages between them. Messages are transmitted to transfer information between processes and to coordinate their activity. The computing rates of processes and the timing of the transmission of messages cannot in general be predicted. Each process has its own state, consisting of the set of data that it can access and update (i.e., its local variables).
  • 19. Processes and Channels processp processq Communication channel send Outgoing message buffer Incoming message buffer receivem
  • 20. Formal Model of Message-Passing Systems There are n processes in the system: p0, .., pn-1 Each process is modeled as a state machine. The state of each process is comprised by its local variables and a set of arrays. For instance, for p0, the state includes six arrays: inbuf0[1], …, inbuf0[3]: contain messages that have been sent to p0 by p1, p2 and p3, respectively, but p0 has not yet processed. outbuf0[1], …, outbuf0[3]: messages that have been sent by p0 to p1, p2, and p3, respectively, but have not yet been delivered to them.
  • 21. Formal Model of Message-Passing Systems The state of process pi excluding the outbufi[l] components, comprises the accessible state of pi. Each process has an initial state in which all inbuf arrays are empty. At each step of a process, all messages stored in the inbuf arrays of the process are processed, the state of the process changes and a message to each other neighboring process can be sent. A configuration is a vector C = (q0, .., qn-1) where qi represents the state of pi. The states of the outbuf variables in a configuration represent the messages that are in transit on the communication channels. In an initial configuration all processes are in initial states.
  • 22. Formal Model of Message-Passing Systems Computation event, comp(i) Represents a computation step of process pi in which pi’s transition function is applied to its current accessible state. Delivery Event, del(i,j,m) Represents the delivery of message m from processor pi to processor pj (i.e., message m is placed in one of the inbuf buffers of pj) The behavior of a system over time is modeled as an execution, which is a sequence of configurations alternating with events. This sequence must satisfy a variety of conditions. Safety condition Holds in every finite prefix of the execution (it states that nothing bad has happened yet) Liveness condition Holds a certain number of times (it states that eventually something good must happen)
  • 23. Performance of Communication Channel Latency The delay between the start of a message’s transmission from one process and the beginning of its receipt by another. Bandwidth Total amount of information that can be transmitted over it in a given time. The latency includes: Time taken for the first of a string of bits transmitted through the network to reach its destination + delay in accessing the network + time taken by the OS communication services at both sender and receiver Jitter The variation in the time taken to deliver a series of messages.
  • 24. Computer Clocks and Timing Events Local clocks Clock drifts from perfect time and their drift rates differ from one another Clock Drift Rate: the relative amount that a computer clock differs from a perfect reference clock. Even if clocks are set at the same time initially, they would eventually vary unless corrections are applied periodically.
  • 25. Interaction (Timing) Models (Partially-Fully) Synchronous Systems There is a fixed upper bound ∆ on the time for messages to be delivered (communication is synchronous). There is a fixed upper bound Φ on the rate at which one processor’s clock can run faster than another’s (processors are synchronous). If Φ=1 and ∆=1, we talk about a fully synchronous system. Then, The sequence of alternating configurations and events can be partitioned into disjoint rounds. A round consists of a deliver event for every message in an outbuf variable, until all outbuf variables are empty, followed by one computation event for every processor. Asynchronous Systems There is no fixed upper bound on how long it takes for a message to be delivered or how much time elapses between consecutive steps of a processor. Clock drift rates may be also arbitrary.
  • 26. Real-Time Ordering of Events send receive send receive m1 m2 2 1 3 4 X Y Z Physical time A m3 receive receive send receive receive receive t1 t2 t3 receive receive m2 m1 Relative order in which events take place in a system: there are relationships between events in distributed systems (causality) Logical clock, logical timestamp A receives the messages in the wrong order!
  • 28. Omission and arbitrary failures Class of failure Affects Description Fail-stop Process Process halts and remains halted. Other processes may detect this state. Crash Process Process halts and remains halted. Other processes may not be able to detect this state. Omission Channel A message inserted in an outgoing message buffer never arrives at the other end’s incoming message buffer. Send-omission Process A process completes asend,but the message is not put in its outgoing message buffer. Receive-omissionProcess A message is put in a process’s incoming message buffer, but that process does not receive it. Arbitrary (Byzantine) Process or channel Process/channel exhibits arbitrary behaviour: it may send/transmit arbitrary messages at arbitrary times, commit omissions; a process may stop or take an incorrect step.
  • 29. Timing failures Class of Failure Affects Description Clock Process Process’s local clock exceeds the bounds on its rate of drift from real time. Performance Process Process exceeds the bounds on the interval between two steps. Performance Channel A message’s transmission takes longer than the stated bound.
  • 30. Masking Failures – Reliability of one-to- one Communication A service masks a failure, either by hiding it all together or by converting it into a more acceptable type of failure. Checksums are used to mask corrupting messages -> a corrupted message is handled as a missing message Message omission failures can be hidden by re- transmitting messages. The term reliable communication is defined in terms of validity and integrity as follows: Validity: any message in the outgoing buffer is eventually delivered to the incoming message buffer Integrity: the message received is identical to one sent, and no messages are delivered twice.