Comunicación Indirecta



Documentos relacionados
Soporte y mantenimiento. Generalidades

e-commerce, es hacer comercio utilizando la red. Es el acto de comprar y vender en y por medio de la red.

Arquitectura de Proyectos de IT

Arquitectura de sistema de alta disponibilidad

ACUERDO 3 DE (febrero 17) Diario Oficial No de 20 de febrero de 2015 ARCHIVO GENERAL DE LA NACIÓN JORGE PALACIOS PRECIADO

Prestaciones generales. Web corporativa del despacho

Qué es Google Calendar? Qué se puede hacer en Google Calendar?

Información sobre seguridad

Información sobre seguridad

ADMIRAL MARKETS AS. Normas de Ejecución Óptima. medida en que ha actuado de acuerdo con las correspondientes instrucciones del cliente.

Técnicas de Desarrollo de Programas Ingeniería Informática Curso 2008 / Ejercicios de Patrones de Diseño:

Soporte y mantenimiento. Generalidades

Definición del Sistema de Gestión de Seguridad de la Información (SGSI) ALCALDÍA DE SANTA ROSA DE OSOS

4. Programación Paralela

ESPACIOS DE COMUNICACIÓN VIRTUAL

Administración Local Soluciones

Introducción. Qué obligaciones conlleva a la entidad emisora? Qué es SEPA?

Adelacu Ltda. Fono Graballo+ Agosto de Graballo+ - Descripción funcional - 1 -

Soporte Técnico de Software HP

Técnica - Diagrama de Flujo de Datos (DFD)

Un Sistema Distribuido para el Manejo de Correo Electrónico

LINEAMIENTOS DE RENDICIÓN DE CUENTAS DE LA CREG

TPV VIRTUAL O PASARELA DE PAGOS DE CAJASTUR

Sistemas de Información

DECLARACIÓN DE PRIVACIDAD DE FONOWEB

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO

EL MERCADO SECUNDARIO

Santa Fe Empresas. Transferencias Electrónicas de Fondos. Manual del Usuario Funciones del Cliente Marzo de Página 1 de 19

Servicio de Presentación Telemática de Escritos y Notificaciones

SIEBEL CRM ON DEMAND PARA MARKETING

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

GUÍA DE USO DEL PROCEDIMIENTO PARA LA SOLICITUD DE AUTORIZACIONES DE OBRAS EN ZONAS COLINDANTES CON CARRETERAS AUTONÓMICAS

Planificación, Administración n de Bases de Datos. Bases de Datos. Ciclo de Vida de los Sistemas de Información. Crisis del Software.

Introducción a las redes de computadores

INSTRUCCIÓN DE PUERTO DE MARÍN

GedicoPDA: software de preventa

PRESCRIPCIONES TÉCNICAS QUE

Recomendaciones para operadores de Servicio de Correo Electrónico. Principios básicos para operadores de Correo Electrónico (ESPs)

Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA)

INFORME N GTI INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE

Requisitos técnicos para la conexión a la red privada del Banco de España (RedBdE) para el intercambio de información en ficheros mediante EDITRAN.

Google Groups. Administración de Grupos de Google Apps

Monitorización de sistemas y servicios

JORNADA NOTIFICACIONES ELECTRÓNICAS Y CERTIFICACIÓN DIGITAL

Por el cual se reglamentan los artículos 616-1, 617 y siguientes del Estatuto Tributario. EL PRESIDENTE DE LA REPUBLICA DE COLOMBIA

Asignación de Procesadores

Prof. Julio Cerdá Universidad de Alcalá. Gestión electrónica de documentos y acceso a la información

Patrones de Diseño Orientados a Objetos 2 Parte

Guía sobre los cambios del nuevo sitio Web de Central Directo

ANEXO III OBLIGACIONES DEL INDUSTRIAL

GUÍA DE USO DEL PROCEDIMIENTO PARA LA SOLICITUD DE CALIFICACIÓN DE ALQUILER

PROTOCOLO OPERATIVO PARA AGENTES DE NIVEL 3.

Monitorización de servicios

Bechtle Solutions Servicios Profesionales

