lesson 1-distributed overview)

72
PART 1 Foundations of Distributed Systems  By Henry Quarshie

Upload: rhoda-morrison

Post on 06-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 1/72

PART 1

Foundations of Distributed Systems

 By Henry Quarshie

Page 2: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 2/72

Details of PART 1

Distributed Systems (Overview)

Models of Distributed Systems

Distributed Systems Networking &

Internetworking

Interprocess Communication in

Distributed Systems

Page 3: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 3/72

PART 1: Foundations of Distributed Systems

INTRODUCTION

Networks of computers are everywhere.

The Internet is one, as are the many networks of which it is

composed. Examples of existing networks include;

mobile phone networks

corporate networks

factory networks

campus networks

home networks

in-car networks

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 4: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 4/72

PART 1: Foundations of Distributed Systems

All of the above, both separately and in

combination, share the essential

characteristics that make them relevant

subjects for study under distributed

systems.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 5: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 5/72

PART 1: Foundations of Distributed Systems

Definition

1. A distributed system is defined as one in

which components at networked computers

communicate and coordinate their actions only bypassing messages.

OR

2. A distributed system is defined as one inwhich hardware or software components located atnetworked computers communicate and coordinate

their actions only by passing messages.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 6: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 6/72

PART 1: Foundations of Distributed Systems

Definition

3. A distributed system is a collection of 

independent computers that appears to its users as a

single coherent system

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 7: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 7/72

PART 1: Foundations of Distributed Systems

A look at Definition #3 reveal some important aspects

The first one is that a distributed system consists of components (i.e. software & hardware) that are

autonomous.

A second aspect is that users (i.e. people or programs)think they are dealing with a single system.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 8: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 8/72

PART 1: Foundations of Distributed Systems

Examples

of Distributed Systems

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 9: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 9/72

PART 1: Foundations of Distributed Systems

1. The Internet

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 10: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 10/72

PART 1: Foundations of Distributed Systems

The Internet

Lesson 1: Distributed Systems (Overview)

intranet

ISP

desktop computer:

backbone

satellite link

server:

%

network link:

%

%

%

 Distributed Systems (Overview)

Page 11: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 11/72

PART 1: Foundations of Distributed Systems

The Internet

Lesson 1: Distributed Systems (Overview)

The Internet is a vast interconnected collection of 

computer networks of many different types.

Programs running on the computers connected to itinteract by passing messages, employing a common

means of communication.

The Internet enables users wherever they are to makeuse of services such as the World Wide Web, email and

file transfer.

 Distributed Systems (Overview)

Page 12: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 12/72

PART 1: Foundations of Distributed Systems

The Internet

Lesson 1: Distributed Systems (Overview)

Note: The World Wide Web is not the same as the

Internet.

Also available on the Internet are multimedia services,which enable users to access audio and video data

including music, radio and TV channels and to hold

phone and video conferences.

 Distributed Systems (Overview)

Page 13: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 13/72

PART 1: Foundations of Distributed Systems

2. The Intranet

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 14: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 14/72

PART 1: Foundations of Distributed Systems

An Intranet is a portion of the Internet that is separatelyadministered and has a boundary that can be configured

to enforce local security policies.

Intranets are linked together by backbones.

A backbone is a network link with a high transmission

capacity,employing satellite connections,

fibre optic cables and

other high-bandwidth circuits.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 15: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 15/72

PART 1: Foundations of Distributed Systems

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 16: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 16/72

PART 1: Foundations of Distributed Systems

3. Mobile & Ubiquitous

Computing

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 17: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 17/72

PART 1: Foundations of Distributed Systems

MOBILE AND UBIQUITOUS COMPUTING

Technological advances in device miniaturization,

improved computing performance and wirelessnetworking have led increasingly to the

integration of small and portable computing

devices into distributed systems.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 18: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 18/72

PART 1: Foundations of Distributed Systems

These portable computing devices include laptop computers

handheld devices, including personal digital

assistants (PDAs), mobile phones, pagers, video

