1 of 22

DISTRIBUTED SYSTEMS

M.Sc(IT)- 1st SEMESTER

GULLAGONG

P.G. DEPT. OF COMPUTER SC & IT

1

2 of 22

Distributed Systems

Models of Distributed Systems

3 of 22

System Models

3

4 of 22

Distributed system models

  • Model: “a simplified representation of a system or phenomenon, as in the sciences or economics, with any hypotheses required to describe the system or explain the phenomenon, often mathematically.”

4

5 of 22

System Models

  • Architectural model defines the way in which the components of the system are placed and how they interact with one another and the way in which they are mapped onto the underlying network of computers.
  • Fundamental models:
    • Interaction model deals with communication details among the components and their timing and performance details.
    • Failure model gives specification of faults and defines reliable communication and correct processes.
    • Security model specifies possible threats and defines the concept of secure channels.
  • We will discuss the various models at a high level in this discussion and will elaborate on each of these as we discuss other systems.

5

6 of 22

Architectural Model

  • Concerned with placement of its parts and relationship among them.
  • Example: client-server model, peer-to-peer model
  • Abstracts the functions of the individual components.
  • Defines patterns for distribution of data and workload.
  • Defines patterns of communication among the components.
  • Example: Definition of server process, client process and peer process and protocols for communication among processes; definition client/server model and its variations.

6

7 of 22

Software and hardware service layers in distributed systems

7

8 of 22

Middleware

  • Layer of software whose purpose is to mask the heterogeneity and to provide a convenient programming model for application programmers.
  • Middleware supports such abstractions as remote method invocation, group communications, event notification, replication of shared data, real-time data streaming.
  • Examples: Java RMI, grid software (Globus, Open grid Services), Web services.

8

9 of 22

�Clients invoke individual servers

9

EX: browser,

web client

EX: Web server

EX: 1. File server,

2. Web crawler

10 of 22

A service provided by multiple servers

10

EX: akamai (data duplication), now amazon aws (zones)

11 of 22

Web proxy server and caches

11

Proxy servers + cache are used to provide increased

Availability and performance. They also play a major role

Firewall based security. http://www.interhack.net/pubs/fwfaq/

12 of 22

A distributed application based on peer processes

12

Ex: distributed

Whiteboard

Application;

Music sharing

13 of 22

Web applets

13

EX: Code streaming; mobile code

14 of 22

Interaction Models

  • Within address space (using path as addresses)
  • Socket based communication: connection-oriented, connection-less
    • Socket is an end-point of communication
    • Lets look at some code + details

14

15 of 22

Real-time ordering of events

16 of 22

Processes and channels

17 of 22

Omission and arbitrary failures

Class of failure

Affects

Description

Fail-stop

Process

Process halts and remains halted. Other processes may

detect this state.

Crash

Process

Process halts and remains halted. Other processes may

not be able to detect this state.

Omission

Channel

A message inserted in an outgoing message buffer never

arrives at the other end’s incoming message buffer.

Send-omission

Process

A process completes a

send,

but the message is not put

in its outgoing message buffer.

Receive-omission

Process

A message is put in a process’s incoming message

buffer, but that process does not receive it.

Arbitrary

(Byzantine)

Process or

channel

Process/channel exhibits arbitrary behaviour: it may

send/transmit arbitrary messages at arbitrary times,

commit omissions; a process may stop or take an

incorrect step.

18 of 22

Timing failures

Class of Failure

Affects

Description

Clock

Process

Process’s local clock exceeds the bounds on its

rate of drift from real time.

Performance

Process

Process exceeds the bounds on the interval

between two steps.

Performance

Channel

A message’s transmission takes longer than the

stated bound.

19 of 22

Objects and principals

20 of 22

�The enemy

Communication channel

Copy of

m

Process

p

Process

q

m

The enemy

m’

21 of 22

�Secure channels

Principal

A

Secure channel

Process

p

Process

q

Principal

B

22 of 22

Summary of System Models

  • When designing systems or analyzing systems, you want to examine at the high level the architectural model.
  • Subsequent steps will explore fundamental models such as interaction model, security model, failure model, reliability model etc.

22