SlideShare a Scribd company logo
1 of 19
Download to read offline
Distributed Computer Systems
22-Jun-20 1
Lecture 2
22-Jun-20 2
Challenges/goals with distributed systems
One of the important characteristic is that differences
between the various computers and the ways in which they
communicate are mostly hidden from users.
•Heterogeneity
•Openness
•Security
•Scalability
•Failure Handling
•Concurrency
•Transparency
Heterogeneity in DS applies to
• Networks:
– The Internet consists of many different networks but
their differences are masked by the fact that all of
the computers attached to them use the Internet
protocols to communicate with one another.
• Computer hardware:
– Data types such as integers may be represented in
different ways on different sorts of hardware. These
differences in representation must be dealt with if
messages are to be exchanged between programs
running on different hardware.
22-Jun-20 3
Heterogeneity in DS applies to
• Operating systems:
– The operating systems of all computers on the
Internet need to include an implementation of the
Internet protocols, but they do not necessarily all
provide the same application programming interface
to these protocols. For example, the calls for
exchanging messages in UNIX are different from
the calls in Windows.
22-Jun-20 4
Heterogeneity in DS applies to
• Programming languages:
– Different programming languages use different
representations for characters and data structures.
These differences must be addressed if programs
written in different languages are to be able to
communicate with one another.
• Implementation by different developers:
– Programs written by different developers cannot
communicate with one another unless they use
common standards. For this to happen, standards
need to be agreed and adopted – as have the Internet
protocols.
22-Jun-20 5
Openness
• The openness of a computer system is the
characteristic that determines whether the
system can be extended and re-implemented in
various ways.
• The openness of distributed systems is
determined primarily by the degree to which
new resource-sharing services can be added and
be made available for use by a variety of client
programs.
22-Jun-20 6
Openness
• Systems may be extended at the
– hardware level: by addition of computers to the
network
– software level: by the introduction of new services
and the reimplementation of old ones, enabling
application programs to share resources.
• Open systems are characterized by the fact that
their key interfaces are published.
22-Jun-20 7
Security
• Discussed in lecture 1
22-Jun-20 8
Scalability
• A system is described as scalable if it will
remain effective when there is a significant
increase in the number of resources and the
number of users.
– For ex, the number of computers and servers in the
Internet has increased dramatically.
22-Jun-20 9
Scalability
• The design of scalable distributed systems
presents the following challenges:
• Controlling the cost of physical resources:
– As the demand for a resource grows, it should be
possible to extend the system, at reasonable cost, to
meet it.
– In general, for a system with n users to be scalable,
the quantity of physical resources required to
support them should be at most O(n) i.e.
proportional to n.
22-Jun-20 10
Scalability
• Controlling the performance loss:
– Algorithms that use hierarchic structures scale better
than those that use linear structures.
– the time taken to access hierarchically structured
data is O(log n).
– But even with hierarchic structures an increase in
size will result in some loss in performance.
• Preventing software resources running out:
– 32-bit IP address.
22-Jun-20 11
Failure Handling
• Failures in a distributed system are partial:
– That is, some components fail while others continue
to function.
– Therefore the handling of failures is particularly
difficult.
• The following techniques are used for dealing
with failures:
– Detecting failures:
• Some failures can be detected. For example, checksums
can be used to detect corrupted data in a message or a file.
22-Jun-20 12
Failure Handling
– Masking failures:
• Some failures that have been detected can be hidden or
made less severe.
• Two examples of hiding failures: 1. Messages can be
retransmitted when they fail to arrive. 2. File data can be
written to a pair of disks so that if one is corrupted, the
other may still be correct.
– Tolerating failures:
• Services can be made to tolerate failures by the use of
redundant components.
– Recovery from failures:
• Recovery involves the design of software so that the state
of permanent data can be recovered or ‘rolled back’ after
a crash.
22-Jun-20 13
Concurrency
• Both services and applications provide resources that can be
shared by clients in a distributed system.
• There is therefore a possibility that several clients will attempt
to access a shared resource at the same time.
• The process that manages a shared resource could take one
client request at a time. But this approach limits throughput.
• Therefore services and applications generally allow multiple
client requests to be processed concurrently.
• The objects that represent shared resources in a
distributed system must be operating correctly in a concurrent
environment .
22-Jun-20 14
Transparency
• Transparency is defined as the concealment from the
user and the application programmer of the separation
of components in a distributed system, so that the
system is perceived as a whole rather than as a
collection of independent components.
22-Jun-20 15
Transparency
There are 8 forms of transparency:
• Access transparency
– enables local and remote resources to be accessed
using identical operations.
• Location transparency
– enables resources to be accessed without knowledge
of their physical or network location (for example,
which building or IP address).
22-Jun-20 16
Transparency
• Concurrency transparency
– enables several processes to operate concurrently
using shared resources without interference between
them.
• Replication transparency
– enables multiple instances of resources to be used to
increase reliability and performance without
knowledge of the replicas by users or application
programmers.
22-Jun-20 17
Transparency
• Failure transparency
– enables the concealment of faults, allowing users
and application programs to complete their tasks
despite the failure of hardware or software
components.
• Mobility transparency
– allows the movement of resources and clients within
a system without affecting the operation of users or
programs.
22-Jun-20 18
Transparency
• Performance transparency
– allows the system to be reconfigured to improve
performance as loads vary.
• Scaling transparency
– allows the system and applications to expand in
scale without change to the system structure or the
application algorithms.
22-Jun-20 19

