SlideShare a Scribd company logo
DOS[ Distributed Operating System ]
(Remote Processing Call)
RPC
Prepared By : Avishek Sarkar
Enrollment No : 130650107020
Roll No : 21
CONTENTS
 Introduction of RPC.
 RPC Model.
 Points of RPC.
=> Server/Client Relationship(Binding)
=> No assumption of Shared Memory.
=> Independent Failure.
=> Security.
 Difference of Client & Server of RPC.
 Transparency of RPC.
 Implementation of RPC (Mechanism of RPC).
 Client & Server in RPC.
 Communication of RPC.
=> Persistence and Synchronicity in Communication (1).
=> Persistence and Synchronicity in Communication (2).
 Client and Server Binding.
 Lightweight Remote Processing Call (LRPC).
 CASE STUDY
INTRODUCTION OF RPC
Remote Procedure Call (RPC) is a protocol that one program can use to request a
service from a program located in another computer in a network without having
to understand network details. (A procedure call is also sometimes known as
a function call or a subroutine call.) RPC uses the client/server model. The
requesting program is a client and the service-providing program is the server.
Like a regular or local procedure call, an RPC is a synchronous operation
requiring the requesting program to be suspended until the results of the remote
procedure are returned. However, the use of lightweight processes or threads
that share the same address space allows multiple RPCs to be performed
concurrently.
INTRODUCTION OF RPC
Fundamental idea: –
1. Server process exports an interface of procedures or functions that can be called by
client programs.
2. similar to library API, class definitions, etc.
Clients make local procedure/function calls :-
1. As if directly linked with the server process
2. Under the covers, procedure/function call is converted into a message exchange with
remote server process
THE RPC MODEL
Points of RPC
1) Server/Client relationship (binding)
While a local procedure call depends on a static relationship between the calling and the
called procedure, the RPC paradigm requires a more dynamic behavior. As with a local
procedure call, the RPC establishes this relationship through binding between the calling
procedure (client) and the called procedure (server). However, in the RPC case a binding
usually depends on a communications link between the client and server RPC run-time
systems. A client establishes a binding over a specific protocol sequence to a specific host
system and endpoint.
2) No assumption of shared memory
Unlike a local procedure call, which commonly uses the call-by-reference
passing mechanism for input/output parameters, RPCs with input/output
parameters have copy-in, copy-out semantics due to the differing address
spaces of calling and called procedures.
Points of RPC
3) Independent failure
Beyond execution errors that arise from the procedure call itself, an RPC
introduces additional failure cases due to execution on physically separate
machines. Remoteness introduces issues such as remote system crash,
communications links, naming and binding issues, security problems, and
protocol incompatibilities.
Points of RPC
4) Security
Executing procedure calls across physical machine boundaries has
additional security implications. Client and server must establish a
security context based on the underlying security protocols, and they
require additional attributes for authorizing access.
Points of RPC
Difference of Client & Server Of RPC
 Client-side stub
 Looks like local server function
 Same interface as local function
 Bundles arguments into a
message, sends to server-side
stub
 Waits for reply, un-bundles
results
 returns
 Server-side stub
 Looks like local client function to
server
 Listens on a socket for message
from client stub
 Un-bundles arguments to local
variables
 Makes a local function call to
server
 Bundles result into reply
message to client stub
Transparency of RPC
Sun remote ``procedure call'' is different from a local procedure call. Some systems, such as the Xerox
Cedar language, try to support transparent RPC which looks and behaves like an ordinary procedure call.
Such RPC differs from Sun RPC in two main ways:
Since a remote procedure call looks exactly like a local procedure call, it does not explicitly indicate the
location of the remote machine. The remote machine is determined by a special binding phase, which
occurs before the call is made.
Programmers do not explicitly Marshall parameters or unmarshall results. The marshalling and
unmarshalling (XDR) routines are generated from the declarations of procedures invoked remotely. For
this reason, systems that support such RPC are sometimes also called RPC generators.
Implementation of RPC (Mechanism of RPC)
RPC Architecture
Implementation of RPC (Mechanism of RPC)
 How does the client know the procedure (names) it can call and which
parameters it should provide from the server?
 Server interface definition
– RPC interface specifies those characteristics of the procedures provided by
a server that are visible to the clients.
– The characteristics includes: names of the procedures and type of
parameters.
– Each parameter is defined as input or output.
Implementation of RPC (Mechanism of RPC)
 How does the server react the request of the client? From
which port? How to select the procedure? How to interpret the
arguments?
 Dispatching, Unmarshalling, communication with client:
– A despatcher is provided. It receives the call request message from
the client and uses the procedure identifier in the message to select
one of the server stub procedures and passes on the arguments.
Implementation of RPC (Mechanism of RPC)
 How does the client receive the reply?
 The stub procedure of the client marshals the result arguments
and returns (local call return). Note that the original remote
procedure call was transformed into a (local) call to the stub
procedure.
Client and Server in RPC
client
stub
proc.
Communication
module
Local
return
Local
call
Client computer Server computer
server
stub
proc.
client
service
procedure
Receive
reply
Send
request
Unmarshal
results
Marshal
arguments
Receive
request
Send
reply
Select procedure
Unmarshal
arguments
Marshal
results
Execute procedure
Communication Of RPC
Persistence and Synchronicity in Communication (1)
Communication Of RPC
B ) Persistent Synchronous Communication
Persistence and Synchronicity in Communication (2)
A ) Persistent Asynchronous Communication
The Client/Server Binding is a simple, light-weight, Remote Procedure Call (RPC) mechanism, for use with 30 clients or
less, that enables you to implement a client/server architecture without having to worry about communications
programming.
The Client/Server Binding is included as part of Server Express for use in applications which do not require an extensive,
fault-tolerant middleware solution.
You should ensure that the capabilities and performance provided by the Client/Server Binding are adequate for your
business needs. For many applications, this is the case and the Client/Server Binding offers a solution which is both easy
to implement and extremely cost-effective to deploy.
The Client/Server Binding removes the requirement for you to include communications code in your application by
providing two modules called client and server. These are generic modules which can be used to drive any application.
Client & Server Binding
Lightweight Remote Procedure Call (LRPC) is a communication facility designed and optimized for
communication between protection domains on the same machine. In contemporary small-kernel
operating systems, existing RPC systems incur an unnecessarily high cost when used for the type of
communication that predominates between protection domains on the same machine. This cost leads
system designers to coalesce weakly related subsystems into the same protection domain, trading
safety for performance. By reducing the overhead of same-machine communication, LRPC encourages
both safety and performance. LRPC combines the control transfer and communication model of
capability systems with the programming semantics and large-grained protection model of RPC. LRPC
achieves a factor-of-three performance improvement over more traditional approaches based on
independent threads exchanging messages, reducing the cost of same-machine communication to
nearly the lower bound imposed by conventional hardware. LRPC has been integrated into the Taos
operating system of the DEC SRC Firefly multiprocessor workstation.
Lightweight Remote Processing Call (RPC)
CASE STUDY
Distributed Computing System(DCE) & Remote Processing Call(RPC)
DCE/RPC, short for "Distributed Computing Environment / Remote
Procedure Calls", is the remote procedure call system developed for
the Distributed Computing Environment(DCE). This system allows
programmers to write distributed software as if it were all working on
the same computer, without having to worry about the underlying
network code.
ThankYou

More Related Content

What's hot

Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
VIKASH MAINANWAL
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure callsAshish Kumar
 
Remote procedure calls
Remote procedure callsRemote procedure calls
Remote procedure calls
imnomus
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
Sunita Sahu
 
Remote procedure call on client server computing
Remote procedure call on client server computingRemote procedure call on client server computing
Remote procedure call on client server computing
Satya P. Joshi
 
RPC communication,thread and processes
RPC communication,thread and processesRPC communication,thread and processes
RPC communication,thread and processes
shraddha mane
 
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
svm
 
5. Distributed Operating Systems
5. Distributed Operating Systems5. Distributed Operating Systems
5. Distributed Operating Systems
Dr Sandeep Kumar Poonia
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure CallAbdelrahman Al-Ogail
 
Middleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMIMiddleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMI
Prajakta Rane
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
Dilum Bandara
 
