Protocolo de confirmación trifásica

El protocolo de confirmación trifásica (3PC) es una extensión del protocolo de confirmación bifásica (2PC) que evita el problema de bloqueo bajo ciertas suposiciones. En particular, se supone que no se produce ninguna partición de red y que no fallan más de k sitios, donde suponemos que ‘k’ es un número predeterminado. Con las suposiciones mencionadas, el protocolo evita el bloqueo mediante la introducción de una tercera fase adicional en la que varios sitios están involucrados en la decisión de comprometerse.

En lugar de anotar directamente la decisión de compromiso en su almacenamiento persistente, el coordinador primero se asegura de que al menos ‘k’ otros sitios sepan que tenía la intención de comprometer la transacción.

En una situación en la que falla el coordinador, los sitios restantes están obligados a seleccionar primero un nuevo coordinador. Este nuevo coordinador verifica el estado del protocolo de los sitios restantes. Si el coordinador ha decidido comprometerse, al menos uno de los otros sitios ‘k’ que informó estará activo y se asegurará de que se respete la decisión de compromiso. El nuevo coordinador reinicia la tercera fase del protocolo si alguno de los sitios de descanso sabía que el antiguo coordinador tenía la intención de realizar la transacción. De lo contrario, el nuevo coordinador aborta la transacción.

Inconveniente del protocolo de confirmación trifásica:
si bien el protocolo 3PC tiene la propiedad deseada de no bloquear a menos que fallen los sitios ‘k’, tiene el inconveniente de que la partición de la red puede parecer igual a la falla de más de los sitios ‘k’, lo que llevaría a bloqueo El protocolo también debe implementarse cuidadosamente para garantizar que la partición de la red no genere inconsistencias, donde la transacción se confirma en una partición y se aborta en otra. Debido a su sobrecarga, el protocolo 3PC no se usa mucho.

La diferencia entre el Protocolo de control trifásico y el Protocolo de control bifásico se puede entender en las siguientes figuras.

Fig-1 Esta figura representa el protocolo de confirmación de dos fases

Fig-2 Esta figura representa el Protocolo de Control Trifásico

Fase de difusión:
se introdujo anteriormente para ayudar al usuario a lidiar con casos como cuando falla un participante o fallan tanto el coordinador como el Node participante durante la fase de confirmación.

El coordinador de recuperación, cuando se hace cargo después de la falla del coordinador durante la Fase 2 del Protocolo de confirmación de dos fases anterior, la nueva fase adicional es útil de la siguiente manera.

Nota: al
consultar a los participantes, si se entera de que algunos Nodes están en la fase de compromiso, asume que el coordinador anterior antes del bloqueo tomó la decisión de comprometerse.
Por lo tanto, puede guiar el protocolo para cometer. De manera similar, si un participante responde que no recibe la preparación para la confirmación, el nuevo coordinador puede suponer que el coordinador anterior falló incluso antes de que comenzara la fase de preparación para la confirmación. Por lo tanto, puede asumir con seguridad que ningún otro participante habría realizado ninguno de los cambios y, por lo tanto, ahora puede abortar la transacción de manera segura.

Publicación traducida automáticamente

Artículo escrito por medha130101 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *