Message Passing
An RPC is initiated by the client, which sends a request message to a known remote server to execute a specified procedure with supplied parameters. The remote server sends a response to the client, and the application continues its process. While the server is processing the call, the client is blocked (it waits until the server has finished processing before resuming execution), unless the client sends an asynchronous request to the server, such as an XHTTP call. There are many variations and subtleties in various implementations, resulting in a variety of different (incompatible) RPC protocols.
An important difference between remote procedure calls and local calls is that remote calls can fail because of unpredictable network problems. Also, callers generally must deal with such failures without knowing whether the remote procedure was actually invoked. Idempotent procedures (those that have no additional effects if called more than once) are easily handled, but enough difficulties remain that code to call remote procedures is often confined to carefully written low-level subsystems.
Read more about this topic: Remote Procedure Call
Famous quotes containing the words message and/or passing:
“Children in home-school conflict situations often receive a double message from their parents: The school is the hope for your future, listen, be good and learn and the school is your enemy. . . . Children who receive the school is the enemy message often go after the enemyact up, undermine the teacher, undermine the school program, or otherwise exercise their veto power.”
—James P. Comer (20th century)
“I will frankly declare, that after passing a few weeks in this valley of the Marquesas, I formed a higher estimate of human nature than I had ever before entertained. But alas! since then I have been one of the crew of a man-of-war, and the pent-up wickedness of five hundred men has nearly overturned all my previous theories.”
—Herman Melville (18191891)