Presentacin de PowerPoint
PROTOCOLO CON CAPASSistemas Distribuidos
De la Cruz Bon, YaricsaLule Camacho, Irwing Montenegro Fernndez,
CesarRomero Flores, Marco Polo Tern Mendoza, Luz ElenaZegarra
Quispe, JhosepINTEGRANTES Ingeniera de SistemasSistemas
DistribuidosIng. Robert Snchez Ticona8 Ciclo
Llama a un Procedimiento Remoto (RPC)Adolece una enfermedad
incurable:El paradigma bsico en torno al cual se construye la
comunicacin es la Entrada/Salida. El hecho de que sean la base del
computo distribuido, es visto como: ERRORObjetivo: Lograra que el
computo distribuido se vea como computo centralizado Y la
construccin de todo en torno de la E/S no es la forma de lograrlo
Hasta el articulo de : Birrell y Nelson (1984)Permitir a los
programadores que llamasen a procedimientos localizados en otras
maquinasEl programador no se preocupa de una transferencia de
mensajes o de la E/S Llama a un Procedimiento Remoto (RPC)Qu es una
llama a un Procedimiento Remoto (RPC)?Maquina BEl Proceso que
realiza la llamada se Suspende
Las llamadas se hacen de forma transparente para las
aplicacionesEl STUB lo bloqueaLa mquina A llama a un procedimiento
en la mquina B
El procedimiento se ejecuta en la mquina B
Maquina APara esto se requiere de STUBS o Suplente de cliente y
servidor contenidos en libreras, y procesos de empaquetamiento y
desempaquetamiento de los parmetros pasados en las llamadas y en el
resultado.Este mtodo consiste en que los programas llamen a
procedimientos localizados en otras mquinas (manteniendo el enfoque
cliente - servidor).
Operacin bsica de un RPCUn proceso X realiza la llamada y
empaqueta los argumentos en un mensaje
El proceso X enva el mensaje y espera el resultado
Un proceso Yejecuta el procedimiento, obtiene el resultado, lo
encapsula en un mensaje de respuesta y se enva al proceso x
12STUB ClienteSTUB Servidor
Maquina AMaquina B
Representacin de los DatosLa comunicacin con RPC en los sistemas
distribuidos se da mediante transferencia de mensajes con paso de
parmetros a travs de arquitecturas diferentes (hardware y software)
lo que implica diferentes formatos de representacin de nmeros y
caracteres.Generando los siguientes problemasUso de Punteros o
Parmetros por ReferenciaPase de parmetros de tipos definidos por el
usuarioTransferencia de ParmetrosRepresentacin de los
DatosProblemas La maquina del cliente y la del servidor utilizan
diferentes formas de representar nmeros y caracteres, por
ejemplo:
Caracteres: EBCDIC vs. ASCIINmeros: Big endian vs. Little
endian
Solucin: Los Suplentes se encargan de convertir las entradas y
salidas en representaciones intermedias utilizando un estndar.
Transferencia de ParmetrosUso de Punteros o Parmetros por
ReferenciaProblema: al comunicarse mediante RCP en sistemas
distribuidos utilizando punteros o parmetros por referencia se
generan problemas de direccionamiento, sobre escritura, entre
otros; ya no se comparte un mismo espacio de memoria (cada mquina
trabaja con su memoria principal).
Transferencia de ParmetrosSolucin:
Prohibir el pase de parmetros por referencias en RPC. Copiar los
datos reales en el mensaje (paso de parmetros por valor). Ir
pasando los datos a medida que el servidor lo requiera.
Solo se deben enviar datos, NO direcciones de memoriaPase de
parmetros de tipos definidos por el usuarioProblema: al trabajar
con tipos de datos definidos por el usuario se presentan problemas
de incompatibilidad entre las mquinas que se comunican ya que no se
trabaja bajo un estndar sino que es un tipo de datos definido por
el programador.Solucin:
Dividir sucesivamente las estructuras hasta alcanzar tipos de
datos bsicos, fciles de reconocer por cualquier mquina.
Transferencia de ParmetrosPermite localizar a los servidores que
ejecutan las llamadas a procedimientos remotos (RCP). Esta es una
de las funciones del suplente (STUB) del cliente. Servidor de
NombresServidor de ArchivosServidor WebMquina AMquina BMquina
CRegistrar ProcedimientoBuscar direccin del servidor webDireccin
del servidor webEjecutar ProcedimientoResultado del
Procedimiento12345Conexin Dinmica Existe un servidor de nombres o
enlazador dinmico donde cada servidor registra todos los
procedimientos o servicios que ofrece junto con su direccin. Por
ejemplo si se utiliza TCP/IP se registra: el protocolo, la direccin
IP y el puerto que se encuentra escuchando. Si un cliente requiere
ejecutar un RCP busca en el servidor de nombres la direccin del
servidor que ofrece el servicio. El servidor de nombres enva al
cliente la direccin del proceso del servidor que ofrece un
determinado servicio.