cameras and digital cameras

wearable devices, such as smart watches with

functionality similar to PDA

devices embedded in appliances such as washingmachines, hi-fi systems, cars and refrigerators.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 19: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 19/72

PART 1: Foundations of Distributed Systems

Portable & Handheld devices in a distributed system

Lesson 1: Distributed Systems (Overview)

Laptop

Mobile

Printer

Camera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

 Distributed Systems (Overview)

Page 20: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 20/72

PART 1: Foundations of Distributed Systems

Portable & Handheld devices in a distributed

Lesson 1: Distributed Systems (Overview)

 Mobile (Nomadic) computing [Kleinrock 1997]

is the performance of computing tasks while the

user is on the move, or visiting places other thantheir usual environment.

In mobile computing, users who are away from their ‘home’intranet (the intranet at work, or their residence) are still

provided with access to resources via the devices they carry with

them.

 Distributed Systems (Overview)

Page 21: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 21/72

PART 1: Foundations of Distributed Systems

Ubiquitous Computing [Weiser 1993] is theharnessing of many small, cheap computational

devices that are present in users’ physical

environments, including the home, office and

even natural settings.

The term ‘ubiquitous’ is intended to suggest that small computingdevices will eventually become so pervasive in everyday objects that

they are scarcely noticed.

That is, their computational behavior will be transparently and

intimately tied up with their physical function.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 22: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 22/72

PART 1: Foundations of Distributed Systems

The presence of computers everywhere onlybecomes useful when they can communicatewith one another.

For example, it would be convenient for usersto control their washing machine and their hi-fisystem from a universal remote control devicein the home.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 23: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 23/72

PART 1: Foundations of Distributed Systems

The distinction between mobile computing andubiquitous computing is that:

Ubiquitous computing benefit users while they remain in a

single environment like the home, office or hospital whereaswith mobile computing users can still access their networkirrespective of where they are located.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 24: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 24/72

PART 1: Foundations of Distributed Systems

So what’s

the motivationDistributed Systems?

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 25: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 25/72

PART 1: Foundations of Distributed Systems

The sharing of resources (i.e. the range of things that can usefully be shared in anetworked computer system) is a main

motivation for constructing distributedsystems.

Note: Resources may be managed by servers and accessed

by clients or they may be encapsulated as objects andaccessed by other client objects.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 26: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 26/72

PART 1: Foundations of Distributed Systems

These resources includes

hardware components such as disks and printers.

software-defined entities such as files, databases and data

objects of all kinds. stream of video frames that emerges from a digital video

camera and

the audio connection that a mobile phone call represents.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1 F d ti f Di t ib t d S t

Page 27: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 27/72

PART 1: Foundations of Distributed Systems

RESOURCE SHARING AND THE WEB

Resource is very important. Routinely we share hardwareresources such as printers, data resources such as files, andresources with more specific functionality such as the searchengine.

Users share hardware resources to safe cost. But of far greatersignificance to users is their sharing of the higher-levelresources that play a part in their applications and in theireveryday work and social activities. For example, users areconcerned with sharing data in the form of shared databases ora set of web pages – not the disks and processors that those areimplemented on.

Similarly, users think in terms of shared resources such as asearch engine or a currency converter, without regard for theserver or servers that provide these.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 28: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 28/72

PART 1: Foundations of Distributed Systems

RESOURCE SHARING AND THE WEB

The patterns of resource sharing vary widely in their scopeand in how closely users work together.

One pattern is that, a search engine on the Web provides afacility to users throughout the world, users who need never

come into contact with one another directly.

Another pattern may be in the form of a computer-supportedcooperative working (CSCW), which is a group of users, whocooperate directly by sharing resources such as documents in a

small, closed group. Note that, the pattern of sharing and thegeographic distribution of particular users determine whatmechanisms the system must supply to coordinate users’actions.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 29: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 29/72

PART 1: Foundations of Distributed Systems

RESOURCE SHARING AND THE WEB

