NDDS: Publicación-Suscripción en Tiempo Real

Slides:



Advertisements
Presentaciones similares
CAPA DE TRANSPORTE MODELO OSI
Advertisements

Curso de Java Java – Redes Rogelio Ferreira Escutia.
Capa 4 Capa de Transporte
Aplicaciones Cliente-Servidor
Sockets y Threads en JAVA
REDES LOCALES.
PROTOCOLOS Y ESTANDARES DE RED
Ing. Horacio Carlos Sagredo Tejerina
Arquitectura Orientada a Servicios (SOA)
Punto 3 – Protocolo IP Juan Luis Cano. Internet Protocol (en español Protocolo de Internet) o IP es un protocolo no orientado a conexión usado tanto por.
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
Ingeniería en Automática Industrial Software para Aplicaciones Industriales I Ingeniería en Automática Industrial Software para Aplicaciones Industriales.
Unidad 6 Calidad de Servicio: QOS
RIP Routing Information Protocol (Protocolo de Información de Enrutamiento). Es un protocolo de puerta de enlace interna o IGP (Internal Gateway Protocol)
QUALITY OF SERVICE (QoS)
PROTOCOLOS Un protocolo es un conjunto de reglas que hacen que la comunicación en una red sea más eficiente.
REDES. Origen de las redes Fines de la década del 70 Originalmente necesidad de compartir periféricos como impresoras entre varios ordenadores.
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
Clientes DNS (Resolutores – “resolvers” de nombres) .
TOPICOS ACTIVIDAD # 5 TOPICOS G.B.I PRESENTADO POR:
TCP/IP V4 Redes de Computadoras uclv.
CAPA DE RED CARACTERÍSTICAS DE LA RED
INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN INTEGRANTES: MARTINEZ MISHELL MEDINA ENID MENENDEZ EVELYN.
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
1 Capítulo 18: El futuro de IP, IPv6 ICD-327: Redes de Computadores Agustín J. González.
Ing. Karen Torrealba de Oblitas
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
DIDACTIFICACION DE IPv6 3.2 Stateless. Introducción a IPv6 RFC 4862: Stateless Address Autoconfiguration (SLAC) En la configuración stateless los equipos.
Correo electrónico Internet
Sistemas de Comunicación Magistral Nro. 8 Capa 4: Transporte Las funciones principales de la capa de transporte son transportar y regular el flujo de información.
Funciones Capa de Transporte
Conceptos avanzados Dr. Daniel Morató Area de Ingeniería Telemática Departamento de Automática y Computación Universidad Pública de Navarra
1 MENSAJES DE CONTROL Y ERROR DE LA PILA TCP/IP Semestre 2 Capítulo 8 Carlos Bran
PROTOCOLO DE SPANNING-TREE Semestre 3 Capítulo 7
Servidores Conceptos Generales.
DHCP protocolo de configuración dinámica de host.
Servicio horario NTP - Protocolo NTP Luis Villalta Márquez.
Módulo V: Voz sobre IP Tema III: Conmutación de paquetes de voz.
En este capitulo se analizo la relación entre cliente y servidor de red habituales, como: HTTP FTP DNS DHCP Correo Electrónico INTRODUCCIÓN.
1 Capítulo 21: Interacción Cliente Servidor ICD 327: Redes de Computadores Agustín J. González.
Javier Rodríguez Granados
DIDACTIFICACION DE IPv6 00. TEREDO. Introducción a IPv6 Mediante esta presentación, mostraremos el funcionamiento de Teredo en cuanto a dar conectividad.
Capa Transporte 3-1 Capítulo 3: Capa Transporte - IV ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo.
Configuracion de protocolos
A fin de que el lector pueda tener una idea aproximada de su misión y significado, a continuación se muestra una selección de los más usuales. Hemos señalado.
Capítulo 7: Capa de transporte
Servicios de Red e Internet
Introducción a la conmutación LAN.
SEGMENTACIÓN DE LA RED UNIVERSIDAD NACIONAL DE INGENIERÍA
4. Introducción a IP,TCP,UDP,ARP,ICMP
BOOTP Luis Villalta Márquez.
Funcionamiento DHCP. Tipos de mensajes.
Jorge De Nova Segundo. DHCP soporta tres mecanismos para la asignación de direcciones IP: -Asignación automática Asigna automáticamente una dirección.
PROTOCOLOS DE COMUNICACIÓN PRESENTAN: GUADALUPE MORALES VALADEZ ESTELA ORTEGA AGUILAR IRAIS UGARTE BAUTISTA LAURA ARELI JERONIMO FLORES ANA LILIA CONDE.
Jorge De Nova Segundo. Clientes DNS Se puede considerar que un resolver es cualquier software capaz de preguntar a un servidor DNS e interpretar sus respuestas.
BOOTP Javier Rodríguez Granados. BOOTP BOOTP son las siglas de Bootstrap Protocol. Es un protocolo de red UDP utilizado por los clientes de red para obtener.
Jorge De Nova Segundo. BOOTP. BOOTP son las siglas de Bootstrap Protocol. Es un protocolo de red UDP utilizado por los clientes de red para obtener su.
Clientes DNS (Resolutores – “resolvers” de nombres) Jesús Torres Cejudo.
Jorge De Nova Segundo. Funcionamiento del servicio DHCP. Tipos de mensajes. DHCP Asigna direcciones IP a otras máquinas de la red. Este protocolo puede.
Almacenamiento virtual de sitios web: «Hosts» virtuales
PPP El protocolo PPP esta descrito en los RFC 1661 a Es el estándar usado en Internet para conexiones de un nodo aislado hacia un servidor en.
Internet Protocol Televesion
Nivel de Transporte en Internet
Edwin Oliveros.  El diseño de sistemas consiste en la transformación del modelo de diseño, que toma en cuenta los requerimientos no funcionales y las.
Protocolos de Enrutamiento Multicast
.STREAMING.. INTEGRANTES David Estiven Cadaavid Cristian Andres Restrepo Trespalacios.
Javier Rodríguez Granados
Protocolos de Transporte y Aplicación
Módulo 7: Resolución de nombres NetBIOS mediante el Servicio de nombres Internet de Windows (WINS)
Sistemas de Comunicación Magistral Nro. 6 Capa 3: Red La Capa de Red provee principalmente los servicios de envío, enrutamiento (routing) y control de.
Transcripción de la presentación:

