distributed systems: concepts and design chapter 1 pages 1 - 27

24
Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Upload: geoffrey-gallagher

Post on 30-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Distributed Systems: Concepts and Design

Chapter 1Pages 1 - 27

Page 2: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27
Page 3: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Topics

• Chapter 1: Characterization of Distributed Systems

Page 4: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

What is a distributed system

• A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages

• A distributed system is a collection of autonomous computers linked by a computer network that appear to the users of the system as a single computer.

4

Page 5: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

What is a distributed system (cont’d)

Examples of Distributed Systems

- Personal workstations + processors not assigned tospecific users.

- For a certain command the system can look for thebest place (workstation) to execute it.

5

Page 6: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

The internet and intranets

• The Internet is a very large distributed system consisting of many interconnected computer networks.

• The implementation of the internet and the services that it supports, has entailed the development of practical solutions to many distributed system issues.

• An intranet is a “mini-internet” which uses the same technologies as the internet, but is controlled by an organization. 6

Page 7: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Mobile computing

• Today's computing power makes it possible to build small mobile devices which can benefit from network information

• Examples:– Laptops– PDA– Mobile phone

• These devices can either surf the internet, or it is possible to exchange business information at a meeting 7

Page 8: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Ubiquitous computing (Self

study)

• Ubiquitous computing means “always and anywhere” computing

• All small (and large) electronic equipment, to wear (like watches and minidiscs), to have in the house (fridge, microwave, stove) and to have at the office (printer, fax...) can be connected to a network

• At factories all machines and equipment can be networked

8

Page 9: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Problems with mobile and ubiquitous computing (Self

study)• With mobile computing it is necessary that the

systems just work, so that there is no need to reconfigure

• Ubiquitous computing will affect people who are total computer illiterate, so these systems can't crash and there must be no big need for user intervention

9

Page 10: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Characteristics and consequences

• Concurrency– In a distributed system it is possible that many clients

access the same resource at the same time.• No global clock

– The only communication is by sending messages through a network.

• Independent failures– Components running on different computers can fail

without hurting other programs.

10

Page 11: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Resources and components

• The terms “resources” and “components” are used to describe how a distributed system is built up.

• These terms are very abstract, but the range of things that can be connected and shared is very large.

11

Page 12: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Important terms• Service

– A distinct part of a computer system that manages a collection of related resources and presents their functionality to users and applications

– Internet services: http, telnet, pop3...• Server

– 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

– Internet servers: Apache, Sendmail, WU-ftpd, OpenSSH• Client

– The requesting process12

Page 13: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

The World Wide Web

• The WWW is an evolving system for publishing and accessing resources and services across the Internet

• The Web is an open system:– Extension of the Web is possible without disturbing the

existing structure– Its operation is based on communication standards and

document standards that are freely published and widely implemented

– The Web is one with respect to the types of “resource” that can be published and shared on

13

Page 14: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

The main standard components of the Web (Self

study)

• HyperText Markup Language (HTML)• Uniform Resource Locators (URLs)• HyperText Transfer Protocol (HTTP)

– HTTP is a “request-reply” protocol

14

Page 15: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

More Discussion of the Web (Self study)

• Dynamic pages– CGI– ASP, PHP, Servlets...– Javascript

• Discussion– Hypertext model is lacking in some respects, such as

“lost in hyperspace”– HTML is limited in exchanging structured data– The problems of scale– A Web page is not always a satisfactory user interface

15

Page 16: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Challenges for a distributed system

• Heterogeneity• Openness• Security• Scalability• Failure handling• Concurrency• Transparency

16

Page 17: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Heterogeneity

• Different networks, hardware, operating systems, programming languages, developers

• We set up protocols to solve these heterogeneities• Middleware: a software layer that provides a

programming abstraction as well as masking the heterogeneity

• Mobile code: code that can be sent from one computer to another and run at the destination

17

Page 18: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Openness• The openness of DS is determined primarily by

the degree to which new resource-sharing services can be added and be made available for use by a variety of client programs

• Open systems are characterized by the fact that their key interfaces are published

• Open DS are based on the provision of a uniform communication mechanism and published interfaces for access to shared resources

• Open DS can be constructed from heterogeneous hardware and software

18

Page 19: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Security

• Security for information resources has three components:

– Confidentiality: protection against disclosure to unauthorized individuals

– Integrity: protection against alteration or corruption– Availability: protection against interference with the

means to access the resources

19

Page 20: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Scalability

• A system is described as scalable if it remains effective when there is a significant increase in the number of resources and the number of users

• Challenges:– Controlling the cost of resources– Controlling loss of performance– Preventing software resources from running out– Avoiding performance bottlenecks

20

Page 21: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Failure handling

When faults occur in hardware or software, programs may produce incorrect results or they may stop before they have completed the intended computation

Techniques for dealing with failures: Detecting failures Masking failures Tolerating failures Recovering from failures Redundancy

21

Page 22: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Concurrency

• There is a possibility that several clients will attempt to access a shared resource at the same time

• Any object that represents a shared resource in a distributed system must be responsible for ensuring that operates correctly in a concurrent environment

22

Page 23: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Transparency

• Transparency is defined as the concealment from the user and the application programmer of the separation of components in a distributed system, so that the system is perceived as a whole rather than as a collection of independent components

• Eight forms of transparency:– Access transparency– Location transparency– Concurrency transparency– Replication transparency– Failure transparency– Mobility transparency– Performance transparency– Scaling transparency 23

Page 24: Distributed Systems: Concepts and Design Chapter 1 Pages 1 - 27

Summary

• Distributed systems are everywhere• Resource sharing is the main motivating factor for

constructing distribute systems• The construction of a distributed system produces

many challenges

24