SlideShare a Scribd company logo
chapter 1
Objectives
To define what is a distributed system
To know the consequences of the
definition
To identify the challenges in designing and
building a distributed system
Chapter Outlines
Introduction
Examples of Distributed Systems
Challenges of Distributed Systems
♦ Data are Distributed
» If data must exist in multiple computers for admin and ownership
reasons
♦ Computation is Distributed
» Applications taking advantage of parallelism, multiple processors,
» particular feature
» Scalability and heterogeneity of Distributed System
♦ Users are Distributed
» If Users communicate and interact via application (shared objects)
Definition of A Distributed System
“A distributed system is a collection of independent
computers that appear to the users of the system as a
single computer.” [Tanenbaum]
“A distributed system is a collection of autonomous
computers linked by a network with software designed
to produce an integrated computing facility.”
[Coulouris, Dollimore, Kindberg]
“A system of multiple autonomous processing
elements, cooperating in a common purpose or to
achieve a common goal.” [Burns & Wellings 1997]
”A system that consists of a collection of two or more
independent computers, that are connected by a
network, which coordinate their processing through the
exchange of synchronous or asynchronous message
passing. They may be on separate continents, in the
same building or the same room”.
Definition from our textbook
Centralized vs. Distributed
Introduction
Motivation for A Distributed System
 Load balancing / distribution
 breaking a problem into smaller pieces enables you to solve larger
problems without resorting to larger computer
 MAINFRAME – 10 X faster but 1000 X expensive
 Increased Processing Power
 independent processors working on the same task
 Distributed systems consisting of collections of microcomputers
may have processing powers that no single computer will ever
achieve
 10000 CPUs, each running at 50 MIPS, yields 500000 MIPS 
instruction to be executed in 0.002 nsec  equivalent to light
distance of 0.6 mm  any processor chip of that size would melt
immediately
Introduction
Motivation for A Distributed System
Fault tolerance
 If any of the machine gets down, others can still run
Availability
 Anytime, anywhere access
Resource sharing
 All clients can be server or vice versa to provide resources
(data, files, services)
 The main motivator for DS
Examples
Examples
Source : http://setiathome.ssl.berkeley.edu/
Examples
Source : http://www.girardin.org/fabien/blog/wp-content/mobile_computing_30s.png
Distributed Computing
Examples
Distributed Computing
Challenges in Distributed System
Distributed Computing
Challenge: Heterogeneity
Heterogeneity = variety and difference
Heterogeneity of
underlying network infrastructure (ethernet, ISDN, token ring etc),
computer hardware and software (e.g., operating systems, compare UNIX
sockets and Winsock calls),
programming languages (java, C, python : in particular, data
representations),
implementations by different developers
Heterogeneity needs to be masked
Distributed Computing
determines whether the system can be
extended and re-implemented in various
ways
Determined primarily by the degree to
which new resource-sharing services can be
added and be made available for use by
variety of client programs
Detailed interfaces of components need to
be standardized and published.
Challenge: Openness
Distributed Computing
Security for information resources has three components:
Confidentiality
 protection against disclosure to unauthorized individuals
Integrity
 protection against alteration or corruption
Availability
 protection against interference with the means of accessing the
resources
The challenge: sending sensitive information in a network
message in a secure manner efficiently
Not just to conceal the info but to ensure that the sender and
recipients are the rightful owners of the messages
Challenge: Security
Distributed Computing
Challenge: Scalability
A distributed system is scalable if it remains effective
as the number of users and/or resources increase
Challenges:
Controlling resource costs
Controlling performance loss
Preventing resources from running out
Avoiding performance bottlenecks
Distributed Computing
Challenge: Failure Handling
Failures more common than in centralized systems
and usually partial
Failure handling includes
Detection (may be impossible)
Masking/hiding
Tolerance
Recovery
Redundancy
Distributed Computing
Challenge: Failure Handling
Detection
Some possible (e.g., using transmission errors via
checksums)
Some impossible (crashed remote server vs. slow
remote server)
Challenge: manage failures that cannot be detected, but
suspected
Distributed Computing
Challenge: Failure Handling
Masking/hiding
Some failures can be hidden or made less severe
Replication in space/time
 Space: e.g., writing to multiple disks
 Time: e.g., transmission of multiple messages
