Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Ejemplo del funcionamiento de Time-Stamped Anti-Entropy (TSAE)

20 abril, 2015

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.

1)
• 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
Partimos del siguiente estado:
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 t1 tendríamos lo siguiente:

• 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 t2 tendríamos lo siguiente:

• 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 t3 tendríamos lo siguiente:

• 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 t4 tendríamos lo siguiente:

• 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 t5 tendríamos lo siguiente:

• 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 t6 tendríamos lo siguiente:

• 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.

Entradas relacionadas

Responder a pmo79 Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.

Comentarios (9)

hola,
me podrian explicar como funciona el protocolo TSAE?

Muchas gracias,
FCS

Responder

Hola Miguel, muchas gracias por el ejemplo. Tengo que hacer una práctica sobre el TSAE y la verdad es que lo veía un poco confuso, pero ahora ya me ha quedado mucho más claro!

Saludos!

Responder

Hay un fallo en la resolución del algoritmo, en el summary C no es A3 sino A1, el resto todo en orden

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

Responder

Yo creo que está bien … el summary C es A3, en t5 hace un anti-entropy con B y recibe el A3

Responder

en mi opinión está correcto, yo también lo veo bien.

Gracias por el ejemplo

Responder

Me podrías explicar eso de Operaciones enviadas por C= C3 y demás ya que es lo unico que no entiendo. Una vez sacado eso que no entiendo, el resto es facil.

Responder

Buenas podrias poner mas ejemplos y con ejemplos purged.

Responder

El t=1, t=2, t=3 y t=4 los entiendo perfectamente pero en el t=5 ¿Porque B envia A3 y A2? ¿No debería enviar nada? En el t=6 ¿Porque A envia nada cuando debería enviar A3 y A2?¿Hay alguna formula o algun patrón a seguir?

Responder

Lee las paginas 36 y 37 de esta tesis y lo entenderas mejor:
leandro.site.ac.upc.edu/pubs/tesis-jacosta.pdf

Responder