Chapter 01
Transcript of Chapter 01
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Ubiquitous networks
• Internet• Mobile phone networks• Corporation networks• Factory networks• Campus networks• Home networks• ……
Distributed System Definition
• A distributed system is one in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages.
Characteristics of Distributed System
• Concurrency• concurrent programs execution – share resource
• No global clock• programs coordinate actions by exchanging
messages
• Independent failures• when some systems fail, others may not know
Share resources
• It characterizes the range of the things that can usefully be shared in a networked computer
• It extends from hardware components to software-defined entities.
• It includes the stream of video frames and the audio connection.
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
• It is a very large distributed system that allows users throughout the world to make use of its services.
• Internet protocols is a major technical achievement.
Internet
• What is Intranet? – A portion of the Internet that is separately
administered and has a boundary that can be configured to enforce local security policies
– Composed of several LANs linked by backbone connections
– Be connected to the Internet via a router
Intranet
A typical Intranet
the rest of
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local areanetwork
email server
the Internet
• File services• Firewall• The cost of software installation and
support
Three main issues in the design of components for the use in intranet
• Mobile devices– Laptop computers– Handheld devices
• PDA, mobile phone, pager, video camera, digital camera
– Wearable devices• e.g. smart watches, digital glasses
– Network appliances• e.g. washing machines, hi-fi systems, cars and
refrigerators
Mobile and ubiquitous computing
• Mobile computing (nomadic computing)– Access resources while on the move or in an
unusual environment– Location-aware computing: utilize resources that
are conveniently nearby
• Ubiquitous computing (pervasive computing)– The harnessing of many small, cheap
computational devices
Mobile and ubiquitous computing … continued
Portable and handheld devices in a distributed system
Laptop
Mobile
PrinterCamera
Internet
Host intranet Home intranetWAP
Wireless LAN
phone
gatew ay
Host site
• Discovery of resources• Eliminating the need for users to
reconfigure their mobile devices• To cope with limited connectivity as they
travel• Provide privacy and other security
guarantees
Issues in the design of components for the use in Mobile and ubiquitous computing
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
• Is the primary motivation of distributed computing
• Resources types– Hardware, e.g. printer, scanner, camera– Data, e.g. file, database, web page– More specific functionality, e.g. search engine
Resource sharing
• Service– manage a collection of related resources and present their functionalities to
users and applications
• Server– a process on networked computer that accepts requests from processes on
other computers to perform a service and responds appropriately
• Client– the requesting process
• Remote invocation– A complete interaction between client and server, from the point when the
client sends its request to when it receives the server’s response
Some definitions
Case study: the World Wide Web
• Motivation of WWW– Documents sharing between physicists of CERN
• Web is an open system: it can be extended and implemented in new ways without disturbing its existing functionality.– Its operation is based on communication standards and
document standards – Respect to the types of ‘resource’ that can be published
and shared on it.
Three main components of the Web
• HyperText Markup Language– A language for specifying the contents and layout of
pages as they are displayed by web browsers
• Uniform Resource Locators– Identify documents and other resources stored
as part of the Web • A client-server architecture with HTTP
– By with browsers and other clients fetch documents and other resources from web servers
HTML
HTML text is stored in a file of a web server. A browser retrieves the contents of this file from a web server.
-The browser interprets the HTML text-The server can infer the content type from the filename
extension.
<IMG SRC = http://www.cdk3.net/WebExample/Images/earth.jpg><P>Welcome to Earth! Visitors may also be interested in taking a look at the <A HREF = “http://www.cdk3.net/WebExample/moon.html>Moon</A>.<P>(etcetera)
URL
HTTP URLs are the most widely used An HTTP URL has two main jobs to do:
- To identify which web server maintains the resource- To identify which of the resources at that server
Schem e: schem e-spec ific -locatione .g:
m ailto :jo e@ anISP .netftp://ftp .dow nloadIt.com /so ftw are/aPro g.exehttp://net.pku.edu.cn/….
Web servers and web browsers
Internet
BrowsersWeb servers
e.pku.edu.cn
www.cdk3.net
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
http://e.pku.edu.cn/cgi-bin/allsearch?word=distributed+system
http://www.cdk3.net/
File system ofwww.w3c.org
HTTP URLs
• http://servername[:port]//pathNameOnServer][?arguments]• e.g.
http://www.cdk3.net/http://www.w3c.org/Protocols/Activity.htmlhttp://e.pku.cn/cgi-bin/allsearch?word=distributed+system
--------------------------------------------------------------------------------------
Server DNS name Pathname on server Argumentswww.cdk3.net (default) (none)www.w3c.org Protocols/Activity.html (none)e.pku.edu.cn cgi-bin/allsearch word=distributed+system--------------------------------------------------------------------------------------
• Publish a resource remains unwieldy
HTTP
• Defines the ways in which browsers and any other types of client interact with web servers (RFC2616)
• Main features– Request-replay interaction– Content types. The strings that denote the type of
content are called MIME (RFC2045,2046)– One resource per request. HTTP version 1.0– Simple access control
More features-services and dynamic pages
• Dynamic content– Common Gateway Interface: a program that
web servers run to generate content for their clients
• Downloaded code– JavaScript– Applet
Discussion of Web
Dangling: a resource is deleted or moved, but links to it may still remain
Find information easily: e.g. Resource Description Framework which standardize the format of metadata about web resources
Exchange information easily: e.g. XML – a self describing language
Scalability: heavy load on popular web servers More applets or many images in pages increase in the
download time
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Heterogeneity
• Networks– Ethernet, token ring, etc
• Computer hardware– big endian / little endian
• Operating systems– different API of Unix and Windows
• Programming languages– different representations for data structures
• Implementations from different developers– no application standards
• Middleware– applies to a software layer that provides a
programming abstraction as well as masking the heterogeneity of the underlying networks, hardware, OSs and programming languages
• Mobile code– is used to refer to code that can be sent from one
computer to another and run at the destination
Heterogeneity… continued
Openness
• Openness of a computer system -- is the characteristic that determines whether the system can
be extended and re-implemented in various way. e.g. Unix
• Openness of distributed systems -- is determined by the degree to which new resource
sharing services can be added and be made available for use
by a variety of client programs. e.g. Web
• How to deal with openness?-- key interfaces are published, e.g. RFC
Security
• Confidentiality– protection against disclosure to unauthorized
individuals, e.g. ACL in Unix File System
• Integrity– protection against alteration or corruption,
e.g. checksum• Availability
– protection against interference with the means to access the resources, e.g. Denial of service
Scalability
• A system is described as scalable– if will remain effective when there is a significant increase in
the number of resources and the number of users
• A scalable example system: the Internet• design challenges
– The cost of physical resources, e.g., servers support users at most O(n)– The performance loss, e.g., DNS no worse than O(logn)– Prevent software resources running out, e.g., IP address– Avoid performance bottlenecks, e.g., partitioning name table of DNS,
cache and replication
Date Computers Web servers Percentage
1993, July 1,776,000 130 0.008
1995, July 6,642,000 23,500 0.41997, July 19,540,000 1,203,096 61999, July 56,218,000 6,598,697 12
Failure handling
• Detecting– e.g. checksum for corrupted data– Sometimes impossible so suspect, e.g. a remote
crashed server in the Internet
• Masking– e.g. Retransmit message, standby server
• Tolerating– e.g. a web browser cannot contact a web server
• Recovery– e.g. Roll back
• Redundancy– e.g. IP route, replicated name table of DNS
Concurrency
• Correctness– ensure the operations on shared resource
correct in a concurrent environmente.g. records bids for an auction
• Performance– Ensure the high performance of concurrent
operations
Transparency• Access transparency
– using identical operations to access local and remote resources, e.g. a graphical user interface with folders
• Location transparency– resources to be accessed without knowledge of their location,
e.g. URL
• Concurrency transparency– several processed operate concurrently using shared resources
without interference with between them
• Replication transparency– multiple instances of resources to be used to increase
reliability and performance without knowledge of the replicas by users or application programmers,
e.g. realcourse(http ://rea lcou rse .grids.cn/)
Transparency … continued
• Failure transparency– users and applications to complete their tasks despite the
failure of hardware and software components, e.g., email
• Mobility transparency– movement of resources and clients within a system without
affecting the operation of users and programs, e.g., mobile phone
• 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
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Summary
• Distributed systems are pervasive • Resource sharing is the primary motivation for
constructing distributed systems• Characterization of Distributed System
– Concurrency– No global clock– Independent failures
• Challenges to construct distributed system– Heterogeneity– Openness– Security– Scalability– Failure handling– Concurrency– Transparency