Chapter 1 Characterization of Distributed Systems Choe, Hyun Jong Dept. of Computer Education Korea...

35
Chapter 1 Characterization of Distributed Systems Choe, Hyun Jong Dept. of Computer Education Korea National Univ. Of Education
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Chapter 1 Characterization of Distributed Systems Choe, Hyun Jong Dept. of Computer Education Korea...

Chapter 1Characterization ofDistributed Systems

Choe, Hyun JongDept. of Computer Education

Korea National Univ. Of Education

2

Distributed Systems

Chapter Overview Definition & Motivation of Distributed

Systems Properties of Distributed Systems Examples of Distributed Systems Challenges of Distributed Systems Pros & Cons of Distributed Systems

3

Distributed Systems

Definition of D.S. One in which components located at networked

computers communicate & coordinate their actions only by passing messages

A system that consists of a collection of two or more independent computers which coordinate their processing through the exchange of synchronous or asynchronous message passing

A collection of independent computers that appear to the users of the system as a single computer

A collection of autonomous computers linked by a network with software designed to produce an integrated computing facility

4

Distributed Systems

Motivation for D.S. (1) Resource Sharing

Hardware components Software-defined components

Functional distribution: computers have different functional capabilities Client/Server Host/Terminal Data gathering/data processing Sharing of resources with specific

functionalities

5

Distributed Systems

Motivation for D.S. (2) Load distribution/balancing

Assign tasks to processors such that the overall system performance is optimized

Replication of processing power Distributed systems consisting of

collections of microcomputers may have processing powers that no supercomputer will ever achieve

6

Distributed Systems

Motivation for D.S. (3) Economics

Collections of microprocessors offer a better price/performance ration than large mainframes

7

Distributed Systems

Computer Network vs. Computer network: the

autonomous computers are explicitly visible

Distributed system: existence of multiple autonomous computers is transparent

8

Distributed Systems

Characteristics of D.S. Concurrency of components Lack of a global clock Independent failures of

components

9

Distributed Systems

Problems with D.S. Software: how to design & manage

it in a distributed system Dependency on the underlying

network infrastructure Easy access to shared data raises

security concerns

10

Distributed Systems

Examples of D.S.(1): Internet Internet

Heterogeneous network of computers and applications

Implemented through the internet protocol stack

11

Distributed Systems

Examples of D.S.(2): intranet

12

Distributed Systems

What’s intranet? Locally administered network Usually proprietary Interfaces with the internet

Gateway/router with firewalls Provides services internally &

externally

13

Distributed Systems

Examples of D.S.(3) Mobile & ubiquitous computing

14

Distributed Systems

The goal of pervasive computing, which combines current network technologies with wireless computing,voice recognition, Internet capability and artificial intelligence, is to create an environment where the connectivity of devices is embedded in such a way that the connectivity is unobtrusive and always available

Ubiquitous computing

15

Distributed Systems

Mobile & ubiquitous Cellular phone systems Laptop computers Handheld devices like PDA Home automation/car/TV/video

etc…

Ubiquitous computing = Mobile + ?

16

Distributed Systems

Trends in Computing

17

Distributed Systems

Resource sharing(1) Resource sharing

Hardware resources Software resources Resources with specific functionality

Search engine, CGI, communication modules

18

Distributed Systems

Resource sharing(2) Service & Server

Service is a distinct part of a computer system that manages a

collection of related resources and represent their functionality to users and applications

Via the set of operations that it exports Ex. Accessing a shared file

Server A running program(process) that serves a service

to users and application programs Client-server model

Remote invocation Active(client) vs. passive(server) – not fixed..

19

Distributed Systems

The Web(1) Web of network links Publishing & accessing resources and

services across the internet Began at CERN, Switzerland in 1989

For exchanging documents among physicists A key feature

Hypertext structure However, hypertext structure was developed

in mind in 1945 and realized with the development of the internet

20

Distributed Systems

The Web(2) Open system

WWW can be extended and implemented in new ways without disturbing its existing functionality