IMI: funciones y responsabilidades

PREGUNTAS FRECUENTES PROCESO MIGRACIÓN CLIENTES WEB FIDUCIARIA SUCURSAL TELEFÓNICA BANCA PERSONAS Y SUCURSAL TELEFÓNICA

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

5.1 Introducción a Servicios Web

Sistema de detección de incendios. Sergio Menéndez Muñiz Consultor: Jordi Bécares Ferrés Fecha: Junio 2012

RECOMENDACIONES sobre llamadas telefónicas y mensajes a telefonía móvil con fines comerciales y publicitarios

Qué es la factura electrónica? Cuáles son las ventajas de la factura electrónica? Requisitos de todas las facturas...

Términos y condiciones de Europeanwebhost S.L ver: 1.0

Como crear una cartera conservadora?

SEMANA 12 SEGURIDAD EN UNA RED

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

Integración de Magento & Dynamics NAV

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

CITOFONÍA INALÁMBRICA WI-FI

TEMARIO ESPECÍFICO TEMA 19 LA TARJETA INDIVIDUAL SANITARIA

El reto de las nuevas fuentes de información

Gestión de la Configuración

FICHA TÉCNICA DE LA ACCIÓN FORMATIVA:

NOTAS SOBRE DIAGRAMAS DE FLUJOS DE DATOS

ADMINISTRACIÓN ELECTRÓNICA: TIENDAS VIRTUALES. Ana Belén Domínguez García Consultora Cronos Ibérica, S.A.

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

CAPÍTULO 3 Servidor de Modelo de Usuario

Sistema de Información de Productos Petrolíferos PROCEDIMIENTO GENERAL DE INTRODUCCIÓN DE DATOS Y ENVÍO DE LA INFORMACIÓN

Integración de la prevención de riesgos laborales

Eurowin 8.0 SQL. Manual del módulo TALLAS Y COLORES

Modelos de los sistemas distribuidos. Jorge Iván Meza Martínez

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

PROYECTO DE CONVENIO PARA USO DE SISTEMA DE VIDEOCONFERENCIAS

CONTROL DE DOCUMENTOS

Introducción a Spamina

INSTRUCTIVO CAMARA DE COMPENSACION Y LIQUIDACION

Aviso Legal CONDICIONES GENERALES DE USO DEL SITIO WEB DE RADIOTAXILAGUNA.COM

Tendencias. El proyecto de investigación FLUID-WIN. Presentación General. Colaboración en la cadena de suministro extendida

Entorno Virtual Uso educativo de TIC en la UR Tutorial de uso de:

Política de Seguridad y Salud Ocupacional. Recursos. Humanos. Abril 2006

MANUAL PARA RADICACIÓN Y ADMINISTRACIÓN ELECTRÓNICA DE FACTURAS APLICA PARA PROVEEDORES DEL BSC Y DEMÁS GRUPOS DEL BANCO

Transcripción:

Sistemas Operativos Distribuidos Comunicación Indirecta Alejandro Alonso Dpto. Ing. de Sistemas Telemáticos

Contenidos 1. Introducción 2. Comunicación de grupos 3. Editor/Suscriptor 4. Colas de mensajes

1. Introducción Comunicación entre entidades en un SD a través de un intermediario sin acoplamiento directo entre emisores y receptores Facilita la adaptación a cambios, aunque introduce retrasos Propiedades: Desacoplamiento espacial: El emisor no necesita conocer al receptor y viceversa. Mayor libertad para tratar cambios: los participantes se pueden reemplazar, actualizar, replicar o migrar. Desacoplamiento temporal: Los participantes pueden tener existencias independientes No necesitan existir al mismo tiempo para comunicarse

Introducción Acoplamiento espacial Desacoplamiento espacial Acoplamiento temporal Comunicación directa Los receptores deben existir al enviar mensajes Ej.: paso de mensajes, RMI El emisor no tiene que conocer a los receptores Deben existir al comunicarse Ej.: Multienvío IP, editar/ suscribir Desacoplamiento temporal Comunicación directa Diferente existencia de participantes Ej.: correo electrónico El emisor no conoce a los receptores ni tienen que existir simultáneamente Requiere persistencia Ej. Colas de mensajes