Resources in a distributed system are physically encapsulatedwithin computers and can only be accessed from othercomputers by communication.

For effective sharing, each resource must be managed by aprogram that offers a communication interface enabling theresource to be accessed and updated reliably and consistently.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 30: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 30/72

PART 1: Foundations of Distributed Systems

The World Wide Web

A good example of resource sharing is the WorldWide Web. The World Wide Web is an evolving systemfor publishing and accessing resources and servicesacross the Internet.

Through commonly available web browsers ( such as Internet Explorer, Netscape, Firefox Morzilla, and  Pine) users retrieve and view documents of many types,

listen to audio streams and view video streams, andinteract with an unlimited set of services.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 31: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 31/72

PART 1: Foundations of Distributed Systems

Note that by default the termsserver and client

refer to processes rather than the computers that

they execute upon, although in everydayparlance those terms also refer to thecomputers themselves.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 32: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 32/72

PART 1: Foundations of Distributed Systems

Web Servers and Web Browsers

Lesson 1: Distributed Systems (Overview)

Internet

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 of

www.w3c.org

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 33: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 33/72

PART 1: Foundations of Distributed Systems

The World Wide Web

The Web is an open system because it can be extendedand implemented in new ways without disturbing itsexisting functionality. Firstly, it operation is based on communication standards and

document standards that are freely published and widelyimplemented.

Secondly, the web is an open system due to the types of resource that can be published and shared on it. A resource on

the web is a web page or some other type of content that can bestored in a file and presented to the user, such as program files,media files, and documents in PostScript or Portable DocumentFormat.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 34: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 34/72

PART 1: Foundations of Distributed Systems

The web is based on three main standard technological components:

The HyperText Markup Language (HTML) is a language for

specifying the contents and layout of pages as they are displayed

by web browsers.

Uniform Resource Locators (URLs) which identify documents

and other resources stored as part of the web.

A client-server system architecture, with standard rules for

interaction (the HyperText Transfer Protocol - HTTP) by which

browsers and other clients fetch documents and other resources

from web servers.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 35: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 35/72

PART 1: Foundations of Distributed Systems

Characteristics

of 

Distributed Systems

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 36: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 36/72

PART 1: Foundations of Distributed Systems

1. ConcurrencyIn a network of computers, this is characterized

by concurrent program execution, sharing of 

resources such as web pages or files whennecessary.

Also, the capacity of the system to handle

shared resources can be increased by addingmore resources (for example computers) to

the network.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 37: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 37/72

PART 1: Foundations of Distributed Systems

2. No Global Clock Programs need to corporate and they do so by coordinating

their actions through exchanging messages. Close

coordination often depends on a shared idea of the time at

which the programs’ actions occur.

But since there are limits to the accuracy with which

computers in a network can synchronize their clocks, thereis no single global notion of the correct time. This is so

because of the fact that the only communication is by

sending messages through a network.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 38: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 38/72

PART 1: Foundations of Distributed Systems

3. Independent Failures Each component in the network can fail

independently. Faults in the network can led to the

isolation of the computers that are connected to it,but that does not mean that they stop running.

Also, the failure of a computer, or the unexpectedtermination of a program somewhere in the system

(a crash) is not immediately made known to other

components with which it communicates.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 39: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 39/72

PART 1: Foundations of Distributed Systems

Challenges

facing

Distributed Systems

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 40: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 40/72

PART 1: Foundations of Distributed Systems

THESE ARE

Heterogeneity

Openness

Security

Scalability

Failure Handling

Concurrency Transparency

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 41: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 41/72

PART 1: Foundations of Distributed Systems

Heterogeneity

The term heterogeneity implies variety and difference.The internet enables users to access services and runapplications over a heterogeneous collection of 

computers and networks.

Heterogeneity applies to all the following: Networks

Computer hardware

Operating systems

Programming languages

Implementations by different developers

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 42: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 42/72

PART 1: Foundations of Distributed Systems

Heterogeneity

One way to mitigate this challenge is through the use of middleware.

 Middleware is a software layer that provides a programming

