Ejercicio de ejemplo de Time-Stamped Anti-Entropy (TSAE)
Algoritmo distribuido de consistencia débil del algoritmo Time-Stamped Anti-Entropy (TSAE)
A continuación mostraremos un ejercicio teórico con su solución.
Ejercicio.
Mostrar la estructura de los datos y las operaciones realizadas durante las sesiones de anti-entropy.
Mostrar la estructura de los datos (log and summary) y las operaciones realizadas después de las sesiones de anti-entropy.
Indicar si el estado final es consistente.
• En el tiempo t1, host C realiza la operación C3
• En el tiempo t2, host A realiza la operación A2
• En el tiempo t3, host A realiza la operación A3
• En el tiempo t4, host A realizar una sesión anti-entropy con el host B
• En el tiempo t5, host C realizar una sesión anti-entropy con el host B
• En el tiempo t6, host C realizar una sesión anti-entropy con el host A
t0
Summary A= A1, B2, C2
Summary B= A1, B2, C2
Summary C= A1, B2, C2
Log A= A1, B1, B2, C1, C2
Log B= A1, B1, B2, C1, C2
Log C= A1, B1, B2, C1, C2
• En el tiempo t1, host C realiza la operación C3
t1
Summary A= A1, B2, C2
Summary B= A1, B2, C2
Summary C= A1, B2, C3
Log A= A1, B1, B2, C1, C2
Log B= A1, B1, B2, C1, C2
Log C= A1, B1, B2, C1, C2, C3
• En el tiempo t2, host A realiza la operación A2
t2
Summary A= A2, B2, C2
Summary B= A1, B2, C2
Summary C= A1, B2, C3
Log A= A1, A2, B1, B2, C1, C2
Log B= A1, B1, B2, C1, C2
Log C= A1, B1, B2, C1, C2, C3
• En el tiempo t3, host A realiza la operación A3
T3
Summary A= A3, B2, C2
Summary B= A1, B2, C2
Summary C= A1, B2, C3
Log A= A1, A2, A3, B1, B2, C1, C2
Log B= A1, B1, B2, C1, C2
Log C= A1, B1, B2, C1, C2, C3
• En el tiempo t4, host A realizar una sesión anti-entropy con el host B
T4
Summary A= A3, B2, C2
Operaciones enviadas por A= A3, A2
Summary B= A1, B2, C2
Operaciones enviadas por B= (Ninguna)
Después de la sesión de anti-entropy:
Summary A= A3, B2, C2
Summary B= A3, B2, C2
Summary C= A1, B2, C3
Log A= A1, A2, A3, B1, B2, C1, C2
Log B= A1, A2, A3, B1, B2, C1, C2
Log C= A1, B1, B2, C1, C2, C3
• En el tiempo t5, host C realizar una sesión anti-entropy con el host B
Summary C= A1, B2, C3
Operaciones enviadas por C= C3
Summary B= A3, B2, C2 Operaciones enviadas por B= A3, A2
Después de la sesión de anti-entropy:
Summary A= A3, B2, C2
Summary B= A3, B2, C3
Summary C= A3, B2, C3
Log A= A1, A2, A3, B1, B2, C1, C2
Log B= A1, A2, A3, B1, B2, C1, C2, C3
Log C= A1, A2, A3, B1, B2, C1, C2, C3
• En el tiempo t6, host C realizar una sesión anti-entropy con el host A
Summary C= A3, B2, C3
Operaciones enviadas por C= C3
Summary A= A3, B2, C2
Operaciones enviadas por A= Ninguna
Después de la sesión de anti-entropy:
Summary A= A3, B2, C3
Summary B= A3, B2, C3
Summary C= A3, B2, C3
Log A= A1, A2, A3, B1, B2, C1, C2, C3
Log B= A1, A2, A3, B1, B2, C1, C2, C3
Log C= A1, A2, A3, B1, B2, C1, C2, C3
En este caso el estado final es consistente, ya que todos los host han recibido el mismo número de operaciones.