2. Comunicación de Grupos El mensaje se manda a un grupo y se difunde a todos los miembros del mismo El emisor no conoce a los receptores Abstracción respecto al multienvío, con: Todos los procesos correctos reciben los mismos mensajes Los mensajes se reciben en un orden preestablecido. Es una base importante para: Diseminación fiable de información a muchos clientes Apoyo a aplicaciones colaboradoras, para que los usuarios tengan la misma vista del sistema Apoyo a estrategias de tolerancia a fallos, como para mantener coherente información replicada Apoyo a sistemas de monitorización y gestión

Modelo de programación Los grupos tienen un conjunto de miembros Generalmente son procesos, Pueden unirse y abandonar el grupo Implementan multienvío: Los mensajes enviados al grupo se difunden a todos Los mensajes no suelen estar estructurados En un grupo cerrado sólo pueden enviar mensajes los miembros. En un grupo solapado sus miembros puede pertenecer a varios grupos. La comunicación suele ser síncrona

Servicio de gestión de grupos Expansión de la dirección del grupo Servicio de pertenencia Detector de fallos Notificación de miembros Expansión de direcciones Enviar a grupo Salir Multienvío Fallo Gestión de miembros del grupo Grupo de procesos Entrar

Gestión de grupos Primitivas de creación, adhesión y salida. CreaGrupo(grupo) JuntaGrupo(grupo) (podría ser a varios) SalGrupo(grupo) (implícito en caídas) Detector de fallos: clasifica el estado de fallo (supuesto). Notificación de vistas. Expansión de direcciones (síncrona con la vista)

Gestión de grupos y particiones Partición principal: Es la que continúa funcionando. Tiene la mayoría. Las demás deben estarse quietas. Particionable (ej.: videoconferencia).

Fiabilidad El envío se realiza con ciertas garantías en la entrega: Acuerdo sobre los mensajes que reciben los miembros y en su orden. Fiabilidad: se define mediante dos propiedades: Integridad: El mensaje que se recibe es el mismo que se envió Validez: los mensajes enviados se entregan en algún momento Fiabilidad en multienvío, incluye además: Acuerdo: si el mensaje se entrega a un proceso, se entrega a todos los del grupo

Ordenación La comunicación de grupo demanda garantías sobre el orden relativo de entrega de mensajes La ordenación no la garantizan las primitivas de bajo nivel de comunicación Se ofrece multienvío ordenado, con las siguientes opciones: FIFO: preservar el orden desde la perspectiva del emisor Causal: se consideran relaciones causales entre los mensajes. Total: Si un mensaje se envía antes que otro, entonces este orden se preserva para todos los procesos Estas propiedades son ejemplos de coordinación y acuerdo en sistemas distribuidos.

Notificación de vistas Una vista es una lista ordenada de procesos. Las vistas crecen y decrecen en un proceso. Las vistas cambian por entrada/salida voluntaria y por sospecha de caída. Los cambios de vista se entregan en orden total. Los cambios de vista se difunden con orden de sincronización (los mensajes de una vista se entregan antes de la notificación de cambio de vista). Son la base para: proporcionar garantías adicionales en el envío de los mensajes permite a los procesos tomar decisiones con información local

Requisitos de la notificación de vistas Orden: Si p entrega v(g) y luego v (g), entonces ningún proceso p q entrega v (g) antes que v(g) Integridad: Si p entrega v(g), entonces p v(g) No-trivialidad: Si q entra en un grupo y está accesible, entonces eventualmente q estará en las vistas entregadas por p

Orden de sincronización

Comunicación síncrona con las vistas Integridad Un proceso entrega cada mensaje una sola vez. Si un proceso entrega un mensaje, lo envió un miembro de su vista. Acuerdo Los procesos correctos entregan los mismos mensajes en cada vista. Si un proceso entrega m en v(g) y luego entrega v (g), todos los procesos de v(g) v (g), entregan m en v(g). Validez (grupos cerrados) Los procesos correctos entregan los mensajes que envían. Si falla la entrega de m a q, los que entregan m reciben inmediatamente una notificación de vista sin q.