abstraction as well as masking the variety and difference of theunderlying networks, hardware, operating systems and programminglanguages.

Examples of middleware are

CORBA – Common Object Request BrokerRMI - Java Remote Invocation

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 43: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 43/72

PART 1: Foundations of Distributed Systems

Openness

The openness of a computer system is the characteristicthat determines whether the system can be extendedand re-implemented in various ways.

The openness of distributed systems is determinedprimarily by the degree to which new resource sharingservices can be added and be made available for use bya variety of client programs.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 44: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 44/72

PART 1: Foundations of Distributed Systems

Openness

In short

Open systems are characterized by the fact that their keyinterfaces are published.

Open distributed systems are based on the provision of a

uniform communication mechanism and published interfacesfor access to shared resources.

Open distributed systems can be constructed fromheterogeneous hardware and software, possibly from differentvendors. But the conformance of each component to thepublished standard must be carefully tested and verified if thesystem is to work correctly.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 45: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 45/72

Security

The information resources that are made available andmaintained in distributed systems have a high intrinsicvalue to their users.

Security for Information resources have threecomponents: Confidentiality - protection against disclosure to unauthorized

individuals

 I  ntegrity - protection against alteration or corruption

 Availability – protection against interference with the means toaccess the resources

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 46: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 46/72

Security

A second security challenge is identifying a remote useror other agent correctly. The use of encryption is oneway of meeting this challenge.

Despite the success in providing solutions to some of the security challenges, there are still some securitychallenges that have not as at yet been completely met.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 47: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 47/72

Security

These are

 Denial of service attacks – is the situation where auser may wish to disrupt service by bombarding the

service with such a large number of pointlessrequests that the serious users are unable to use theservice.

Security of mobile code – is the situation where onereceives an executable program as an electronic mailattachment: the possible effects of running theprogram are unpredictable.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 48: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 48/72

PART 1: Foundations of Distributed Systems

Scalability

A distributed system is said to be scalable if it remain

effective when there is a significant increase in the

number of resources and the number of users.

The internet is an example of a distributed

system in which the number of computers and

services has increased dramatically.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 49: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 49/72

PART 1: Foundations of Distributed Systems

Scalability

Lesson 1: Distributed Systems (Overview)

 WORLD INTERNET USAGE AND POPULATION STATISTICS

World RegionsPopulation( 2009 Est.)

Internet UsersDec. 31, 2000

Internet UsersLatest Data

Penetration(% Population)

Growth2000-2009

Users %of Table

Africa 991,002,342 4,514,400 86,217,900 8.7 % 1,809.8 % 4.8 %

Asia 3,808,070,503 114,304,000 764,435,900 20.1 % 568.8 % 42.4 %

Europe 803,850,858 105,096,093 425,773,571 53.0 % 305.1 % 23.6 %

Middle East 202,687,005 3,284,800 58,309,546 28.8 % 1,675.1 % 3.2 %

North America 340,831,831 108,096,800 259,561,000 76.2 % 140.1 % 14.4 %

Latin America/Caribbean

586,662,468 18,068,919 186,922,050 31.9 % 934.5 % 10.4 %

Oceania / Australia 34,700,201 7,620,480 21,110,490 60.8 % 177.0 % 1.2 %

WORLD TOTAL 6,767,805,208 360,985,492 1,802,330,457 26.6 % 399.3 % 100.0 %

Internet Usage and World Population Statistics are for December 31, 2009.Source: Internet Stats

Page 50: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 50/72

PART 1: Foundations of Distributed Systems

Scalability

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

YEAR Users Population % Pen.

2000 30,000 18,881,600 0.2 %

2006 401,300 21,801,662 1.8 %

2008 880,000 23,382,848 3.8 %

2009 997,000 23,887,812 4.2 %

Source: Internet Stats

Ghana Internet Usage and Population Growth:

23,887,812 population for 2009, according to Census Bureau

Page 51: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 51/72

