62
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai Seema Shah, Principal, Vidyalankar Institute of Technology, Mumbai University

DISTRIBUTED COMPUTING

  • Upload
    maili

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

DISTRIBUTED COMPUTING. Sunita Mahajan , Principal, Institute of Computer Science, MET League of Colleges, Mumbai Seema Shah , Principal, Vidyalankar Institute of Technology, Mumbai University. Chapter - 4 Remote Communication. Topics. Introduction to Remote Communication - PowerPoint PPT Presentation

Citation preview

Page 1: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

DISTRIBUTED COMPUTING Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai

Seema Shah, Principal, Vidyalankar Institute of Technology, Mumbai University

Page 2: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Chapter - 4Remote Communication

Page 3: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Topics

• Introduction to Remote Communication • Remote Procedural Call Basics • RPC Implementation• RPC Communication • Other RPC Issues • Case Study: Sun RPC• Remote invocation Basics • RMI Implementation

Page 4: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Introduction to Remote Communication

Page 5: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Introduction

• Middleware

Page 6: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Remote Procedural Call Basics

Page 7: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Local Procedure Call

Page 8: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Remote Procedure Call

• Basic RPC operation

Page 9: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC operation

Page 10: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Elements of RPC mechanism implementation

• Client • Client stub • RPC Runtime • Server stub • Server

Page 11: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC Execution

Page 12: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Stub generation

• Manual generation • Auto generation using Interface Definition

Language (IDL)

Page 13: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC Compilation

Page 14: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC Implementation

Page 15: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC implementation

• RPC messages:– Call / Request– Reply

Page 16: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC Call/ Request message

Page 17: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC reply conditions

Page 18: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC reply message

Page 19: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Parameter Passing Semantics

• Call-by-value semantic – Marshalling

• Call-by –reference semantic • Call-by-copy/restore semantic Call-by-value copies all parameters into a message

before transmission . Call-by-reference passes pointers to the parameters that are passed from the client to the server. Call-by-copy/restore uses temporary storage accessible to both programs

Page 20: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Call-by-value semantic

Page 21: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Byte ordering

Page 22: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Server management

• Server implementation– Stateless server – Stateful server

• Server management – Instance per call– Instance per session – Persistent servers

Page 23: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC communication

• RPC call semantics

Page 24: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Orphan calls

• Calls whose caller has expired due to a node crash

• Handle orphan calls by using: – Extermination – Reincarnation – Gentle reincarnation – Expiration

Page 25: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC communication protocols

• Request protocol• Request/Reply protocol• Request/Reply/ Acknowledge- Reply protocol

Page 26: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Request protocol

Page 27: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Asynchronous RPC

Page 28: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Request/Reply protocol

Page 29: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Request/Reply/ Acknowledge- Reply protocol

Page 30: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Client server binding process

Page 31: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Client Server binding

• Issues – Server naming – Server locating

• Binding agent primitives – Register – Deregister– Lookup

• Types of binding – Fixed binding – Dynamic binding

• At compile time • At link time• At run time

Page 32: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Other RPC Issues

Page 33: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Other issues in RPC implementation

• Exception handing and security• Failure handling• Optimizing RPC execution • Various types of complicated RPCs

Page 34: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC in heterogeneous environment

• Data presentation • Transport protocol • Control protocol

Page 35: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Failure handling mechanism in RPC

• Client cannot find the server• Request from client to the server is lost• Reply from server to the client is lost• Server crashes after getting the request• Client crashes after sending the request

Page 36: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RPC Optimization

Page 37: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Concurrent access to multiple servers

• Use of threads• Early reply technique • Call buffering approach• Serving multiple requests simultaneously• Reducing call workload of server• Using reply cache for idempotent RPC• Selection of timeout values

Page 38: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Early Reply technique

Page 39: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Call buffer approach

Page 40: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Complicated and special RPCs

• Complicated RPCs– RPCs with long duration calls or with gaps

between calls– RPCs with long messages

• Special RPCs: – Call back RPC– Broadcast RPC – Batch mode RPC

Page 41: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Call back RPC

• Client handle is provided to the server• Client process should wait for callback RPC• Handle callback deadlocks

Page 42: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Case Study: Sun RPC

Page 43: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Case Study- Sun RPC

• Uses rpcgen compiler which generates – Header file – XDR filter file – Client stub file – Server stub file

Page 44: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Remote invocation Basics

Page 45: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Remote Object Invocation

• Distributed object concept– Remote objects reference– Remote interface

Page 46: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RMI

Page 47: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RMI vs LMI

Page 48: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RMI Implementation

Page 49: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RMI implementation Design issues in RMI

• RMI invocation semantics

• Level of transparency – Marshalling– Message passing– Task of locating and

contacting the remote object for the client

• RMI invocation semantics – Maybe semantics– At-least-once semantics– At-most-once semantics

Page 50: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Invocation semantics

Page 51: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Level of Transparency

Page 52: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Components of RMI

Page 53: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RMI execution components

• Communication module• Remote reference module• RMI software• Server program • Client program• Binder

Page 54: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RMI execution

Page 55: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RMI software

• Proxy • Dispatcher • Skeleton

Page 56: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Types of objects

Page 57: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Remote invocation readiness

Page 58: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

RMI binding

• Implicit binding • Explicit binding

Page 59: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Parameter passing in RMI

• Pass by value • Pass by reference

Page 60: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Case study: Java RMI

Page 61: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Java RMI layer

Page 62: DISTRIBUTED  COMPUTING

© Oxford University Press 2011

Summary

• Introduction to Remote Communication • Remote Procedural Call Basics • RPC Implementation• RPC Communication • Other RPC Issues • Case Study: Sun RPC• Remote invocation Basics • RMI Implementation