Está en la página 1de 42

LLAMADAS A

PROCEDIMIEN
TOS REMOTOS
(RPC)

GRUPO N° 10
- CASTILLO CAMPOS, JOHNNY STUAR.
- GARCIA HORNA, FRANCISCO ALEJANDRO.
INTEGRANTES -
-
GUEVARA SEGURA, JAIR ERINSON.
ORTIZ NORIEGA, KEYLY ESPERANZA.
- RODRÍGUEZ CRUZ, JAIR GERARDO.
CONTENIDO

01
HISTORIA
02
TERMINOLOGÍA
03
CARACTERÍSTICA
S

04
MECANISMO
BÁSICO
05
VENTAJAS Y
DESVENTAJAS
06
MODELOS DE RPC
CONTENIDO

07
HISTORIA
08
TERMINOLOGÍA
09
GARANTÍAS DE LA
SEMÁNTICA RPC

10
COMPUTACIÓN
RPC
11
ENTORNOS RPC
HISTORIA 01
HISTORIA

1960s 1980s PRESENTE


Protocolos de solicitud-respuest Implementaciones prácticas XML

1970s 1990s
Propuestas teóricas RMI
TERMINOLO
GÍA 02
TERMINOLOGÍA

01 Protocolos RPC 02 Computación RPC


Protocolos de comunicaciones Modelo de computación en el cual
sobre los que se implementa la un proceso “llamante” ejecuta un
funcionalidad RPC. procedimiento “llamado” en otro
proceso remoto.

03 Entorno RPC
Entorno de desarrollo que facilita al desarrollador un conjunto de herramientas que le
permiten programar mecanismos RPC en sus aplicaciones de manera transparente (o
casi).
03 CARACTERÍS
TICAS
CARACTERÍSTICAS

ABSTRACCIÓN ENCAPSULAMIENTO CLIENTE-SERVIDOR


Permite a un programa de Permite que el diseñador se Implementa el modelo cliente-
ordenador ejecutar una despreocupe de las Servidor
subrutina en un espacio de comunicaciones entre ambos
memoria diferenciado equipos
04 MECANISM
O BÁSICO
PROTOCOLO RPC

¿Protocolo orientado a la conexión o un


protocolo sin conexión?

DEFINICIÓN

El RPC es un protocolo que permite a ¿Utilizar un protocolo de propósito


un programa de ordenador ejecutar general o alguno diseñado de forma
código en otra máquina remota sin tener específica para RPC?
que preocuparse por las comunicaciones
entre ambos.
LAS
GRANDES
LÍNEAS DEL
PROTOCOLO
El protocolo debe
permitir.

La identificación del La autentificación


procedimiento de la petición
Un programa se identificará por La definición del protocolo
un número entero y cada prevé la posibilidad de que un
procedimiento de un programa cliente se identifique a un
será igualmente identificado por servidor, lo que permite
un entero. asegurar la seguridad de los
accesos a los objetos del
sistema distante.
MODO DE OPERACIÓN DEL
RPC (PASOS)
El resguardo del cliente El núcleo remoto
construye un mensaje y proporciona el mensaje al
realiza un señalamiento al resguardo del servidor.
núcleo.

PAS PAS PAS PAS PAS


O1 O2 O3 O4 O5

El procedimiento cliente llama al El núcleo envía el El resguardo del servidor


resguardo del cliente. mensaje al núcleo desempaca los parámetros
remoto. y llama al servidor.
MODO DE OPERACIÓN DEL
RPC (PASOS)
El resguardo del servidor empaca el
El núcleo del cliente da
resultado en un mensaje y hace un
el mensaje al resguardo
señalamiento mediante el núcleo.
del cliente.

PAS PAS PAS PAS PAS


O6 O7 O8 O9 O 10

El servidor realiza el trabajo y El núcleo remoto envía El resguardo desempaca el


regresa el resultado al resguardo. el mensaje al núcleo del resultado y lo entrega al
cliente. cliente.
LLAMADA A
PROCEDIMIENTOS REMOTOS
PSEUDOCÓDIGO DE
FRAGMENTOS DE RPC
VENTAJAS
Y
DESVENTA
JAS 05
VENTAJA DESVENT
S AJAS
Fiabilidad No existe un estándar unificado.

Pérdida de velocidad.
Procesamiento relativamente corto
Complejidad del uso de recursos.
Modularización coherente.
Susceptibilidad a errores.
Eficiencia
Problemas de timming.
Escalabilidad
El servidor se ralentiza.

Programación relativamente más


compleja.
MODEL
OS DE
RPC 06
MODELOS RPC
RPC CON
FALLOS 07
SITUACIONES CON FALLOS
El cliente no
puede encontrar Pérdida de
el servidor mensaje de
respuesta
Pérdida de
mensaje de
solicitud
Se utiliza un
cronómetro, si no llega
El servidor se encuentra una respuesta dentro
inactivo o es incompatible. de un periodo, se envía
El núcleo inicia un otra solicitud.
cronómetro al enviar la
solicitud, si el tiempo se
termina antes que regrese
una respuesta, se vuelve a
enviar el mensaje.
SITUACIONES CON FALLOS

Fallos del
servidor
Un fallo del servidor también se
relaciona con la idempotencia
pero no se puede resolver con
números secuenciales.
Con un único procesador el fallo de un
servidor implica un fallo del cliente y la
recuperación no es ni posible ni
La posibilidad de fallos del servidor
necesaria.
distingue de manera clara los sistemas
con un único procesador de los
sistemas distribuidos: Con sistemas distribuidos es posible y
necesario realizar cierta acción..
SITUACIONES CON FALLOS
La cuestión es qué ocurre
si un cliente envía una
solicitud a un servidor y
Fallos del falla antes de que el
cliente servidor responda.