PART 1: Foundations of Distributed Systems

Scalability

Challenges facing scalable distributed systems include:

Controlling the cost of physical resources – As the demand for a

resource grows, it should be possible to extend the system, at

reasonable cost to meet it. For example, the frequency with which

files are accessed in an intranet is likely to grow as the number of 

users and computers increases. It must be possible to add server

computers to avoid the performance bottleneck that would arise if a

single file server had to handle all file access requests.

Controlling the performance loss – this is the management of a set of 

data whose size is proportional to the number of users or resources in

the system. Note, algorithms that use hierarchic structures scale better

than those that use linear structures.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 52: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 52/72

PART 1: Foundations of Distributed Systems

ScalabilityChallenges facing scalable distributed systems include:

 Preventing software resources running out – An exampleof lack of scalability is shown by the numbers used as

Internet (IP) addresses. The supply of Internet addresses isrunning out and a new version of the protocol with 128-bitInternet address is being considered.

 Avoiding performance bottlenecks – algorithms should be

decentralized to avoid having performance bottleneckssince some shared resources are accessed very frequently bymany users and this can cause a decline in performance. Away to meet this challenge is by catching and replication

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 53: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 53/72

PART 1: Foundations of Distributed Systems

Failure Handling

When faults occur in hardware or software, programsmay produce incorrect results or may stop before theyhave completed the intended computation.

Failures in a distributed system are partial – that is,some components fail while others continue tofunction.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

Page 54: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 54/72

PART 1: Foundations of Distributed Systems

Failure Handling

The following are techniques for dealing with failures in adistributed system.

 Detecting failures – checksums can be used to detect

corrupted data in a message or file. Masking failures – Some failures that have been detected can

be hidden or made less severe.

Two examples of hiding failures

messages can be retransmitted when they fail to arrive

file data can be written to a pair of disks so that if one iscorrupted , the other may still be correct.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

i f i i S

Page 55: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 55/72

PART 1: Foundations of Distributed Systems

Failure Handling

Tolerating failures – most of the services in the internet do exhibit

failures, it would not be practical for them to attempt to detect

and hide all of the failures that might occur in such a large

network with so many components. Their clients can be designed

to tolerate failures, which generally involve the users tolerating

them as well.

 Recovery from failures – Recovery involves the design of software so

that the state of permanent data can be recovered or rolled back after a server has crashed. In general, computations performed by

some programs will be incomplete when a fault occurs, and the

permanent data that they update (files and other material stored in

permanent storage) may not be in a consistent state.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1 F d i f Di ib d S

Page 56: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 56/72

PART 1: Foundations of Distributed Systems

Failure Handling Redundancy – Services can be made to tolerate failures by the use of 

redundant components. Example;

There should always be at least two different routes between any

two routers in the internet. In the Domain Name System, every name table is replicated in at

least two different servers.

A database may be replicated in several servers to ensure that the

data remains accessible after the failure of any single server; theservers can be designed to detect faults in their peers; when a

fault is detected in one server, and clients are redirected to the

remaining servers.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1 F d ti f Di t ib t d S t

Page 57: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 57/72

PART 1: Foundations of Distributed Systems

ConcurrencyThis is the situation where both services and applications provide

resources that can be shared by clients in a distributed system.

There is therefore the possibility that several clients will attempt

to access a shared resource at the same time.

Thus any object that represents a shared resource in a distributed

system must be responsible for ensuring that it operates correctly

in a concurrent environment. This applies not only to servers but

also to objects in applications.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1 F d ti f Di t ib t d S t

Page 58: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 58/72

PART 1: Foundations of Distributed Systems

ConcurrencyFor an object to be safe in a concurrent environment, its

operations must be synchronized in such a way that its data

remains consistent. This can be achieved by standard techniques

such as semaphores, which are used in most operating systems.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1 Fo ndations of Distrib ted S stems

Page 59: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 59/72

PART 1: Foundations of Distributed Systems

TransparencyTransparency is defined as the concealment from the

user and the application programmer of the separation