NDDS: Publicación-Suscripción en Tiempo Real Javier García Carreño

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.

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.

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 Subconjuntos dinámicos de toda la estructura de datos

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. No RT TCP IP Protocol Stack Standard IP network (Ethernet, Wireless, 1394, etc.)

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 Tiempo Real No RT UDP TCP IP Protocol Stack Standard IP network (Ethernet, Wireless, 1394, etc.)

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. Aplicación Tiempo Real Middleware tiempo real No RT UDP TCP IP Protocol Stack Standard IP network (Ethernet, Wireless, 1394, etc.)

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

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

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

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

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

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

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

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

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);

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

Publicaciones NDDS Publicaciones Propiedades de la publicación 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 persistencia tiempo Toma el más fuerte Toma cualquiera

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) X X X X Modo Best-effort Modo Fiable

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. Server2 Strength = 4 F(X) = 3 Server1 Strength = 1 F(X) = 2.9 Server3 Strength = 2 F(X) =3.1 Cliente Cálculo “F(X)”? F(X) = 3 Toma el mejor Toma el primero fallo tiempo espera deadline

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

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 Sin separación mínima Deadline Notificación por timeout Tiempo Deadline es mayor que la frecuencia de envío para dar tiempo para reenvíos

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

Ajuste de fiabilidad Control de flujo Control de buffer 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

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