SD-UNPSJB-2010-mod2

38
Módulo 2 Comunicación Facultad de Ingeniería Departamento de Informática Universidad Nacional de la Patagonia “San Juan Bosco” Sistemas Distribuidos Sistemas Distribuidos: Comunicación JRA © 2009 Comunicación en Sistemas Distribuidos Modelos de Comunicaciones Pasaje de Mensajes Modelo Cliente-Servidor Llamadas a Procedimiento Remoto (RPC) Comunicación en Grupo

description

sistemas distribuidos

Transcript of SD-UNPSJB-2010-mod2

  • Mdulo 2Comunicacin

    Facultad de IngenieraDepartamento de Informtica

    Universidad Nacional de la Patagonia San Juan Bosco

    Sistemas Distribuidos

    Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Modelos de ComunicacionesPasaje de MensajesModelo Cliente-ServidorLlamadas a Procedimiento Remoto (RPC)Comunicacin en Grupo

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    La comunicacin entre procesos necesita compartir informacin:

    a) datos compartidos

    b) pasajes de mensajes o copias compartidas

    P Q

    Area comn

    de memoria

    compartidaP Q

    Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Tipos de Comunicacin

    Comunicacin Persistente: almacena el mensaje (informacin) enviado por el emisor el tiempo que tomeentregarlo al receptor.

    Comunicacin Transitoria: almacena un mensaje slo mientras las aplicaciones del emisor y receptor estn en ejecucin.

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Tipos de Comunicacin

    Comunicacin asincrnica: el emisor contina inmediatamente despus de que ha pasado su mensaje para la transmisin.

    Comunicacin sincrnica: el emisor es bloqueado hasta que se sabe que su peticin es aceptada.

    Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Ejemplo de Comunicacin

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Pasaje de Mensajes

    Caractersticas deseables de un buen sistema de pasaje de mensajes

    Simplicidad Simple y fcil de usar (uso directo) Hacer sin preocuparse de aspectos de la red/sistema

    Semntica uniforme en: Comunicaciones locales Comunicaciones remotas

    Sistemas Distribuidos: ComunicacinJRA 2009

    EficienciaSi no la hay, las IPC son costosasCriterio: reduccin del nmero de mensajes

    intercambiados.Optimizacin incluye:

    -Evitar el costo de establecer y terminar conexiones entre el mismo par de procesos y cada intercambio de mensajes entre ellos.-Minimizar el costo de mantener la conexin.-Optimizar los reconocimientos cuando hay una serie de mensajes entre el send y receive.

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    ConfiabilidadLa cada del nodo o enlace implica prdida de mensaje.Se usan timeouts (duplicacin de mensajes)

    CorrectitudPueden enviarse multicast

    -atomicidad-orden de despacho-persistencia

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    FlexibilidadDeben permitir alguna clase de control de flujo entre

    procesos cooperativos, incluyendo send/receivesincrnicos y asincrnicos.

    SeguridadAutenticacin del receptor de un mensaje por el enviadorAutenticacin del enviador de un mensaje por el receptorEncriptacin del mensaje

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Portabilidad

    El sistema de pasaje de mensajes debe ser portable(posible construccin de protocolos de IPC reusando el mismo sistema de mensajes)

    Heterogeneidad de mquinas compatibilizacin de representacin.

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    Datos

    long var

    Datos actuales

    o punteros

    Nmero de

    bytes/elementosTipo

    #sec o

    id del

    mensaje

    Informacin de estructura Direcciones

    recep env

    Encabezamiento de longitud fija

    El pasaje de mensajes en la intercomunicacin entre procesos

    Una estructura de mensajes tpica:

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    El enviador determina el contenido del mensaje.

    El receptor tiene en cuenta como interpretar los datos.

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    En el diseo de un protocolo de intercomunicacin entre procesos debe considerarse:

    Quin enva ?Quin recibe ?Hay uno o varios receptores ?Est garantizado que el mensaje ha sido

    aceptado por el receptor ?Necesita el send esperar una respuesta ?

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Qu se debe hacer si falla el sitio y/o enlace ?Qu sucede si el receptor no est listo para recibir el mensaje ?Si hay varios mensajes esperando en el receptor, puede ste cambiar el orden?

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    No bloqueanteEl receptor conoce la llegada del mensaje

    PollingInterrupcin

    Bloqueantes sincrnica

    Fcil de implementar pero poca concurrencia

    Pasaje de Mensajes

    Sincronizacin

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin Sincrnica - Mensajes Bloqueantes

    ack

    mensaje

    enviador receptor

    Reanuda ejecucin

    Send (mns)

    Ejecucin

    suspendida

    Reanuda ejecucin

    Send (ack)

    Receive (mns)

    Ejecucin suspendida

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    BufferingDe buffer nulo a buffer con capacidad ilimitadaNo buffer

    Cita (rendez-vous)Descarte

    Buffer simpleAdecuado para transferencia sincrnicaCapacidad infinitaAlmacena todo lo que recibe (asincrnica)

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Buffer lmite finitoPuede haber rebalse de buffer

    Comunicacin no exitosa (lo hace menos confiable)Comunicacin con flujo controlado (bloquea al enviador hasta que haya espacio)

    Buffer mltipleMailbox o prtico

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    Mensajes multidatagrama

    La mayora tiene un lmite superior en el tamao del dato que puede ser transmitido en algn momento (MTU).

    Esto implica que magnitudes mas grandes deben fragmentarse en paquetes.

    El ensamblador y desensamblador es responsabi-lidad del sistema de pasaje de mensajes.

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Codificacin y decodificacin de mensajes de datos

    Un puntero absoluto pierde significado cuando es transmitido de un espacio a otro.

    Diferentes programas objeto ocupan una cantidad de espacio variada.

    Se usan, en general, dos representaciones:Representacin etiquetada (MACH)Representacin no etiquetada (SUN XDR)

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    Direccionamiento de los procesos

    Problema de nombres de las partes involucradas en una interaccin.

    Direccionamiento explcitoSend (process-id,msg)Receive(process-id,msg)

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Direccionamiento implcitoNo se explicita el nombre del proceso.Resulta til para cliente-servidor: se menciona un servicio.

    Send-any (service-id,msg)Receive-any (proceso-mudo,msg)

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    Manejo de fallas

    Cada de sitioCada de enlace

    Problemas posibles:a) Prdida del mensaje de requerimientob) Prdida del mensaje de respuestac) Ejecucin del requerimiento no exitosa

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    (a) Prdida del mensaje de requerimiento

    Send

    req

    Env Rec

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    (b) Prdida del mensaje de respuesta

    Env Rec

    Send

    req

    Send

    resp

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    (c) Ejecucin del requerimiento no exitosa

    Crash

    Env Rec

    Send

    req

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    Protocolos de mensajes confiablesCuatro mensajes

    C S

    resp

    ack

    req

    ack

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Tres mensajes

    C S

    req

    resp

    ack

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    Dos mensajes

    C S

    req

    resp

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Pasaje de Mensajes

    Comunicacin Persistente

    Sistemas Distribuidos: ComunicacinJRA 2009

    Arquitectura general de un sistema de mensajes encolados

    Relacin entre direcciones a nivel de colas y direcciones a nivel de red.

    Bsqueda en nivel

    de transporte de la

    direccin de la cola

    Direccin a nivel

    cola

    Bsqueda de la

    direccin en la base

    de datos

    Enviador Receptor

    SO LocalSO Local

    Capa deencolado

    Capa deencolado

    Direccin a nivel de

    transporte

    Red

    Pasaje de MensajesComunicacin Persistente

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Organizacin general de un sistema de cola de mensajes con routers.

    2-29

    Aplicacin

    Aplicacin

    Aplicacin

    Aplicacin

    Cola recepcin

    Receptor B

    Mensaje

    Cola envo

    Enviador A

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    2-30Programa Broker

    Red

    SO

    Broker de

    mensajes

    SO SO

    Capa colas

    Cliente destinoCliente fuente

    Base de datos con reglas de conversin

    Brokers de Mensajes

    Organizacin general de un broker de mensajes en un sistema de mensajes encolados

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Primitiva Significado

    Socket Crea un nuevo punto final de comunicacin

    Bind Adjunta una direccin local a un socketListen Anuncia el deseo de aceptar conexiones

    Accept Se bloquea el llamador hasta que llegue un requerimiento de conexin

    Connect Intenta activamente establecer una conexin

    Send Enva datos sobre la conexin

    Receive Recibe algunos datos sobre la conexin

    Close Libera la conexin

    Primitivas para Sockets en TCP/IP

    Pasaje de Mensajes

    Sistemas Distribuidos: ComunicacinJRA 2009

    Cliente

    Servidor

    Punto de sincronizacin Comunicacin

    Modelo de comunicacin orientado a conexin usando sockets.

    Pasaje de Mensajes

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Modelo Cliente - Servidor

    Cliente

    Kernel

    Servidor

    Kernel

    RED

    Requerimiento

    Respuesta

    Sistemas Distribuidos: ComunicacinJRA 2009

    Modelo Cliente-Servidor

    Las mquinas cliente son, en general, PC monousuario o puestos de trabajo que ofrecen una interfaz muy amigable para el usuario final. Cada servidor ofrece una serie de servicios de usuario compartidos a los clientes. El servidor permite a los clientes compartir el acceso a la misma base de datos y permite el uso de un sistema de computacin de alto rendimiento para gestionar la base de datos.

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Modelo Cliente-Servidor

    ServidorEstacin de trabajo

    (cliente)

    LAN o WAN o Internet

    Entorno genrico cliente/servidor.

    Sistemas Distribuidos: ComunicacinJRA 2009

    El software bsico es un sistema operativo que se ejecuta en la plataforma del hardware. Las plataformas y los sistemas operativos del cliente y del servidor pueden ser diferentes. Estas diferencias de niveles inferiores no son relevantes en tanto que un cliente y un servidor compartan los mismos protocolos de comunicacin y soporten las mismas aplicaciones.

    Modelo Cliente-Servidor

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Modelo Cliente-Servidor

    Servidor

    Estacin de trabajo cliente

    Servicios depresentacin

    Software de comunicaciones

    Sistema operativocliente

    Plataforma hardware

    Software decomunicaciones

    Sistema operativoservidor

    Plataforma hardware

    Peticin

    Respuesta

    Interaccinde protocolos

    Lgica de aplicacin (parte del cliente)

    Lgica de aplicacin (parte del servidor)

    Arquitectura genrica Cliente-Servidor

    Sistemas Distribuidos: ComunicacinJRA 2009

    Las funciones reales de la aplicacin pueden repartirse entre cliente y servidor de forma que:

    Se optimicen los recursos de la red y de la plataforma.Se optimice la capacidad de los usuarios para realizar varias tareas. Se optimice la capacidad para cooperar el uno con el otro en el uso de recursos compartidos.

    Modelo Cliente-Servidor

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Aplicaciones de Bases de Datos

    El servidor es un servidor de base de datos. La interaccin entre el cliente y el servidor se hace en forma de transacciones:

    El cliente realiza una peticin a la base de datos y recibe una respuesta de aquella.

    El servidor es responsable de mantener la base de datos.

    Sistemas Distribuidos: ComunicacinJRA 2009

    Servicios de presentacin

    Lgica deaplicacin

    Software decomunicaciones

    Sistema operativocliente

    Plataformahardware

    Estacin de trabajocliente

    Peticin

    Respuesta

    Interaccin de protocolo

    Software decomunicaciones

    Sistema gestorde base de datos

    Sistema operativo servidor

    Plataforma hardware

    Servidor

    Lgica de basede datos

    Lgica de base de datos

    Arquitectura cliente/servidor para aplicaciones de base de datos.

    Aplicaciones de Bases de Datos

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Utilizacin de bases de datos cliente/servidor.

    Servidor

    Cliente

    Base de datosde 1.000.000de registros

    Consulta inicial

    100.000 registros posibles

    Consulta siguiente

    100.000 registros posibles

    Consulta final

    Un registro devuelto

    (a) Cliente/servidor bien empleado

    Aplicaciones de Bases de Datos

    Sistemas Distribuidos: ComunicacinJRA 2009

    Cliente

    Servidor

    Base de datosde 1.000.000de registros

    Consulta300.000 registros devueltos

    (b) Cliente/servidor mal empleado

    Utilizacin de bases de datos cliente/servidor.

    Aplicaciones de Bases de Datos

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Clases de aplicaciones cliente/servidor

    Proceso basado en una mquina central:No es realmente un proceso cliente/servidor. Entorno tradicional de grandes sistemas.

    Cliente Servidor

    (a) Proceso basado en una mquina central

    Lgica de presentacin

    Lgica de aplicacinLgica de base de datos

    SGBD

    Sistemas Distribuidos: ComunicacinJRA 2009

    Clases de aplicaciones cliente/servidor

    Proceso basado en el servidor:Todo el tratamiento se hace en el servidor.Los puestos de trabajo de los usuarios ofrecen una interfaz de usuario grfica.

    Lgica de presentacin

    Lgica de aplicacinLgica de base de datos

    SGBD

    (b) Proceso basado en el servidor

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Clases de aplicaciones cliente/servidor

    Proceso basado en el cliente:Casi todo el proceso de la aplicacin se hace en el cliente. Las rutinas de validacin de datos y otras funciones lgicas de la base de datos se realizan en el servidor.

    Lgica de presentacin

    Lgica de base de datos

    SGBD

    Lgica de aplicacin

    Lgica de base de datos

    (d) Proceso basado en el cliente

    Sistemas Distribuidos: ComunicacinJRA 2009

    Clases de aplicaciones cliente/servidor

    Proceso cooperativo:El proceso de la aplicacin se lleva a cabo de forma optimizada. Compleja de instalar y mantener.

    Lgica de presentacin

    Lgica de base de datos

    SGBD

    Lgica de aplicacin Lgica de aplicacin

    (c) Proceso cooperativo

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Arquitectura cliente/servidor de tres capas

    El software de aplicacin est distribuido entre tres tipos de mquinas:

    Mquina de usuario:Cliente

    Servidor de capa intermedia:Pasarelas.Convierte protocolos.Mezcla e integra resultados de distintas fuentes de datos.

    Servidor final (backend).

    Sistemas Distribuidos: ComunicacinJRA 2009

    Cliente

    Servidor de capa intermedia(servidor de aplicaciones)

    Servidores finales(servidores de datos)

    Arquitectura cliente/servidor de tres capas.

    Arquitectura cliente/servidor de tres capas

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Llamadas a Procedimiento Remoto (RPC)Llamadas a Procedimientos Remotos (RPC)

    (RPC: Remote Procedure Call)Es un caso especial del modelo general de pasaje de

    mensajes.Es un mecanismo ampliamente aceptado para la

    intercomunicacin de procesos en sistemas distribuidos.

    Sistemas Distribuidos: ComunicacinJRA 2009

    El modelo RPCEs similar al bien conocido y entendido modelo de

    llamadas a procedimientos usado para transferir control y datos.

    El mecanismo de RPC es una extensin del anterior porque habilita a hacer una llamada a un procedimiento que no reside en el mismo espacio de direcciones.

    Llamadas a Procedimiento Remoto (RPC)

  • Sistemas Distribuidos: ComunicacinJRA 2009

    La facilidad de RPC usa un esquema de pasaje de mensajes para intercambiar informacin entre los procesos llamador (proceso cliente) y llamado (proceso servidor).

    Normalmente el proceso servidor duerme, espe-rando la llegada de un mensaje de requeri-miento.

    El proceso cliente se bloquea cuando enva el mensaje de requerimiento hasta recibir la respuesta.

    Llamadas a Procedimiento Remoto (RPC)

    Sistemas Distribuidos: ComunicacinJRA 2009

    Transparencia de RPCTransparencia sintctica: una llamada a procedi-miento

    remoto debe tener la misma sintaxis que una llamada local.

    Transparencia semntica: la semntica de un RPC es la misma que para una llamada local.

    Llamadas a Procedimiento Remoto (RPC)

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Implementacin del mecanismo de RPC

    El clienteEl stub clienteEl runtime RPCEl stub servidorEl servidor

    Llamadas a Procedimiento Remoto (RPC)

    Sistemas Distribuidos: ComunicacinJRA 2009

    Ret Llam

    Unpck Pack

    Receive Send

    Llam Ret

    Unpck Pack

    Receive Send

    Cliente Servidor

    Runtime

    Stub

    espera

    ejecuta

    Llamadas a Procedimiento Remoto (RPC)

  • Sistemas Distribuidos: ComunicacinJRA 2009

    ClienteEs el que inicia el RPC. Hace una llamada que invoca al

    stub.Stub clienteRealiza las siguientes tareas:a)Empaqueta la especificacin del procedimiento objetivo y

    sus argumentos en un mensaje y pide al runtime local que lo envie al stub servidor

    Llamadas a Procedimiento Remoto (RPC)

    Sistemas Distribuidos: ComunicacinJRA 2009

    b)En la recepcin de los resultados de la ejecucin del proceso, desempaqueta los mismos y los pasa al cliente.

    Runtime RPCManeja la transmisin de mensajes a travs de la red entre

    las mquinas cliente y servidor.

    Llamadas a Procedimiento Remoto (RPC)

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Stub servidorTrabaja en forma simtrica a como lo hace el stub cliente.

    ServidorCuando recibe un requerimiento de llamada del stub

    servidor, ejecuta el procedimiento apro-piado y retorna el resultado de la misma al stub servidor.

    Llamadas a Procedimiento Remoto (RPC)

    Sistemas Distribuidos: ComunicacinJRA 2009

    Stubs de Cliente y Servidor

    Principio de RPC entre un cliente y el programa servidor.

    Cliente

    Servidor

    Llamada al procedimiento remoto

    Retorno de lallamada

    Llama al procedimientolocal y retorna el resultado

    Tiempo

    Requerimiento Respuesta

    Espera por el resultado

    Llamadas a Procedimiento Remoto (RPC)

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Pasaje de Parmetros por Valor

    Pasos que involucra hacer una computacin remota por medio de RPC

    2-8

    Mquina cliente Mquina servidor

    proceso cliente

    proceso serv

    SO cliente SO serv

    1.Llamada del cliente al procedimiento

    2.El stub construye el mensaje

    3.El mensaje es enviado por la red

    6.El stub hace una llamada local a add

    5.El stub desempaca el mensaje

    4.El SO del servidor maneja el mensaje al stub del servidor

    Stub cliente

    Stub servidor

    Implementacin

    de add

    Llamadas a Procedimiento Remoto (RPC)

    Sistemas Distribuidos: ComunicacinJRA 2009

    RPC Asincrnico

    La interconexin entre cliente y servidor en un RPC tradicional

    Cliente espera por resultados

    req resp

    Llamada al

    procedimiento

    remoto

    Retorno de la

    llamada

    Servidor Llama al procedimiento local y retorna resultados

    tiempo

  • Sistemas Distribuidos: ComunicacinJRA 2009

    RPC Asincrnico

    Un cliente y servidor interactuando con dos RPCs asincrnicos

    2-13Cliente

    Servidor

    Llamada al procedimiento remoto

    Retorno de la llamada

    Llamada al cliente con un RPC en un sentido

    req

    Ack

    acepta req

    Retorna

    resultados

    Espera por

    aceptacin

    Interrumpe

    al cliente

    Llamada al procedimiento local Tiempo

    Sistemas Distribuidos: ComunicacinJRA 2009

    Enlace de un Cliente y un Servidor en RPC

    2-15Mquina Directorio

    Mquina ClienteMquina Servidor

    Servidor

    Directorio

    ServidorCliente

    3.Bsqueda servidor 2.Registro Servicio

    1.Registro endpoint5.Haga RPC

    4.Bsqueda endpointTabla de

    endpoints

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Grupos de comunicacin

    Hay tres tipos de grupos de comunicacin:

    Uno a muchos Muchos a uno Muchos a muchos

    Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Uno a muchosEste esquema es conocido como comunicacin multicast.En este caso los procesos receptores de los mensajes

    constituyen un grupo, que a su vez pueden ser de dos tipos:Grupos cerradosGrupos abiertos

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Grupos cerradosSolo los miembros del grupo pueden enviar mensajes al

    grupo.Un miembro externo solo puede enviar mensajes a un

    proceso individual y no al grupo.Grupos abiertosCualquier proceso en el sistema puede enviar un mensaje

    al grupo como tal.

    Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Un sistema de pasaje de mensajes con la facilidad de grupo de comunicacin provee la flexibilidad de crear y borrar grupos dinmicamente y permitir a un proceso agregarse o dejar un grupo.

    Un mecanismo para realizar todo esto es un servidor de grupos.

    Esta solucin sufre de pobre confiabilidad y pobre escalabilidad.

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    Muchos a unoEnviadores mltiples envian mensajes a un nico receptor.Hay un no determinismo.

    Muchos a muchosMltiples enviadores envan mensajes a mltiples

    receptores.

    Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    La cuestin mas importante en este esquema es el ordenamiento de los mensajes.

    S0 S1R1 R0

    m1

    m1

    m2

    m2

    No hay restriccin de

    orden

  • Sistemas Distribuidos: ComunicacinJRA 2009

    Comunicacin en Sistemas Distribuidos

    S0 S1R1 R0

    m1

    m1

    m2

    m2

    t2t1

    Tiempo

    t1