fbpx
Wikipedia

Multidifusión

La multidifusión o difusión múltiple (en inglés: multicast) es el envío de la información en múltiples redes a múltiples destinos simultáneamente.

Antes del envío de la información, deben establecerse una serie de parámetros. Para poder recibirla, es necesario establecer lo que se denomina "grupo multicast". Este grupo multicast tiene asociada una dirección de Internet, de esta forma el emisor del mensaje multicast lo envía a uno o varios grupos y, posteriormente, el mensaje llega a los procesos que están suscritos a dicho grupo, pudiendo estar un proceso suscrito a varios a la vez. La versión actual del protocolo de Internet (Internet Protocol o IP), conocida como IPv4, reserva las direcciones de tipo D para la multidifusión. Las direcciones IP tienen 32 bits, y las de tipo D son aquellas en las cuales los 4 bits más significativos son '1110' (224.0.0.0 a 239.255.255.255).

Multidifusión en Internet

Encaminamiento

 

Única difusión
(unicast)

 

Alguna difusión
(anycast)

 

Amplia difusión
(broadcast)

 

Múltiple difusión
(multicast)

 

Geodifusión
(geocast)

 

Algunos ejemplos de multidifusión en internet son:

Cómo funciona

El direccionamiento grupal antes mencionado es una de las propiedades clave de la multidifusión IP, ya que es fundamental para el funcionamiento de este concepto de comunicación. Además, existe la posibilidad de asignar un direccionamiento estático en el que, por ejemplo, se puede configurar una conexión a un servidor multicast para que este ofrezca el servicio correspondiente.

Fiabilidad

Bormann[1]​ define el concepto de fiabilidad desde el punto de vista del emisor y del receptor del mensaje. Desde el punto de vista del segundo, se considera que el protocolo es fiable si este puede determinar cuándo está fallando. Por otro lado, desde el punto de vista del emisor, se considera que es fiable si se asegura (con suficiente probabilidad) que todos los mensajes llegan dentro de un tiempo límite a todos los receptores no fallidos. Es decir, el término de fiabilidad está ampliamente relacionado con los mecanismos de recuperación y detección de errores.

En cuanto al concepto de fiabilidad en multicast, se puede dar la siguiente definición: El término fiabilidad en multicast corresponde con la entrega finalmente de todos los datos a todos los miembros del grupo, sin cumplir ningún orden de entrega particular.[2]

Se distinguen dos tipos de multidifusión dependiendo del método de recuperación de errores que se utilice: sender-initiated o receiver-initiated.[3]

Multidifusión básica

En la multidifusión básica consideramos que la comunicación es fiable uno a uno. En este tipo de multidifusión planteamos un protocolo en el que se usa un método de recuperación de errores del tipo sender-initiated, es decir, aquel en el cual es el emisor el responsable de la recuperación del error, consistiendo en que cada receptor envía un acuse de recibo (ACK) al emisor cuando les llega un mensaje del mismo.

Este método es problemático en entornos donde existen varios grupos multicast ya que llegarán al remitente una gran cantidad de ACK, provocando lo que conocemos como implosión de ACK, en la que se produce una saturación del emisor.

En este tipo de multidifusión el mensaje se entrega al menos una vez, por lo que pueden producirse problemas de duplicación. Además, decimos que es fiable uno a uno ya que no cumple con el concepto de acuerdo o atomicidad: si un proceso recibe un mensaje entonces todo el grupo lo recibe; o todos o ninguno.

 
Estructura de la multidifusión básica.

Multidifusión fiable

La multidifusión se utiliza ampliamente para tráfico multimedia, por lo que la pérdida ocasional de paquetes no es un problema. Sumando esto con que la multidifusión IP es muy fiable y con los problemas mencionados en la multidifusión básica, se utiliza frecuentemente multidifusión IP sobre UDP.

