1. IDL compiler takes descriptions and produces source code stubs (and header files) for both the client and server
2. Client stubs packages the parameters in an RPC packet, converts the data, calls the RPC run-time library and waits for the server's reply
3. Server stubs unpacks the parameters, calls the remote procedure, packages the results, and sends the reply to the client