Implementación y estudio de un protocolo basado en replicación de datos - Len, Uriel Nicolás (2020)
Muchas de las aplicaciones que utilizamos hoy les aseguran a sus usuarios que siempre van a estar disponibles, aunque la red por momentos se encuentre lenta o incluso fuera de servicio. Para alcanzar esto, los programadores escriben aplicaciones donde el estado se propaga de forma asincrónica a través de distintos dispositivos. Una implementación posible consiste en clientes (dispositivos) que mantienen una copia de los datos y un líder o servidor que decide un orden sobre las operaciones realizadas por los usuarios. La literatura ofrece distintos modelos, y sus diferencias están asociadas a si la propagación entre clientes-servidor y servidor-clientes es sincrónica o asincrónica. En esta tesis estudiamos e implementamos gsp (por sus siglas en ingl ́es Global Sequence Protocol), un modelo operacional que propaga operaciones de forma asincrónica en ambasdirecciones, es decir, clientes-servidor y servidor-clientes. Para esto, la implementacón se construye sobre una capa de broadcast llamada rtob (por sus siglas Reliable Total Order Broadcast) que garantiza que todas las escrituras siempre son entregadas a cada cliente, en el mismo orden y sin perderse. Concretamente, desarrollamos una librería open-source de gsp, haciendo foco en estudiar cuáles garantías de consistencia, tales como read my writes, causalidad o prefijos, son alcanzadas por utilizar rtob. Nuestros casos de estudio muestran que, en la práctica, gsp depende del protocolo de broadcast para asegurar ciertas garantías de consistencia.