Jim Shearers review of Implementing Remote Procedure Calls

From: shearerje_at_comcast.net
Date: Thu Jan 29 2004 - 19:35:52 PST

  • Next message: Nathan Dire: "Review of RPC"

    “Implementing Remote Procedure Calls” (Birrell and Nelson, 1984) presents a paradigm for programs to communicate across a network in such a way as to look like a local call. The proposed mechanism includes a way for servers to advertise their presence through a known database, a way for clients to look up potential servers in this database and bind with them, a way to describe remote procedure calls through a high level interface description language, the need for the client and server to include stubs that translate local calls to and from network calls, and a mechanism (RPCRuntime) for actually conduction the remote procedure call.

    As a long-time user of Common Object Request Broker Architecture (CORBA), this all looked very familiar. To this day we use an Interface Design Language (IDL) which compiles to produce client and server stubs, servers register with some form of name service so the clients can find them, and an underlying process (the CORBA kernel) takes care of the actual message transport.

    The paper focused on communication between similar machines and so did not need to address problems like rendering (big-endian Sun Workstations vs. little-endian Linux platforms for example). It did, however, introduce the idea of finding a “type” of service rather than a specific server. I don’t know if CORBA supports this feature, I do know I have never used it. It is an interesting idea that is not directly applicable to the domains in which I normally work.

    The paper also did not discuss the underlying threading model and seemed to suggest that the server would queue and process all incoming RPCs on one thread whereas some current models spawn a separate thread for each incoming call.

    Overall the paper presented a good implementation example of the basic concepts involved in making RPCs work.


  • Next message: Nathan Dire: "Review of RPC"

    This archive was generated by hypermail 2.1.6 : Thu Jan 29 2004 - 19:35:59 PST