Saltar al contenido

Acoplamiento espacial y temporal en comunicación indirecta de sistemas distribuidos.

Compartir en:

Vamos a hablar de sistemas distribuidos, en concreto de un par de conceptos que son muy importantes cuando hablamos de P2P o sistemas de orquestación de complejas redes de servidores, el acoplamiento espacial y temporal en la comunicación indirecta.

Cuando hablamos de comunicación indirecta, donde un intermediario actúa entre medio de la comunicación, podemos discernir conceptos de acoplamiento tanto temporal como espacial que determinan como el receptor y el emisor coinciden o no en el tiempo y espacio.

El acoplamiento espacial hace referencia a que tanto emisor como receptor deben conocer la identidad del otro para que se establezca una comunicación. En un desacoplamiento espacial sin embargo, no es necesario que emisor y receptor conozcan la identidad de su interlocutor para que una comunicación se inicie.

En el acoplamiento temporal como su nombre indica, emisor y receptor deben coincidir en el tiempo para comunicarse. En contrapartida, en el desacoplamiento temporal, la coexistencia en el tiempo no es una condición necesaria para establecer el intercambio de datos.

El acoplamiento temporal, como hemos comentado, consiste en que los sistemas coincidan en tiempo, este tipo de acoplamiento es más sencillo de gestionar, ya que la comunicación entre emisor y receptor ocurre en el momento.

Se reduce no obstante la complejidad del consumidor de los datos aportando flexibilidad. Sin embargo, el rendimiento del sistema pude verse comprometido, debido a que podemos crear cuellos de botella u horas punta que sobrecarguen a los sistemas.

El acoplamiento espacial, sin embargo aporta una reducción de recursos al conocer con exactitud quien es o son los emisores y quienes los receptores. El sistema es más conciso en la difusión de mensajes, además puede ser muy eficaz al tratar datos más críticos, ya que tanto emisor como receptor pueden interrogarse para comprobar que la comunicación ha sido adecuada sin añadir complejidad en el sistema.

Para dar ejemplo de las 4 posibles combinaciones nos basaremos en la siguiente tabla:

Acoplamiento temporalDesacoplamiento temporal
Acoplamiento espacialComunicación dirigida a un receptor o a varios receptores de un mensaje. Los receptores deben existir en ese momento del tiempo.Comunicación dirigida a un receptor o a varios receptores de un mensaje. Los receptores o emisores pueden no existir en ese momento del tiempo.
Desacoplamiento espacialEmisor no necesita saber la identidad del receptor o receptores. Emisor/es y receptor/es deben existir al mismo tiempoEmisor no necesita saber la identidad del receptor o receptores. Los receptores o emisores pueden no existir en ese momento del tiempo.

Para ilustrar la idea que os estoy intentando transmitir, voy a poner ejemplos de cada una de las coincidencias de la matriz, seguro que más de una os suenan:

  • Acoplamiento espacial/Acoplamiento temporal:

BitTorrent es un claro ejemplo con esta combinación, los pares son conocidos por el sistema y además para que el intercambio tenga lugar, ambos peers deben estar conectados a la red.

Esta arquitectura está especialmente diseñada para compartir archivos de un tamaño considerable de forma descentralizada, por tanto, este tipo de acoplamiento es una manera óptima de realizar los intercambios.

  • Acoplamiento espacial/Desacoplamiento temporal:

CORBA Event Service es un ejemplo de este tipo de combinación. Es un servicio de gestión de devoluciones de llamadas distribuidas.

El sistema es capaz de entregar mensajes distribuidos sin necesidad de que emisor y receptor coincidan temporalmente, sin embargo, ambos deben conocer la identidad del otro participante.

  • Desacoplamiento espacial/Acoplamiento temporal:

Los aplicativos de multidifusión o Multicast

Se basa en emitir datagramas por toda la red de manera masiva. Son emitidos sin conocer realmente la identidad de los receptores, pero sí que deben coincidir en el tiempo. Estos paquetes tienen que llegar a equipos conectados en ese preciso momento.

  • Desacoplamiento espacial/Desacoplamiento temporal:

JMS (Java Mesage Service)

JMS es una especificación para conseguir un estándar en la comunicación indirecta entre programas java. Estos se despliegan en un entorno distribuido que utiliza dos modelos, el modelo de publicación/subscripción y el modelo de cola de mensajes (queue).

Puede gestionar mensajes en el tiempo evitando el desacoplamiento temporal y no necesita que sus interlocutores se conozcan, apora versatilidad y abstracción a costa de añadir complejidad.


Juan Ibero

Inmerso en la Evolución Tecnológica. Ingeniero Informático especializado en la gestión segura de entornos TI e industriales, con un profundo énfasis en seguridad, arquitectura y programación. Siempre aprendiendo, siempre explorando.

Compartir en:

Deja una respuesta

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