Qual é a diferença entre Java RMI e RPC?

Qual é a diferença real entre Java RMI e RPC? Eu li em alguns lugares que o RMI usa