More Related Content

Similar to lect02.pdf

Concepts of Distributed Computing & Cloud Computing
Concepts of Distributed Computing & Cloud Computing Concepts of Distributed Computing & Cloud Computing
Concepts of Distributed Computing & Cloud Computing Hitesh Kumar Markam
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdflematadese670
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptAschalewAyele2
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes SAhammedShakil
 
distributed system original.pdf
distributed system original.pdfdistributed system original.pdf
distributed system original.pdfKirimanyiJovanntanda
 
Distributed Computing
Distributed Computing Distributed Computing
Distributed Computing Megha yadav
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptxsalutiontechnology
 
Distributed system
Distributed systemDistributed system
Distributed systemchirag patil
 
introduction to cloud computing for college.pdf
introduction to cloud computing for college.pdfintroduction to cloud computing for college.pdf
introduction to cloud computing for college.pdfsnehan789
 
Lect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxLect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxPardonSamson
 
CCUnit1.pdf
CCUnit1.pdfCCUnit1.pdf
CCUnit1.pdfAnayGupta26
 
Chapter 1 Introduction- DS.pptx
Chapter 1 Introduction- DS.pptxChapter 1 Introduction- DS.pptx
Chapter 1 Introduction- DS.pptxTadeseBeyene
 
Computing notes
Computing notesComputing notes
Computing notesthenraju24
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed SystemAshish KC
 
Distributed Computing Report
Distributed Computing ReportDistributed Computing Report
Distributed Computing ReportIIT Kharagpur
 
Viloria osi layer4-7
Viloria osi layer4-7Viloria osi layer4-7
Viloria osi layer4-7Jhoniel Viloria
 
vssutcloud computing.pptx
vssutcloud computing.pptxvssutcloud computing.pptx
vssutcloud computing.pptxMunmunSaha7
 
_Cloud_Computing_Overview.pdf
_Cloud_Computing_Overview.pdf_Cloud_Computing_Overview.pdf
_Cloud_Computing_Overview.pdfTyStrk
 

Similar to lect02.pdf (20)

Concepts of Distributed Computing & Cloud Computing
Concepts of Distributed Computing & Cloud Computing Concepts of Distributed Computing & Cloud Computing
Concepts of Distributed Computing & Cloud Computing
 
distributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdfdistributed system chapter one introduction to distribued system.pdf
distributed system chapter one introduction to distribued system.pdf
 
chapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.pptchapter 1- introduction to distributed system.ppt
chapter 1- introduction to distributed system.ppt
 
Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes Distributed system Tanenbaum chapter 1,2,3,4 notes
Distributed system Tanenbaum chapter 1,2,3,4 notes
 
distributed system original.pdf
distributed system original.pdfdistributed system original.pdf
distributed system original.pdf
 
Distributed Computing
Distributed Computing Distributed Computing
Distributed Computing
 
Distributed Systems.pptx
Distributed Systems.pptxDistributed Systems.pptx
Distributed Systems.pptx
 
Distributed system
Distributed systemDistributed system
Distributed system
 
introduction to cloud computing for college.pdf
introduction to cloud computing for college.pdfintroduction to cloud computing for college.pdf
introduction to cloud computing for college.pdf
 
Lect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptxLect 2 Types of Distributed Systems.pptx
Lect 2 Types of Distributed Systems.pptx
 
Report_Internships
Report_InternshipsReport_Internships
Report_Internships
 
CCUnit1.pdf
CCUnit1.pdfCCUnit1.pdf
CCUnit1.pdf
 
Chapter 1 Introduction- DS.pptx
Chapter 1 Introduction- DS.pptxChapter 1 Introduction- DS.pptx
Chapter 1 Introduction- DS.pptx
 
Computing notes
Computing notesComputing notes
Computing notes
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed System
 
Distributed Computing Report
Distributed Computing ReportDistributed Computing Report
Distributed Computing Report
 
Unit 1
Unit 1Unit 1
Unit 1
 
Viloria osi layer4-7
Viloria osi layer4-7Viloria osi layer4-7
Viloria osi layer4-7
 
vssutcloud computing.pptx
vssutcloud computing.pptxvssutcloud computing.pptx
vssutcloud computing.pptx
 
_Cloud_Computing_Overview.pdf
_Cloud_Computing_Overview.pdf_Cloud_Computing_Overview.pdf
_Cloud_Computing_Overview.pdf
 

Recently uploaded

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vĂĄzquez
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 