May not work in worst cases, e.g., all disks may have
been corrupted
Distributed Computing
Challenge: Failure Handling
Tolerance
Sometimes not feasible to hide all failures
E.g., user has to tolerate if web service has failed rather than wait
until service is up again
Only feasible for certain classes of applications/systems, e.g., DNS
vs. Internet addresses
Recovery
Restoring a correct system state
Roll back using log files
Distributed Computing
Challenge: Failure Handling
Redundancy
Tolerate failures by using redundant components
Provided through replication
E.g., redundant routes in network, replication of name tables in
multiple domain name servers
Goal of failure handling: high availability
availability of a system is a measure of the proportion of time that
the system is available for use
Distributed Computing
Challenge: Concurrency
Concurrency control
Handling several simultaneous requests for a resource
 Consistent scheduling of concurrent threads (so that
dependencies are preserved, e.g., in concurrent transactions)
Synchronized operations (semaphores)
 Safest, but limits throughput
Shared objects/resources must guarantee correctness in a
concurrent environment
Avoidance of deadlocks
Distributed Computing
Challenge: Transparency
Concealing the heterogeneous and distributed nature
of the system so that it appears to the user like one
system
Eight types (ANSA/ISO)
access, location, concurrency, replication, failure,
mobility, performance and scaling transparencies
Distributed Computing
Challenge: Transparency
•Access transparency:
•enables local and remote resources to be accessed using identical
operations.
For instance, from a user's point of view, access to a remote service such as
a printer should be identical with access to a local printer.
From a programmers point of view, the access method to a remote object
may be identical to access a local object of the same class.
•E.g., Same user interface and operations offered in order to access either
local or remote resources
Distributed Computing
Challenge: Transparency
•Location transparency:
•enables resources to be accessed without knowledge of their location.
•The details of the topology of the system should be of no concern to the
user.
•The location of an object in the system may not be visible to the user or
programmer.
•This differs from access transparency in that both the naming and access
methods may be the same. Names may give no hint as to location.
•E.g., URL or e-mail addresses.
• www.google.com (IP address is the physical location)
Distributed Computing
Challenge: Transparency
•Concurrency transparency:
•enables several processes to operate concurrently using shared resources
without interference between them.
•E.g., no conflict occur when 2 or more users accessing the same system
Distributed Computing
Challenge: Transparency
•Replication transparency:
•enables multiple instances of resources to be used to increase reliability
and performance without knowledge of the replicas by users.
•This kind of transparency should be mainly incorporated for the distributed file
systems, which replicate the data at two or more sites for more reliability. The client
generally should not be aware that a replicated copy of the data exists. The clients
should also expect operations to return only one set of values.
•The examples are Distributed DBMS and Mirroring of Web pages.
•Failure transparency:
•enables the concealment of faults, allowing users and application
programs to complete their tasks despite the failure of hardware or
software components.
•E.g., retransmission of e-mail messages
•Mobility transparency:
•allows the movement of resources and clients within a system without
affecting the operation of users or programs.Distributed Computing
Challenge: Transparency
•Mobility transparency:
•allows the movement of resources and clients within a system without
affecting the operation of users or programs.
•E.g., caller and callee undergoing different places while on the phone
Distributed Computing
Challenge: Transparency
•Performance transparency:
•allows the system to be reconfigured to improve performance as loads
vary.
•Eg:Video On Demand (VOD) System
•Scaling transparency:
•allows the system and applications to expand in scale without change to
the system structure or the application algorithms.
•Eg: P2P apps
Distributed Computing
Transparency Description
Access
Hide differences in data representation and how a
resource is accessed
Location Hide where a resource is located
Migration Hide that a resource may move to another location
Relocation
Hide that a resource may be moved to another
location while in use
Replication Hide that a resource may be replicated
Concurrency
Hide that a resource may be shared by several
competitive users
Failure Hide the failure and recovery of a resource
Persistence
Hide whether a (software) resource is in memory or on
disk
1. Name a program that is using distributed computing and freely
available to the masses
2. Name 1 research field that is relying heavily on distributed computing
Summary
A distributed system is a collection of independent
and autonomous computers that appear to the
users of the system as a single computer.”
Based on the above definition, there are three
significant consequences :
Concurrency
No global clock
Independent failures
Several challenges need to be addressed in
designing and building DS
Heterogeneity, openness, security, scalability, failure
handling, concurrency and transparency.
Distributed Computing

More Related Content

PPTX
Distributed operating system
PPTX
Diabetes Mellitus
PPTX
Hypertension
PPTX
Republic Act No. 11313 Safe Spaces Act (Bawal Bastos Law).pptx
PPTX
Power Point Presentation on Artificial Intelligence
PDF
Caça palavras - Bullying
PPTX
Distributed operating system
Diabetes Mellitus
Hypertension
Republic Act No. 11313 Safe Spaces Act (Bawal Bastos Law).pptx
Power Point Presentation on Artificial Intelligence
Caça palavras - Bullying

