Chapter 1-distribute Computing
-
Upload
nakomuri -
Category
Entertainment & Humor
-
view
1.898 -
download
0
description
Transcript of Chapter 1-distribute Computing
Universiti Utara Malaysia
Distributed Computing
Universiti Utara Malaysia
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Universiti Utara Malaysia
Ubiquitous networks
• Internet• Mobile phone networks• Corporation networks• Factory networks• Campus networks• Home networks
Universiti Utara Malaysia
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.
Universiti Utara Malaysia
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
Universiti Utara Malaysia
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.
Universiti Utara Malaysia
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Universiti Utara Malaysia
Familiar and widely used computer networks
• The Internet
• Intranet
• Mobile computing
Universiti Utara Malaysia
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
Universiti Utara Malaysia
The Internet
intranet
ISP
desktop computer:
backbone
satellite link
server:
network link:
Universiti Utara Malaysia
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
Universiti Utara Malaysia
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
Universiti Utara Malaysia
File servicesFirewallThe cost of software installation and
support
Three main issues in the design of components for the use in intranet
Universiti Utara Malaysia
Mobile devicesLaptop computersHandheld 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
Universiti Utara Malaysia
Mobile computing (nomadic computing)Access resources while on the move or in an
unusual environmentLocation-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
Universiti Utara Malaysia
Portable and handheld devices in a distributed system
Laptop
Mobile
PrinterCamera
Internet
Host intranet Home intranetWAP
Wireless LAN
phone
gateway
Host site
Universiti Utara Malaysia
Discovery of resourcesEliminating the need for users to
reconfigure their mobile devicesTo cope with limited connectivity as
they travelProvide privacy and other security
guarantees
Issues in the design of components for the use in Mobile and ubiquitous computing
Universiti Utara Malaysia
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Universiti Utara Malaysia
Is the primary motivation of distributed computing
Resources typesHardware, e.g. printer, scanner, cameraData, e.g. file, database, web pageMore specific functionality, e.g. search
engine, file
Resource sharing
Universiti Utara Malaysia
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
Universiti Utara Malaysia
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.
Universiti Utara Malaysia
Three main components of the Web
• HyperText Markup Language– A language for specifying the contents and layout
of pages
• Uniform Resource Locators– Identify documents and other resources
• A client-server architecture with HTTP– By with browsers and other clients fetch
documents and other resources from web servers
Universiti Utara Malaysia
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)
Universiti Utara Malaysia
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
Scheme: scheme-specific-locatione.g:
mailto:[email protected]://ftp.downloadIt.com/software/aProg.exehttp://net.pku.cn/ ….
Universiti Utara Malaysia
Web servers and web browsers
Internet
BrowsersWeb servers
e.pku.cn
www.cdk3.net
www.w3c.org
Protocols
Activity.html
http://www.w3c.org/Protocols/Activity.html
http://e.pku.cn/cgi-bin/allsearch?word=distributed+system
http://www.cdk3.net/
File system ofwww.w3c.org
Universiti Utara Malaysia
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.cn cgi-bin/allsearch word=distributed+system-------------------------------------------------------------------------------------------------------
• Publish a resource remains unwieldy
Universiti Utara Malaysia
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
Universiti Utara Malaysia
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
Universiti Utara Malaysia
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
Universiti Utara Malaysia
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Universiti Utara Malaysia
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
Universiti Utara Malaysia
Middlewareapplies 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 codeis used to refer to code that can be sent from
one computer to another and run at the destination
Heterogeneity… continued
Universiti Utara Malaysia
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 witch 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
Universiti Utara Malaysia
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
Universiti Utara Malaysia
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
Universiti Utara Malaysia
Date Computers Web servers Percentage
1993, July 1,776,000 130 0.0081995, July 6,642,000 23,500 0.41997, July 19,540,000 1,203,096 61999, July 56,218,000 6,598,697 12
Scalability
Universiti Utara Malaysia
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
Universiti Utara Malaysia
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
Universiti Utara Malaysia
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
Universiti Utara Malaysia
• 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://vod.yf.pku.edu.cn/)
• 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
Transparency
Universiti Utara Malaysia
Transparency … continued
• 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
Universiti Utara Malaysia
Chapter 1: Characterization of Distributed Systems
• Introduction
• Examples of distributed systems
• Resource sharing and the web
• Challenges
• Summary
Universiti Utara Malaysia
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
Universiti Utara MalaysiaBackup
Universiti Utara Malaysia
OceanStore overview
Universiti Utara Malaysia
The JXTA Search network architecture
Universiti Utara Malaysia
TUTORIAL QUESTION
Universiti Utara Malaysia
Exercise 1.1Give five types of hardware resource and five types of data or software resource that can usefully be shared. Give examples of their sharing as it occurs in practice in distributed systems.
Universiti Utara Malaysia
Exercise 1.2How might the clocks in two computers that are linked by a local network be synchronized without reference to an external time source? What factors limit the accuracy of the procedure you have described? How could the clocks in a large number of computers connected by the Internet be synchronized? Discuss the accuracy of that procedure.
Universiti Utara Malaysia
Exercise 1.3A user arrives at a railway station that she has never visited before, carrying a PDA that is capable of wireless networking. Suggest how the user could be provided with information about the local services and amenities at that station, without entering the station’s name or attributes. What technical challenges must be overcome?
Universiti Utara Malaysia
Exercise 1.4What are the advantages and disadvantages of HTML, URLs and HTTP as core technologies for information browsing? Are any of these technologies suitable as a basis for client-server computing in general?
Universiti Utara Malaysia
Exercise 1.5Use the World Wide Web as an example to illustrate the concept of resource sharing, client and server.
Resources in the World Wide Web and other services are named by URLs. What do the initials URL denote? Give examples of three different sorts of web resources that can be named by URLs.
Universiti Utara Malaysia
Exercise 1.6Give an example of a URL.
List the three main components of a URL, stating how their boundaries are denoted and illustrating each one from your example.
To what extent is a URL location transparent?
Universiti Utara Malaysia
Exercise 1.7A server program written in one language (for example C++) provides the implementation of a BLOB object that is intended to be accessed by clients that may be written in a different language (for example Java). The client and server computers may have different hardware, but all of them are attached to an internet. Describe the problems due to each of the five aspects of heterogeneity that need to be solved to make it possible for a client object to invoke a method on the server object.
Universiti Utara Malaysia
Exercise 1.8An open distributed system allows new resource sharing services such as the BLOB object in Exercise 1.7 to be added and accessed by a variety of client programs. Discuss in the context of this example, to what extent the needs of openness differ from those of heterogeneity.
Universiti Utara Malaysia
Exercise 1.9Suppose that the operations of the BLOB object are separated into two categories – public operations that are available to all users and protected operations that are available only to certain named users. State all of the problems involved in ensuring that only the named users can use a protected operation. Supposing that access to a protected operation provides information that should not be revealed to all users, what further problems arise?
Universiti Utara Malaysia
Exercise 1.10The INFO service manages a potentially very large set of resources, each of which can be accessed by users throughout the Internet by means of a key (a string name). Discuss an approach to the design of the names of the resources that achieves the minimum loss of performance as the number of resources in the service increases. Suggest how the INFO service can be implemented so as to avoid performance bottlenecks when the number of users becomes very large.
Universiti Utara Malaysia
Exercise 1.11List the three main software components that may fail when a client process invokes a method in a server object, giving an example of a failure in each case. Suggest how the components can be made to tolerate one another’s failures.
Universiti Utara Malaysia
Exercise 1.12A server process maintains a shared information object such as the BLOB object of Exercise 1.7. Give arguments for and against allowing the client requests to be executed concurrently by the server. In the case that they are executed concurrently, give an example of possible ‘interference’ that can occur between the operations of different clients. Suggest how such interference may be prevented.
Universiti Utara Malaysia
Exercise 1.13A service is implemented by several servers. Explain why resources might be transferred between them. Would it be satisfactory for clients to multicast all requests to the group of servers as a way of achieving mobility transparency for clients?