Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
¿como aprovechar los recursos y o servicios que pudiera ofrecer un equipo remoto?
Generalmente se le atribuye a Bruce Jay Nelson acuñar el término "llamada a procedimiento remoto" (1981)
Andrew Birrell 1951 -2016
La primera implementación práctica de RPC fue realizada por Andrew Birrel y Bruce Nelson, llamada "Lupin", en el laboratiorio Cedro en Xerox PARC.
Recuperado de
http://rpcsandbox.wikidot.com/director-lupin
Una llamada de procedimiento remoto (RPC) consiste en un protocolo que permite a un software o programa ejecutar código en otra máquina remota sin preocuparse por la comunicación, por lo regular es bastante utilizado en el paradigma cliente y servidor.
[Tanenbaum & Van Steen,2008]
RPC es un tipo de protocolo de solicitud y respuesta:
1. El cliente inicia una RPC (envía un mensaje de solicitud a un servidor remoto conocido).
2. Para ejecutar un procedimiento específico con los parámetros suministrados.
3. El servidor remoto envía una respuesta al cliente y la aplicación continúa su proceso.
Es una pieza de código que convierte parámetros pasados entre el cliente (STUB del cliente) y el servidor (Skeleton) durante una llamada de procedimiento remoto (RPC).
1. Llamada al stub del cliente, tipo procedimiento local
2. El resguardo del cliente empaqueta los parámetros en un mensaje y realiza una llamada al sistema para enviar el mensaje (Clasificación).
3. El SO cliente envía el mensaje a la máquina del servidor.
4. El SO servidor pasa los paquetes entrantes al extremo del servidor.
5. El código auxiliar del servidor descomprime los parámetros del mensaje (unmarshalling).
6. El código auxiliar del servidor llama al procedimiento del servidor. La respuesta sigue los mismos pasos en la dirección inversa.
MUÑOZ ESCOÍ, F.D. [etal] (2012). Concurrencia y sistemas distribuidos.
Por valor: En el stack se copia el valor del parámetro, el valor de salida es igual al valor de entrada.
Por referencia: En el stack se almacena la dirección de la variable, es posible modificar el valor del parámetro.
Llamado con copia/restauración: Se copia el valor de la variable en el stack, (como en paso por valor), al final de la ejecución local se copia el valor que tiene la variable dentro del procedimiento, en el stack. El procedimiento que mandó llamar al procedimiento remoto copia el valor final
Permite trabajar con un alto nivel de abstracción, ignorando los mecanismos de comunicación subyacentes y las características de su implementación.
La mejora que supone RPC en el esquema cliente-servidor es que la comunicación ahora toma la forma de llamadas de procedimientos en lugar de comandos de I/O, esto permite que los detalles sobre cómo trabaja la red se le puedan ocultar al programa de aplicación poniéndolos en los stubs.
RPC permite transparencia en las aplicaciones, ya que para el aplicativo final no hay diferencia entre una RPC y una llamada local.
Si bien las RPC presentan ventajas sobre las llamadas locales, son más susceptibles a fallos y los mismos son más difíciles de detectar, como los fallos de red