![Page 1: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/1.jpg)
Chapter 1
Characterization of
Distributed Systems
![Page 2: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/2.jpg)
Copyright © 2018 Prof. Amr El-Kadi
Outline
• What is a distributed system?
• Examples of distributed systems
• Resource sharing
• Challenges
![Page 3: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/3.jpg)
Copyright © 2018 Prof. Amr El-Kadi
What is a distributed system?
• At a high-level of abstraction, a distributed
system is one that is composed of multiple
connected computers where a user
requests services by name.
• In distributed systems, components
interact solely via message passing.
![Page 4: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/4.jpg)
Copyright © 2018 Prof. Amr El-Kadi
What is a distributed system?
• Based on such layout, we observe the following significant consequences:
– Concurrency is inherent in distributed systems,
– There is no global clock,
– Distributed systems fail in new ways.
• We build distributed systems for one main reason: sharing resources, all kinds of resources!
![Page 5: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/5.jpg)
Selected application domains and
associated networked applicationsFinance and commerce eCommerce e.g. Amazon and eBay, PayPal,
online banking and trading
The information society Web information and search engines, ebooks,
Wikipedia; social networking: Facebook and MySpace.
Creative industries and
entertainment
online gaming, music and film in the home,
user-generated content, e.g. YouTube, Flickr
Healthcare health informatics, on online patient records,
monitoring patients
Education e-learning, virtual learning environments;
distance learning
Transport and logistics GPS in route finding systems, map services:
Google Maps, Google Earth
Science The Grid as an enabling technology for
collaboration between scientists
Environmental management sensor technology to monitor earthquakes,
floods or tsunamis
Copyright © 2018 Prof. Amr El-Kadi
![Page 6: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/6.jpg)
Copyright © 2018 Prof. Amr El-Kadi
Examples of distributed
systems: The Internet
intranet
ISP
desktop computer:
backbone
satellite link
server:
%
network link:
%
%
%
![Page 7: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/7.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• Few issues to observe:
– The set of services is open-ended,
– Backbones are links with high transmission capacities realized through different technologies,
– The ability of the Internet today to handle multimedia data is currently very limited due to the lack of facilities to reserve network bandwidth for individual streams of data.
![Page 8: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/8.jpg)
Copyright © 2018 Prof. Amr El-Kadi
Examples of distributed
systems: An Intranet
the rest of
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local area
network
email server
the Internet
![Page 9: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/9.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• This is a portion of the Internet with clearly
defined boundaries in which local security
polices can be enforced.
• What is a firewall and how is it
implemented?
![Page 10: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/10.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• The main issues related to the deployment of components in an intranet are:
– Users need to share data, so a distributed file service is needed.
– Firewalls may be too restrictive, sometimes fine-grained security mechanisms are needed.
• The cost of software deployment and maintenance is a crucial issue; proper system architecture should be employed.
![Page 11: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/11.jpg)
Copyright © 2018 Prof. Amr El-Kadi
Mobile and ubiquitous computing
• Increasingly becoming the norm.
• Examples include:
– Laptop computers.
– Handheld devices, including Personal Digital
Assistants (PDAs), mobile phones, and digital
cameras.
– Wearable devices, such as smart watches.
– Embedded devices, such as hi-fi systems,
microwave ovens, and vending machines.
![Page 12: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/12.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• Mobile computing (also called nomadic
computing) is defined as the ability to
perform computing while roaming.
• Users are able to utilize resources such as
printers at conveniently nearby places as
they move around. This is known as
location-aware computing.
![Page 13: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/13.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• Ubiquitous computing is possible through the utilization of many small and cheap computing devices that are present in the users’ environments, for example smart cards.
• Computational behavior will be limited by their physical function.
![Page 14: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/14.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• Ubiquitous and mobile computing overlap since mobile users expect to benefit from computers that are everywhere.
• Yet they are distinct
– Ubiquitous computing would benefit a user while he/she remains in a single environment.
– Similarly, a mobile computing user can still perform computing tasks even if it involves only more sophisticated devices such as laptops and printers.
![Page 15: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/15.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• Both mobile and ubiquitous computing
raise significant system issues including:
discovery of resources, automatic
reconfiguration of mobile devices, coping
with limited connectivity while on the
move, and security.
![Page 16: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/16.jpg)
Copyright © 2018 Prof. Amr El-Kadi
Portable and handheld devices
in a distributed system
Laptop
Mobile
Printer
Camera
Internet
Host intranet Home intranetWAP
Wireless LAN
phone
gateway
Host site
![Page 17: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/17.jpg)
Copyright © 2018 Prof. Amr El-Kadi
Resource sharing
• Resource sharing varies widely in scope
and in how close users collaborate
together.
• Examples of the two extremes include:
search engines, and Computer-Supported
Cooperative Working (CSCW).
• Shared resources are accessed by
services via the operations they export.
![Page 18: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/18.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• Getting a service in a distributed system is
achieved via a remote invocation
mechanism.
• In the simple case, we have two active
entities (client and server).
• Not all distributed systems are constructed
entirely using the client-server model.
![Page 19: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/19.jpg)
Copyright © 2018 Prof. Amr El-Kadi
The World Wide Web
• It started as an environment providing a community of physicists working for the European Center for Nuclear Research (CERN) with a medium for exchanging documents via the Internet.
• Its key feature is the structure it provides in hypertext.
• The Web is an open system for two main reasons:1. It is based on standardized communication and documents’
structures.
2. It is open with respect to the type of resources that it can manipulate via the use of “helper” applications and “plug-ins”.
![Page 20: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/20.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• It is based on three major standard
components:
– The HyperText Markup Language (HTML).
– Uniform Resource Locators (URLs).
– A client-server model, with HyperText Transfer
Protocol (HTTP).
![Page 21: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/21.jpg)
Cloud computing
Copyright © 2018 Prof. Amr El-Kadi
![Page 22: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/22.jpg)
Copyright © 2018 Prof. Amr El-Kadi
Challenges
• The design and development of distributed
systems is not quite simple.
• Most of the issues we discuss here as
challenges have been resolved, still
designers have to be highly aware of them
and take them into account.
![Page 23: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/23.jpg)
Copyright © 2018 Prof. Amr El-Kadi
1. Heterogeneity
• It applies to the following:
– Networks
– Computer hardware
– Operating systems
– Programming languages
– Applications’ interfaces
![Page 24: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/24.jpg)
Copyright © 2018 Prof. Amr El-Kadi
Middleware
• What is it?
• Most middleware deal with differences in
operating systems and hardware (e.g.,
mobile code)
• They also provide uniformity for
application developers and end-users
![Page 25: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/25.jpg)
Copyright © 2018 Prof. Amr El-Kadi
2. Openness
• In general, what is openness of a
computer system?
• In distributed systems, this primarily
targets how easy it is to add new
resources to the system and make them
available to clients.
• Openness cannot be achieved unless the
key interfaces are published.
![Page 26: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/26.jpg)
Copyright © 2018 Prof. Amr El-Kadi
3. Security
• This has three components: confidentiality, integrity, and availability.
• Several security challenges are resolved through the use of encryption techniques.
• Examples of security challenges that have not been fully met include denial of service attacks, and security of mobile code.
![Page 27: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/27.jpg)
Copyright © 2018 Prof. Amr El-Kadi
4. Scalability
• What makes a system scalable?
• The Internet is a good example of a
scalable system
Date Computers Web servers
1979, Dec. 188 0
1989, July 130,000 0
1999, July 56,218,000 5,560,866
2003, Jan. 171,638,297 35,424,956
![Page 28: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/28.jpg)
Growth of the Internet (computers
and web servers)
Date Computers Web servers Percentage
1993, July 1,776,000 130 0.008
1995, July 6,642,000 23,500 0.4
1997, July 19,540,000 1,203,096 6
1999, July 56,218,000 6,598,697 12
2001, July 125,888,197 31,299,592 25
42,298,3712003, July
2005, July
~200,000,000
353,284,187 67,571,581
21
19
Copyright © 2018 Prof. Amr El-Kadi
![Page 29: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/29.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• Designing scalable distributed systems present the following challenges:
– Controlling the cost of physical resources
– Controlling the performance loss
– Preventing software resources running out
– Avoiding performance bottlenecks
• Ideally, no change should be needed to the system as a result of a scale increase (or decrease)
![Page 30: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/30.jpg)
Copyright © 2018 Prof. Amr El-Kadi
5. Failure handling
• Failures in distributed systems are not the same as in other systems, they are partial.
• The following techniques exist for handling failures:
– Detecting Failures: Some failures could be detected, but the real challenge is to continue operation when failures happen and cannot be detected, yet they are suspected.
– Masking Failures: When you detect failures, they can be masked or made less severe.
– Tolerating Failures: Inform clients of failure presence and let them tolerate!
– Recovering from Failures: Snapshots and rolling back.
– Redundancy: Replicate resources. The challenge here is keeping replicas synchronized without major performance degradation.
![Page 31: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/31.jpg)
Copyright © 2018 Prof. Amr El-Kadi
6. Concurrency
• Proper inter-process communication and
synchronization mechanisms have to be
utilized to ensure data consistency.
![Page 32: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/32.jpg)
Copyright © 2018 Prof. Amr El-Kadi
7. Transparency
• This is the key issue in a distributed
system. The system should appear to
end-users and application developers as a
whole (one system) rather than a
collection of interconnected components.
![Page 33: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/33.jpg)
Copyright © 2018 Prof. Amr El-Kadi
• Eight forms of transparency were identified:– Access transparency. Identical operations should be
used to access local and remote resources.
– Location transparency. Resources should be accessed without knowledge of their physical location.
– Concurrency transparency. Ensures consistency of resources in the presence of concurrent access.
– Replication transparency. End-users and applications developers should not be aware of the existence of multiple replicas of the resources.
![Page 34: Chapter 1 Characterization of Distributed Systems](https://reader030.vdocuments.mx/reader030/viewer/2022012113/61dcd64aeeb18b6c9e1e9c74/html5/thumbnails/34.jpg)
Copyright © 2018 Prof. Amr El-Kadi
– Failure transparency. End-users and applications developers should continue their tasks even with the presence of faults in hardware or software components.
– Mobility transparency. Both resources and clients should be allowed to move within the system without affecting the operation of the system.
– Performance transparency. The system should be reconfigured dynamically to match load variances.
– Scaling transparency. Allows the system and applications to scale dynamically with no change to the system structure or algorithms.