Explain Remote Method Invocation Architecture