of components in a distributed system, so that thesystem is perceived as a whole rather than as a

collection of independent components.

There are eight forms of transparency.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 60: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 60/72

PART 1: Foundations of Distributed Systems

TransparencyThese are;

 Access 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.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 61: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 61/72

PART 1: Foundations of Distributed Systems

Transparency

 Replication transparency: enables multipleinstances of resources to be used to increasereliability and performance without knowledge of 

the replicas by users or application programmers.

 Failure transparency: enables the concealment of faults, allowing users and application programs tocomplete their tasks despite the failure of hardware

or software components.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 62: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 62/72

PART 1: Foundations of Distributed Systems

Transparency

 Mobility transparency: allows the movement of resources and clients within a system withoutaffecting the operation of users or programs.

 Performance transparency: allows the system to bereconfigured to improve performance as loads vary.

Scaling transparency: allows the system andapplications to expand in scale without change to thesystem structure or the application algorithms.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 63: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 63/72

PART 1: Foundations of Distributed Systems

Types

of Distributed Systems

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 64: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 64/72

PART 1: Foundations of Distributed Systems

The types of Distributed Systems are:

i. Distributed Computing Systems

ii. Distributed Information Systems

iii. Distributed Embedded Systems

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 65: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 65/72

PART 1: Foundations of Distributed Systems

Distributed Computing Systems

- Cluster Computing

- Grid Computing

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 66: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 66/72

PART 1: Foundations of Distributed Systems

Cluster Computing

For cluster computing, the underlying hardware consists of acollection of similar workstations or PCs, closely connected bymeans of a high speed local-area network.

Also, each node runs the same operating system.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 67: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 67/72

PART 1: Foundations of Distributed Systems

Grid Computing

Consists of distributed systems that are often constructed as afederation of computer systems, where each system may fallunder a different administrative domain, and may be verydifferent when it comes to hardware, software, and deployed

network technology.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 68: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 68/72

y

NOTE:

A characteristic feature of cluster computing is its homogeneity.In most cases, the computers in a cluster are largely the same,they all have the same operating system, and are all connectedthrough the same network.

In contrast, grid computing systems have a high degree of heterogeneity: no assumptions are made concerning hardware,operating systems, networks, administrative domains, securitypolicies etc.

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 69: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 69/72

y

Distributed Information Systems

Client processes send request to server process(es) to execute anoperation. These operations usually are operations carried out ondatabases in the form of transactions.

Thus they are usually known as Transaction Processing Systems.

Such systems require a transaction processing monitor.

For example the iSchool Software

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 70: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 70/72

y

Distributed Embedded/Pervasive Systems

Most devices used are small, battery-powered, mobile, andhaving a wireless connection.

Three requirements for pervasive applications are

1. Embrace contextual changes

2. Encourage ad hoc composition

3. Recognize sharing as the default.

Distributed Pervasive Systems are implemented ini. Home Systems

ii. Electronic Health Care Systems

iii. Sensor Networks

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 71: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 71/72

y

REFERENCES

George Coulouris, Jean Dollimore, and Tim Kindberg, Distributed 

Systems Concepts & Design, Addison-Wesley (2005)

A Taxonomy of Distributed Systems by Paul Krzyzanowski,

www.pk.org/rutgers

http://www.cs.vu.nl/~steen/courses/ds-slides/notes.01.pdf 

http://www.cis.upenn.edu/~lee/07cis505/Lec/lec-ch1-DistSys-v4.pdf 

http://www.gridbus.org/papers/InfoNet-Article06.pdf 

http://en.wikipedia.org/wiki/Distributed_computing

Lesson 1: Distributed Systems (Overview)

 Distributed Systems (Overview)

PART 1: Foundations of Distributed Systems

Page 72: Lesson 1-Distributed Overview)

8/3/2019 Lesson 1-Distributed Overview)

http://slidepdf.com/reader/full/lesson-1-distributed-overview 72/72

END

Lesson 1: Distributed Systems (Overview)