Title: Distributed Systems: Concepts and Design
1Distributed Systems Concepts and Design
Chapter 1 Pages 1 - 27
2(No Transcript)
3Topics
- Chapter 1 Characterization of Distributed Systems
4What is a distributed system
- A distributed system is one in which components
located at networked computers communicate and
coordinate their actions only by passing messages - A distributed system is a collection of
autonomous computers linked by a computer network
that appear to the users of the system as a
single computer.
5What is a distributed system (contd)
- Personal workstations processors not assigned
to specific users.
- For a certain command the system can look for
the best place (workstation) to execute it.
Examples of Distributed Systems
6The internet and intranets
- The Internet is a very large distributed system
consisting of many interconnected computer
networks. - The implementation of the internet and the
services that it supports, has entailed the
development of practical solutions to many
distributed system issues. - An intranet is a mini-internet which uses the
same technologies as the internet, but is
controlled by an organization.
7Mobile computing
- Today's computing power makes it possible to
build small mobile devices which can benefit from
network information - Examples
- Laptops
- PDA
- Mobile phone
- These devices can either surf the internet, or it
is possible to exchange business information at a
meeting
8Ubiquitous computing (Self study)
- Ubiquitous computing means always and anywhere
computing - All small (and large) electronic equipment, to
wear (like watches and minidiscs), to have in the
house (fridge, microwave, stove) and to have at
the office (printer, fax...) can be connected to
a network - At factories all machines and equipment can be
networked
9Problems with mobile and ubiquitous computing
(Self study)
- With mobile computing it is necessary that the
systems just work, so that there is no need to
reconfigure - Ubiquitous computing will affect people who are
total computer illiterate, so these systems can't
crash and there must be no big need for user
intervention
10Characteristics and consequences
- Concurrency
- In a distributed system it is possible that many
clients access the same resource at the same
time. - No global clock
- The only communication is by sending messages
through a network. - Independent failures
- Components running on different computers can
fail without hurting other programs.
11Resources and components
- The terms resources and components are used
to describe how a distributed system is built up. - These terms are very abstract, but the range of
things that can be connected and shared is very
large.
12Important terms
- Service
- A distinct part of a computer system that manages
a collection of related resources and presents
their functionality to users and applications - Internet services http, telnet, pop3...
- Server
- A running program (a process) on a networked
computer that accepts requests from programs
running on other computers to perform a service,
and responds appropriately - Internet servers Apache, Sendmail, WU-ftpd,
OpenSSH - Client
- The requesting process
13The World Wide Web
- The WWW is an evolving system for publishing and
accessing resources and services across the
Internet - The Web is an open system
- Extension of the Web is possible without
disturbing the existing structure - Its operation is based on communication standards
and document standards that are freely published
and widely implemented - The Web is one with respect to the types of
resource that can be published and shared on
14The main standard components of the Web (Self
study)
- HyperText Markup Language (HTML)
- Uniform Resource Locators (URLs)
- HyperText Transfer Protocol (HTTP)
- HTTP is a request-reply protocol
15More Discussion of the Web (Self study)
- Dynamic pages
- CGI
- ASP, PHP, Servlets...
- Javascript
- Discussion
- Hypertext model is lacking in some respects, such
as lost in hyperspace - HTML is limited in exchanging structured data
- The problems of scale
- A Web page is not always a satisfactory user
interface
16Challenges for a distributed system
- Heterogeneity
- Openness
- Security
- Scalability
- Failure handling
- Concurrency
- Transparency
17Heterogeneity
- Different networks, hardware, operating systems,
programming languages, developers - We set up protocols to solve these
heterogeneities - Middleware a software layer that provides a
programming abstraction as well as masking the
heterogeneity - Mobile code code that can be sent from one
computer to another and run at the destination
18Openness
- The openness of DS 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 - Open systems are characterized by the fact that
their key interfaces are published - Open DS are based on the provision of a uniform
communication mechanism and published interfaces
for access to shared resources - Open DS can be constructed from heterogeneous
hardware and software
19Security
- 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 to access the resources
20Scalability
- A system is described as scalable if it remains
effective when there is a significant increase in
the number of resources and the number of users - Challenges
- Controlling the cost of resources
- Controlling loss of performance
- Preventing software resources from running out
- Avoiding performance bottlenecks
21Failure handling
- When faults occur in hardware or software,
programs may produce incorrect results or they
may stop before they have completed the intended
computation - Techniques for dealing with failures
- Detecting failures
- Masking failures
- Tolerating failures
- Recovering from failures
- Redundancy
22Concurrency
- There is a possibility that several clients will
attempt to access a shared resource at the same
time - Any object that represents a shared resource in a
distributed system must be responsible for
ensuring that operates correctly in a concurrent
environment
23Transparency
- 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 - Eight forms of transparency
- Access transparency
- Location transparency
- Concurrency transparency
- Replication transparency
- Failure transparency
- Mobility transparency
- Performance transparency
- Scaling transparency
24Summary
- Distributed systems are everywhere
- Resource sharing is the main motivating factor
for constructing distribute systems - The construction of a distributed system produces
many challenges