What's hot (20)

PPT
Group Communication (Distributed computing)
PPT
Socket System Calls
PPT
Remote invocation
PPTX
Unit 2 data link control
PPTX
Cloud Computing
PDF
Unit II - 2 - Operating System - Threads
PPTX
Message passing in Distributed Computing Systems
PPTX
Csma cd and csma-ca
PPTX
Deadlock ppt
PDF
Distributed Operating System_1
PPTX
Query processing strategies in distributed database
PDF
C++ OOPS Concept
PPTX
Transport Layer Services : Multiplexing And Demultiplexing
PPTX
Security services
PDF
8. mutual exclusion in Distributed Operating Systems
PPT
Thread model in java
PPTX
Chapter 8 Operating Systems silberschatz : deadlocks
PPTX
Congestion on computer network
PPTX
Public key algorithm
Group Communication (Distributed computing)
Socket System Calls
Remote invocation
Unit 2 data link control
Cloud Computing
Unit II - 2 - Operating System - Threads
Message passing in Distributed Computing Systems
Csma cd and csma-ca
Deadlock ppt
Distributed Operating System_1
Query processing strategies in distributed database
C++ OOPS Concept
Transport Layer Services : Multiplexing And Demultiplexing
Security services
8. mutual exclusion in Distributed Operating Systems
Thread model in java
Chapter 8 Operating Systems silberschatz : deadlocks
Congestion on computer network
Public key algorithm
Ad

Viewers also liked (20)

PDF
Goal: 50 and healthy!
PDF
Compuware Mobility Presentation Overview
PPTX
Optimus protein
PDF
3 easy changes to start taking vitamins, doing crunches, and eating healthier
PPTX
Loneliness and Longevity
PDF
Portfolio
PPTX
How to start going to the gym: what worked/is working for me!
PPTX
Staff Walking Survey Results
PDF
Li Cppi Corporate Overview
PDF
Goal: 50 and healthy!
PDF
Walking for entertainment
PPTX
Predicting Motivation
PPT
Web engineering cse ru
PPTX
STP engagement and consultation for NHS & Local Authorities
PDF
Ebook competencias-digitales-blog
PPT
Cryptography cse,ru
PPT
Introduction to computer
PPT
Caesar cipher
PPT
Decision making and looping
PPTX
Jpeg compression
Goal: 50 and healthy!
Compuware Mobility Presentation Overview
Optimus protein
3 easy changes to start taking vitamins, doing crunches, and eating healthier
Loneliness and Longevity
Portfolio
How to start going to the gym: what worked/is working for me!
Staff Walking Survey Results
Li Cppi Corporate Overview
Goal: 50 and healthy!
Walking for entertainment
Predicting Motivation
Web engineering cse ru
STP engagement and consultation for NHS & Local Authorities
Ebook competencias-digitales-blog
Cryptography cse,ru
Introduction to computer
Caesar cipher
Decision making and looping
Jpeg compression
Ad

Similar to Chapter 1 -_characterization_of_distributed_systems (20)

PDF
distributed system chapter one introduction to distribued system.pdf
PPTX
Distributed Systems.pptx
PPT
Chapter 1-Introduction.ppt
PPTX
Chapter 1-Introduction to distributed system.pptx
PPT
Intorduction Distributed and Parallel Computing.ppt
PDF
Chapter 1 introduction
PPT
- Introduction - Distributed - System -
PPT
Chapter 1-Introduction.ppt
PPT
Chapter One.ppt
PPT
Distributed Processing
PPT
DISTRIBUTED SYSTEMS lecture notes 25 .ppt
PDF
distributed system original.pdf
PPTX
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
PPT
Lecture 2 - Definition and Goals of a Distributed System.ppt
PPT
Chapter 1_NG_2020.ppt
PPTX
Lect 2 Types of Distributed Systems.pptx
PPTX
Distributed Computing system
PPTX
Lect 1 Distributed System.pptx
DOCX
DISTRIBUTED SYSTEM.docx
PDF
chapter 1-Introductionkkkclll;;;x;lc,.pdf
distributed system chapter one introduction to distribued system.pdf
Distributed Systems.pptx
Chapter 1-Introduction.ppt
Chapter 1-Introduction to distributed system.pptx
Intorduction Distributed and Parallel Computing.ppt
Chapter 1 introduction
- Introduction - Distributed - System -
Chapter 1-Introduction.ppt
Chapter One.ppt
Distributed Processing
DISTRIBUTED SYSTEMS lecture notes 25 .ppt
distributed system original.pdf
Chapter-1-IntroDistributeddffsfdfsdf-1.pptx
Lecture 2 - Definition and Goals of a Distributed System.ppt
Chapter 1_NG_2020.ppt
Lect 2 Types of Distributed Systems.pptx
Distributed Computing system
Lect 1 Distributed System.pptx
DISTRIBUTED SYSTEM.docx
chapter 1-Introductionkkkclll;;;x;lc,.pdf

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Electronic commerce courselecture one. Pdf
PDF
Approach and Philosophy of On baking technology
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Advanced methodologies resolving dimensionality complications for autism neur...
Building Integrated photovoltaic BIPV_UPV.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
NewMind AI Monthly Chronicles - July 2025
Chapter 3 Spatial Domain Image Processing.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Network Security Unit 5.pdf for BCA BBA.
Electronic commerce courselecture one. Pdf
Approach and Philosophy of On baking technology
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation_ Review paper, used for researhc scholars
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...

