0% found this document useful (0 votes)
4 views7 pages

Technologies For Distributed Computing

The document discusses technologies for distributed computing, focusing on Remote Procedure Call (RPC), Distributed Object Frameworks, and Service-Oriented Computing. RPC enables a program on one machine to call procedures on another as if they were local, utilizing a client-server model and message passing. Distributed Object Frameworks extend RPC by allowing remote access to objects, maintaining object identity and references, and using proxies and skeletons for interaction.

Uploaded by

mokshi.seethala
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views7 pages

Technologies For Distributed Computing

The document discusses technologies for distributed computing, focusing on Remote Procedure Call (RPC), Distributed Object Frameworks, and Service-Oriented Computing. RPC enables a program on one machine to call procedures on another as if they were local, utilizing a client-server model and message passing. Distributed Object Frameworks extend RPC by allowing remote access to objects, maintaining object identity and references, and using proxies and skeletons for interaction.

Uploaded by

mokshi.seethala
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Technologies for Distributed Computing

Distributed systems mainly use message-based


communication. The three major technologies are:
1. Remote Procedure Call (RPC)
2. Distributed Object Frameworks
3. Service-Oriented Computing
Remote Procedure Call (RPC)
What is RPC?
RPC allows a program on one machine to call a
procedure on another machine as if it were a local
function call.
The caller does not need to know:
• Where the procedure is located
• How communication happens
Key Characteristics of RPC
• Based on client–server model
• Communication is synchronous
• Uses message passing internally
• Calling process blocks until result is returned
• Fundamental technology for IPC (Inter-Process
Communication)
RPC Reference Model
Components
Client Side (Node A)
• Program A (RPC Client)
• RPC Library
• Performs:
o Parameter marshalling

o Sends procedure name + parameters

Server Side (Node B)


• RPC Service
• Procedure Registry
• Program C (RPC Server)
• Performs:
o Parameter unmarshalling

o Executes requested procedure

o Marshals return value

Network
• Transfers request and response messages
RPC Call Flow (Step-by-Step)
1. Client calls a procedure (looks like local call)
2. RPC library marshals parameters
3. Request sent over the network
4. Server RPC service:
o Unmarshalls parameters

o Looks up procedure in registry

5. Procedure executes on server


6. Return value marshalled
7. Response sent back to client
8. Client unmarshalls result and continues
✔ Client remains blocked until response arrives
Marshalling and Unmarshalling

Marshalling
It refers to the process of converting the parameters
of a method or procedure call, along with return
values, into a format that is suitable for transmission
over a network.
Unmarshalling
• Reverse process at the receiver
• Done automatically by the RPC runtime
• Application developer usually doesn’t handle it
Steps to Build an RPC-Based System
1. Design server-side procedures
2. Register procedures with RPC server
3. Implement client-side invocation code
Examples of RPC Implementations
• RPyC (Python)
• XML-RPC
• JSON-RPC
• Apache Thrift
• RPC-based systems evolved into:
o CORBA

o Java RMI

o .NET Remoting

o Web Services
2.5.2 Distributed Object Frameworks
They extend RPC by allowing objects (not just procedures)
to be accessed remotely.
Objects appear to exist in the same address space, even
though they are distributed.
How They Extend RPC
• RPC → remote procedures
• Distributed objects → remote methods on objects
• Maintains:
o Object identity

o Object references

Interaction Pattern in Distributed Object Frameworks


Steps
1. Server maintains a registry of active objects
2. Client obtains a reference to a remote object
3. Client invokes methods using that reference
4. Parameters and return values are marshalled (same
as RPC)
Proxy (Client Side)
• Acts like a local object
• Converts local method calls into RPC calls
Skeleton (Server Side)
• Receives RPC requests
• Invokes actual methods on remote object
• Sends results back
Both expose the same interface
Why Proxy–Skeleton Works
• Uses inheritance and subclassing
• Maintains transparency
• Client believes it’s calling a local object

You might also like