SlideShare une entreprise Scribd logo
1  sur  19
Remote
     Procedure
                          Call
         Made By:
      Abhishek Pachisia
         B.Tech-IT
         090102801
Foreword
Flaw in Client Server Model.
  Input/ Output

Birrell & Nelson – Simple Idea with subtle implications.
  Call procedures located on other machines

Problems
  Different address – Complications

  Non- identical Machines

  Crashing of machines

Widely Used.
Index
 Basic RPC Operation


 Parameter Passing


 Dynamic Binding
Basic RPC Operation
Single Machine Procedure Call
        Count = read(fd, buf, nbytes);




          cc
Stubs
Client stub
  Packs parameter into message.

  Calls : Send & Receive.



Server Stub
  Calls : Receive & Send.

  Unpacks parameter from the message.



Details of message passing are hidden – two libraries.
Steps
1. The client procedure calls the client stub in the normal way.
2. The client stub builds a message and traps to the kernel.
3. The kernel sends the message to the remote kernel.
4. The remote kernel gives the message to the server stub.
5. The server stub unpacks the parameters and calls the server.
6. The server does the work and returns the result to the stub.
7. The server stub packs it in a message and traps to the kernel.
8. The remote kernel sends the message to the clients kernel.
9. The client’s kernel gives the message to the client stub.
10. The stub unpacks the result and returns to the client.
Client-side stub             Server-side stub
Looks like local server     Looks like local client
 function                     function to server
Same interface as local     Listens on a socket for
 function                     message from client stub
Bundles arguments into      Un-bundles arguments to
 message, sends to server-    local variables
 side stub                   Makes a local function
Waits for reply, un-         call to server
 bundles results             Bundles result into reply
Returns to kernel            message to client stub
Parameter Passing
Parameter Marshaling.
Ex: Remote procedure “sum( i, j)”.




                              0
Identical machines.
Problems - Parameter Passing
Different Machine Types
   Ex: IBM mainframes (EBCDIC) & IBM PCs(ASCII).



Different representation of Integers (1s compliment & 2s
 Compliment), Floating point numbers.


Numbering of bytes
   Right to Left (Ex: Intel 486) – Little Endian.

   Left to Right (Ex: Sun SPARC) – Big Endian.
Example - 1
Example - 2
Representation of Information
Canonical Form
  Convert internal representation while marshaling.

Ex:
  2’s compliment for integers.

  0 for ASCII.

  1 for Boolean.

  IEEE format for floating point no.
Pointer Passing
One way is to forbid the pointers & reference parameters
 in general. – Highly undesirable
One strategy is copying the whole array/structure
 (simple) into message.
  Call by reference is replaced by copy/restore.

  Optimization – Buffer knows if stub is an input / output
    parameter. (Twice as efficient).
Pointer is followed (dereferenced) by putting it in the
 register. – Highly Inefficient.
Dynamic Binding
Hardwiring network add. of server into client – Extremely
  Inflexible


To avoid problems like
    Replication of server

    Relocation

    Migration

    Interface Change
Server’s Specification :For Stateless Server
   Server

   Version number

   List of procedures provided by server

   in: file sent from client to server.

   out: sent from server to client

   in out: in + out (Copy/Restore)

   bytes: no. of bytes to be transferred.

   position: where in file to begin

   buf: data requested by client is
    placed here by file server.
Terms
Exports Interface
Imports Interface
Binder
Registering
  Unique Id – Typically 32 bit long

Handle
  System Dependent

  IP Add. , Ethernet Add. , etc.
Disadvantages
Overhead Exporting & Importing
Costs Time
Many short lived client process may have to start over again.
Binder may act as bottleneck in distributed system.
Registering / Deregistering of interfaces creates more
  overhead.
Thank
 You

Contenu connexe

Tendances

Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure Call
Abdelrahman Al-Ogail
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
Ashish Kumar
 
Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and models
Mayank Jain
 

Tendances (20)

Rpc
RpcRpc
Rpc
 
