0% found this document useful (0 votes)
69 views48 pages

Chapter 1n2 Characterization and Design Goals

A Distributed System is one in which components located at networked computers communicate and coordinate their actions only by passing messages. Mobile devices and computer / database servers are not "connected". Computing components are not in a single computer (distributed across multiple computers on the network). Resource sharing - cloud computing.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views48 pages

Chapter 1n2 Characterization and Design Goals

A Distributed System is one in which components located at networked computers communicate and coordinate their actions only by passing messages. Mobile devices and computer / database servers are not "connected". Computing components are not in a single computer (distributed across multiple computers on the network). Resource sharing - cloud computing.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 48

Topic 1: Introduction to Distributed Systems, Characterization and Design Goals

Dr Ahmad Suki Che Mohamed Arif


School of Computing UUM CAS, Universiti Utara Malaysia

1. What is a Distributed System 2. Examples of Distributed Systems 3. Common Characteristics 4. Basic Design Issues 5. Design Requirements 6. Summary

Control

Fully Distributed

Autonomous fully cooperative Autonomous transaction based Master-slave Homog. Homog. general special purpose purpose Heterog. Heterog. special general purpose purpose

Local data, local directory Not fully replicated master directory Fully replicated

Processors

Da ta

programming language is/was only compatible with certain operating systems.


VB

is only for MS Windows.

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

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

client that is set to server A, will only use that server resources.
Event

though many other computers are idle.

client that is set to server A, has to be replaced if the server is not scalabled.
Certain

application can only be implemented in certain types of machines.

Certain

database application/server might not able to be implemented if cant support a huge data.
It

definitely needs to be distributed

Mobile

devices and computer/database servers are not connected.


Computer

applications are not accessible from a mobile device.

Computing

in computer networks

platform? Computing components are not in a single computer (distributed across multiple computers on the network). Resource sharing cloud computing.

Definition: A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages. This definition leads to the following characteristics of distributed systems: concurrency of components lack of a global clock independent failures of components

One

component with non-autonomous parts shared by users all the time resources accessible runs in a single process point of control point of failure

Component All

Software Single Single

Multiple

autonomous components are not shared by all

Components

users

Resources Software Multiple Multiple

may not be accessible

runs in concurrent processes on different processors points of control points of failure

14

Finance and commerce The information society

eCommerce e.g. Amazon and eBay, PayPal, online banking and trading
Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace.

Creative industries and entertainmentonline gaming, music and film in the home, usergenerated content, e.g. YouTube, Flickr Healthcare Education Transport and logistics Science Environmental management health informatics, on online patient records, monitoring patients e-learning, virtual learning environments; distance learning GPS in route finding systems, map services: Google Maps, Google Earth The Grid as an enabling technology for collaboration between scientists sensor technology to monitor earthquakes, floods or tsunamis

Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

The

emergence of pervasive networking technology


Devices

can be connected at any time and in any place.

The

emergence of ubiquitous computing coupled with the desire to support user mobility in distributed systems. The increasing demand for multimedia services
Including

various real-time and on-demand

intranet ISP

backbone

satellite link desktop computer: server: network link:

Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

18

Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

What

are we trying to achieve when we construct a distributed system? Challenges in distributed systems
Heterogeneity: variety and differences in computing components Openness: uniform communication mechanism and published interfaces for access to shared resources. Security Scalability Failure Handling Concurrency Transparency

Variety and differences in


Networks Computer hardware Operating systems Programming languages Implementations by different developers

Middleware as software layers to provide a programming abstraction as well as masking the heterogeneity of the underlying networks, hardware, OS, and programming languages (e.g., CORBA). Mobile Code to refer to code that can be sent from one computer to another and run at the destination (e.g., Java applets and Java virtual

Openness

is concerned with extensions and improvements of distributed systems. Detailed interfaces of components need to be published. New components have to be integrated with existing components. Differences in data representation of interface types on different processors (of different vendors) have to be resolved.

In terms of CONFIDENTIALITY, INTEGRITY & AVAILABILITY . In a distributed system, all open resources need to be allowed, while confidential data has to be restricted to authorized users only. Security is required for
Concealing the contents of messages: security and privacy Identifying a remote user or other agent correctly: authentication

New challenges:
Denial of service attack Security of mobile code

Adaptation

of distributed systems to

accommodate

more users respond faster (this is the hard one)


Challenges:
Controlling

the cost of physical resources. Controlling the performance loss Preventing software resources running out Avoiding performance bottlenecks

Hardware,
Example:

software and networks might fail independently.


DNS fail & web server limitation cases

Solution

& Challenge Issues:

Detecting

failures Masking failures retransmitted when failure occurs Tolerating failures informs user about the problem

Components

in distributed systems are executed in concurrent processes. Components access and update shared resources (e.g. variables, databases, device drivers). Integrity of the system may be violated if concurrent updates are not coordinated.
Lost

updates Inconsistent analysis

Distributed

systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components. has different aspects. represent various properties that distributed systems should have.

Transparency These

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. 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.
Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

Enables

local and remote information objects to be accessed using identical operations. File system operations in Navigation in the Web. SQL Queries NFS.

Example:

Example: Example:

Enables

information objects to be accessed without knowledge of their location. File system operations in NFS Pages in the Web

Example: Example: Example:

Tables in distributed databases

Enables

several processes to operate concurrently using shared information objects without interference between them. NFS Automatic teller machine Database management system

Example: Example:

network
Example:

Enables

multiple instances of information objects to be used to increase reliability and performance without knowledge of the replicas by users or application programs Distributed DBMS Mirroring Web Pages.

Example: Example:

Enables Allows

the concealment of faults

users and applications to complete their tasks despite the failure of other components. Database Management System

Example:

Allows

the movement of information objects within a system without affecting the operations of users or application programs NFS Web Pages

Example: Example:

Allows

the system to be reconfigured to improve performance as loads vary. Distributed make.

Example:

Allows

the system and applications to expand in scale without change to the system structure or the application algorithms. World-Wide-Web Distributed Database

Example: Example:

Case

of the World Wide Web (refer to section 1.6 pg 42 of the text book) Networking and internetworking (Chapter 3).

What

are the entities that are communicating in the distributed systems? How do they communicate, or, more specifically what communication paradigm is used? What (potentially changing) roles and responsibilities do they have in the overall architecture? How are they mapped on to the physical distributed infrastructure (what is their

Client-server Peer-to-peer Services

provided by multiple servers Proxy servers and caches Mobile code and mobile agents Network computers Thin clients and mobile devices

Client

invocation result

invocation result

Server

Server

Client

Key: Process: Com puter:

Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

A service provided by multiple servers

Service

Server Client

Server

Client Server

Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

Client Proxy server

Web server

Client

Web server

Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

a) client request results in the downloading of applet code

Client Applet code b) client interacts with the applet

Web server

Client

Applet

Web server

Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

a computer or a computer program which depends heavily on some other computer (its server) to fulfill its traditional computational roles.
Network computer or PC Thin Client network Compute server

Application Process

The most common type of modern thin client is a low-end computer terminal which concentrates solely on providing a graphical user interface to the end-user.

Applications, services

Middleware

Operating system Platform Com puter and network hardware


Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

47

Instructors Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 Pearson Education 2012

Definitions

of distributed systems and comparisons to centralized systems. The characteristics of distributed systems. The eight forms of transparency. The basic design issues. Typical design requirements. Read Chapter 1 and Chapter 2 of the textbook.

You might also like