Modelos de Comunicación en Sistemas Distribuidos: RPC, MOM y Flujo de Datos

Modelos de Comunicación en Sistemas Distribuidos

RPC (Llamada a un Procedimiento Remoto)

MOM (Middleware Orientado a los Mensajes)

Flujo de Datos

Comunicación en Sistemas Distribuidos

Base de la Comunicación

La comunicación en sistemas distribuidos se basa en el paso de mensajes de bajo nivel, tal como lo ofrece la red subyacente.

Sistemas Abiertos

Un sistema abierto está preparado para comunicarse con cualquier otro sistema abierto mediante reglas estándar que regulan el formato, contenido y significado de los mensajes enviados y recibidos.

Protocolos Orientados a Conexión vs. Protocolos No Orientados a Conexión

Protocolos orientados a conexión: Antes de intercambiar datos, el remitente y el destinatario establecen explícitamente una conexión y posiblemente negocian el protocolo que utilizarán.

Protocolos no orientados a conexión: No se necesita una configuración por adelantado. El remitente solo transmite el primer mensaje cuando está listo.

Modelo OSI

Capas, Interfaces y Protocolos

wO8vBQP0GL8wgAAAABJRU5ErkJggg==

Estructura del Mensaje

v+quAAAAABJRU5ErkJggg==

Función de las Capas

Capa Física

La capa física se ocupa de transmitir ceros y unos. Define aspectos como los voltajes utilizados para representar 0 y 1, la velocidad de transmisión (bits por segundo) y si la transmisión puede ser bidireccional simultáneamente.

Capa de Enlace

Su función principal es detectar y corregir errores en las redes de comunicación. Agrupa los bits en unidades llamadas tramas y verifica que cada trama se reciba correctamente.

Mecanismo de Verificación en la Capa de Enlace

La capa de enlace de datos agrega a la trama la suma de verificación. El destinatario recalcula la suma de verificación de los datos recibidos y la compara con la suma de verificación incluida en la trama. Si coinciden, la trama se considera correcta; si no, se solicita la retransmisión.

Capa de Red

Su tarea principal es elegir la mejor ruta para la transmisión de datos, lo que se conoce como enrutamiento.

Protocolos de Bajo Nivel

  1. Protocolo físico: Maneja la estandarización eléctrica, mecánica y de señalización de interfaces.
  2. Protocolo de enlace de datos: Agrega la suma de verificación a la trama para la detección de errores.
  3. Protocolo de red: Realiza el enrutamiento, eligiendo la mejor ruta para la transmisión de datos.

Capa de Transporte

La capa de transporte transforma la red subyacente en algo que un desarrollador de aplicaciones puede utilizar.

UDP (User Datagram Protocol)

UDP es un protocolo mínimo de nivel de transporte orientado a mensajes.

Protocolos de Más Alto Nivel

  • Sesión
  • Presentación
  • Aplicación

Tipos de Comunicación

  • Comunicación Persistente
  • Comunicación Transitoria
  • Comunicación Asíncrona
  • Comunicación Síncrona

RPC (Llamada a Procedimiento Remoto)

RPC es un programa que permite a una computadora ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambas.

Principio de la RPC entre un Programa Cliente y Servidor

Ningún mensaje de paso es visible para el programador.

Pasos para Hacer un RPC

  1. El procedimiento cliente llama al resguardo del cliente de manera normal.
  2. El resguardo del cliente construye un mensaje y llama al sistema operativo local.
  3. El sistema operativo del cliente envía el mensaje al sistema operativo remoto.
  4. El sistema operativo remoto da el mensaje al resguardo del servidor.
  5. El resguardo del servidor desempaca los parámetros y llama al servidor.
  6. El servidor realiza el trabajo y devuelve el resultado al resguardo.
  7. El resguardo del servidor empaca el resultado en un mensaje y llama a su sistema operativo local.
  8. El sistema operativo del servidor envía el mensaje al sistema operativo del cliente.
  9. El sistema operativo del cliente da el mensaje al resguardo del cliente.
  10. El resguardo desempaca el resultado y lo regresa al cliente.

Interacción Cliente-Servidor mediante dos RPC Asíncronas

Z

IDL (Lenguaje de Definición de Interfaces)

DCE (Ambiente de Computación Distribuida)

DCE es un verdadero sistema middleware porque está diseñado para ejecutarse como una capa de abstracción entre sistemas operativos existentes (redes) y aplicaciones distribuidas.

Cronómetro en una Computadora

Un cronómetro de computadora, en general, es un cristal de cuarzo mecanizado con precisión. Cuando se somete a tensión, el cristal oscila a una frecuencia específica. Cada oscilación disminuye un contador, y cuando llega a cero, se genera una interrupción (marca de reloj) y el contador se reinicia.

Relojes Lógicos de Lamport

Esquema de Posicionamiento

RNKqR4U8KmcAAAAASUVORK5CYII=

Pasos para Implementar los Relojes Lógicos de Lamport

  1. Antes de ejecutar un evento, el proceso Pi incrementa su contador local Ci: Ci ← Ci + 1.
  2. Al enviar un mensaje m a Pj, Pi ajusta el registro de tiempo de m, ts(m), igual a Ci.
  3. Al recibir m, Pj ajusta su contador Cj: Cj ← máx{Cj, ts(m)}, luego incrementa Cj y entrega el mensaje.

Exclusión Mutua de Procesos

La exclusión mutua se utiliza para evitar que accesos concurrentes a recursos compartidos los corrompan o los vuelvan inconsistentes.

Comparación de Algoritmos de Exclusión Mutua

wMX+f8GDfdMVAAAAABJRU5ErkJggg==

Elección en el Algoritmo del Abusón

Un proceso, P, celebra una elección:

  1. P envía un mensaje de ELECCIÓN a procesos con números superiores.
  2. Si nadie responde, P gana y se convierte en coordinador.
  3. Si un proceso superior responde, toma el mando.

Elección en el Algoritmo del Anillo

7ZxFo8A9JPYyEpbAynAai8ofIcC7Bv8jQqhxwyMg

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.