Remote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemRemote Procedure Call in Distributed System
Remote Procedure Call in Distributed System
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure Call
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Rpc mechanism
Rpc mechanismRpc mechanism
Rpc mechanism
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
Remote Procedure Call (RPC) Server creation semantics & call semantics
Remote Procedure Call (RPC) Server creation semantics & call semanticsRemote Procedure Call (RPC) Server creation semantics & call semantics
Remote Procedure Call (RPC) Server creation semantics & call semantics
 
RPC communication,thread and processes
RPC communication,thread and processesRPC communication,thread and processes
RPC communication,thread and processes
 
message passing
 message passing message passing
message passing
 
Lecture9
Lecture9Lecture9
Lecture9
 
Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020Dos(rpc)avishek130650107020
Dos(rpc)avishek130650107020
 
Remote method invocation (RMI)
Remote method invocation (RMI)Remote method invocation (RMI)
Remote method invocation (RMI)
 
Rpc
RpcRpc
Rpc
 
Ds objects and models
Ds objects and modelsDs objects and models
Ds objects and models
 
Interprocess Communication
Interprocess CommunicationInterprocess Communication
Interprocess Communication
 
Remote procedure call
Remote procedure callRemote procedure call
Remote procedure call
 
5. Distributed Operating Systems
5. Distributed Operating Systems5. Distributed Operating Systems
5. Distributed Operating Systems
 
Technical Architectures
Technical ArchitecturesTechnical Architectures
Technical Architectures
 
TCP/IP 3-way Handshake
TCP/IP 3-way Handshake TCP/IP 3-way Handshake
TCP/IP 3-way Handshake
 
Ftp
FtpFtp
Ftp
 

En vedette

Top Management of 5 recognized comapanies
Top Management of 5 recognized comapaniesTop Management of 5 recognized comapanies
Top Management of 5 recognized comapanies
Abhishek Pachisia
 
Matrix Representation Of Graph
Matrix Representation Of GraphMatrix Representation Of Graph
Matrix Representation Of Graph
Abhishek Pachisia
 
Expert Systems
Expert SystemsExpert Systems
Expert Systems
osmancikk
 
Program Evaluation and Review Technique (PERT)
Program Evaluation and Review Technique (PERT)Program Evaluation and Review Technique (PERT)
Program Evaluation and Review Technique (PERT)
Abhishek Pachisia
 

En vedette (20)

Tree
TreeTree
Tree
 
Perl
PerlPerl
Perl
 
Top Management of 5 recognized comapanies
Top Management of 5 recognized comapaniesTop Management of 5 recognized comapanies
Top Management of 5 recognized comapanies
 
Boeing- The Frontiers
Boeing- The FrontiersBoeing- The Frontiers
Boeing- The Frontiers
 
Cloud Service Models
Cloud Service ModelsCloud Service Models
Cloud Service Models
 
Fourier transform
Fourier transformFourier transform
Fourier transform
 
File System Implementation
File System ImplementationFile System Implementation
File System Implementation
 
Rms titanic
Rms titanicRms titanic
Rms titanic
 
Telecom Industry
Telecom IndustryTelecom Industry
Telecom Industry
 
V.G. siddhartha
V.G. siddharthaV.G. siddhartha
V.G. siddhartha
 
Strategic alignment model (SAM)
Strategic alignment model (SAM)Strategic alignment model (SAM)
Strategic alignment model (SAM)
 
Vb.net (loop structure)
Vb.net (loop structure)Vb.net (loop structure)
Vb.net (loop structure)
 
Matrix Representation Of Graph
Matrix Representation Of GraphMatrix Representation Of Graph
Matrix Representation Of Graph
 
Hydrogen energy
Hydrogen energyHydrogen energy
Hydrogen energy
 
Inference engine
Inference engineInference engine
Inference engine
 
Exception handling in Java
Exception handling in JavaException handling in Java
Exception handling in Java
 
Work breakdown structure
Work breakdown structureWork breakdown structure
Work breakdown structure
 
IEEE 802.11
IEEE 802.11IEEE 802.11
IEEE 802.11
 
