¿Por qué estas dos condiciones implican la condición del reloj de Lamport?

Esta es una manera de establecer la relación entre Ci y Cj, más o menos en relación con un tercer reloj, “tiempo absoluto”. En tiempo absoluto, un mensaje siempre se transmite antes de que se reciba. Ci y Cj pueden no estar sincronizados entre sí, pero esto le permite saber algo sobre el desplazamiento entre ellos. Un mensaje pasado de Pi a Pj deja a Pi antes de que llegue a Pj, por lo que la lectura del reloj en el evento de transmisión de Pi es en tiempo absoluto menor que (es decir, antes) la lectura del reloj en el evento de recepción de Pj.

De hecho, esto le proporciona la base para construir un protocolo de paso de mensajes para la sincronización del reloj:
– Pi toma una instantánea de Ci (Ci1), lo incrusta inmediatamente en un mensaje y lo envía a Pj
– Pj toma el mensaje, agrega una instantánea de Cj (Cj1) e inmediatamente lo envía de vuelta a Pi
– Pi al recibirlo inmediatamente toma otra instantánea de Ci (Ci2) y calcula el tiempo de ida y vuelta rt como Ci2-Ci1.
– Ci1 + (rt / 2) = Cj1 + o, aproximadamente, donde o es el desplazamiento entre Ci y Cj

Ahora, por supuesto, hay una fluctuación significativa en el sistema debido a demoras en la red y multitarea preventiva en cada máquina, y la red puede no tener las mismas características en ambas direcciones. Entonces, en la práctica, repite esto varias veces, comenzando en ambos extremos, y analiza estadísticamente los resultados para converger en el desplazamiento real.