Figure 15.1 A distributed multimedia system

Download Report

Transcript Figure 15.1 A distributed multimedia system

CS 843 - Distributed Computing Systems
Chapter 1: Characterization of Distributed
Systems
Chin-Chih Chang, [email protected]
From Coulouris, Dollimore and Kindberg
Distributed Systems:
Concepts and Design
Edition 3, © Addison-Wesley 2001
Introduction
• Networks of computers are everywhere.
• A distributed system is one in which components at
networked computers communicate and coordinate
their actions only by passing messages.
• Characteristics of a distributed system:
 Concurrency - concurrent execution and sharing
resources.
 No global clock – Programs coordinate actions only by
exchanging messages.
 Independent failures - Components can fail
independently of one another.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Examples of Distributed Systems
• To place distributed systems in a realistic context
through examples: the Internet, an intranet and
mobile computing.
• The Internet (Figure 1.1) :
 a vast interconnected collection of computer networks of
many different types.
 passing message by employing a common means of
communication (Internet Protocol).
 The web is not equal to the Internet.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Figure 1.1
A typical portion of the Internet
intranet
ISP
%
%
%
%
backbone
satellite link
desktop computer:
server:
network link:
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Examples of Distributed Systems
• Intranets (Figure 1.2):
 An intranet is a private network that is contained within an
enterprise.
 It may consist of many interlinked local area networks and
also use leased lines in the Wide Area Network.
 It separately administrated and enforces local security
policies.
 It is connected to the Internet via a router
 It uses firewall to protect an Intranet by preventing
unauthorized messages leaving or entering
 Some are isolated from the Internet
 Users in an intranet share data by means of file services.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Figure 1.2
A typical intranet
email server
Desktop
c om pute rs
print and other servers
Loc al area
network
Web s erver
email server
File server
print
other s ervers
the res t of
the Internet
router/firewal l
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Examples of Distributed Systems
• Mobile and Ubiquitous Computing (Figure 1.3)
 Distributed systems techniques are equally applicable to
mobile computing involving laptops, PDAs and wearable
computing devices.
 Mobile computing (nomadic computing) - perform of
computing tasks while moving (nomadic computing)
 Ubiquitous computing - small computers embedded in
appliances
o harness of many small, cheap computation devices
o It benefits users while they remain in a single
environment such as home.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Examples of Distributed Systems
• Distributed In Figure 1.3 user has access to three
forms of wireless connection:
 A laptop is connected to host's wireless LAN.
 A mobile (cellular) phone is connected to Internet using
Wireless Application Protocol (WAP) via a gateway.
 A digital camera is connected to a printer over an infra-red
link.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Figure 1.3
Portable and handheld devices in a distributed system
Internet
Hos t i ntranet
WAP
gateway
Wireless LAN
Mobile
phone
Printer
Laptop
Camera
Hos t s ite
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Home intranet
Resource Sharing
• Equipments are shared to reduce cost. Data shared
in database or web pages are high-level resources
which are more significant to users without regard
for the server or servers that provide these.
• Patterns of resource sharing vary widely in their
scope and in how closely users work together:
 Search Engine: Users need no contact between users
 Computer Supported Cooperative Working (CSCW):
Users cooperate directly share resources. Mechanisms to
coordinate users' action are determined by the pattern of
sharing and the geographic distribution.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Resource Sharing
• For effective sharing, each resource must be
managed by a program that offers a communication
interface enabling the resource to be accessed and
updated reliably and consistently.
• Server is 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 .
• The requesting processes are referred to as a
client.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Resource Sharing
• An executing web browser is a client. It
communicates with a web server to request web
pages from it.
• When a client invokes an operation upon the server,
it is called the remote invocation.
• Resources may be encapsulated as objects and
accessed by client objects. In this case a client
object invokes a method upon a server object.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
The World Wide Web (WWW)
• WWW is an evolving system for publishing and
accessing resources and services across Internet.
Web is an open system. Its operations are based on
freely published communication standards and
documents standards.
• Key feature: Web provides a hypertext structure
among the documents that it stores. The documents
contain links - references to other documents or
resources. The structures of links can be arbitrarily
complex and the set of resources that can be added
is unlimited.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
The World Wide Web (WWW)
• Three main standard technological components:
 HTML (Hypertext Makeup Language) specify the contents