Ejemplo de caída del que envía Correcto Correcto p falla p q r vista (p, q, r) vista (q, r) p falla p q r vista (p, q, r) vista (q, r) Incorrecto p p falla Incorrecto p p falla q q r r vista (p, q, r) vista (q, r) vista (p, q, r) vista (q, r)

Transferencia de estado Grupos colaborativos El que se incorpora puede necesitar estado común Al incorporarse, todos suspenden su actividad El primero en la vista envía el estado al nuevo El nuevo multienvía orden de continuación

3 Publicar/Suscribir También llamados sistemas distribuidos basados en sucesos (events) Concepto: Los editores publican sucesos estructurados a un servicio Los suscriptores expresan interés por un tipo particular de sucesos El servicio: casa las suscripciones frente a los sucesos publicados asegura el envío correcto de notificaciones de sucesos Un suceso se envía a un conjunto de suscriptores Ejemplos: La especificación DDS de OMG

Modelo Publicar/Suscribir Fuente externa Notificaciones Entidad financiera Entidad financiera Entidad financiera Fuente externa

Heterogeneidad: Características Facilita que componentes variados trabajen juntos Sólo hay que conocer los sucesos de interés y que alguien los publique Asincronía: Las notificaciones se envían asíncronamente a los suscriptores Así se evita que estén acoplados Problemas si no se mandan mensajes o nadie escucha Las notificaciones se pueden entregar con garantías: Garantías laxas Requisitos de multienvío fiable Requisitos de tiempo Requisitos de orden

Operaciones: Modelo de programación Publicar (suceso) Notificar (suceso) Anunciar(filtro) Suscribir(filtro) CancelarSuscripción(filtro) editor Publicar(e1) Suscribir(f1) suscriptor editor Publicar(e2) Sistema publicar/suscribir Notificar(e2) suscriptor editor Anunciar(f1) Notificar(e1) suscriptor

Canales: Esquemas del Filtro Los sucesos se publican en un canal Los suscriptores se suscriben a un canal Basados en asunto o tema: Es uno de los campos del suceso La suscripción se define con respecto a este dato Los asuntos pueden ser jerárquicos Basados en contenido Condición lógica sobre los valores de los atributos del suceso Basada en tipos: Tipos de sucesos compatibles con un tipo o subtipo de un filtro Se pueden integrar en lenguajes de programación

4. Colas de Mensajes Las colas de mensajes distribuidas describen un servicio punto a punto El concepto de cola de mensaje fundamenta la indirección Proporcionan desacoplamiento espacial y temporal Se usa para integrar aplicaciones o como base de sistemas de procesamiento de transacciones Ejemplos: IBM WebSphere MQ, Microsoft MSMQ, Oracle Streams Advanced Queuing

Colas de Mensajes Sistema Cola de Mensajes productores Enviar Recibir consumidor productores Enviar Consultar consumidor productores Enviar Notificar consumidor

Muy sencillo: Modelo de programación Los emisores mandan mensajes a la cola Los receptores leen mensajes de la cola Tres estilos de receptores que se suelen proporcionar: Recepción bloqueante Recepción no bloqueante Notificación: se manda un suceso cuando llega un mensaje Las colas tienen un orden FIFO o por prioridades. Se puede seleccionar un mensaje por sus características Los mensajes tienen un destino, metadatos y cuerpo

Modelo de programación Los mensajes son persistentes Se almacenan indefinidamente, hasta que se leen Se garantiza un envío fiable, pero no cuando se hace Pueden proporcionar funcionalidades adicionales: Los mensajes pueden formar parte de una transacción: o se realizan todas las acciones o ninguna Transformaciones de mensajes al llegar a la cola. Se pueden realizar cambios para adaptar el formato de la información Seguridad: transmisión confidencial de los mensajes

Bibliografía G. F. Coulouris, J. Dollimore, T. Kindberg y G. Blair. Distributed Systems. Concepts and Design. Quinta edición. Addison Wesley. Mayo 2011. Capítulo 6 Capítulo 18: detalles adicionales sobre los grupos