Chapter 1 Slides - PIV
Chapter 1 Slides - PIV
“A distributed system is a
collection of independent
computers that appears to its
users as a single coherent
system”
(Tanenbaum & Steen, 2007; p2)
What are distributed systems?
• Networks
• When the ethernet was created in the 1970’s, it allowed individual computers
to send messages across the LAN
• Real-time systems
• Uses a mix of local and globally distributed systems that allows automation and
the monitoring of systems – Siemans use these for their wind turbines
• Distributed databases
• Most people’s first thought when they think about distributed systems. Allows
the data to be split across several servers and/or physical locations. Data can be
replicated or duplicated across systems
Figure 1.1 (see book for the full text)
Selected application domains and associated networked applications
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
12
Trends in distributed systems
intranet ☎
☎
☎ ISP
backbone
satellite link
desktop computer:
server:
network link:
Mobile and ubiquitous computing
• Laptop computers.
• Handheld devices, including mobile phones, smart phones, GPS-
enabled devices, pagers, personal digital assistants (PDAs), video
cameras and digital cameras.
• Wearable devices, such as smart watches with functionality
similar to a PDA.
• Devices embedded in appliances such as washing machines, hi-
fi systems, cars and refrigerators.
Figure 1.4
Portable and handheld devices in a distributed system
Distributed multimedia systems
• providing support for an (extensible) range of encoding and
encryption formats, such as the MPEG series of standards
(including for example the popular MP3 standard otherwise
known as MPEG-1, Audio Layer 3) and HDTV;
• providing a range of mechanisms to ensure that the desired
quality of service can be met;
• providing associated resource management strategies, including
appropriate scheduling policies to support the desired quality of
service;
• providing adaptation strategies to deal with the inevitable
situation in open systems where quality of service cannot be met
or sustained
Distributed computing as a utility
• Physical resources such as storage and processing can be made
available to networked computers, removing the need to own
such resources on their own. At one end of the spectrum, a user
may opt for a remote storage facility for file storage requirements
19
Challenges
The examples in Section 1.2 are intended to
illustrate the scope of distributed systems and to
suggest the issues that arise in their design. In
many of them, significant challenges were
encountered and overcome. As the scope and
scale of distributed systems and applications is
extended the same and other challenges are likely
to be encountered.
Challenges
The challenges are listed below.
• Heterogeneity
• Openness
• Security
• Scalability
• Failure handling
• Concurrency
• Transparency
• Quality of service
Heterogeneity
The Internet enables users to access services and run applications
over a heterogeneous collection of computers and networks.
Heterogeneity (that is, variety and difference) applies to all of the
following:
• networks;
• computer hardware;
• operating systems;
• programming languages;
• implementations by different developers
Openness
• Open systems are characterized by the fact that
their key interfaces are published.
• Open distributed systems are based on the
provision of a uniform communication mechanism
and published interfaces for access to shared
resources.
• Open distributed systems can be constructed
from heterogeneous hardware and software,
possibly from different vendors. But the
conformance of each component to the published
standard must be carefully tested and verified if
the system is to work correctly.
Security
Denial of service attacks.
Another security problem is that a user may wish to disrupt a
service for some reason. This can be achieved by bombarding the
service with such a large number of pointless requests that the
serious users are unable to use it.
Security of mobile code.
Mobile code needs to be handled with care. Consider someone
who receives an executable program as an electronic mail
attachment: the possible effects of running the program are
unpredictable;
Scalability
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. For example, the frequency with which files
are accessed in an intranet is likely to grow as the
number of users and computers increases.
Controlling the performance loss.
Consider the management of a set of data whose size is
proportional to the number of users or resources in the
system.
Scalability
Preventing software resources running out.
An example of lack of scalability is shown by the numbers used
as Internet (IP) addresses (computer addresses in the
Internet).
Avoiding performance bottlenecks.
In general, algorithms should be decentralized to avoid having
performance bottlenecks. We illustrate this point with
reference to the predecessor of the Domain Name System, in
which the name table was kept in a single master file that
could be downloaded to any computers that needed it.
Figure 1.6
Growth of the Internet (computers and web servers)
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).
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.
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.
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.
Quality of service
The main non-functional properties of systems that affect the
quality of the service experienced by clients and users are
• Reliability
• Security
• Performance
• Adaptability
Figure 1.7
Web servers and web browsers
http://www.google.comlsearch?q=obama
www.google.com
www.cdk5.net Internet
http://www.cdk5.net/
www.w3c.org
faq.html
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Summary
Distributed systems are everywhere. The Internet enables users
throughout the world to access its services wherever they may be
located. Each organization manages an intranet, which provides
local services and Internet services for local users and generally
provides services to other users in the Internet. Small distributed
systems can be constructed from mobile computers and other
small computational devices that are attached to a wireless
network.
Resource sharing is the main motivating factor for constructing
distributed systems. Resources such as printers, files, web pages
or database records are managed by servers of the appropriate
type. For example, web servers manage web pages and other
web resources. Resources are accessed by clients – for example,
the clients of web servers are generally called browsers
Question ?