En este tipo se usa el segundo método mencionado anteriormente de recuperación de errores, el receiver-initiated, en el que el responsable de la recuperación del error es el receptor. Es decir, no se envían acuses de recibo (ACK) por separado si no que el emisor los manda adjuntos en otros mensajes que envíe al grupo confirmando la recepción de mensajes anteriores, lo que se conoce como piggiebacked (p. ej. el emisor envía un mensaje X a un proceso p y confirma mediante un ACK adjunto que recibió correctamente un mensaje de p anteriormente). Además, los receptores enviarán acuses de recibo negativos (NACK) por separado cuando se detecte la pérdida de algún mensaje.

En este método también se puede producir una implosión, pero de NACK. Para evitarlo, si un determinado número de receptores no recibe el mensaje actual pero recibe el siguiente, entonces estos comienzan un tiempo de espera aleatorio y el NACK se mandará al emisor solamente una vez por el receptor cuyo tiempo aleatorio termine antes. De este modo se consigue minimizar los NACK duplicados. Este tipo de mecanismos son conocidos como RINA (Receiver-Initiated with NACK Avoidance).[4]

En la multidifusión fiable, un proceso emisor entrega un mensaje como mucho una vez y sí que se cumple el concepto de acuerdo.

Funcionamiento de la multidifusión fiable

Planteamos un ejemplo con un grupo formado por 3 procesos {p, q, r}.

 
Envío multicast.

Consideraciones previas:

  • Cada proceso p mantiene un número de secuencia   por cada grupo al que pertenece.
  • Cada proceso mantiene un vector de n elementos (siendo n el número de procesos del grupo) donde cada elemento corresponde al número de mensajes recibido por un determinado proceso (p. ej.   en el proceso q es el número de mensajes recibidos de p).

En cuanto al envío del mensaje multicast, el proceso emisor manda dicho mensaje al grupo adjuntando el número de secuencia correspondiente y los acuses de recibo necesarios. Además, se aumenta el número de secuencia (  =   + 1) cuando el mensaje sea entregado por los procesos receptores.

Por otro lado, en cuanto a la recepción, para explicar el concepto se plantea la siguiente situación: recepción en q de un mensaje de p para el grupo g, con un número de secuencia   y acuses de recibo <q,  > adjuntos. Tenemos tres escenarios:

 
Recepción multicast.
  • Si   =   + 1: el proceso q F-entrega el mensaje y aumenta   (número de mensajes recibidos de p).
  • Si      : el mensaje es un duplicado (ya se había recibido con anterioridad) y por lo tanto es descartado.
  • Si       + 1 o      : el proceso q manda un acuse de recibo negativo (NACK) a p indicando que ha perdido uno o más mensajes.

Como se ve en la imagen de la derecha, el mensaje actual es entregado por q y por r aunque queden mensajes anteriores por llegar, es decir, los mensajes llegan en distinto orden para los diferentes procesos. Este aspecto se soluciona utilizando otro tipo de multidifusión conocida como multidifusión ordenada.

En el caso de que sea el proceso emisor el que ha perdido mensajes, será notificado por el proceso correspondiente con un NACK.

Multidifusión Ordenada

El algoritmo de multidifusión fiable sobre IP-multicast no garantiza que los mensajes lleguen siempre en el mismo orden y esto puede ser un problema para las aplicaciones que requieren un orden.

Los tipos de ordenación más frecuentes son la ordenación total, causal y la ordenación FIFO.

Tipos de ordenación

  • Ordenación FIFO: Si un proceso difunde un mensaje m1 y luego un mensaje m2, estos se deberán entregar en el orden en el que fueron enviadas por el emisor, es decir, siempre se entregará m1 antes que m2.
  • Ordenación causal: Si la difusión de un mensaje m1 ocurre causalmente antes que la difusión de un mensaje m2, entonces un proceso correcto entregará m1 antes que m2.
  • Ordenación total: Si dos procesos correctos Pi y Pj entregan dos mensajes m1 y m2, entonces Pi entrega m1 antes que m2sí y solo sí Pj entrega m1 antes que m2.