Chapter 1 -_characterization_of_distributed_systems

  • 2. Objectives To define what is a distributed system To know the consequences of the definition To identify the challenges in designing and building a distributed system
  • 3. Chapter Outlines Introduction Examples of Distributed Systems Challenges of Distributed Systems
  • 4. ♦ Data are Distributed » If data must exist in multiple computers for admin and ownership reasons ♦ Computation is Distributed » Applications taking advantage of parallelism, multiple processors, » particular feature » Scalability and heterogeneity of Distributed System ♦ Users are Distributed » If Users communicate and interact via application (shared objects)
  • 5. Definition of A Distributed System “A distributed system is a collection of independent computers that appear to the users of the system as a single computer.” [Tanenbaum] “A distributed system is a collection of autonomous computers linked by a network with software designed to produce an integrated computing facility.” [Coulouris, Dollimore, Kindberg] “A system of multiple autonomous processing elements, cooperating in a common purpose or to achieve a common goal.” [Burns & Wellings 1997]
  • 6. ”A system that consists of a collection of two or more independent computers, that are connected by a network, which coordinate their processing through the exchange of synchronous or asynchronous message passing. They may be on separate continents, in the same building or the same room”. Definition from our textbook
  • 8. Introduction Motivation for A Distributed System  Load balancing / distribution  breaking a problem into smaller pieces enables you to solve larger problems without resorting to larger computer  MAINFRAME – 10 X faster but 1000 X expensive  Increased Processing Power  independent processors working on the same task  Distributed systems consisting of collections of microcomputers may have processing powers that no single computer will ever achieve  10000 CPUs, each running at 50 MIPS, yields 500000 MIPS  instruction to be executed in 0.002 nsec  equivalent to light distance of 0.6 mm  any processor chip of that size would melt immediately
  • 9. Introduction Motivation for A Distributed System Fault tolerance  If any of the machine gets down, others can still run Availability  Anytime, anywhere access Resource sharing  All clients can be server or vice versa to provide resources (data, files, services)  The main motivator for DS
  • 14. Challenges in Distributed System Distributed Computing
  • 15. Challenge: Heterogeneity Heterogeneity = variety and difference Heterogeneity of underlying network infrastructure (ethernet, ISDN, token ring etc), computer hardware and software (e.g., operating systems, compare UNIX sockets and Winsock calls), programming languages (java, C, python : in particular, data representations), implementations by different developers Heterogeneity needs to be masked Distributed Computing
  • 16. determines whether the system can be extended and re-implemented in various ways Determined primarily by the degree to which new resource-sharing services can be added and be made available for use by variety of client programs Detailed interfaces of components need to be standardized and published. Challenge: Openness Distributed Computing
  • 17. Security for information resources has three components: Confidentiality  protection against disclosure to unauthorized individuals Integrity  protection against alteration or corruption Availability  protection against interference with the means of accessing the resources The challenge: sending sensitive information in a network message in a secure manner efficiently Not just to conceal the info but to ensure that the sender and recipients are the rightful owners of the messages Challenge: Security Distributed Computing
  • 18. Challenge: Scalability A distributed system is scalable if it remains effective as the number of users and/or resources increase Challenges: Controlling resource costs Controlling performance loss Preventing resources from running out Avoiding performance bottlenecks Distributed Computing
  • 19. Challenge: Failure Handling Failures more common than in centralized systems and usually partial Failure handling includes Detection (may be impossible) Masking/hiding Tolerance Recovery Redundancy Distributed Computing
  • 20. Challenge: Failure Handling Detection Some possible (e.g., using transmission errors via checksums) Some impossible (crashed remote server vs. slow remote server) Challenge: manage failures that cannot be detected, but suspected Distributed Computing
  • 21. Challenge: Failure Handling Masking/hiding Some failures can be hidden or made less severe Replication in space/time  Space: e.g., writing to multiple disks  Time: e.g., transmission of multiple messages May not work in worst cases, e.g., all disks may have been corrupted Distributed Computing
  • 22. Challenge: Failure Handling Tolerance Sometimes not feasible to hide all failures E.g., user has to tolerate if web service has failed rather than wait until service is up again Only feasible for certain classes of applications/systems, e.g., DNS vs. Internet addresses Recovery Restoring a correct system state Roll back using log files Distributed Computing
  • 23. Challenge: Failure Handling Redundancy Tolerate failures by using redundant components Provided through replication E.g., redundant routes in network, replication of name tables in multiple domain name servers Goal of failure handling: high availability availability of a system is a measure of the proportion of time that the system is available for use Distributed Computing
  • 24. Challenge: Concurrency Concurrency control Handling several simultaneous requests for a resource  Consistent scheduling of concurrent threads (so that dependencies are preserved, e.g., in concurrent transactions) Synchronized operations (semaphores)  Safest, but limits throughput Shared objects/resources must guarantee correctness in a concurrent environment Avoidance of deadlocks Distributed Computing
  • 25. Challenge: Transparency Concealing the heterogeneous and distributed nature of the system so that it appears to the user like one system Eight types (ANSA/ISO) access, location, concurrency, replication, failure, mobility, performance and scaling transparencies Distributed Computing
  • 26. Challenge: Transparency •Access transparency: •enables local and remote resources to be accessed using identical operations. For instance, from a user's point of view, access to a remote service such as a printer should be identical with access to a local printer. From a programmers point of view, the access method to a remote object may be identical to access a local object of the same class. •E.g., Same user interface and operations offered in order to access either local or remote resources Distributed Computing
  • 27. Challenge: Transparency •Location transparency: •enables resources to be accessed without knowledge of their location. •The details of the topology of the system should be of no concern to the user. •The location of an object in the system may not be visible to the user or programmer. •This differs from access transparency in that both the naming and access methods may be the same. Names may give no hint as to location. •E.g., URL or e-mail addresses. • www.google.com (IP address is the physical location) Distributed Computing
  • 28. Challenge: Transparency •Concurrency transparency: •enables several processes to operate concurrently using shared resources without interference between them. •E.g., no conflict occur when 2 or more users accessing the same system Distributed Computing
  • 29. Challenge: Transparency •Replication transparency: •enables multiple instances of resources to be used to increase reliability and performance without knowledge of the replicas by users. •This kind of transparency should be mainly incorporated for the distributed file systems, which replicate the data at two or more sites for more reliability. The client generally should not be aware that a replicated copy of the data exists. The clients should also expect operations to return only one set of values. •The examples are Distributed DBMS and Mirroring of Web pages. •Failure transparency: •enables the concealment of faults, allowing users and application programs to complete their tasks despite the failure of hardware or software components. •E.g., retransmission of e-mail messages •Mobility transparency: •allows the movement of resources and clients within a system without affecting the operation of users or programs.Distributed Computing
  • 30. Challenge: Transparency •Mobility transparency: •allows the movement of resources and clients within a system without affecting the operation of users or programs. •E.g., caller and callee undergoing different places while on the phone Distributed Computing
  • 31. Challenge: Transparency •Performance transparency: •allows the system to be reconfigured to improve performance as loads vary. •Eg:Video On Demand (VOD) System •Scaling transparency: •allows the system and applications to expand in scale without change to the system structure or the application algorithms. •Eg: P2P apps Distributed Computing
  • 32. Transparency Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use Replication Hide that a resource may be replicated Concurrency Hide that a resource may be shared by several competitive users Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk
  • 33. 1. Name a program that is using distributed computing and freely available to the masses 2. Name 1 research field that is relying heavily on distributed computing
  • 34. Summary A distributed system is a collection of independent and autonomous computers that appear to the users of the system as a single computer.” Based on the above definition, there are three significant consequences : Concurrency No global clock Independent failures Several challenges need to be addressed in designing and building DS Heterogeneity, openness, security, scalability, failure handling, concurrency and transparency. Distributed Computing