Remote Procedure Calls

– 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