Some Points About RPC
1. RPC is a syntactically friendly communication/interaction model built above basic messaging or other IPC primitives.
RPC is a nice model, but it is constrained and not fully transparent; not everyone likes it, and it more-or-less assumes threads.
2. Complex systems may be structured in the usual way as interacting modules, with processes imposing protection boundaries crossed using RPC.
Interacting processes/modules may fail independently (?).
3. The RPC paradigm extends easily to distributed systems, but a variety of optimizations may be employed in the local cases.
e.g., research systems and NT’s LPC pass arguments in shared memory
4. The RPC model also extends naturally to object-based systems and object-based distributed systems.
e.g., research systems, CORBA, Java Remote Method Invocation…there is an entire subculture out there