Expert Systems
Expert SystemsExpert Systems
Expert Systems
 
Program Evaluation and Review Technique (PERT)
Program Evaluation and Review Technique (PERT)Program Evaluation and Review Technique (PERT)
Program Evaluation and Review Technique (PERT)
 

Similaire à Rpc

Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systems
Sri Prasanna
 
In C programming please CSCI 4534 Operating Systems Program.pdf
In C programming please CSCI 4534 Operating Systems Program.pdfIn C programming please CSCI 4534 Operating Systems Program.pdf
In C programming please CSCI 4534 Operating Systems Program.pdf
ankitsrivastava681882
 
En3702 server specifications
En3702 server specificationsEn3702 server specifications
En3702 server specifications
Heo Gòm
 
Soal lks networking support 2013 SMK N 1 Binangun
Soal lks networking support 2013 SMK N 1 BinangunSoal lks networking support 2013 SMK N 1 Binangun
Soal lks networking support 2013 SMK N 1 Binangun
Rudi AdiTia
 
Kafka Multi-Tenancy—160 Billion Daily Messages on One Shared Cluster at LINE
Kafka Multi-Tenancy—160 Billion Daily Messages on One Shared Cluster at LINE Kafka Multi-Tenancy—160 Billion Daily Messages on One Shared Cluster at LINE
Kafka Multi-Tenancy—160 Billion Daily Messages on One Shared Cluster at LINE
confluent
 
Kafka Multi-Tenancy - 160 Billion Daily Messages on One Shared Cluster at LINE
Kafka Multi-Tenancy - 160 Billion Daily Messages on One Shared Cluster at LINEKafka Multi-Tenancy - 160 Billion Daily Messages on One Shared Cluster at LINE
Kafka Multi-Tenancy - 160 Billion Daily Messages on One Shared Cluster at LINE
kawamuray
 

Similaire à Rpc (20)

Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
 
2.communcation in distributed system
2.communcation in distributed system2.communcation in distributed system
2.communcation in distributed system
 
Network and distributed systems
Network and distributed systemsNetwork and distributed systems
Network and distributed systems
 
MSB-Remote procedure call
MSB-Remote procedure callMSB-Remote procedure call
MSB-Remote procedure call
 
Byte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptxByte Ordering - Unit 2.pptx
Byte Ordering - Unit 2.pptx
 
Middleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMIMiddleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMI
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
In C programming please CSCI 4534 Operating Systems Program.pdf
In C programming please CSCI 4534 Operating Systems Program.pdfIn C programming please CSCI 4534 Operating Systems Program.pdf
In C programming please CSCI 4534 Operating Systems Program.pdf
 
Chapter 4 communication2
Chapter 4 communication2Chapter 4 communication2
Chapter 4 communication2
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.ppt
 
Intranet Messaging Project Report -phpapp02
Intranet Messaging Project Report -phpapp02Intranet Messaging Project Report -phpapp02
Intranet Messaging Project Report -phpapp02
 
En3702 server specifications
En3702 server specificationsEn3702 server specifications
En3702 server specifications
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
03 sockets
03 sockets03 sockets
03 sockets
 
Soal lks networking support 2013 SMK N 1 Binangun
Soal lks networking support 2013 SMK N 1 BinangunSoal lks networking support 2013 SMK N 1 Binangun
Soal lks networking support 2013 SMK N 1 Binangun
 
Kafka Multi-Tenancy—160 Billion Daily Messages on One Shared Cluster at LINE
Kafka Multi-Tenancy—160 Billion Daily Messages on One Shared Cluster at LINE Kafka Multi-Tenancy—160 Billion Daily Messages on One Shared Cluster at LINE
Kafka Multi-Tenancy—160 Billion Daily Messages on One Shared Cluster at LINE
 
Kafka Multi-Tenancy - 160 Billion Daily Messages on One Shared Cluster at LINE
Kafka Multi-Tenancy - 160 Billion Daily Messages on One Shared Cluster at LINEKafka Multi-Tenancy - 160 Billion Daily Messages on One Shared Cluster at LINE
Kafka Multi-Tenancy - 160 Billion Daily Messages on One Shared Cluster at LINE
 

