Vous êtes sur la page 1sur 29

ESCUELA DE INGENIERIA DE SISTEMAS

Comunicacin en los sistemas distribuidos


En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicacin entre procesos debe replantearse. Los procesos, para comunicarse, deben apegarse a reglas conocidas como protocolos.

Protocolos con Capas


MODELO OSI:

Introduccin al Modelo Cliente - Servidor (C - S)


El modelo de la OSI es una solucin elegante y realmente aplicable en muchos casos, pero tiene un problema.

En una WAN se pueden usar todos los protocolos OSI por que ya de por s la red es lenta.

Direccionamiento C-S
Antes de enviar un mensaje al servidor se debe conocer su direccin.
Un esquema de direccionamiento se basa en la direccin de la mquina destinataria del mensaje.

Primitivas de bloqueo vs no bloqueo en C-S


Las primitivas de transferencia de mensajes consideradas anteriormente se denominan primitivas de bloqueo o primitivas sncronas

PRIMITIVAS ALMACENADAS EN BUFFER VS. NO ALMACENADAS EN C - S


Las primitivas consideradas hasta esencialmente primitivas no almacenadas ahora son

PRIMITIVAS CONFIABLES VS. NO CONFIABLES EN C S

Consiste en protocolos que permites brindar ms confianza al momento de enviar o recibir un mensaje en la estructura clienteservidor.

IMPLANTACIN DEL MODELO C S

Dentro de las opciones de implantacin tenemos los siguientes:


Direccionamiento Bloqueo Almacenamiento en buffers

Para mensajes compuestos el reconocimiento se da de diferente manera:

Por paquete individual Por mensaje completo


Los principales tipos de paquetes son los siguientes: Req, Rep y Ack

Llamada a un Procedimiento Remoto (RPC)

En pocas palabras utilizan espacios de direcciones distintos.

Operacin Bsica de RPC


El procedimiento llamador coloca los parmetros en la pila. Se realiza el transporte de la informacin, colocando su valor de regreso en un registro. Eliminando la direccin de regreso. Regresa el control al programa llamador. Se eliminan los parmetros iniciales colocados en la pila, regresando a su estado original.

Conexin Dinmica (Dynamic Binding) en RPC

La manera en la cual el cliente localiza al servidor es tema fundamental.

Semntica de RPC en Presencia de Fallos


El objetivo de una RPC es la trasparencia en la comunicacin. Las llamadas a procedimientos remotos no son fciles de ocultar.
A continuacin hablaremos de los problemas:

El Cliente No Puede Localizar al Servidor


Este problema se podra presentar debido a mltiples causas tales como el servidor no est activo, que cuente con una nueva versin o interfaz que no sea compatible con la del cliente.

Prdida de Mensajes de Respuesta


La prdida de respuestas genera mayores problemas que la prdida de solicitudes. Se utiliza un cronmetro: Si no llega una respuesta en un perodo razonable, se debe volver a enviar la solicitud. El problema es que el ncleo del cliente no est seguro de la razn por la que no hubo respuesta. Ciertas operaciones se pueden repetir con seguridad tantas veces como sea necesario sin que ocurran daos; una solicitud con esta propiedad es idempotente.

Fallos del Servidor


Un fallo del servidor tambin se relaciona con la idempotencia pero no se puede resolver con nmeros secuenciales.

Fallos del Cliente


Se genera una solicitud de trabajo o cmputo que al fallar el cliente ya nadie espera; se dice que se tiene un cmputo hurfano. Los principales problemas generados por cmputos hurfanos son los siguientes: Desperdicio de ciclos de cpu. Posible bloqueo de archivos. Apropiacin de recursos valiosos. Posible confusin cuando Las soluciones a los cmputos hurfanos son las siguientes: Exterminacin. Reencarnacin. Reencarnacin sutil. Expiracin.

Aspectos de la Implantacin en RPC


Protocolos RPC: Con conexin. Sin conexin. Reconocimientos Protocolo detenerse y esperar (Stop-And-Wait Protocol). Protocolo de chorro (Blast Protocol):

Comunicacin en grupos

Comunicacin a nivel de Red

Multicasting
Broadcasting Unicasting

Cuando es Comunicacin en Grupos


La comunicacin es entre un grupo de procesos Cuando un emisor enva el mensaje lo reciben todos los miembros de un grupo Los grupos se entienden como dinmicos, se pueden crear y destruir grupos. Un proceso puede ser miembro de varios grupos, se puede unir a uno y dejar otro Algunas redes permiten diferentes tipos de broadcasting, lo que facilita la implementacin de comunicacin en grupo

Comunicacin en Grupos
Utiliza mensajes multicast til para: Ofrecer tolerancia a fallos basado en servicios replicados Localizar objetos en sistemas distribuidos Mejor rendimiento mediante datos replicados Actualizaciones mltiples Operaciones colectivas en clculo paralelo

Comunicacin en Grupos
Aspectos del Diseo de la Comunicacin en Grupo En la comunicacin en grupo tambin se presentan posibilidades tales como: Almacenamiento en buffers vs. el no almacenamiento. Bloqueo vs. no bloqueo. Adems existen otras posibilidades que no se dan en la comunicacin entre un emisor y un solo receptor.

Grupos Cerrados Vs. Grupos Abiertos


En los grupos cerrados: Solo los miembros del grupo pueden enviar hacia el grupo. Los extraos no pueden enviar mensajes al grupo como un todo, peor no pueden enviar mensajes a miembros del grupo en lo individual. En los grupos abiertos: Cualquier proceso del sistema puede enviar a cualquier grupo. Los grupos cerrados se utilizan generalmente para el procesamiento paralelo:

Membresa del Grupo


Servidor de Grupo ; Mantiene una BD centralizada de los grupos y miembros. Administracin Distribuida: Envi mensaje Hola para unirme al grupo ( Grupo Abierto) Envi Bye para dejar el grupo Si un miembro falla , en realidad es como dejar al Grupo , no existe un mensaje de Bye . Los dems miembros deben descubrir experimentalmente . La entrada y salida a un grupo debe sincronizarse con el envi de mensajes : - Cuando lo deja no mas mensajes - Cuando se une debe recibir todos los mensajes Si fallan tantos procesos que no podemos reconstruir el Grupo , necesitamos un protocolo a tales efectos

Direccionamiento al Grupo Los grupos deben poder direccionarse, al igual que los procesos. Primitivas Send y Receive El envo de un mensaje a un grupo no se puede modelar como una llamada a un procedimiento. Atomicidad La mayora de los sistemas de comunicacin en grupo estn diseados para que los mensajes enviados al grupo lleguen correctamente a todos los miembros o a ninguno de ellos Ordenamiento de Mensajes El ordenamiento de los mensajes es un aspecto fundamental en la comunicacin en grupo. Grupos Traslapados Un proceso puede ser miembro de varios grupos a la vez, pero esto puede generar un nuevo tipo de inconsistencia.

Escalabilidad Es necesario considerar cmo funcionarn los algoritmos cuando se tienen los siguientes casos: Grupos con centenas o miles de miembros. Centenas o miles de grupos. Utilizacin de varias LAN y compuertas (gateways) conectadas, es decir interred (internetwork). Diseminacin de grupos en varios continentes.

conclusin
La comunicacin de los sistema distribuidos se dan mediante los procesos asociados cada uno a distintos protocolo y reglas que les permiten el traslado de informacin entre diferentes ordenadores, a diferencia de los sistemas centralizados estos no comparten memoria, por lo que la comunicacin es ms compleja pero a su vez ms segura.

Vous aimerez peut-être aussi