Implementación de la ordenación FIFO

Una multidifusión con ordenación FIFO tiene dos operaciones: OF-Multicast y OF-Entrega.

Se utilizarán las siguientes variables en el proceso P:

  • Sgp contador de mensajes que el proceso p ha enviado al grupo g
  • Rgq número de secuencia del último mensaje que p ha recibido del proceso q enviado al grupo g

Cuando se realiza la operación OF-multicast de p para el grupo g

  • Adjuntar Sgp en el mensaje
  • Realiza B-multicast del mensaje al grupo g
  • Incrementa Sgp en 1 -> Sgp = Sgp + 1

Cuando p recibe un mensaje de q:

  • Si S = Rgq+1 → se comprueba que es el mensaje esperado y p usa OF-entrega fijando Rgq = S
  • Si S > Rgq+1 → retención del mensaje hasta que los mensajes intermedios hayan sido entregados y se cumpla S = Rgq+1[5]

Implementación de la ordenación causal

Este algoritmo tiene en cuenta la relación “sucedió antes que" y se emplean las operaciones de ordenamiento causal: OC-multicast y OC-entrega, cada proceso pi tiene su propio vector de marcas temporales.

 
Multidifusión ordenada causal

Variables en el proceso p

Vpg vector con el no de mensajes recibidos de cada proceso

Para enviar un mensaje mediante OC-multicast al grupo g, el proceso suma 1 a su entrada en el vector de marcas temporales y envía el mensaje mediante B-multicast a g junto con su marca de tiempo.

Cuando un proceso pi B-entrega un mensaje pj, tiene que colocarlo en la cola de retención antes de realizar la OC-entrega: primero debe asegurarse de haber entregado todos los mensajes que sucedieron antes, esto se comprueba de las siguientes maneras:

  • Pj espera hasta que haya entregado todo mensaje enviado por parte de pj
  • Pi espera a que cualquier mensaje que pj hubiese entregado hasta el instante de tiempo en el que envió el mensaje.

Implementación de la ordenación total

La manera básica de implementar la ordenación total es asignar identificadores totalmente ordenados a los mensajes que se multidifunden de tal forma que todo proceso realice la misma ordenación basada en esos identificadores.

Existen dos métodos para asignar identificadores a los mensajes:

  • Secuenciador

El proceso elegido como secuenciador es el encargado de ordenar los mensajes.

Cuando un proceso desea enviar un mensaje m con OT-multicast este se envía al secuenciador.

El secuenciador le asigna un número de secuencia de forma creciente y consecutiva a los mensajes que B-entrega y lo envía a todos los procesos del grupo.

El secuenciador anuncia la secuencia de números mediante B-multicast al grupo g de mensajes con el ordenamiento.

Un mensaje permanecerá retenido en la cola indefinidamente hasta que pueda efectuarse OT-entrega de acuerdo con el correspondiente número de secuencia.

 
Multidifusión ordenada total ISIS
  • Implementación total por acuerdo (ISIS)

Fue originariamente desarrollado para la herramientas ISIS (la empresa que comercializaba esta herramienta ya no existe, pero ISIS operó en la bolsa de valores de NY y sigue usándose en el sistema de control de tráfico aéreo francés o en el navío de guerra americano AEGIS[1]. Actualmente, ISIS ha evolucionado hacia una nueva versión más centrada en replicación llamada VSync[2]). Teniendo n procesos, las variables para el proceso qson:

Agq: mayor número de secuencia acordado para el grupo g del proceso q

Pgq: mayor número de secuencia propuesto para el grupo g del proceso q

Implementación

 
Emisión de varios mensajes a la vez a varios procesos
 
Acuerdo entre los mensajes de una multidifusión
 
Envio final en multidifusión ordenada

