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

Post on 30-Dec-2015

215 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Distributed Systems: Concepts and Design

Chapter 1Pages 1 - 27

Topics

• Chapter 1: Characterization of Distributed Systems

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

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

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

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

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

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

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

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

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

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

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

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

Challenges for a distributed system

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

16

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

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

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

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

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

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

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

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

top related