Lamport Logical Clock Teaching Tool (LLCTT): A New Tool for Teaching Clock Synchronization in Distributed Systems
DOI:
https://doi.org/10.5753/rbie.2026.6060Keywords:
Distributed Systems, Clock Synchronization, Lamport Logic Clocks, Teaching Tool, PythonAbstract
Distributed Systems is a core subject in Computer Science, and clock synchronization is one of its most critical topics. Among the various algorithms developed for this purpose, Lamport’s logical clock stands out as a foundational concept. However, due to its abstract nature, many students struggle to fully grasp it. One of the main challenges in teaching this subject is the duality between physical time and causal ordering in real-world scenarios. To address this, we present the Lamport Logical Clock Teaching Tool (LLCTT). Developed in Python, LLCTT is designed with a two-fold approach to enhance the learning experience. First, to ensure a reliable experimental environment, the tool implements a physical synchronization module that addresses hardware failures—specifically discharged CMOS (Complementary Metal-Oxide-Semiconductor) batteries—by automatically aligning the physical date and time of laboratory nodes. Second, and primarily, LLCTT features an intuitive graphical interface that simulates Lamport’s Logical Clocks, allowing users to visualize event ordering and counter increments independent of physical time. To evaluate LLCTT, we conducted multiple tests in real network environments. The results confirmed the tool’s effectiveness in both correcting physical clock discrepancies and demonstrating the logical ordering of events. With LLCTT, students can clearly observe the distinction between physical time maintenance and logical causal tracking, significantly simplifying the understanding of these fundamental concepts. LLCTT has been integrated into the Distributed Systems curriculum for over a year and has proven to be an effective educational aid.
Downloads
Referências
Este arquivo é um PDF. Preciso verificar se os links `[GS Search]` estão embutidos como hyperlinks clicáveis no PDF, o que requer extração via código.Tenho todos os links. Agora vou cruzar a posição de cada hyperlink com o texto ao redor para associar cada URI à referência correta, incluindo o texto âncora de cada `[GS Search]`.Tenho todo o necessário. Os links foram extraídos com precisão. Segue a listagem de referências:
---
Adams, C., Cain, P., Pinkas, D., & Zuccherato, R. (2001). Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP) [Accessed on: January 20, 2024]. [Link] [GS Search].
Antunes, J. (2014). Relógios de Lamport [Accessed on: June 12, 2023]. [Link]
Barcellos, C. (2023). Simulador de relógios lógicos de Lamport [Accessed on: January 23, 2024]. [Link]
Cândido, P. H. V., Morais, J. V. F., Santos, S. M., Zevarez, V. A. O., Cavalherie, L. F. A., Gois, P. H. M., & Silva-Santos, C. H. (2021). Panda: Uma nova ferramenta web responsiva para auxiliar no ensino e comunicação de pessoas com limitações psicomotoras. Brazilian Journal of Computers in Education (RBIE), 29, 25–47. https://doi.org/10.5753/RBIE.2021.29.0.25 [GS Search].
Cristian, F. (1989). Probabilistic clock synchronization. Distributed computing, 3, 146–158. https://doi.org/10.1007/BF01784024 [GS Search].
Gusella, R., & Zatti, S. (1989). The accuracy of the clock synchronization achieved by TEMPO in Berkeley UNIX 4.3BSD. IEEE Transactions on Software Engineering, 15(7), 847–853. https://doi.org/10.1109/32.29484 [GS Search].
Lamport, L. (1978). Time, clocks, and the ordering of events in a distributed system. Commun. ACM, 21(7), 558–565. https://doi.org/10.1145/359545.359563 [GS Search].
Lamport, L., & Melliar-Smith, P. M. (1985). Synchronizing clocks in the presence of faults. Journal of the Association for Computing Machinery, 32(1), 27. https://doi.org/10.1145/2455.2457 [GS Search].
Luzia, S. I. (2004). Um ambiente para ensino de algoritmos de consenso [Master Tesis in Science Computing]. https://doi.org/10.47749/T/UNICAMP.2004.363296 [GS Search].
Mills, D. L. (1989). Network Time Protocol version 1 [Accessed on: January 19, 2024]. [Link] [GS Search].
Rodrigues, R. J. S., Lima, R. A., & José, D. A. M. (2017). Algoritmo para sincronização de relógios físicos em sistemas distribuídos [Escola Regional de Redes de Computadores (ERRC) 2017 (UFSM)]. [Link] [GS Search].
Santana, T. (2017). Simulação do algoritmo de Lamport em Java [Accessed on: January 10, 2024]. [Link]
Silva, D. L. (2020). Relógio lógico de Lamport [Accessed on: February 12, 2024]. [Link]
Tanenbaum, A. S., & Steen, M. V. (2023). Distributed systems (4th). Pearson Education. [Link] [GS Search].
Taylor, W., & Stewart, J. (2016). Lamport and vector logical clocks. [Link]
Tedesco, L. (2019). Sincronização de relógios com o algoritmo de Berkeley e Java RMI [Accessed on: December 13, 2023]. [Link]
Tran, T. V. (2018). Lamport clock implementation [Accessed on: December 20, 2023]. [Link]
Whittaker, M. (2015). Lamport's logical clocks [Accessed on: January 07, 2024]. [Link]
Arquivos adicionais
Published
Como Citar
Issue
Section
Licença
Copyright (c) 2026 Diógenes Antonio Marques José, Bruno Hernandes Carrilho Martins

Este trabalho está licenciado sob uma licença Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