A la hora de implementar este acuerdo tenemos tres partes (teniendo n procesos):

  1. El proceso p realizará un mensaje (m) y lo multidifundirá, es decir: p hace B-multicast<m,i> a g (i identificador único de m)
  2. Cada proceso q responde a p con una propuesta Pgq =máx(Agq, Pgq )+1
    1. Se asigna al mensaje m el no de secuencia Pgq de modo provisional
    2. Se coloca y ordena en la cola de retención según ese no provisional
  3. El proceso p decide entre todas las propuestas recibidas el número de secuencia definitivo y lo envía a todos los procesos otra vez, es decir: p recoge todos los números de secuencia propuestos y selecciona el mayor (a) como acuerdo, realizando B-multicast<a,i> a g (siendo "a" el orden acordado)
    1. Cada proceso fija Agq = máx(Agq, a) y se lo asigna al mensaje i
    2. Reordena la cola si difiere al propuesto
    3. Cuando el mensaje al inicio de la cola tenga no acordado, se entrega

Ejemplo práctico

  1. Tenemos 4 procesos, de los cuales P1 y P4 crearán un mensaje y realizarán la multidifusión.
  2. Una vez enviado el mensaje, irán recibiendo las propuestas de llegada a cada proceso (el valor del primero al que llega es menor que al último que le llega). Las recogemos en dos grupos, diferenciándolos por el proceso que envió el mensaje.
  3. Una vez escogido el número de secuencia se manda a todos los procesos, se reordena el buzón y se procede a realizar el envío del mensaje.
    1. Si el acuerdo que llega a un proceso tiene un valor mayor a los guardados en el buzón, esperaremos a que lleguen los demás acuerdos para ir sacando del buzón y enviado el mensaje del menor al mayor número de secuencia.
    2. Si el acuerdo que llega a un proceso tiene un valor menor que los guardados en el buzón, podemos enviar directamente este mensaje sin necesidad de esperar.

En qué escenario resulta útil

● Si se busca un desempeño optimizado de la red.

● Cuando se desea soporte para aplicaciones distribuidas.

● En caso de querer economizar en recursos.

● Si se quiere hallar facilidad de crecimiento en escala.

Referencias

  1. Bormann, C.; Ott, J.; Gehrcke, H.; Seifert, N. (1994). «MTP-2: Towards Achieving the S.E.R.O. Properties for Multicast Transport». Proceedings of ICCCN. 
  2. Floyd, S.; Jacobson, V.; Liu, C. -G.; McCanne, S.; Zhang, L. (December 1997). «A reliable multicast framework for light-weight sessions and application level framing». IEEE/ACM Transactions on Networking 5 (6): 784-803. doi:10.1109/90.650139. 
  3. Brandt, Joseph J. (26 de mayo de 1998). «Reliable multicast protocols and their application on the Green Bank Telescope». Proc. SPIE 3351, Telescope Control Systems III. 
  4. Kostin, A.; Ilushechkina, L. (June 2010). Modeling and Simulation of Distributed Systems. 
  5. Coulouris, George F. (2012). Distributed systems : concepts and design. Addison-Wesley / Pearson Education Ltd. ISBN 978-1-4479-3017-4. OCLC 899731054. Consultado el 27 de junio de 2020. 

Bibliografía

  • Rodrigo Santamaría. Apuntes Sistemas Distribuidos Universidad de Salamanca. | Tema 5 - Coordinación y acuerdo[1]

Enlaces externos

  • Sistemas Distribuidos - Coordinación y Acuerdo
  • Alberto Lafuente, Mikel Larrea. UPV- EHU Comunicación a grupos
  •   Datos: Q899288
  1. «Rodrigo Santamaría. Apuntes Sistemas Distribuidos Universidad de Salamanca. | Tema 5 - Coordinación y acuerdo». 

