– remote procedure calls
– “implementing remote procedure calls”
client-server, create and init sockets, allocate and populate buffers, include ‘protocol’ info, copy data into buffers(file name, file)
RPC == intended to simplify the development of cross address space & cross-machine interactions Benefit of RPC
higher-level interface for data movement & communication
error handling
hiding complexities of cross-machine interactions
1. client/server interactions
2. Procedure call interface => RPC
– sync. call semantics
Interface specification with IDL
an IDL used to describe the interface the server exports
– procedure name, arg result types
– version #
struct data in { string vstr<128>; }; struct data_out { string vstr<128>; }; program MY_PROG { version MY_VERS { data_out MY_PROC(data_in) = 1; } = 1; } = 0x31230000;
public interface Hello extends Remote { public String sayHello(String s){ throws RemoteException; } } // Java JMI