O'Reilly logo

Patterns for Parallel Software Design by Jorge Luis Ortega-Arjona

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

5.5. 5.5 Remote Procedure Call

Remote Procedure Call is an interprocess, synchronous bidirectional distributed communication and synchronization mechanism between two parallel or distributed software components. These components execute simultaneously, non-deterministically and at different relative speeds in different address spaces of different computers on a distributed memory parallel platform. A remote procedure call is carried out by a synchronous invocation, call or request by a software component (acting as a client) to execute a function or procedure that belongs to another software component (acting as a server) and which is normally executing on another computer. This is the only means of communication between parallel or distributed software components. No assumptions can be made about when calls are issued [Bri78] [And91] [Bac93] [Har98] [HX98] [And00].

5.5.1. Example

The Java programming language can be used to create and execute objects in different address spaces, executing on different processors of a distributed memory system. To allow communications between two distributed remote objects, Java makes use of the remote method invocations java.rmi and java.rmi.server [Har98] [And00] [Smi00].

This example uses the development of the remote procedure call component, based on the Remote Procedure Call idiom, for the example from Section 4.4. This supports communication between the root layer and the multithread server components for the Multiple Remote Call pattern. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required