Based on communication/document standard

Many kinds of web browsers & web servers Variety types of resources

Any kind of contents: plug-ins and helper application

21

Distributed Systems

The Web(3) Main components of the Web

HTML(hypertext markup language) A language for specifying the contents and layout

of pages as the are displayed by web browsers URL(uniform resource locator)

An anchor which identities documents and other resources stored as part of the web

HTTP(hypertext transfer protocol) Standard rules for interaction between client &

server

22

Distributed Systems

HTML To specify the contents of a web page To specify how they are laid out and

formatted Structured items as headings,

paragraphs, tables, images, and links HTML tags Construction

Using text editor Using wysiwyg editor which awares HTML

23

Distributed Systems

URL To identify a resource Two top-level components

Schema: schema-specific-locationmailto:[email protected]://comedudb.knue.ac.kr

General HTTP URL http://servername[:port][/pathname]

[?argument]

24

Distributed Systems

HTTP A protocol for clients to interact with web

servers Features

Request-reply interaction Content type(MIME types)

Text/html, image/gif, audio/x-mpegurl, application/zip.. One resource per request

N embedded resources in a web page requires n distinct request(connection)

Simple access controlSimple restriction using challenge (authentication)

25

Distributed Systems

Advanced features of the web Services

Web form for user input CGI(common gateway interface)

An interface between a program on server and the web

Running on the server side Method: POST & GET

Dynamic pages Inside the browser at the client computer

Javascript An application downloaded from a server

Applet

26

Distributed Systems

Issues/Challenges of D.S. Heterogeneity Openness Security Scalability Failure handling Concurrency Transparency

27

Distributed Systems

Heterogeneity Variety and difference

Networks, computer hardware, OS, P. language So, Middleware is needed

Software layer that provides a programming abstraction

CORBA(common object request broker architecture) Java RMI(remote method invocation)

Mobile code Code that can be send from one computer to

another Ex) Java applet: JVM(java virtual machine) provides an

abstract a way of making code executable on any hardware

28

Distributed Systems

Openness Ensure extensibility and

maintainability(H/W, S/W) System is extended & re-implemented in

various way Adherence to standard interface Ex 1) RFC(request for comments) http://www.ietf.org - Open systems - Open distributed systems Ex 2) CORBA http://www.omg.org

29

Distributed Systems

Security Three components

Confidentiality: protection to unauthorized individuals

Integrity: protection against corruption Availability: protection against interference with

the means to access the resources Cryptography can enhance confidentiality

& integrity However

DOS(denial of service) attack Security of mobile code

30

Distributed Systems

Scalability(1)Computers in the internet

Computers vs. web servers in the internet

31

Distributed Systems

Scalability(2) A system is scalable if it will remain

effective when there is a significant increase in the number of resources and the number of users Controlling the cost of physical resources

: User n-> physical resource O(n) Controlling the performance loss

: data size n -> time to access O(log n) Preventing software resources running out

: IPv4 -> IPv6 Avoiding performance bottlenecks

: one DNS table -> several DNS tables

32

Distributed Systems

Failure handling In the domain of network & server

How to deal with partial failures? Techniques for failure handling

Detecting failures may be possible with checksums

Masking(hiding) failures Retransmission

Tolerating failures Exception handling(clients)

Recovery from failures Roll-back

Redundancy in hardware/software

33

Distributed Systems

Concurrency Attempt to access a shared resource at

the same time Consistent scheduling of concurrent threads So that dependencies are preserved

Ex) accounts in a bank(preserves transaction)

Synchronization is needed for resource sharing Ex) semaphores in OS

34

Distributed Systems

Transparency(concealment) Concealing(hiding) the heterogeneous and

distributed nature of the system so that it appears to the user like one system

Eight forms of transparency(ISO’s RM-ODP): page 23 Access transparency Location transparency Concurrency transparency Replication transparency Failure transparency Mobility transparency(migration) Performance transparency Scaling transparency

35

Distributed Systems

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.

Eight forms of Transparency