Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Publicación-suscripción en tiempo real




Enviado por Pablo Turmero



    Monografias.com

    NDDS: beneficios claves
    Es un middleware que permite la publicación-suscripción en tiempo real.
    Evita la necesidad de ser un experto en la programación de redes.
    Mensajería rápida y eficiente para aplicaciones en tiempo real.
    Simplifica el diseño de aplicaciones.

    Monografias.com

    Sistemas distribuidos en tiempo real
    Diferentes clases de nodos
    Diferentes tipos de iteraciones
    Mensajes cíclicos
    Comandos y eventos acíclicos
    Patrones complejos de comunicación.
    Reconfiguración dinámica.
    Tolerancia a fallos.
    Integración con sistemas comerciales sobre redes estándar.

    Monografias.com

    Sistemas distribuidos en tiempo real
    Diferentes tipos de datos tienen diferentes requisitos de comunicación
    Datos cíclicos
    El tiempo es crítico
    A menudo es Muchos-a-Muchos
    Lo último es lo mejor
    Datos acíclicos
    Comandos, eventos y solicitudes
    1-a-1 o 1-a-Muchos
    En ocasiones el tiempo es crítico
    Fiable y en orden, exactamente una sola vez
    Información de estado
    1-a-1 o 1-a-Muchos
    Subconjuntos dinámicos de toda la estructura de datos

    Monografias.com

    Uso de protocolos de Internet en aplicaciones en Tiempo Real
    TCP/IP se usa en comunicación fiable
    TCP reintenta el envío de los paquetes perdidos y no enviará nuevos paquetes mientras tanto.
    La aplicaciones esperan en TCP a obtener los paquetes perdidos o un timeout.
    Por todo ello, TCP se usa en comunicaciones que no requieran tiempo real.

    Standard IP network
    (Ethernet, Wireless, 1394, etc.)

    IP Protocol Stack

    TCP

    No RT

    Monografias.com

    Uso de protocolos de Internet en aplicaciones en Tiempo Real
    UDP/IP soporta mensajería determinista
    Sólo envía datagramas
    Introduce mínima sobrecarga y puede ser muy rápido
    Sin conexiones ni reintentos
    Se pueden construir aplicaciones en tiempo real sobre UDP

    Standard IP network
    (Ethernet, Wireless, 1394, etc.)

    IP Protocol Stack

    TCP

    No RT

    UDP
    Tiempo Real

    Monografias.com

    Uso de protocolos de Internet en aplicaciones en Tiempo Real
    UDP es un protocolo sencillo, a bajo nivel. Esto implica aplicaciones complejas.
    El uso de un middleware simplifica el desarrollo, ya que actúa como una capa de software entre la pila de protocolos y la aplicación, que:
    Aísla la aplicación de las funciones propias de red.
    Proporciona una capa de servicios que simplifican la programación de la aplicación.

    Standard IP network (Ethernet, Wireless, 1394, etc.)

    IP Protocol Stack

    TCP

    No RT

    UDP

    Aplicación Tiempo Real

    Middleware tiempo real

    Monografias.com

    Modelos de Distribución de datos
    Punto a Punto

    Modelo telefónico, diseñado en los 70
    Para empleo con TCP
    Sencillo, gran ancho de banda
    Sólo funciona con unos pocos nodos

    Monografias.com

    Modelos de Distribución de datos
    Cliente/Servidor

    Modelo de Mainframe diseñado en los 80
    Práctico cuando los datos están centralizados
    Cuellos de botella en el servidor, único punto de fallo, poco adecuado para la comunicación cliente-cliente

    Monografias.com

    Modelos de Distribución de datos
    Publicación / Suscripción
    Campo probado
    Simplifica la programación de 1-a-Muchos
    Mínima carga de red
    Adecuado sobre cualquier red estándar

    Monografias.com

    Paradigma Publicación/Suscripción
    El productor de datos no necesita saber donde se encuentran los suscriptores
    Los consumidores tampoco necesitan saber donde están los publicadores.
    Middleware

    Monografias.com

    PS es lo mejor para Tiempo Real
    El más eficiente uso del ancho de banda
    No necesita tráfico alguno
    Directo, transferencia conducida por evento
    Distribución de Muchos-a-Muchos
    No son necesarios servidores intermedios
    Programación muy sencilla
    Comunicaciones anónimas
    Apropiado para todos los tipos de datos:
    Cíclico
    Acíclico
    Propagación de variables

    Monografias.com

    PS no es suficiente para TR
    Los requisitos de una aplicación en TR:
    Uso eficiente del ancho de banda
    Baja latencia
    Plazos de entrega de tiempo real
    Reposición en caliente de manera transparente
    Mensajería fiable

    Monografias.com

    Características NDDS
    Comunicaciones anónimas
    Las aplicaciones usan nombres para identificar tópicos, no direcciones de red.
    Conversión de datos automática
    No es necesario el Marshalling
    Configuración de red dinámica
    Arranca, añade y borra los nodos en cualquier secuencia, en cualquier momento

    Monografias.com

    Características NDDS
    NDDS es rápido
    Mensajes de 256byte a 4 nodos
    Unicast: inferior a 0.4ms
    Multicast: inferior a 0.25 ms
    Mensajes de 1024byte a 4 nodos
    Unicast: inferior a 0.75ms
    Multicast: inferior a 0.50ms

    Para NDDS 2.3 sobre VxWorks con PIII(450MHz) sobre Ethernet de 100Mb

    Monografias.com

    Características NDDS
    API muy simple
    Con sólo 4 llamadas se pueden publicar mensajes

    Suscripción en sólo 3
    Disponible para C, C++ y Java
    Reemplaza cientos de llamadas a sockets

    NddsInit(0,NULL);
    HelloMsgNddsRegister();
    publication = NddsPublicationCreate(“Mensaje”,”Hola”, &temp, persistence, strength);
    NddsPublicationSend(publication);

    Monografias.com

    Suscripciones NDDS
    Suscripciones
    Control de threads en tiempo real
    Determinismo
    Flujo de control
    Propiedades de la suscripción
    Plazo entrega
    Separación mínima

    (Gp:) sin notificación
    (Gp:) Nuevas
    notificaciones
    (Gp:) tiempo
    (Gp:) Separación mínima
    (Gp:) Plazo entrega
    (Gp:) timeout
    notificación

    Monografias.com

    Publicaciones NDDS
    Publicaciones
    Reemplazo rápido y transparente…
    Actualización fácil
    Propiedades de la publicación
    Fuerza
    Persistencia
    Los suscriptores toman los envíos más fuertes dentro del marco de tiempo persistente

    Toma el más
    fuerte
    Toma
    cualquiera
    tiempo
    persistencia

    Monografias.com

    Publicación-Suscripción fiable
    Modo best-effort minimiza la latencia. NDDS no reenvía los paquetes perdidos (streaming data)
    Modo fiable permite recibir los envíos en orden. NDDS reenvía automáticamente los paquetes perdidos (Comandos y eventos)
    (Gp:) X

    (Gp:) X

    (Gp:) X

    (Gp:) X

    Modo Best-effort
    Modo Fiable

    Monografias.com

    NDDS Cliente-Servidor
    Los servicios tienen nombre y fuerza
    El cliente define el periodo de espera y el plazo de entrega (deadline)
    NDDS
    Envía las solicitudes a los proveedores seleccionados
    Devuelve el más fuerte como primera respuesta
    Devuelve fallo si el deadline expira.
    Server1
    Strength = 1
    F(X) = 2.9
    Cliente
    Cálculo “F(X)”?
    F(X) = 3
    Server2
    Strength = 4
    F(X) = 3
    Server3
    Strength = 2
    F(X) =3.1
    (Gp:) Toma el mejor
    (Gp:) Toma el primero
    (Gp:) fallo
    (Gp:) tiempo
    (Gp:) espera
    (Gp:) deadline

    Monografias.com

    RTPS Reliability Model
    Control total para el programador
    Usa un caché de históricos para conseguir el envío en orden
    Esta basado en NACK, con ACKs opcional
    En el publicador, la aplicación manda el envío una sola vez
    El programador establece el tamaño de la caché
    NDDS guarda en caché todos los envíos hasta que todos los suscriptores lo obtienen
    Usa marcas de agua para el control de flujo

    Monografias.com

    Suscriptores: envíos en orden
    Cada suscriptor establece
    Caché de históricos para almacenar los envíos fuera de orden
    Deadline
    NDDS guarda en caché los envíos fuera de orden y solicita su reenvío
    Usa ACK y NACK

    (Gp:) Sin separación mínima
    (Gp:) Deadline
    (Gp:) Notificación
    por timeout
    (Gp:) Tiempo
    (Gp:) Deadline es mayor que la frecuencia de
    envío para dar tiempo para reenvíos

    Monografias.com

    NDDS Speculative Caching Method
    (Gp:) Especula con el 6 en caché.
    (Gp:) Pone el 5 antes del 6 en la caché.
    Llama a la función de callback con 5 y después 6.
    (Gp:) Publica 4
    Pone 4 en caché
    (Gp:) 4
    (Gp:) 5
    (Gp:) 6
    (Gp:) 5
    (Gp:) 6
    (Gp:) 6
    (Gp:) 5
    (Gp:) Borra 4 de caché
    (Gp:) Publica 5
    Pone 5 en caché
    (Gp:) Publica 6
    Pone 6 en caché
    (Gp:) Borra 5 y 6 de caché
    (Gp:) Llama a la función de callback con el 4
    (Gp:) Envía 4
    (Gp:) Envía 5
    (Gp:) Envía 6
    (Gp:) Reenvía 5
    (Gp:) Ack 4
    (Gp:) Solicita 5
    (Gp:) Ack 5 y 6
    (Gp:) Borra 5 y 6 de la caché
    (Gp:) Publicador
    (Gp:) Suscriptor

    Monografias.com

    Ajuste de fiabilidad
    Control de flujo
    Al publicador se le avisa cuando la cola está a punto de llenarse
    El publicador ralentiza la frecuencia para permitir a los suscriptores la captura
    Control de buffer
    Los publicadores y suscriptores controlan el tamaño de sus buffers
    Ajustan su tamaño para afinar rendimiento y memoria
    Modelo basado en NACK que disminuye la carga de la red

    Monografias.com

    Beneficios de NDDS
    Sin punto único de fallo
    Marshalling/Demarshalling Transparente
    Arranque aleatorio y descubrimiento dinámico
    Patrones de suscripción
    Grupos de publicación
    Múltiples dominios

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter