SlideShare uma empresa Scribd logo
1 de 76
CS 704DAdvanced Operating System(RPC) Debasis Das
Remote ProcedureCalls(RPC) 2
Remote Procedure Calls ,[object Object]
RPC became popular IPC mechanisms for distributed applications
Simple call syntax
Familiar semantics, similar to local procedure calls/li>,[object Object]
Ease of use, clean & Simple
Generality & efficiency
Same IPC mechanism can be used for procedure on different machines as well as on the same machine11/21/2009 IT703D: Dirstibuted Computing Debasis Das 3
The RPC Model ,[object Object]
Make a procedure call, place parameters in a known location
Transfer control to the procedure
Procedure executes with copies of the parameters/arguments
Control is returned to calling procedure with result, if any11/21/2009 IT703D: Distributed Computing Debasis Das 4
RPC Model(Graphically) Caller Client Process Request message & parameters Send reply with result, if any Server Process 11/21/2009 IT703D: Distributed Computing Debasis Das 5
RPC Characteristics ,[object Object]
If concurrency required, calling processes can leave messages asynchronously, server process keeps serving requests
Server process can have threads. Starts a thread on request, server is free to field further calls if they come along11/21/2009 IT703D: Distributed Computing Debasis Das 6
Transparency of RPC ,[object Object]
Syntactic transparency
Semantic transparency
Syntactic transparency is easy to achieve but not semantic transparency11/21/2009 IT703D: Distributed Computing Debasis Das 7
Semantic Transparency ,[object Object]
No shared memory: passing addresses as arguments is meaningless, call by reference pointers are useless, structures referenced by pointers are difficult.
More vulnerable to failures: two different processes, two different machines, intervening network. Processor and communication failures need to be taken care of.
RPCs can take much more time(x100 to x1000) due to communication congestions. Long delays need to be handled.11/21/2009 IT703D: Distributed Computing Debasis Das 8
Implementing RPC Mechanism Server Client Return Call Call Return Execute Stubs Unpack Pack Pack Unpack RPC Runtimes Receive Send Receive Send Wait 11/21/2009 IT703D: Distributed Computing Debasis Das 9
Stubs ,[object Object]
On call request, packs specs of remote procedure and arguments
Asks RPC Runtime to transmit the message to the server
Server stub
After receipt, the RPC Runtime passes the message to it. It then unpacks the message and makes a usual call to the procedure.
On receipt of result, packs the result and asks the runtime to send it back to the client.11/21/2009 IT703D: Distributed Computing Debasis Das 10
Stub & Transparency ,[object Object]
No need to dabble in send & receive primitives11/21/2009 IT703D: Distributed Computing Debasis Das 11
Stub Generation ,[object Object]
Write code to implement translation functions provided by the RPC implementer
Automatically
By using IDL. Procedures supported by the interface, types of arguments and results
IDL compiler will ensure compilation, type checking etc.
Optimizes data to be sent over the network. Interface definition usually will have information as to which arguments are input/output/both.11/21/2009 IT703D: Distributed Computing Debasis Das
Automatic Stub Generation, IDL etc. ,[object Object]
Interface import: calls procedures from the interface
Define an interface using the IDL, write client program that imports the interface and server program that exports the interface
IDL compilers generate client stub procedure, server stub procedure, header files. Compile & link the stubs.
Interface code thus generated could be combined with client/server procedures done in different languages11/21/2009 IT703D: Distributed Computing Debasis Das
RPC Messages ,[object Object]
Sent by client to server with request to execute a remote procedure
Reply messages
Sent by server to the requesting client to indicate completion of a request and related results if generated
The messages follow RPC protocols and has nothing to do with network transport protocol11/21/2009 IT703D: Distributed Computing Debasis Das
RPC Call Message ,[object Object]
Id information for the remote procedure to be executed
Required arguments to execute the procedure
Additional fields
Message id field, essentially a sequence number
Message type field identifying if a call/reply message
Client id field, identifying the requesting client and for authentication11/21/2009 IT703D: Distributed Computing Debasis Das
RPC Call Message Structure Remote Procedure id Client id Message id Message type Program number Version number Procedure number Arguments 11/21/2009 IT703D: Distributed Computing Debasis Das 16
RPC Reply Message ,[object Object]
Client id not authorized, failure message
Procedure id not available on server, failure message
Parameters not successfully decoded, failure message
Exception(e.g. divide by zero) happens, failure message
Procedure executes successfully, return result(s)11/21/2009 IT703D: Distributed Computing Debasis Das
RPC Reply Message Structure Message id Message type Reply Status success Result(s) Message id Message type Reply Status failure Failure reason 11/21/2009 IT703D: Distributed Computing Debasis Das 18
Marshaling Arguments & Results ,[object Object]
This is the marshalling process and involves
Take the arguments/result
Encoding of data on sender’s machine
Decoding of message data on receiver’s machine
Representation method(tagged or untagged) should be known, type safety can be ensured
Must reflect structure of all types; primitive types, structured types and user defined types11/21/2009 IT703D: Distributed Computing Debasis Das 19
Marshalling Procedure Types Provided as part of the RPC support. Procedures for scalar types and compound ones built from Scalar types are included Defined by users of RPC systems. Includes marshalling procedures for user defined data types 11/21/2009 IT703D: Distributed Computing Debasis Das
Server Management ,[object Object]
Stateful servers