Dernier

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Dernier (20)

How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 

Rpc

  • 1. Remote Procedure Call Made By: Abhishek Pachisia B.Tech-IT 090102801
  • 2. Foreword Flaw in Client Server Model. Input/ Output Birrell & Nelson – Simple Idea with subtle implications. Call procedures located on other machines Problems Different address – Complications Non- identical Machines Crashing of machines Widely Used.
  • 3. Index  Basic RPC Operation  Parameter Passing  Dynamic Binding
  • 4. Basic RPC Operation Single Machine Procedure Call Count = read(fd, buf, nbytes); cc
  • 5. Stubs Client stub Packs parameter into message. Calls : Send & Receive. Server Stub Calls : Receive & Send. Unpacks parameter from the message. Details of message passing are hidden – two libraries.
  • 6.
  • 7. Steps 1. The client procedure calls the client stub in the normal way. 2. The client stub builds a message and traps to the kernel. 3. The kernel sends the message to the remote kernel. 4. The remote kernel gives the message to the server stub. 5. The server stub unpacks the parameters and calls the server. 6. The server does the work and returns the result to the stub. 7. The server stub packs it in a message and traps to the kernel. 8. The remote kernel sends the message to the clients kernel. 9. The client’s kernel gives the message to the client stub. 10. The stub unpacks the result and returns to the client.
  • 8. Client-side stub Server-side stub Looks like local server Looks like local client function function to server Same interface as local Listens on a socket for function message from client stub Bundles arguments into Un-bundles arguments to message, sends to server- local variables side stub Makes a local function Waits for reply, un- call to server bundles results Bundles result into reply Returns to kernel message to client stub
  • 9. Parameter Passing Parameter Marshaling. Ex: Remote procedure “sum( i, j)”. 0 Identical machines.
  • 10. Problems - Parameter Passing Different Machine Types  Ex: IBM mainframes (EBCDIC) & IBM PCs(ASCII). Different representation of Integers (1s compliment & 2s Compliment), Floating point numbers. Numbering of bytes  Right to Left (Ex: Intel 486) – Little Endian.  Left to Right (Ex: Sun SPARC) – Big Endian.
  • 13. Representation of Information Canonical Form Convert internal representation while marshaling. Ex: 2’s compliment for integers. 0 for ASCII. 1 for Boolean. IEEE format for floating point no.
  • 14. Pointer Passing One way is to forbid the pointers & reference parameters in general. – Highly undesirable One strategy is copying the whole array/structure (simple) into message. Call by reference is replaced by copy/restore. Optimization – Buffer knows if stub is an input / output parameter. (Twice as efficient). Pointer is followed (dereferenced) by putting it in the register. – Highly Inefficient.
  • 15. Dynamic Binding Hardwiring network add. of server into client – Extremely Inflexible To avoid problems like  Replication of server  Relocation  Migration  Interface Change
  • 16. Server’s Specification :For Stateless Server  Server  Version number  List of procedures provided by server  in: file sent from client to server.  out: sent from server to client  in out: in + out (Copy/Restore)  bytes: no. of bytes to be transferred.  position: where in file to begin  buf: data requested by client is placed here by file server.
  • 17. Terms Exports Interface Imports Interface Binder Registering Unique Id – Typically 32 bit long Handle System Dependent IP Add. , Ethernet Add. , etc.
  • 18. Disadvantages Overhead Exporting & Importing Costs Time Many short lived client process may have to start over again. Binder may act as bottleneck in distributed system. Registering / Deregistering of interfaces creates more overhead.

Notes de l'éditeur

  1. Extended Binary Coded Decimal Interchange Code  ( EBCDIC ) American Standard Code for Information Interchange(ASCII)
  2. Info implicitly available.
  3. Concept of Rpc is neutral. Permits designers to build any kind of servers they desire.
  4. Message is sent by server to binder make existence known. Handle – used to locate server.
  5. 4- substantial number of msgs will be needed to keep all binders synchronize & up to date.