Figure 15.1 A distributed multimedia system

Download Report

Transcript Figure 15.1 A distributed multimedia system

Chapter 1:
Distributed
Systems
Overview
Objectives
To be aware of the characteristics of
concurrency, independent failure of components
and lack of a global clock, which necessarily arise
in a distributed systems.
To place distributed systems in a realistic context
through examples: the Internet, an intranet and
mobile computing.
To motivate the benefits of resource sharing and
to introduce the Web as an example.
To gain a good understanding of the challenges
which apply to distributed systems.
Introduction
What is “Distributed System”?
Distributed system (DS)
– Components at networked
computers communicate &
coordinate their actions
only by passing messages.
Allows for concurrent
execution of programs, but
prevents the possibility of a
global clock - means that
components can fail
independently of one another.
Introduction (cont.)
Computer that are connected by a network
maybe spatially separated by any distance.
DS definition has
significant consequence:
- Concurrency
- No global clock
- Independent failure
Introduction (cont.)
Concurrency
~ In a network of computer, concurrent
program execution of the norm.
~ “I can do my work on my computer while you
do your work on yours”
~ Sharing resources such as web pages, file etc.
~ The capacity of the system to handle shared
resources can be increased by adding more
resources (example: computers) to the
network.
Introduction (cont.)
No global clock
~ there are limits to the accuracy with which
the computer in a network can synchronize
their clock – there is no single global nation of
the correct time.
Introduction (cont.)
Independent failure
~ All computer system can fail and it is the
responsibility of system designers to plan for
the consequences of possible failure.
~ Each component of the system can fail
independently, leaving that other still running.
This leaves a computer running in isolation.
~ The programs running on the isolated
computer may not detect immediately that
network has failed or become slower.
Examples of DS
3 examples of DS:
~ internet
~ intranet - a portion of internet
managed by organization
~ mobile and ubiquitous computing
Internet
• Internet is a very large distributed system
• It enables users to make use of services such
as World Wide Web, email and file transfer.
• The set of services is open-ended – it can be
extended by addition of server computers and
new types of services.
Figure 1.2: A typical intranet
email server
Desktop
computers
print and other
servers
Web server
Local area
network
email server
File server
print
other servers
the rest of
the internet
router/firewall
• Intranet is a part of Internet
• Separately administered
• Uses firewall to enforce its own local security policies.
• Users share data by means of file services.
Figure 1.3: Portable and handheld devices in DS
Internet
Host intranet
Wireless LAN
Mobile
phone
Laptop
Printer
Camera
WAP
gateway
Home intranet
Host site
DS applicable to:
a) mobile computing - laptop, mobile phones, GPRS, webcams
b) ubiquitous computing - small comp. embedded in appliances
Resource sharing
and the Web
Main motivation for
constructing DS:
~ Sharing of resources
Resource may be managed
by servers & access by clients
Examples of hardware sharing in DS
a) CPU: compute server (executes processor-intensive applications for
clients), remote object server (executes methods on behalf of
clients), worm program (shares cpu capacity of desktop machine
with local user)
b) memory: cache server (holds recently-accessed web pages in its
RAM, for faster access by other local computers)
c) disk: file server, virtual disk server, video on demand server.
d) screen: Network window systems, such as X-11, allow processes in
remote computers to update the content of windows.
e) printer: networked printers accept print jobs from many computers.
Managing them with a queuing system.
d) network capacity: packet transmission enables many simultaneous
communication channels to be transmitted on the same circuits.
Examples of data/software sharing in DS
a) web page: web servers enable multiple clients to share read-only
page content.
b) file: file servers enable multiple clients to share read-write files.
c) object: possibilities for software objects are limitless. E.g. shared
whiteboard, shared diary, room booking system, etc.
d) database: intended to record definitive state of some related sets
of data. They shared ever since multi-user computers
appeared.
e) newsgroup content: netnews system makes read-only copies of
recently-posted news items available to clients throughout
Internet. A copy of newsgroup content is maintained at each
netnews server. Each server makes its data available to
multiple clients.
Resource sharing and the Web (cont.)
Shared resources are managed by server
processes.
A service of a computer system manages a
collection of related resources. For example –
we access shared files through a file service, we
send documents to printer through printing
service, we buy goods through electronic
payment service
A service is accessed via the well-defined set
of operations. For example- a file service
provides read, write and delete operations on
files.
Resource sharing and the Web (cont.)
The term server refers to a running program
(service) on a networked computer system that
accepts request from programs running on other
computers (client) .
A Request is sent in the form of a message from
client to server. A Client sends request to invoke an
operation. When the client recieves the server’s
response, it is called as remote invocation.
In DS written an object-oriented language,
resources may be encapsulated as objects
whose methods are invoked by client objects.
Resource sharing and the Web (cont.)
World Wide Web
-> example of resource sharing.
-> 3 main standard technological components:
a) HTML (HyperText Markup Language), is a
language for specifying the contents and layout of
the pages.
b) URLs (Uniform Resource Allocators) identify
documents and other resources stored as part of
web
, c) HTTP (HyperText Transfer Protocol) by which
web browsers and other clients fetch documents and
other resources from web servers.
Figure 1.4: Web servers and web browsers
www.google.com
http://www.google.comlsearch?q=kindberg
Browsers
Web servers
Internet
www.cdk3.net
http://www.cdk3.net/
www.w3c.org
File system of
www.w3c.org
http://www.w3c.org/Protocols/Activity.html
Protocols
Activity.html
Challenges
Challenges arising for construction DS:
heterogeneity
openness
security
scalability
failure handling
concurrency
transparency
Challenges (cont.)
heterogeneity
- A DS is constructed from variety different network, OS,
computer hardware and programming language,
implementation by different developers.
- Internet communication protocols mask the difference in
network, and middleware can deal with the other differences.
Some middlewares are CORBA, JAVA RMI.
openness
- allows components to be add or replaced (re-
implemented)
- DS should be extensible: publish key interfaces of
components and integrate components written by different
programmer
Challenges (cont.)
security
- Security has three components:
Confidentiality (Protection against disclosure to
unauthorized individual)
Integrity (Protection against alteration or corruption)
Availability (Protection against interference with the
means to access the resources)
- encryption can be used to provide protection of shared
resources & keep sensitive information secret when is transmitted
in messages over a network.
High Security!
Dr Noraziah Ahmad – Mac 2008
Email: [email protected]
Challenges (cont.)
scalability
- ability to work when num. of users ↑
- algorithms used to access shared data should avoid
performance bottlenecks
- data should be structured hierarchically to get the best times
- Web illustrates some approaches to address it (e.g. the use
of hierarchic naming, partitioned data, caching & replication).
Date
Figure 1.5:
Computers in
the Internet
1979, Dec.
1989, July
1999, July
2003, Jan.
Computers
Web servers
188
0
130,000
56,218,000
171,638,297
0
5,560,866
35,424,956
Figure 1.6: Computers vs. Web
servers in the Internet
Date
1993, July
1995, July
1997, July
1999, July
2001, July
Computers
Web servers
Percentage
1,776,000
130
0.008
6,642,000
19,540,000
56,218,000
125,888,197
23,500
1,203,096
6,598,697
31,299,592
42,298,371
0.4
6
12
25
Challenges (cont.)
failure handling
- any process, computer or network may fail independently
- each component need to be aware of possible ways its
components may fail
concurrency
- multiple users is a source of concurrent request to resources
- each resources must be designed to be safe
Transparency
- make certain aspects of distribution invisible to the
application
Transparencies
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.
Transparencies (cont.)
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.