Interprocess Communication
Interprocess CommunicationInterprocess Communication
Interprocess Communication
Deepak H L
 
Topic2 Understanding Middleware
Topic2 Understanding MiddlewareTopic2 Understanding Middleware
Topic2 Understanding Middlewaresanjoysanyal
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
Rishikese MR
 
TCP RemoteFX and IPQ
TCP RemoteFX and IPQTCP RemoteFX and IPQ
TCP RemoteFX and IPQ
IPeak Networks
 
Ftp
FtpFtp
Ftp
Pablo
 

What's hot (20)

Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Remote procedure calls
Remote procedure callsRemote 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 on client server computing
Remote procedure call on client server computingRemote procedure call on client server computing
Remote procedure call on client server computing
 
RPC communication,thread and processes
RPC communication,thread and processesRPC communication,thread and processes
RPC communication,thread and processes
 
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
 
5. Distributed Operating Systems
5. Distributed Operating Systems5. Distributed Operating Systems
5. Distributed Operating Systems
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure Call
 
Middleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMIMiddleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMI
 
Technical Architectures
Technical ArchitecturesTechnical Architectures
Technical Architectures
 
Message and Stream Oriented Communication
Message and Stream Oriented CommunicationMessage and Stream Oriented Communication
Message and Stream Oriented Communication
 
Lecture9
Lecture9Lecture9
Lecture9
 
Interprocess Communication
Interprocess CommunicationInterprocess Communication
Interprocess Communication
 
Topic2 Understanding Middleware
Topic2 Understanding MiddlewareTopic2 Understanding Middleware
Topic2 Understanding Middleware
 
Remote method invocation (RMI)
Remote method invocation (RMI)Remote method invocation (RMI)
Remote method invocation (RMI)
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 
TCP RemoteFX and IPQ
TCP RemoteFX and IPQTCP RemoteFX and IPQ
TCP RemoteFX and IPQ
 
Ftp
FtpFtp
Ftp
 

Similar to Dos(rpc)avishek130650107020

Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
MNM Jain Engineering College
 
MSB-Remote procedure call
MSB-Remote procedure callMSB-Remote procedure call
MSB-Remote procedure call
MOHD. SHAHRUKH BHATI
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
FamiDan
 
Remote procedure call
Remote procedure callRemote procedure call
Remote procedure call
Manojparihar16
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
Communication in Distributed System.ppt
Communication in Distributed System.pptCommunication in Distributed System.ppt
Communication in Distributed System.ppt
SELVAVINAYAGAMG
 
Distributes objects and Rmi
Distributes objects and RmiDistributes objects and Rmi
Distributes objects and RmiMayank Jain
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.ppt
sirajmohammed35
 
Unit_2_Midddleware_2.ppt
Unit_2_Midddleware_2.pptUnit_2_Midddleware_2.ppt
Unit_2_Midddleware_2.ppt
rameshwarchintamani
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
farshad33
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
sehrish saba
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
Nadia Nahar
 
remote method invocation
remote method invocationremote method invocation
remote method invocationRavi Theja
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote Invocation
Medicaps University
 
Remote access service
Remote access serviceRemote access service
Remote access serviceApoorw Pandey
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
Abhishek Jaisingh
 
Java Networking
Java NetworkingJava Networking
Java Networking
68SachinYadavSYCS
 
Distributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGY
Distributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGYDistributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGY
Distributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGY
reginamutio48
 
Microsoft Exchange Technology Overview
Microsoft Exchange Technology OverviewMicrosoft Exchange Technology Overview
Microsoft Exchange Technology Overview
Mike Pruett
 

Similar to Dos(rpc)avishek130650107020 (20)

Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
MSB-Remote procedure call
MSB-Remote procedure callMSB-Remote procedure call
MSB-Remote procedure call
 
CHP-4.pptx
CHP-4.pptxCHP-4.pptx
CHP-4.pptx
 
Remote procedure call
Remote procedure callRemote procedure call
Remote procedure call
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Communication in Distributed System.ppt
Communication in Distributed System.pptCommunication in Distributed System.ppt
Communication in Distributed System.ppt
 
