Sie sind auf Seite 1von 11

Sistemas Distribuidos RPC

- Ingenieria de Software Equipo:


Landavazo Duran Edgar David
Montes de Oca Medina Fernando
Saavedra Rivera Franco
Yaez Carbajal Daniela

Qu es un sistema distribuido?
Un sistema distribuido es un conjunto de computadoras
conectadas en red que le dan la sensacin al usuario de ser una
sola computadora.
A pesar que agregar complejidad al software y disminuir los
niveles de seguridad, los sistemas de procesamiento distribuidos
brindan una buena relacin precio-desempeo y pueden
aumentar su tamao de manera gradual al aumentar la carga de
trabajo.

Que son los Sistemas Distribuidos


RPC
El RPC es un protocolo que permite a un programa de
ordenador ejecutar cdigo en otra mquina remota sin tener
que preocuparse por las comunicaciones entre ambos.
De esta manera el programador no tena que estar
pendiente
de
las
comunicaciones,
estando
stas
encapsuladas dentro de las RPC.

Objetivos del RPC

Proporcionar un middleware que simplifique el desarrollo de aplicaciones


distribuidas

Evitar que el programador tenga que interactuar directamente con el


interfaz de Sockets

El Servidor ofrece procedimientos que el cliente llama como si fueran


procedimientos locales

Se busca ofrecer un entorno de programacin lo mas similar posible a


un entorno no distribuido.

Funcionamiento de las RPC


El proceso que realiza la llamada empaqueta los
argumentos en un mensaje, se los enva a otro
proceso y espera el resultado.
El proceso que ejecuta el procedimiento extrae los
argumentos del mensaje, realiza la llamada de
forma local, obtiene el resultado y se lo enva de
vuelta al proceso que realiz la llamada.

Suplentes (stubs)

Se generan automticamente por el software de RPC

En el cliente:

Localizan al servidor

Empaquetan los parmetros y construyen los mensajes

Envan el mensaje al servidor

Espera la recepcin del mensaje y devuelven los resultados

En el servidor

Realizan tareas similares

Los suplentes son independientes de la implementacin que se haga del


cliente y del servidor. Slo dependen de la interfaz.

Llamadas y mensajes en una RPC


S IS T E M A C L IE N T E

S IS T E M A S E R V ID O R

C D IG O D E L A A P L IC A C I N
IN IC IO
F IN
LLAM ADA LLAM ADA = 7
s u m a (5 ,2 )

P R O C E D IM IE N T O S
E JE C U TA
P R O C E D IM IE N T O
REM O TO

1
RESG UARDO
C L IE N T E

PR EPA R A
ENTRADA
C O N V IE R T E
S A L ID A

RESG UARDO
S E R V ID O R

C O N V IE R T E
ENTRADA

6
PR EPA R A
S A L ID A

RPC: Protocolo Bsico


cliente

Enlaza con
el
servidor
prepara
parmetros,
enva peticin

Desempaquet
a
la respuesta

servidor

Se registra con
un servicio de
nombres
recibe peticin
Ejecuta el
procedimiento
enva peticin

Mecanismo RPC
El stub del cliente: se encarga de empaquetar los
parmetros y la solicitud, enviarlos al intermediario
en el servidor, y luego esperar la respuesta,
desempaquetarla y entregarla a la aplicacin.

El programa principal del servidor (que incluye el


stub y el dispatcher). se encarga de recibir
peticiones, desempaquetar los parmetros, invocar la
funcin solicitada, pasarle los parmetros, luego
obtener el resultado, empaquetarlo y enviarlo al
cliente.

Las rutinas de serializacin de datos: Es el proceso de


convertir un objeto en una secuencia de bytes para
conservarlo en memoria.

Servicio de binding: Responsable de la transparencia de


localizacin, gestiona la asociacin entre el nombre del
procedimiento remoto (y su versin) con su localizacin en la
maquina servidor (direccin, puertos, skeleton, etc).

Das könnte Ihnen auch gefallen