Reencarnación Soluciones Expiración


DIvide el tiempo en épocas numeradas de A cada RPC se le asigna un tiempo "t", si el
manera secuencial, cuando se rearranca se tiempo es insuficiente debe pedir
envía mensajes a todas las máquinas explícitamente otro quantum, Si luego del
indicando el inicio de de nueva época,.
Exterminación fallo el servidor espera “t” antes de re
arrancar, todos los huérfanos habrán
desaparecido.
Crea un registro como respaldo del clientes
antes de emitir el RPC, luego en re
arranque se verifica contenido y se elimina
la huérfano explícitamente.
08
MEDIDAS DE
PROTECCIÓN
MEDIDAS DE PROTECCIÓN

Pérdida de mensaje de Pérdida de mensaje de respuesta


solicitud
El núcleo del cliente asigna a cada solicitud
Si el número de mensajes perdidos supera un número secuencial, luego se mantiene
cierto límite, el núcleo puede asumir que el un registro, el núcleo del servidor podrá
servidor está inactivo y se regresa a la indicar la diferencias entre la solicitud
situación “no se pudo localizar al servidor”. original y una retransmisión y puede
rechazar la realización de cualquier
solicitud por segunda vez.

Una protección adicional es tener un bit en


el encabezado del mensaje para distinguir
las solicitudes de las retransmisiones.
GARANTÍAS
DE LA

09 SEMÁNTICA
RPC
Tres tipos de semántica para protocolos RPC.

Al menos una Como máximo


Pudiera ser vez
El método se ejecuta una o una
El método se vez
ejecuta una
El método se puede
ejecutar una vez o más veces. Se aplican vez o ninguna. Se aplican
ninguna. No se aplican mecanismos de tolerancia mecanismos de tolerancia
mecanismos de tolerancia a fallos que evitan fallos de a fallos que evitan fallos
a fallos. omisión. de omisión y evitan la
repetición de ejecuciones.
10 COMPUTAC
IÓN RPC
ESQUEMA DE
FUNCIONAMIENTO

Notación: servidor = llamado, cliente = llamante.


STUB SKELETON

● Su papel es el de hacer que la ● Su papel es el de hacer que la


invocación RPC sea transparente invocación RPC sea transparente
para el cliente. para el servidor.
● El stub y el cliente se enlazan en ● El skeleton y el servidor se enlazan
tiempo de compilación. en tiempo de compilación.
● Se ocupa de la representación de los ● Hay un skeleton por cada
datos en los mensajes procedimiento remoto que el
servidor exporta.
● Se ocupa de la representación de los datos
en los mensajes
Transparencia de la invocaciones RPC
ARGUMENTOS FALLOS

● Limitación del tamaño. ● Invocaciones remotas son más


● Limitación de argumentos vulnerables a fallos que las locales.
complejos. ● Es posible que no se reciba un
resultado alguno.
ENTORNOS
RPC 11
Los entornos RPC como
Middleware
Middleware

Ofrece un modelo computacional para los programadores de aplicaciones


distribuidas

Enmascara la heterogeneidad de la red subyacente, el hardware, el sistema operativo


y los lenguajes de programación.
Componentes de un entorno RPC

Estándares para la Compiladores de interfaces


representación de datos Generan los stubs y los skeletons.

Se realiza de forma implícita y explícita.

Servicios para gestionar Herramientas para


visualizar el estado del
Servicio de directorio, sistema y gestionar
sincronización de relojes y los
eventos. servidores de aplicaciones.
Ejemplos de entornos RPC


Sun RPC (ONC)
Mayor difusión en entornos ●
CORBA
Permite que software escrito en
cliente/servidor. distintos lenguajes y ejecutándose
● Capacidad multiplataforma. en distintas máquinas trabajen
● Disponible en la mayoría de conjuntamente.
plataformas UNIX ● Orientado a objetos y entorno
multicapa.
● Multiplataforma, multilenguaje y
con extensa documentación.
Ejemplos de entornos RPC

SOAP DCOM
● Protocolo estandarizado por el ● Es una tecnología propietaria de
World Wide Web Consortium (W3C). Microsoft.
● Intercambio de información entre ● Permite la ejecución de software
dos objetos por medio del uso de distribuido.
XML. ● Solo funciona sobre equipos que
● Surge como una evolución de xml- ejecuten Windows.
rpc
Ejemplos de entornos RPC

DSA Java RMI DCE

● El entorno RPC para ● Entorno orientado a ● Fue el primer


el lenguaje de objetos del lenguaje entorno de calidad
programación Ada. de programación comercial en
Java. implementar las
ideas relativas al
RPC.
Opciones de Rendimiento

Upcalls
Servidor Llamada a
procedimiento para
Servidor mono- multithread
Cada petición hace que
cada evento que se
produce.
thread se cree un nuevo
thread para atenderla.
Usa llamadas al sistema
send/recv y se bloquea
esperando.
CONCLUSIONES

RPC permite a un programa de ordenador RMI cuenta con ventajas como la


ejecutar código en otra máquina remota sin fiabilidad, eficiencia y escalabilidad,
tener que preocuparse por las
El modo de operación de RMI
considera ciertos pasos que y desventajas como la pérdida de
comunicaciones entre ambos. Permite la velocidad, problemas de timming y
abstracción, el encapsulamiento, etc. muestran la interacción entre el
una programación más compleja.
cliente y el servidor.

Con respecto a la garantía de Los entornos rpc permiten


la semántica RPC, todo Con RPC también pueden surgir
tener software fallos como pérdidas de
depende del modelo de fallo multiplataforma y
que se utilice. mensajes y otros. Para cada
multilenguaje para modelos casos se plantean posibles
distribuidos. soluciones.
GRACIA
S

También podría gustarte