Distributes objects and Rmi
Distributes objects and RmiDistributes objects and Rmi
Distributes objects and Rmi
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.ppt
 
Unit_2_Midddleware_2.ppt
Unit_2_Midddleware_2.pptUnit_2_Midddleware_2.ppt
Unit_2_Midddleware_2.ppt
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
remote method invocation
remote method invocationremote method invocation
remote method invocation
 
Rpc
RpcRpc
Rpc
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote Invocation
 
Remote access service
Remote access serviceRemote access service
Remote access service
 
Client Server Model and Distributed Computing
Client Server Model and Distributed ComputingClient Server Model and Distributed Computing
Client Server Model and Distributed Computing
 
Java Networking
Java NetworkingJava Networking
Java Networking
 
Distributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGY
Distributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGYDistributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGY
Distributed OPERATING SYSTEM FOR BACHELOR OF BUSINESS INFORMATION TECHNOLOGY
 
Microsoft Exchange Technology Overview
Microsoft Exchange Technology OverviewMicrosoft Exchange Technology Overview
Microsoft Exchange Technology Overview
 

Recently uploaded

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 

Recently uploaded (20)

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 

Dos(rpc)avishek130650107020

  • 1. DOS[ Distributed Operating System ] (Remote Processing Call) RPC Prepared By : Avishek Sarkar Enrollment No : 130650107020 Roll No : 21
  • 2. CONTENTS  Introduction of RPC.  RPC Model.  Points of RPC. => Server/Client Relationship(Binding) => No assumption of Shared Memory. => Independent Failure. => Security.  Difference of Client & Server of RPC.  Transparency of RPC.  Implementation of RPC (Mechanism of RPC).  Client & Server in RPC.  Communication of RPC. => Persistence and Synchronicity in Communication (1). => Persistence and Synchronicity in Communication (2).  Client and Server Binding.  Lightweight Remote Processing Call (LRPC).  CASE STUDY
  • 3. INTRODUCTION OF RPC Remote Procedure Call (RPC) is a protocol that one program can use to request a service from a program located in another computer in a network without having to understand network details. (A procedure call is also sometimes known as a function call or a subroutine call.) RPC uses the client/server model. The requesting program is a client and the service-providing program is the server. Like a regular or local procedure call, an RPC is a synchronous operation requiring the requesting program to be suspended until the results of the remote procedure are returned. However, the use of lightweight processes or threads that share the same address space allows multiple RPCs to be performed concurrently.
  • 4. INTRODUCTION OF RPC Fundamental idea: – 1. Server process exports an interface of procedures or functions that can be called by client programs. 2. similar to library API, class definitions, etc. Clients make local procedure/function calls :- 1. As if directly linked with the server process 2. Under the covers, procedure/function call is converted into a message exchange with remote server process
  • 6. Points of RPC 1) Server/Client relationship (binding) While a local procedure call depends on a static relationship between the calling and the called procedure, the RPC paradigm requires a more dynamic behavior. As with a local procedure call, the RPC establishes this relationship through binding between the calling procedure (client) and the called procedure (server). However, in the RPC case a binding usually depends on a communications link between the client and server RPC run-time systems. A client establishes a binding over a specific protocol sequence to a specific host system and endpoint.
  • 7. 2) No assumption of shared memory Unlike a local procedure call, which commonly uses the call-by-reference passing mechanism for input/output parameters, RPCs with input/output parameters have copy-in, copy-out semantics due to the differing address spaces of calling and called procedures. Points of RPC
  • 8. 3) Independent failure Beyond execution errors that arise from the procedure call itself, an RPC introduces additional failure cases due to execution on physically separate machines. Remoteness introduces issues such as remote system crash, communications links, naming and binding issues, security problems, and protocol incompatibilities. Points of RPC
  • 9. 4) Security Executing procedure calls across physical machine boundaries has additional security implications. Client and server must establish a security context based on the underlying security protocols, and they require additional attributes for authorizing access. Points of RPC
  • 10. Difference of Client & Server Of RPC  Client-side stub  Looks like local server function  Same interface as local function  Bundles arguments into a message, sends to server-side stub  Waits for reply, un-bundles results  returns  Server-side stub  Looks like local client function to server  Listens on a socket for message from client stub  Un-bundles arguments to local variables  Makes a local function call to server  Bundles result into reply message to client stub
  • 11. Transparency of RPC Sun remote ``procedure call'' is different from a local procedure call. Some systems, such as the Xerox Cedar language, try to support transparent RPC which looks and behaves like an ordinary procedure call. Such RPC differs from Sun RPC in two main ways: Since a remote procedure call looks exactly like a local procedure call, it does not explicitly indicate the location of the remote machine. The remote machine is determined by a special binding phase, which occurs before the call is made. Programmers do not explicitly Marshall parameters or unmarshall results. The marshalling and unmarshalling (XDR) routines are generated from the declarations of procedures invoked remotely. For this reason, systems that support such RPC are sometimes also called RPC generators.
  • 12. Implementation of RPC (Mechanism of RPC) RPC Architecture
  • 13. Implementation of RPC (Mechanism of RPC)  How does the client know the procedure (names) it can call and which parameters it should provide from the server?  Server interface definition – RPC interface specifies those characteristics of the procedures provided by a server that are visible to the clients. – The characteristics includes: names of the procedures and type of parameters. – Each parameter is defined as input or output.
  • 14. Implementation of RPC (Mechanism of RPC)  How does the server react the request of the client? From which port? How to select the procedure? How to interpret the arguments?  Dispatching, Unmarshalling, communication with client: – A despatcher is provided. It receives the call request message from the client and uses the procedure identifier in the message to select one of the server stub procedures and passes on the arguments.
  • 15. Implementation of RPC (Mechanism of RPC)  How does the client receive the reply?  The stub procedure of the client marshals the result arguments and returns (local call return). Note that the original remote procedure call was transformed into a (local) call to the stub procedure.
  • 16. Client and Server in RPC client stub proc. Communication module Local return Local call Client computer Server computer server stub proc. client service procedure Receive reply Send request Unmarshal results Marshal arguments Receive request Send reply Select procedure Unmarshal arguments Marshal results Execute procedure
  • 17. Communication Of RPC Persistence and Synchronicity in Communication (1)
  • 18. Communication Of RPC B ) Persistent Synchronous Communication Persistence and Synchronicity in Communication (2) A ) Persistent Asynchronous Communication
  • 19. The Client/Server Binding is a simple, light-weight, Remote Procedure Call (RPC) mechanism, for use with 30 clients or less, that enables you to implement a client/server architecture without having to worry about communications programming. The Client/Server Binding is included as part of Server Express for use in applications which do not require an extensive, fault-tolerant middleware solution. You should ensure that the capabilities and performance provided by the Client/Server Binding are adequate for your business needs. For many applications, this is the case and the Client/Server Binding offers a solution which is both easy to implement and extremely cost-effective to deploy. The Client/Server Binding removes the requirement for you to include communications code in your application by providing two modules called client and server. These are generic modules which can be used to drive any application. Client & Server Binding
  • 20. Lightweight Remote Procedure Call (LRPC) is a communication facility designed and optimized for communication between protection domains on the same machine. In contemporary small-kernel operating systems, existing RPC systems incur an unnecessarily high cost when used for the type of communication that predominates between protection domains on the same machine. This cost leads system designers to coalesce weakly related subsystems into the same protection domain, trading safety for performance. By reducing the overhead of same-machine communication, LRPC encourages both safety and performance. LRPC combines the control transfer and communication model of capability systems with the programming semantics and large-grained protection model of RPC. LRPC achieves a factor-of-three performance improvement over more traditional approaches based on independent threads exchanging messages, reducing the cost of same-machine communication to nearly the lower bound imposed by conventional hardware. LRPC has been integrated into the Taos operating system of the DEC SRC Firefly multiprocessor workstation. Lightweight Remote Processing Call (RPC)
  • 21. CASE STUDY Distributed Computing System(DCE) & Remote Processing Call(RPC) DCE/RPC, short for "Distributed Computing Environment / Remote Procedure Calls", is the remote procedure call system developed for the Distributed Computing Environment(DCE). This system allows programmers to write distributed software as if it were all working on the same computer, without having to worry about the underlying network code.