Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of...

28
Chapter 1: Distributed Systems Overview

Transcript of Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of...

Page 1: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Chapter 1: Distributed

Systems Overview

Page 2: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Objectives To be aware of the characteristics of

concurrency, independent failure of components and lack of a global clock, which necessarily arise in a distributed systems.

To place distributed systems in a realistic context through examples: the Internet, an intranet and mobile computing.

To motivate the benefits of resource sharing and to introduce the Web as an example.

To gain a good understanding of the challenges which apply to distributed systems.

Page 3: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Introduction

Page 4: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

What is “Distributed System”?

Distributed system (DS) – Components at networked computers communicate & coordinate their actions only by passing messages.

Allows for concurrent execution of programs, but prevents the possibility of a global clock - means that components can fail independently of one another.

Page 5: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Introduction (cont.) Computer that are connected by a

network maybe spatially separated by any distance.

DS definition has significant consequence: - Concurrency - No global clock - Independent failure

Page 6: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Concurrency ~ In a network of computer, concurrent program execution of the norm. ~ “I can do my work on my computer while you do your work on yours”~ Sharing resources such as web pages, file etc.~ The capacity of the system to handle shared resources can be increased by adding more resources (example: computers) to the network.

Introduction (cont.)

Page 7: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

No global clock ~ there are limits to the accuracy with which the computer in a network can synchronize their clock – there is no single global nation of the correct time.

Introduction (cont.)

Page 8: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Independent failure ~ All computer system can fail and it is the responsibility of system designers to plan for the consequences of possible failure. ~ Each component of the system can fail independently, leaving that other still running. This leaves a computer running in isolation.~ The programs running on the isolated computer may not detect immediately that network has failed or become slower.

Introduction (cont.)

Page 9: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Examples of DS 3 examples of DS:

~ internet~ intranet - a portion of internet

managed by organization

~ mobile and ubiquitous computing

Page 10: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Internet

• Internet is a very large distributed system

• It enables users to make use of services such as World Wide Web, email and file transfer.

• The set of services is open-ended – it can be extended by addition of server computers and new types of services.

Page 11: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Figure 1.2: A typical intranet

the rest ofthe internet

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local areanetwork

email server

• Intranet is a part of Internet • Separately administered• Uses firewall to enforce its own local security policies. • Users share data by means of file services.

Page 12: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Figure 1.3: Portable and handheld devices in DS

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetWAP Wireless LAN

phone

gateway

Host site

DS applicable to:a) mobile computing - laptop, mobile phones, GPRS, webcamsb) ubiquitous computing - small comp. embedded in appliances

Page 13: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Main motivation for constructing DS: ~ Sharing of resources

Resource may be managed by servers & access by clients

Resource sharing and the

Web

Page 14: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Examples of hardware sharing in DS

a) CPU: compute server (executes processor-intensive applications for clients), remote object server (executes methods on behalf of clients), worm program (shares cpu capacity of desktop machine with local user)

b) memory: cache server (holds recently-accessed web pages in its RAM, for faster access by other local computers)

c) disk: file server, virtual disk server, video on demand server.

d) screen: Network window systems, such as X-11, allow processes in remote computers to update the content of windows.

e) printer: networked printers accept print jobs from many computers. Managing them with a queuing system.

d) network capacity: packet transmission enables many simultaneous communication channels to be transmitted on the same circuits.

Page 15: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

a) web page: web servers enable multiple clients to share read-only page content.

b) file: file servers enable multiple clients to share read-write files.

c) object: possibilities for software objects are limitless. E.g. shared whiteboard, shared diary, room booking system, etc.

d) database: intended to record definitive state of some related sets of data. They shared ever since multi-user computers appeared.

e) newsgroup content: netnews system makes read-only copies of recently-posted news items available to clients throughout Internet. A copy of newsgroup content is maintained at each netnews server. Each server makes its data available to multiple clients.

Examples of data/software sharing in DS

Page 16: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Resource sharing and the Web (cont.)

Shared resources are managed by server processes.

A service of a computer system manages a collection of related resources. For example – we access shared files through a file service, we send documents to printer through printing service, we buy goods through electronic payment service

A service is accessed via the well-defined set of operations. For example- a file service provides read, write and delete operations on files.

Page 17: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

The term server refers to a running program (service) on a networked computer system that accepts request from programs running on other computers (client) .

A Request is sent in the form of a message from client to server. A Client sends request to invoke an operation. When the client recieves the server’s response, it is called as remote invocation.

In DS written an object-oriented language, resources may be encapsulated as objects whose methods are invoked by client objects.

Resource sharing and the Web (cont.)

Page 18: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

World Wide Web -> example of resource sharing. -> 3 main standard technological components: a) HTML (HyperText Markup Language), is a language for specifying the contents and layout of the pages.b) URLs (Uniform Resource Allocators) identify documents and other resources stored as part of web, c) HTTP (HyperText Transfer Protocol) by which web browsers and other clients fetch documents and other resources from web servers.

Resource sharing and the Web (cont.)

Page 19: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Figure 1.4: Web servers and web browsers

File system of

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/

www.w3c.org

Page 20: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Challenges Challenges arising for construction DS:

heterogeneity openness security scalability failure handling concurrency transparency

Page 21: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Challenges (cont.) heterogeneity

- A DS is constructed from variety different network, OS, computer hardware and programming language, implementation by different developers. - Internet communication protocols mask the difference in network, and middleware can deal with the other differences. Some middlewares are CORBA, JAVA RMI.

openness - allows components to be add or replaced (re-implemented) - DS should be extensible: publish key interfaces of components and integrate components written by different programmer

Page 22: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Challenges (cont.) security

- Security has three components:Confidentiality (Protection against disclosure to

unauthorized individual)Integrity (Protection against alteration or corruption)Availability (Protection against interference with the

means to access the resources) - encryption can be used to provide protection of shared resources & keep sensitive information secret when is transmitted in messages over a network.

Page 23: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

High Security!

Dr Noraziah Ahmad – Mac 2008Email: [email protected]

Page 24: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Challenges (cont.) scalability

- ability to work when num. of users ↑ - algorithms used to access shared data should avoid performance bottlenecks - data should be structured hierarchically to get the best times - Web illustrates some approaches to address it (e.g. the use of hierarchic naming, partitioned data, caching & replication).

Figure 1.5: Computers in the Internet

Date Computers Web servers

1979, Dec. 188 0

1989, July 130,000 01999, July 56,218,000 5,560,8662003, Jan. 171,638,297 35,424,956

Page 25: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Figure 1.6: Computers vs. Web servers in the

InternetDate 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 122001, July 125,888,197 31,299,592 25

42,298,371

Page 26: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Challenges (cont.) failure handling

- any process, computer or network may fail independently - each component need to be aware of possible ways its components may fail

concurrency - multiple users is a source of concurrent request to resources - each resources must be designed to be safe

Transparency - make certain aspects of distribution invisible to the application

Page 27: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

TransparenciesAccess transparency: enables local and remote

resources to be accessed using identical operations.

Location transparency: enables resources to be accessed without knowledge of their physical or network location (for example, which building or IP address).

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.

Page 28: Chapter 1: Distributed Systems Overview. Objectives To be aware of the characteristics of concurrency, independent failure of components and lack of a.

Transparencies (cont.)

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.