Recently uploaded (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

lect02.pdf

  • 2. 22-Jun-20 2 Challenges/goals with distributed systems One of the important characteristic is that differences between the various computers and the ways in which they communicate are mostly hidden from users. •Heterogeneity •Openness •Security •Scalability •Failure Handling •Concurrency •Transparency
  • 3. Heterogeneity in DS applies to • Networks: – The Internet consists of many different networks but their differences are masked by the fact that all of the computers attached to them use the Internet protocols to communicate with one another. • Computer hardware: – Data types such as integers may be represented in different ways on different sorts of hardware. These differences in representation must be dealt with if messages are to be exchanged between programs running on different hardware. 22-Jun-20 3
  • 4. Heterogeneity in DS applies to • Operating systems: – The operating systems of all computers on the Internet need to include an implementation of the Internet protocols, but they do not necessarily all provide the same application programming interface to these protocols. For example, the calls for exchanging messages in UNIX are different from the calls in Windows. 22-Jun-20 4
  • 5. Heterogeneity in DS applies to • Programming languages: – Different programming languages use different representations for characters and data structures. These differences must be addressed if programs written in different languages are to be able to communicate with one another. • Implementation by different developers: – Programs written by different developers cannot communicate with one another unless they use common standards. For this to happen, standards need to be agreed and adopted – as have the Internet protocols. 22-Jun-20 5
  • 6. Openness • The openness of a computer system is the characteristic that determines whether the system can be extended and re-implemented in various ways. • The openness of distributed systems is determined primarily by the degree to which new resource-sharing services can be added and be made available for use by a variety of client programs. 22-Jun-20 6
  • 7. Openness • Systems may be extended at the – hardware level: by addition of computers to the network – software level: by the introduction of new services and the reimplementation of old ones, enabling application programs to share resources. • Open systems are characterized by the fact that their key interfaces are published. 22-Jun-20 7
  • 8. Security • Discussed in lecture 1 22-Jun-20 8
  • 9. Scalability • A system is described as scalable if it will remain effective when there is a significant increase in the number of resources and the number of users. – For ex, the number of computers and servers in the Internet has increased dramatically. 22-Jun-20 9
  • 10. Scalability • The design of scalable distributed systems presents the following challenges: • Controlling the cost of physical resources: – As the demand for a resource grows, it should be possible to extend the system, at reasonable cost, to meet it. – In general, for a system with n users to be scalable, the quantity of physical resources required to support them should be at most O(n) i.e. proportional to n. 22-Jun-20 10
  • 11. Scalability • Controlling the performance loss: – Algorithms that use hierarchic structures scale better than those that use linear structures. – the time taken to access hierarchically structured data is O(log n). – But even with hierarchic structures an increase in size will result in some loss in performance. • Preventing software resources running out: – 32-bit IP address. 22-Jun-20 11
  • 12. Failure Handling • Failures in a distributed system are partial: – That is, some components fail while others continue to function. – Therefore the handling of failures is particularly difficult. • The following techniques are used for dealing with failures: – Detecting failures: • Some failures can be detected. For example, checksums can be used to detect corrupted data in a message or a file. 22-Jun-20 12
  • 13. Failure Handling – Masking failures: • Some failures that have been detected can be hidden or made less severe. • Two examples of hiding failures: 1. Messages can be retransmitted when they fail to arrive. 2. File data can be written to a pair of disks so that if one is corrupted, the other may still be correct. – Tolerating failures: • Services can be made to tolerate failures by the use of redundant components. – Recovery from failures: • Recovery involves the design of software so that the state of permanent data can be recovered or ‘rolled back’ after a crash. 22-Jun-20 13
  • 14. Concurrency • Both services and applications provide resources that can be shared by clients in a distributed system. • There is therefore a possibility that several clients will attempt to access a shared resource at the same time. • The process that manages a shared resource could take one client request at a time. But this approach limits throughput. • Therefore services and applications generally allow multiple client requests to be processed concurrently. • The objects that represent shared resources in a distributed system must be operating correctly in a concurrent environment . 22-Jun-20 14
  • 15. Transparency • Transparency is defined as the concealment from the user and the application programmer of the separation of components in a distributed system, so that the system is perceived as a whole rather than as a collection of independent components. 22-Jun-20 15
  • 16. Transparency There are 8 forms of transparency: • Access transparency – enables local and remote resources to be accessed using identical operations. • Location transparency – enables resources to be accessed without knowledge of their physical or network location (for example, which building or IP address). 22-Jun-20 16
  • 17. Transparency • Concurrency transparency – enables several processes to operate concurrently using shared resources without interference between them. • Replication transparency – enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users or application programmers. 22-Jun-20 17
  • 18. Transparency • Failure transparency – enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. • Mobility transparency – allows the movement of resources and clients within a system without affecting the operation of users or programs. 22-Jun-20 18
  • 19. Transparency • Performance transparency – allows the system to be reconfigured to improve performance as loads vary. • Scaling transparency – allows the system and applications to expand in scale without change to the system structure or the application algorithms. 22-Jun-20 19