¿Cuál es la diferencia entre Java RMI y RPC?

¿Cuál es la diferencia real entre Java RMI y RPC? ¿He leído en algunos lugares que RMI usa