Книга: Real-Time Concepts for Embedded Systems
9.2.3 Remote Procedure Call Component
9.2.3 Remote Procedure Call Component
The remote procedure call (RPC) component allows for distributed computing. The RPC server offers services to external systems as remotely callable procedures. A remote RPC client can invoke these procedures over the network using the RPC protocol. To use a service provided by an RPC server, a client application calls routines, known as stubs, provided by the RPC client residing on the local machine.
The RPC client in turn invokes remote procedure calls residing in the RPC server on behalf of the calling application. The primary goal of RPC is to make remote procedure calls transparent to applications invoking the local call stubs. To the client application, calling a stub appears no different from calling a local procedure. The RPC client and server can run on top of different operating systems, as well as different types of hardware. As an example of such transparency, note that NFS relies directly upon RPC calls to support the illusion that all files are local to the client machine.
To hide both the server remoteness, as well as platform differences from the client application, data that flows between the two computing systems in the RPC call must be translated to and from a common format. External data representation (XDR) is a method that represents data in an OS- and machine-independent manner. The RPC client translates data passed in as procedure parameters into XDR format before making the remote procedure call. The RPC server translates the XDR data into machine-specific data format upon receipt of the procedure call request. The decoded data is then passed to the actual procedure to be invoked on the server machine. This procedure's output data is formatted into XDR when returning it to the RPC client. The RPC concept is illustrated in Figure 9.4.
Figure 9.4: Remote procedure calls.
- 10.3. REMOTE PROCEDURE CALL
- TCP REMOTE BUFFER
- CHAPTER 15 Remote Access with SSH
- CHAPTER 20 Remote File Serving with FTP
- Logging In and Out from a Remote Computer
- Remote X
- Remote Registry Editor
- Network and Remote Printing with Fedora
- Mounting Automatically with
- 4.2.4. Kernel Image Components
- 5.4.1. The *__initcall Macros
- 5.5.1. Initialization via initcalls