Chapter 1-distribute Computing

60
Universiti Utara Malaysia Distributed Computing

description

nota Distribute computing chapter 1

Transcript of Chapter 1-distribute Computing

Page 1: Chapter 1-distribute Computing

Universiti Utara Malaysia

Distributed Computing

Page 2: Chapter 1-distribute Computing

Universiti Utara Malaysia

Chapter 1: Characterization of Distributed Systems

• Introduction

• Examples of distributed systems

• Resource sharing and the web

• Challenges

• Summary

Page 3: Chapter 1-distribute Computing

Universiti Utara Malaysia

Ubiquitous networks

• Internet• Mobile phone networks• Corporation networks• Factory networks• Campus networks• Home networks

Page 4: Chapter 1-distribute Computing

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.

Page 5: Chapter 1-distribute Computing

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

Page 6: Chapter 1-distribute Computing

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.

Page 7: Chapter 1-distribute Computing

Universiti Utara Malaysia

Chapter 1: Characterization of Distributed Systems

• Introduction

• Examples of distributed systems

• Resource sharing and the web

• Challenges

• Summary

Page 8: Chapter 1-distribute Computing

Universiti Utara Malaysia

Familiar and widely used computer networks

• The Internet

• Intranet

• Mobile computing

Page 9: Chapter 1-distribute 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

Page 10: Chapter 1-distribute Computing

Universiti Utara Malaysia

The Internet

intranet

ISP

desktop computer:

backbone

satellite link

server:

network link:

Page 11: Chapter 1-distribute Computing

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

Page 12: Chapter 1-distribute Computing

Universiti Utara Malaysia

A typical Intranet

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local areanetwork

email server

the Internet

Page 13: Chapter 1-distribute Computing

Universiti Utara Malaysia

File servicesFirewallThe cost of software installation and

support

Three main issues in the design of components for the use in intranet

Page 14: Chapter 1-distribute Computing

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

Page 15: Chapter 1-distribute 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

Page 16: Chapter 1-distribute Computing

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

Page 17: Chapter 1-distribute Computing

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

Page 18: Chapter 1-distribute Computing

Universiti Utara Malaysia

Chapter 1: Characterization of Distributed Systems

• Introduction

• Examples of distributed systems

• Resource sharing and the web

• Challenges

• Summary

Page 19: Chapter 1-distribute Computing

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

Page 20: Chapter 1-distribute Computing

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

Page 21: Chapter 1-distribute Computing

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.

Page 22: Chapter 1-distribute Computing

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

Page 23: Chapter 1-distribute Computing

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)

Page 24: Chapter 1-distribute Computing

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/ ….

Page 25: Chapter 1-distribute Computing

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

Page 26: Chapter 1-distribute Computing

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

Page 27: Chapter 1-distribute Computing

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

Page 28: Chapter 1-distribute Computing

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

Page 29: Chapter 1-distribute Computing

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

Page 30: Chapter 1-distribute Computing

Universiti Utara Malaysia

Chapter 1: Characterization of Distributed Systems

• Introduction

• Examples of distributed systems

• Resource sharing and the web

• Challenges

• Summary

Page 31: Chapter 1-distribute Computing

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

Page 32: Chapter 1-distribute Computing

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

Page 33: Chapter 1-distribute Computing

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

Page 34: Chapter 1-distribute Computing

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

Page 35: Chapter 1-distribute Computing

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

Page 36: Chapter 1-distribute Computing

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

Page 37: Chapter 1-distribute Computing

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

Page 38: Chapter 1-distribute Computing

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

Page 39: Chapter 1-distribute Computing

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

Page 40: Chapter 1-distribute Computing

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

Page 41: Chapter 1-distribute Computing

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

Page 42: Chapter 1-distribute Computing

Universiti Utara Malaysia

Chapter 1: Characterization of Distributed Systems

• Introduction

• Examples of distributed systems

• Resource sharing and the web

• Challenges

• Summary

Page 43: Chapter 1-distribute Computing

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

Page 44: Chapter 1-distribute Computing

Universiti Utara MalaysiaBackup

Page 45: Chapter 1-distribute Computing

Universiti Utara Malaysia

OceanStore overview

Page 46: Chapter 1-distribute Computing

Universiti Utara Malaysia

The JXTA Search network architecture

Page 47: Chapter 1-distribute Computing

Universiti Utara Malaysia

TUTORIAL QUESTION

Page 48: Chapter 1-distribute Computing

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.

Page 49: Chapter 1-distribute Computing

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.

Page 50: Chapter 1-distribute Computing

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?

Page 51: Chapter 1-distribute Computing

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?

Page 52: Chapter 1-distribute Computing

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.

Page 53: Chapter 1-distribute Computing

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?

Page 54: Chapter 1-distribute Computing

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.

Page 55: Chapter 1-distribute Computing

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.

Page 56: Chapter 1-distribute Computing

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?

Page 57: Chapter 1-distribute Computing

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.

Page 58: Chapter 1-distribute Computing

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.

Page 59: Chapter 1-distribute Computing

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.

Page 60: Chapter 1-distribute Computing

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?