Articulo de referencia

Finalización de la transmisión confiable

La difusión confiable con terminación ( TRB ) es un problema en computación distribuida que encapsula la tarea de difundir un mensaje a un conjunto de procesos receptores en pre...

La difusión confiable con terminación ( TRB ) es un problema en computación distribuida que encapsula la tarea de difundir un mensaje a un conjunto de procesos receptores en presencia de fallas . [ 1 ] En particular, el remitente y cualquier otro proceso pueden fallar ("bloquearse") en cualquier momento.

Descripción del problema

Un protocolo TRB organiza el sistema en un proceso emisor y un conjunto de procesos receptores, que pueden incluir al propio emisor. Un proceso se considera "correcto" si no falla en ningún momento durante su ejecución. El objetivo del protocolo es transferir datos (el "mensaje") del emisor al conjunto de procesos receptores. Un proceso puede realizar numerosas operaciones de entrada/salida durante la ejecución del protocolo, pero finalmente "entrega" un mensaje pasándolo a la aplicación que lo invocó.

El protocolo debe proporcionar garantías importantes a los procesos receptores. Todos los procesos receptores correctos, por ejemplo, deben entregar el mensaje del remitente si el remitente también es correcto. Un proceso receptor puede entregar un mensaje especial,SF{\displaystyle \mathrm {SF} }("remitente defectuoso"), si el remitente falló, pero todos los procesos correctos entregaránSF{\displaystyle \mathrm {SF} }o ninguno lo hará. Por lo tanto, un proceso correcto garantiza que los datos que se le entregaron también se entregaron a todos los demás procesos correctos.

Más precisamente, un protocolo TRB debe satisfacer las cuatro propiedades formales que se indican a continuación.

  • Terminación : todo proceso correcto aporta algún valor.
  • Validez : si el remitente es correcto y transmite un mensajemetro{\displaystyle m}, entonces cada proceso correcto entregametro{\displaystyle m}.
  • Integridad : un proceso entrega un mensaje como máximo una vez, y si entrega algún mensajemetroSF{\displaystyle m\neq \mathrm {SF}}, entoncesmetro{\displaystyle m}fue transmitido por el remitente.
  • Acuerdo : si un proceso correcto entrega un mensajemetro{\displaystyle m}, entonces todos los procesos correctos entreganmetro{\displaystyle m}.

La presencia de fallos en el sistema dificulta el cumplimiento de estas propiedades. Un protocolo TRB simple pero inválido podría hacer que el remitente transmita el mensaje a todos los procesos y que los procesos receptores lo entreguen tan pronto como lo reciban. Sin embargo, este protocolo no satisface el acuerdo si pueden ocurrir fallos: si el remitente falla después de enviar el mensaje a algunos procesos, pero antes de enviarlo a otros, entonces el primer conjunto de procesos puede entregar el mensaje mientras que el segundo conjunto entrega el mensaje.SF{\displaystyle \mathrm {SF} }.

TRB está estrechamente relacionado, pero no es idéntico, al problema fundamental de la computación distribuida del consenso .

Referencias

  1. Alvisi, Lorenzo (2006). "Consenso y difusión fiable" (PDF) . Recuperado el 21 de mayo de 2006 .