Mais conteúdo relacionado

Mais procurados

Advanced Operating System- Introduction
Advanced Operating System- IntroductionAdvanced Operating System- Introduction
Advanced Operating System- IntroductionDebasis Das
 
Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...
Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...
Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...Samarth Godara
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed SystemsNandakumar P
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote InvocationMedicaps University
 
Accessing data with android cursors
Accessing data with android cursorsAccessing data with android cursors
Accessing data with android cursorsinfo_zybotech
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitivesStudent
 
Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and modelsMayank Jain
 
memory Interleaving and low order interleaving and high interleaving
memory Interleaving and low order interleaving and high interleavingmemory Interleaving and low order interleaving and high interleaving
memory Interleaving and low order interleaving and high interleavingJawwad Rafiq
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems Maurvi04
 
Transport Layer Services : Multiplexing And Demultiplexing
Transport Layer Services : Multiplexing And DemultiplexingTransport Layer Services : Multiplexing And Demultiplexing
Transport Layer Services : Multiplexing And DemultiplexingKeyur Vadodariya
 
40 demand paging
40 demand paging40 demand paging
40 demand pagingmyrajendra
 
Chapter 5 slides
Chapter 5 slidesChapter 5 slides
Chapter 5 slideslara_ays
 
Data-Oriented Design과 유니티 DOTS
Data-Oriented Design과 유니티 DOTSData-Oriented Design과 유니티 DOTS
Data-Oriented Design과 유니티 DOTSSukwoo Lee
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systemsguest61205606
 

Mais procurados (20)

Advanced Operating System- Introduction
Advanced Operating System- IntroductionAdvanced Operating System- Introduction
Advanced Operating System- Introduction
 
6.distributed shared memory
6.distributed shared memory6.distributed shared memory
6.distributed shared memory
 
System call
System callSystem call
System call
 
Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...
Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...
Paper Explaination : NoHype : Virtualized Cloud Infrastructure without the Vi...
 
4. system models
4. system models4. system models
4. system models
 
Naming in Distributed Systems
Naming in Distributed SystemsNaming in Distributed Systems
Naming in Distributed Systems
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote Invocation
 
Ch06
Ch06Ch06
Ch06
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 
Accessing data with android cursors
Accessing data with android cursorsAccessing data with android cursors
Accessing data with android cursors
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and models
 
memory Interleaving and low order interleaving and high interleaving
memory Interleaving and low order interleaving and high interleavingmemory Interleaving and low order interleaving and high interleaving
memory Interleaving and low order interleaving and high interleaving
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems
 
Transport Layer Services : Multiplexing And Demultiplexing
Transport Layer Services : Multiplexing And DemultiplexingTransport Layer Services : Multiplexing And Demultiplexing
Transport Layer Services : Multiplexing And Demultiplexing
 
40 demand paging
40 demand paging40 demand paging
40 demand paging
 
Chapter 5 slides
Chapter 5 slidesChapter 5 slides
Chapter 5 slides
 
Data-Oriented Design과 유니티 DOTS
Data-Oriented Design과 유니티 DOTSData-Oriented Design과 유니티 DOTS
Data-Oriented Design과 유니티 DOTS
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systems
 

Semelhante a Cs 704 d rpc

Cs 704 d dce ipc-msgpassing
Cs 704 d dce ipc-msgpassingCs 704 d dce ipc-msgpassing
Cs 704 d dce ipc-msgpassingDebasis Das
 
Survey on Client Tools, Server and Communication types
Survey on Client Tools, Server and Communication typesSurvey on Client Tools, Server and Communication types
Survey on Client Tools, Server and Communication typesManjuShanmugam1593
 
System and network administration network services
System and network administration network servicesSystem and network administration network services
System and network administration network servicesUc Man
 
Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Avishek Sarkar
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.pptsirajmohammed35
 
Distributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerDistributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerLDAPCon
 
Byte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptxByte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptxRockyBhai46825
 
Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systemsSri Prasanna
 
lec3_10.ppt
lec3_10.pptlec3_10.ppt
lec3_10.pptImXaib
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Peter R. Egli
 
Lan chat system
Lan chat systemLan chat system
Lan chat systemWipro
 
Ch 8 Client Server
Ch 8  Client  ServerCh 8  Client  Server
Ch 8 Client Serverguest8fdbdd
 

Semelhante a Cs 704 d rpc (20)

Lecture9
Lecture9Lecture9
Lecture9
 
Cs 704 d dce ipc-msgpassing
Cs 704 d dce ipc-msgpassingCs 704 d dce ipc-msgpassing
Cs 704 d dce ipc-msgpassing
 
Survey on Client Tools, Server and Communication types
Survey on Client Tools, Server and Communication typesSurvey on Client Tools, Server and Communication types
Survey on Client Tools, Server and Communication types
 
Rpc
RpcRpc
Rpc
 
System and network administration network services
System and network administration network servicesSystem and network administration network services
System and network administration network services
 
5. Distributed Operating Systems
5. Distributed Operating Systems5. Distributed Operating Systems
5. Distributed Operating Systems
 
Ubuntu For Intranet Services
Ubuntu For Intranet ServicesUbuntu For Intranet Services
Ubuntu For Intranet Services
 
Network Testing ques
Network Testing quesNetwork Testing ques
Network Testing ques
 
Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.ppt
 
Chapter 3-Processes2.pptx
Chapter 3-Processes2.pptxChapter 3-Processes2.pptx
Chapter 3-Processes2.pptx
 
Distributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory ServerDistributed Virtual Transaction Directory Server
Distributed Virtual Transaction Directory Server
 
10
1010
10
 
Byte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptxByte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptx
 
Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systems
 
lec3_10.ppt
lec3_10.pptlec3_10.ppt
lec3_10.ppt
 
Rpc
RpcRpc
Rpc
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)
 
Lan chat system
Lan chat systemLan chat system
Lan chat system
 
Ch 8 Client Server
Ch 8  Client  ServerCh 8  Client  Server
Ch 8 Client Server
 

Mais de Debasis Das

Developing robust & enterprise io t applications
Developing robust & enterprise io t applicationsDeveloping robust & enterprise io t applications
Developing robust & enterprise io t applicationsDebasis Das
 
IoT: An Introduction and Getting Started Session
IoT: An Introduction and Getting Started SessionIoT: An Introduction and Getting Started Session
IoT: An Introduction and Getting Started SessionDebasis Das
 
Development eco-system in free-source for io t
Development eco-system in free-source for io tDevelopment eco-system in free-source for io t
Development eco-system in free-source for io tDebasis Das
 
Microprocessors & microcontrollers- The design Context
Microprocessors & microcontrollers- The design ContextMicroprocessors & microcontrollers- The design Context
Microprocessors & microcontrollers- The design ContextDebasis Das
 
Management control systems jsb 606 part4
Management control systems jsb 606 part4Management control systems jsb 606 part4
Management control systems jsb 606 part4Debasis Das
 
Management control systems jsb 606 part3
Management control systems jsb 606 part3Management control systems jsb 606 part3
Management control systems jsb 606 part3Debasis Das
 
Management control systems jsb 606 part2
Management control systems jsb 606 part2Management control systems jsb 606 part2
Management control systems jsb 606 part2Debasis Das
 
Management control systems jsb 606 part1
Management control systems jsb 606 part1Management control systems jsb 606 part1
Management control systems jsb 606 part1Debasis Das
 
Computers for management jsb 1072003 ver
Computers for management jsb 1072003 verComputers for management jsb 1072003 ver
Computers for management jsb 1072003 verDebasis Das
 
Trends in education management
Trends in education managementTrends in education management
Trends in education managementDebasis Das
 
Ei502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 MicrocontrollerEi502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 MicrocontrollerDebasis Das
 
Ei502microprocessorsmicrtocontrollerspart5 sixteen bit8086 1
Ei502microprocessorsmicrtocontrollerspart5 sixteen bit8086 1Ei502microprocessorsmicrtocontrollerspart5 sixteen bit8086 1
Ei502microprocessorsmicrtocontrollerspart5 sixteen bit8086 1Debasis Das
 
Ei502 microprocessors & micrtocontrollers part3hardwareinterfacing
Ei502 microprocessors & micrtocontrollers part3hardwareinterfacingEi502 microprocessors & micrtocontrollers part3hardwareinterfacing
Ei502 microprocessors & micrtocontrollers part3hardwareinterfacingDebasis Das
 
Ei502 microprocessors & micrtocontrollers part 2(instructionset)
Ei502 microprocessors & micrtocontrollers part 2(instructionset)Ei502 microprocessors & micrtocontrollers part 2(instructionset)
Ei502 microprocessors & micrtocontrollers part 2(instructionset)Debasis Das
 
Ei502 microprocessors & micrtocontrollers part 1
Ei502 microprocessors & micrtocontrollers part 1Ei502 microprocessors & micrtocontrollers part 1
Ei502 microprocessors & micrtocontrollers part 1Debasis Das
 
It802 d mobilecommunicationspart4
It802 d mobilecommunicationspart4It802 d mobilecommunicationspart4
It802 d mobilecommunicationspart4Debasis Das
 
It802 d mobilecommunicationspart3
It802 d mobilecommunicationspart3It802 d mobilecommunicationspart3
It802 d mobilecommunicationspart3Debasis Das
 
It 802 d_Mobile Communications_part 2
It 802 d_Mobile Communications_part 2It 802 d_Mobile Communications_part 2
It 802 d_Mobile Communications_part 2Debasis Das
 
It 802 d_Mobile Communications_part 2
It 802 d_Mobile Communications_part 2It 802 d_Mobile Communications_part 2
It 802 d_Mobile Communications_part 2Debasis Das
 
It 802 d_mobile_communicationsSomeHistory
It 802 d_mobile_communicationsSomeHistoryIt 802 d_mobile_communicationsSomeHistory
It 802 d_mobile_communicationsSomeHistoryDebasis Das
 

Mais de Debasis Das (20)

Developing robust & enterprise io t applications
Developing robust & enterprise io t applicationsDeveloping robust & enterprise io t applications
Developing robust & enterprise io t applications
 
IoT: An Introduction and Getting Started Session
IoT: An Introduction and Getting Started SessionIoT: An Introduction and Getting Started Session
IoT: An Introduction and Getting Started Session
 
Development eco-system in free-source for io t
Development eco-system in free-source for io tDevelopment eco-system in free-source for io t
Development eco-system in free-source for io t
 
Microprocessors & microcontrollers- The design Context
Microprocessors & microcontrollers- The design ContextMicroprocessors & microcontrollers- The design Context
Microprocessors & microcontrollers- The design Context
 
Management control systems jsb 606 part4
Management control systems jsb 606 part4Management control systems jsb 606 part4
Management control systems jsb 606 part4
 
Management control systems jsb 606 part3
Management control systems jsb 606 part3Management control systems jsb 606 part3
Management control systems jsb 606 part3
 
Management control systems jsb 606 part2
Management control systems jsb 606 part2Management control systems jsb 606 part2
Management control systems jsb 606 part2
 
Management control systems jsb 606 part1
Management control systems jsb 606 part1Management control systems jsb 606 part1
Management control systems jsb 606 part1
 
Computers for management jsb 1072003 ver
Computers for management jsb 1072003 verComputers for management jsb 1072003 ver
Computers for management jsb 1072003 ver
 
Trends in education management
Trends in education managementTrends in education management
Trends in education management
 
Ei502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 MicrocontrollerEi502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
Ei502microprocessorsmicrtocontrollerspart4 8051 Microcontroller
 
Ei502microprocessorsmicrtocontrollerspart5 sixteen bit8086 1
Ei502microprocessorsmicrtocontrollerspart5 sixteen bit8086 1Ei502microprocessorsmicrtocontrollerspart5 sixteen bit8086 1
Ei502microprocessorsmicrtocontrollerspart5 sixteen bit8086 1
 
Ei502 microprocessors & micrtocontrollers part3hardwareinterfacing
Ei502 microprocessors & micrtocontrollers part3hardwareinterfacingEi502 microprocessors & micrtocontrollers part3hardwareinterfacing
Ei502 microprocessors & micrtocontrollers part3hardwareinterfacing
 
Ei502 microprocessors & micrtocontrollers part 2(instructionset)
Ei502 microprocessors & micrtocontrollers part 2(instructionset)Ei502 microprocessors & micrtocontrollers part 2(instructionset)
Ei502 microprocessors & micrtocontrollers part 2(instructionset)
 
Ei502 microprocessors & micrtocontrollers part 1
Ei502 microprocessors & micrtocontrollers part 1Ei502 microprocessors & micrtocontrollers part 1
Ei502 microprocessors & micrtocontrollers part 1
 
It802 d mobilecommunicationspart4
It802 d mobilecommunicationspart4It802 d mobilecommunicationspart4
It802 d mobilecommunicationspart4
 
It802 d mobilecommunicationspart3
It802 d mobilecommunicationspart3It802 d mobilecommunicationspart3
It802 d mobilecommunicationspart3
 
It 802 d_Mobile Communications_part 2
It 802 d_Mobile Communications_part 2It 802 d_Mobile Communications_part 2
It 802 d_Mobile Communications_part 2
 
It 802 d_Mobile Communications_part 2
It 802 d_Mobile Communications_part 2It 802 d_Mobile Communications_part 2
It 802 d_Mobile Communications_part 2
 
It 802 d_mobile_communicationsSomeHistory
It 802 d_mobile_communicationsSomeHistoryIt 802 d_mobile_communicationsSomeHistory
It 802 d_mobile_communicationsSomeHistory
 

Cs 704 d rpc