CS 843 - Distributed Computing Systems Chapter 1: Characterization of Distributed Systems Chin-Chih...

27
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
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    1

Transcript of CS 843 - Distributed Computing Systems Chapter 1: Characterization of Distributed Systems Chin-Chih...

CS 843 - Distributed Computing Systems Chapter 1: Characterization of Distributed

SystemsChin-Chih Chang, [email protected]

From Coulouris, Dollimore and Kindberg

Distributed Systems: Concepts and Design

Edition 3, © Addison-Wesley 2001

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3

© Addison-Wesley Publishers 2000

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

intranet

ISP

desktop computer:

backbone

satellite link

server:

network link:

Figure 1.1A typical portion of the Internet

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.2A 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

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 deviceso 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.3Portable and handheld devices in a distributed system

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3

© Addison-Wesley Publishers 2000

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-locationo 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 interactiono 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 controlo 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.4Web servers and web browsers

Internet

BrowsersWeb servers

www.google.com

www.cdk3.net

www.w3c.org

Protocols

Activity.html

http://www.w3c.org/Protocols/Activity.html

http://www.google.comlsearch?q=kindberg

http://www.cdk3.net/

File system ofwww.w3c.org

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 meta-language 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 Networkso Computer hardwareo Operating systemso Programming languageso 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.5Computers in the Internet

Date Computers Web servers

1979, Dec. 188 0

1989, July 130,000 0

1999, July 56,218,000 5,560,866

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3

© Addison-Wesley Publishers 2000

Figure 1.6Computers vs. Web servers in the Internet

Date Computers Web servers Percentage

1993, July 1,776,000 130 0.008

1995, July 6,642,000 23,500 0.4

1997, July 19,540,000 1,203,096 6

1999, July 56,218,000 6,598,697 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.7Transparencies

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.