Este algoritmo surgió a partir de la necesidad de sincronización de relojes cuando no se tiene alguna fuente de referencia del tiempo como UTC (principal estándar de tiempo con el cual el mundo regula relojes y el tiempo). Con este algoritmo los relojes del entorno pueden mantenerse sincronizados de igual manera.
El algoritmo es centralizado, nodo maestro o servidor y nodo esclavo o cliente.
1. El servidor envia un mensaje a cada uno de los nodos
2. Estos le envían al servidor sus tiempos
3. El
servidor promedia todos (dentro de determinado intervalo, incluido el propio).
Este es el valor al cual se tienen que ajustar todos los relojes. El servidor
envia solo la diferencia que los otros nodos deben usar para corregir sus
relojes.