and layout of web pages.
o Contents: text, table, form, image, links, information for
search engine, ...;
o Layout: text format, background, frame, ...
 URL (Uniform Resource Location): identify a resource to
let browser find it.
o scheme : scheme-specific-location
o http://web.cs.twsu.edu/ (HyperText Transfer Protocol)
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
The World Wide Web (WWW)
 URL (continued):
o ftp://ftp.twsu.edu/ (File Transfer Protocol)
o telnet://kirk.cs.twsu.edu (log into a computer)
o mailto:[email protected] (identify a user's email
address)
 HTTP (HyperText Transfer Protocol) defines a standard
rule by which browsers and any other types of client
interact with web servers. Main features:
o Request-reply interaction
o Content types may or may not be handled by browser using plug-in or external helper
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
The World Wide Web (WWW)
 HTTP (continued):
o One resource per request - Several requests can be
made concurrently.
o Simple access control
o Services and dynamic pages
- form - Common Gateway Interface program on
server (Perl)
- JavaScript (download from server and run on local
computer)
- Applet (download from server and run on local
computer)
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
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
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
The World Wide Web (WWW)
• Web success depends on:
 Resources can be published
 Suitability of its hypertext structure for organizing many
types of information
 Openness of its system architecture
• Problems:
 Dangling links and lost in hyperspace can be solved by
Resource Description Framework.
 HTML is not extensible to applications beyond information
browsing. XML (Extensible Makeup Language) is a metalanguage for describing data.
 A web page is not always a good user interface.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Challenges
• Heterogeneity (variety and difference):
 It applies to all the following:
o Networks
o Computer hardware
o Operating systems
o Programming languages
o Implementation by different developers
 Data representation and programming interface are
different.
 Middleware provides a programming abstraction as well
as masking the heterogeneity. CORBA, Java RMI
 Mobile code is sent from one computer and run at the
destination (Java Applet) on a Java virtual machine.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Challenges
• Openness
 Key interfaces are published.
 It is based on a uniform communication mechanism and
published interfaces for access to shared resources.
 It can be constructed from heterogeneous hardware and
software.
• Security
 For private or sensitive information - commercial secret
 Encryption provides protection of shared resources, keeps
sensitive information secret when transmitted.
 Problems: denial of service attacks, security of mobile
code
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Challenges
• Scalability
 A scalable system remains effective when there is a
significant increase in the number of resources and users.
 Controlling the cost of physical resources - servers and
users
 Controlling the performance loss - DNS hierarchic
structures scale better than linear structures and save time
for access structured data.
 Preventing software resources running out - Internet 32 bit
addresses run out soon. 128 bit one gives extra space in
messages.
 Avoiding performance bottlenecks - DNS name table was
kept in a single master file partitioning between servers.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Figure 1.5
Computers in the Internet
Date
Web servers
Computers
1979, Dec.
1989, July
1999, July
188
0
130,000
56,218,000
0
5,560,866
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Figure 1.6
Computers vs. Web servers in the Internet
Date
1993, July
1995, July
1997, July
1999, July
Computers
Web servers
Percentage
1,776,000
130
0.008
6,642,000
19,540,000
56,218,000
23,500
1,203,096
6,598,697
0.4
6
12
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Challenges
• Failure handling
 Fail independently - Dependent components should know
and deal with the fails.
 Detecting failures
 Masking failures - Failures are hidden or made less sever.
Messages could be retransmitted. Files can be duplicated
on different place.
 Tolerating failures
 Recovery from failures
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Challenges
• Failure handling (continued):
 Redundancy (to tolerate failures):
o There should be at least 2 routes between any 2
routers in the Internet.
o In DNS, every name table is replicated in at least 2
servers.
o A database can be replicated in several servers. Clients
are redirected from the failure one to working one.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Challenges
• Concurrency
 Multiple users make requests on same resource (read,
write, update).
 Each resource must be safe in a concurrent environment.
• Transparency
 To make certain aspects of distributed system invisible to
the application programmer so that they need only be
concerned with the design of their particular application.
 The implication of transparency is a major influence on the
design of the system software.
 8 forms of transparency - Access, Location, Concurrency,
Replication, Failure, Mobility, Performance, Scaling.
 Network transparency – Access and Location
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000
Figure 1.7
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
location.
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.
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3
© Addison-Wesley Publishers 2000