multidifusión, este, artículo, sección, necesita, referencias, aparezcan, publicación, acreditada, este, aviso, puesto, agosto, 2015, multidifusión, difusión, múltiple, inglés, multicast, envío, información, múltiples, redes, múltiples, destinos, simultáneamen. Este articulo o seccion necesita referencias que aparezcan en una publicacion acreditada Este aviso fue puesto el 25 de agosto de 2015 La multidifusion o difusion multiple en ingles multicast es el envio de la informacion en multiples redes a multiples destinos simultaneamente Antes del envio de la informacion deben establecerse una serie de parametros Para poder recibirla es necesario establecer lo que se denomina grupo multicast Este grupo multicast tiene asociada una direccion de Internet de esta forma el emisor del mensaje multicast lo envia a uno o varios grupos y posteriormente el mensaje llega a los procesos que estan suscritos a dicho grupo pudiendo estar un proceso suscrito a varios a la vez La version actual del protocolo de Internet Internet Protocol o IP conocida como IPv4 reserva las direcciones de tipo D para la multidifusion Las direcciones IP tienen 32 bits y las de tipo D son aquellas en las cuales los 4 bits mas significativos son 1110 224 0 0 0 a 239 255 255 255 Indice 1 Multidifusion en Internet 2 Como funciona 3 Fiabilidad 3 1 Multidifusion basica 3 2 Multidifusion fiable 3 2 1 Funcionamiento de la multidifusion fiable 4 Multidifusion Ordenada 4 1 Implementacion de la ordenacion FIFO 4 2 Implementacion de la ordenacion causal 4 3 Implementacion de la ordenacion total 5 En que escenario resulta util 6 Referencias 7 Bibliografia 8 Enlaces externosMultidifusion en Internet EditarEncaminamiento Unica difusion unicast Alguna difusion anycast Amplia difusion broadcast Multiple difusion multicast Geodifusion geocast vteAlgunos ejemplos de multidifusion en internet son IEEE 802 1aq Shortest Path Bridging SPB IP Multicast Internet Relay Chat IRC NNTP PSYC Peercasting usando conexiones punto a punto peer to peer Como funciona EditarEl direccionamiento grupal antes mencionado es una de las propiedades clave de la multidifusion IP ya que es fundamental para el funcionamiento de este concepto de comunicacion Ademas existe la posibilidad de asignar un direccionamiento estatico en el que por ejemplo se puede configurar una conexion a un servidor multicast para que este ofrezca el servicio correspondiente Fiabilidad EditarBormann 1 define el concepto de fiabilidad desde el punto de vista del emisor y del receptor del mensaje Desde el punto de vista del segundo se considera que el protocolo es fiable si este puede determinar cuando esta fallando Por otro lado desde el punto de vista del emisor se considera que es fiable si se asegura con suficiente probabilidad que todos los mensajes llegan dentro de un tiempo limite a todos los receptores no fallidos Es decir el termino de fiabilidad esta ampliamente relacionado con los mecanismos de recuperacion y deteccion de errores En cuanto al concepto de fiabilidad en multicast se puede dar la siguiente definicion El termino fiabilidad en multicast corresponde con la entrega finalmente de todos los datos a todos los miembros del grupo sin cumplir ningun orden de entrega particular 2 Se distinguen dos tipos de multidifusion dependiendo del metodo de recuperacion de errores que se utilice sender initiated o receiver initiated 3 Multidifusion basica Editar En la multidifusion basica consideramos que la comunicacion es fiable uno a uno En este tipo de multidifusion planteamos un protocolo en el que se usa un metodo de recuperacion de errores del tipo sender initiated es decir aquel en el cual es el emisor el responsable de la recuperacion del error consistiendo en que cada receptor envia un acuse de recibo ACK al emisor cuando les llega un mensaje del mismo Este metodo es problematico en entornos donde existen varios grupos multicast ya que llegaran al remitente una gran cantidad de ACK provocando lo que conocemos como implosion de ACK en la que se produce una saturacion del emisor En este tipo de multidifusion el mensaje se entrega al menos una vez por lo que pueden producirse problemas de duplicacion Ademas decimos que es fiable uno a uno ya que no cumple con el concepto de acuerdo o atomicidad si un proceso recibe un mensaje entonces todo el grupo lo recibe o todos o ninguno Estructura de la multidifusion basica Multidifusion fiable Editar La multidifusion se utiliza ampliamente para trafico multimedia por lo que la perdida ocasional de paquetes no es un problema Sumando esto con que la multidifusion IP es muy fiable y con los problemas mencionados en la multidifusion basica se utiliza frecuentemente multidifusion IP sobre UDP En este tipo se usa el segundo metodo mencionado anteriormente de recuperacion de errores el receiver initiated en el que el responsable de la recuperacion del error es el receptor Es decir no se envian acuses de recibo ACK por separado si no que el emisor los manda adjuntos en otros mensajes que envie al grupo confirmando la recepcion de mensajes anteriores lo que se conoce como piggiebacked p ej el emisor envia un mensaje X a un proceso p y confirma mediante un ACK adjunto que recibio correctamente un mensaje de p anteriormente Ademas los receptores enviaran acuses de recibo negativos NACK por separado cuando se detecte la perdida de algun mensaje En este metodo tambien se puede producir una implosion pero de NACK Para evitarlo si un determinado numero de receptores no recibe el mensaje actual pero recibe el siguiente entonces estos comienzan un tiempo de espera aleatorio y el NACK se mandara al emisor solamente una vez por el receptor cuyo tiempo aleatorio termine antes De este modo se consigue minimizar los NACK duplicados Este tipo de mecanismos son conocidos como RINA Receiver Initiated with NACK Avoidance 4 En la multidifusion fiable un proceso emisor entrega un mensaje como mucho una vez y si que se cumple el concepto de acuerdo Funcionamiento de la multidifusion fiable EditarPlanteamos un ejemplo con un grupo formado por 3 procesos p q r Envio multicast Consideraciones previas Cada proceso p mantiene un numero de secuencia S g p displaystyle S g p por cada grupo al que pertenece Cada proceso mantiene un vector de n elementos siendo n el numero de procesos del grupo donde cada elemento corresponde al numero de mensajes recibido por un determinado proceso p ej R p displaystyle R p en el proceso q es el numero de mensajes recibidos de p En cuanto al envio del mensaje multicast el proceso emisor manda dicho mensaje al grupo adjuntando el numero de secuencia correspondiente y los acuses de recibo necesarios Ademas se aumenta el numero de secuencia S g p displaystyle S g p S g p displaystyle S g p 1 cuando el mensaje sea entregado por los procesos receptores Por otro lado en cuanto a la recepcion para explicar el concepto se plantea la siguiente situacion recepcion en q de un mensaje de p para el grupo g con un numero de secuencia S displaystyle S y acuses de recibo lt q R displaystyle R gt adjuntos Tenemos tres escenarios Recepcion multicast Si S displaystyle S R g p displaystyle R g p 1 el proceso q F entrega el mensaje y aumenta R g p displaystyle R g p numero de mensajes recibidos de p Si S displaystyle S displaystyle leq R g p displaystyle R g p el mensaje es un duplicado ya se habia recibido con anterioridad y por lo tanto es descartado Si S displaystyle S gt displaystyle gt R g p displaystyle R g p 1 o R displaystyle R gt displaystyle gt R g p displaystyle R g p el proceso q manda un acuse de recibo negativo NACK a p indicando que ha perdido uno o mas mensajes Como se ve en la imagen de la derecha el mensaje actual es entregado por q y por r aunque queden mensajes anteriores por llegar es decir los mensajes llegan en distinto orden para los diferentes procesos Este aspecto se soluciona utilizando otro tipo de multidifusion conocida como multidifusion ordenada En el caso de que sea el proceso emisor el que ha perdido mensajes sera notificado por el proceso correspondiente con un NACK Multidifusion Ordenada EditarEl algoritmo de multidifusion fiable sobre IP multicast no garantiza que los mensajes lleguen siempre en el mismo orden y esto puede ser un problema para las aplicaciones que requieren un orden Los tipos de ordenacion mas frecuentes son la ordenacion total causal y la ordenacion FIFO Tipos de ordenacion Ordenacion FIFO Si un proceso difunde un mensaje m1 y luego un mensaje m2 estos se deberan entregar en el orden en el que fueron enviadas por el emisor es decir siempre se entregara m1 antes que m2 Ordenacion causal Si la difusion de un mensaje m1 ocurre causalmente antes que la difusion de un mensaje m2 entonces un proceso correcto entregara m1 antes que m2 Ordenacion total Si dos procesos correctos Pi y Pj entregan dos mensajes m1 y m2 entonces Pi entrega m1 antes que m2si y solo si Pj entrega m1 antes que m2 Implementacion de la ordenacion FIFO Editar Una multidifusion con ordenacion FIFO tiene dos operaciones OF Multicast y OF Entrega Se utilizaran las siguientes variables en el proceso P Sgp contador de mensajes que el proceso p ha enviado al grupo g Rgq numero de secuencia del ultimo mensaje que p ha recibido del proceso q enviado al grupo gCuando se realiza la operacion OF multicast de p para el grupo g Adjuntar Sgp en el mensaje Realiza B multicast del mensaje al grupo g Incrementa Sgp en 1 gt Sgp Sgp 1Cuando p recibe un mensaje de q Si S Rgq 1 se comprueba que es el mensaje esperado y p usa OF entrega fijando Rgq SSi S gt Rgq 1 retencion del mensaje hasta que los mensajes intermedios hayan sido entregados y se cumpla S Rgq 1 5 Implementacion de la ordenacion causal Editar Este algoritmo tiene en cuenta la relacion sucedio antes que y se emplean las operaciones de ordenamiento causal OC multicast y OC entrega cada proceso pi tiene su propio vector de marcas temporales Multidifusion ordenada causalVariables en el proceso pVpg vector con el no de mensajes recibidos de cada procesoPara enviar un mensaje mediante OC multicast al grupo g el proceso suma 1 a su entrada en el vector de marcas temporales y envia el mensaje mediante B multicast a g junto con su marca de tiempo Cuando un proceso pi B entrega un mensaje pj tiene que colocarlo en la cola de retencion antes de realizar la OC entrega primero debe asegurarse de haber entregado todos los mensajes que sucedieron antes esto se comprueba de las siguientes maneras Pj espera hasta que haya entregado todo mensaje enviado por parte de pjPi espera a que cualquier mensaje que pj hubiese entregado hasta el instante de tiempo en el que envio el mensaje Implementacion de la ordenacion total Editar La manera basica de implementar la ordenacion total es asignar identificadores totalmente ordenados a los mensajes que se multidifunden de tal forma que todo proceso realice la misma ordenacion basada en esos identificadores Existen dos metodos para asignar identificadores a los mensajes SecuenciadorEl proceso elegido como secuenciador es el encargado de ordenar los mensajes Cuando un proceso desea enviar un mensaje m con OT multicast este se envia al secuenciador El secuenciador le asigna un numero de secuencia de forma creciente y consecutiva a los mensajes que B entrega y lo envia a todos los procesos del grupo El secuenciador anuncia la secuencia de numeros mediante B multicast al grupo g de mensajes con el ordenamiento Un mensaje permanecera retenido en la cola indefinidamente hasta que pueda efectuarse OT entrega de acuerdo con el correspondiente numero de secuencia Multidifusion ordenada total ISIS Implementacion total por acuerdo ISIS Fue originariamente desarrollado para la herramientas ISIS la empresa que comercializaba esta herramienta ya no existe pero ISIS opero en la bolsa de valores de NY y sigue usandose en el sistema de control de trafico aereo frances o en el navio de guerra americano AEGIS 1 Actualmente ISIS ha evolucionado hacia una nueva version mas centrada en replicacion llamada VSync 2 Teniendo n procesos las variables para el proceso qson Agq mayor numero de secuencia acordado para el grupo g del proceso qPgq mayor numero de secuencia propuesto para el grupo g del proceso q Implementacion Emision de varios mensajes a la vez a varios procesos Acuerdo entre los mensajes de una multidifusion Envio final en multidifusion ordenada A la hora de implementar este acuerdo tenemos tres partes teniendo n procesos El proceso p realizara un mensaje m y lo multidifundira es decir p hace B multicast lt m i gt a g i identificador unico de m Cada proceso q responde a p con una propuesta Pgq max Agq Pgq 1 Se asigna al mensaje m el no de secuencia Pgq de modo provisional Se coloca y ordena en la cola de retencion segun ese no provisional El proceso p decide entre todas las propuestas recibidas el numero de secuencia definitivo y lo envia a todos los procesos otra vez es decir p recoge todos los numeros de secuencia propuestos y selecciona el mayor a como acuerdo realizando B multicast lt a i gt a g siendo a el orden acordado Cada proceso fija Agq max Agq a y se lo asigna al mensaje i Reordena la cola si difiere al propuesto Cuando el mensaje al inicio de la cola tenga no acordado se entregaEjemplo practico Tenemos 4 procesos de los cuales P1 y P4 crearan un mensaje y realizaran la multidifusion Una vez enviado el mensaje iran recibiendo las propuestas de llegada a cada proceso el valor del primero al que llega es menor que al ultimo que le llega Las recogemos en dos grupos diferenciandolos por el proceso que envio el mensaje Una vez escogido el numero de secuencia se manda a todos los procesos se reordena el buzon y se procede a realizar el envio del mensaje Si el acuerdo que llega a un proceso tiene un valor mayor a los guardados en el buzon esperaremos a que lleguen los demas acuerdos para ir sacando del buzon y enviado el mensaje del menor al mayor numero de secuencia Si el acuerdo que llega a un proceso tiene un valor menor que los guardados en el buzon podemos enviar directamente este mensaje sin necesidad de esperar En que escenario resulta util Editar Si se busca un desempeno optimizado de la red Cuando se desea soporte para aplicaciones distribuidas En caso de querer economizar en recursos Si se quiere hallar facilidad de crecimiento en escala Referencias Editar Bormann C Ott J Gehrcke H Seifert N 1994 MTP 2 Towards Achieving the S E R O Properties for Multicast Transport Proceedings of ICCCN Floyd S Jacobson V Liu C G McCanne S Zhang L December 1997 A reliable multicast framework for light weight sessions and application level framing IEEE ACM Transactions on Networking 5 6 784 803 doi 10 1109 90 650139 Brandt Joseph J 26 de mayo de 1998 Reliable multicast protocols and their application on the Green Bank Telescope Proc SPIE 3351 Telescope Control Systems III Kostin A Ilushechkina L June 2010 Modeling and Simulation of Distributed Systems Coulouris George F 2012 Distributed systems concepts and design Addison Wesley Pearson Education Ltd ISBN 978 1 4479 3017 4 OCLC 899731054 Consultado el 27 de junio de 2020 Bibliografia EditarRodrigo Santamaria Apuntes Sistemas Distribuidos Universidad de Salamanca Tema 5 Coordinacion y acuerdo 1 Enlaces externos EditarSistemas Distribuidos Coordinacion y Acuerdo Alberto Lafuente Mikel Larrea UPV EHU Comunicacion a grupos Datos Q899288 Rodrigo Santamaria Apuntes Sistemas Distribuidos Universidad de Salamanca Tema 5 Coordinacion y acuerdo Obtenido de https es wikipedia org w index php title Multidifusion amp oldid 136618101, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos