Presentation is loading. Please wait.

Presentation is loading. Please wait.

© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.

Similar presentations


Presentation on theme: "© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai."— Presentation transcript:

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

2 © Oxford University Press 2011 Chapter - 4 Remote Communication

3 © 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

4 © Oxford University Press 2011 Introduction to Remote Communication

5 © Oxford University Press 2011 Introduction Middleware

6 © Oxford University Press 2011 Remote Procedural Call Basics

7 © Oxford University Press 2011 Local Procedure Call

8 © Oxford University Press 2011 Remote Procedure Call Basic RPC operation

9 © Oxford University Press 2011 RPC operation

10 © Oxford University Press 2011 Elements of RPC mechanism implementation Client Client stub RPC Runtime Server stub Server

11 © Oxford University Press 2011 RPC Execution

12 © Oxford University Press 2011 Stub generation Manual generation Auto generation using Interface Definition Language (IDL)

13 © Oxford University Press 2011 RPC Compilation

14 © Oxford University Press 2011 RPC Implementation

15 © Oxford University Press 2011 RPC implementation RPC messages: – Call / Request – Reply

16 © Oxford University Press 2011 RPC Call/ Request message

17 © Oxford University Press 2011 RPC reply conditions

18 © Oxford University Press 2011 RPC reply message

19 © 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

20 © Oxford University Press 2011 Call-by-value semantic

21 © Oxford University Press 2011 Byte ordering

22 © Oxford University Press 2011 Server management Server implementation – Stateless server – Stateful server Server management – Instance per call – Instance per session – Persistent servers

23 © Oxford University Press 2011 RPC communication RPC call semantics

24 © 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

25 © Oxford University Press 2011 RPC communication protocols Request protocol Request/Reply protocol Request/Reply/ Acknowledge- Reply protocol

26 © Oxford University Press 2011 Request protocol

27 © Oxford University Press 2011 Asynchronous RPC

28 © Oxford University Press 2011 Request/Reply protocol

29 © Oxford University Press 2011 Request/Reply/ Acknowledge- Reply protocol

30 © Oxford University Press 2011 Client server binding process

31 © 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

32 © Oxford University Press 2011 Other RPC Issues

33 © Oxford University Press 2011 Other issues in RPC implementation Exception handing and security Failure handling Optimizing RPC execution Various types of complicated RPCs

34 © Oxford University Press 2011 RPC in heterogeneous environment Data presentation Transport protocol Control protocol

35 © 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

36 © Oxford University Press 2011 RPC Optimization

37 © 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

38 © Oxford University Press 2011 Early Reply technique

39 © Oxford University Press 2011 Call buffer approach

40 © 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

41 © Oxford University Press 2011 Call back RPC Client handle is provided to the server Client process should wait for callback RPC Handle callback deadlocks

42 © Oxford University Press 2011 Case Study: Sun RPC

43 © Oxford University Press 2011 Case Study- Sun RPC Uses rpcgen compiler which generates – Header file – XDR filter file – Client stub file – Server stub file

44 © Oxford University Press 2011 Remote invocation Basics

45 © Oxford University Press 2011 Remote Object Invocation Distributed object concept – Remote objects reference – Remote interface

46 © Oxford University Press 2011 RMI

47 © Oxford University Press 2011 RMI vs LMI

48 © Oxford University Press 2011 RMI Implementation

49 © 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

50 © Oxford University Press 2011 Invocation semantics

51 © Oxford University Press 2011 Level of Transparency

52 © Oxford University Press 2011 Components of RMI

53 © Oxford University Press 2011 RMI execution components Communication module Remote reference module RMI software Server program Client program Binder

54 © Oxford University Press 2011 RMI execution

55 © Oxford University Press 2011 RMI software Proxy Dispatcher Skeleton

56 © Oxford University Press 2011 Types of objects

57 © Oxford University Press 2011 Remote invocation readiness

58 © Oxford University Press 2011 RMI binding Implicit binding Explicit binding

59 © Oxford University Press 2011 Parameter passing in RMI Pass by value Pass by reference

60 © Oxford University Press 2011 Case study: Java RMI

61 © Oxford University Press 2011 Java RMI layer

62 © 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


Download ppt "© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai."

Similar presentations


Ads by Google