ORDENACION DE EVENTOS


En un sistema distribuido no hay memoria ni reloj comun, de forma que muchas veces es imposible determinar qué suceso ocurrió primero:

1) Puede haber retardos entre el tiempo real de ocurrencia de un suceso y el instante en el que se observa en otro sistema.
2) La falta de sincronización da lugar a una variación en la lectura de los relojes de los distintos sistemas.

El método de marcación de tiempo,ordena los sucesos en un sistema distribuido sin usar relojes físicos, según la transmisión de mensajes. En cada sistema de la red se mantiene un contador que funciona como reloj. Cada vez que se transmite un mensaje, primero se incrementa en uno el contador y a continuación se envía el mensaje al resto de los sistemas: (mensaje, marca de tiempo, identificador numérico del sistema).
Cuando se recibe un mensaje, el sistema receptor asigna: valor del reloj = 1 + max (valor actual, marca de tiempo)
Si A es un suceso del sistema M y B un suceso del sistema N, se dice que A precede a B si se cumple alguna de
estas condiciones:
1) La marca de tiempo de A es menor que la de B.
2) las marcas de tiempo son iguales, pero el identificador numérico del sistema M es menor que el del sistema N.
Lo importante no es el orden real en el que ocurren los sucesos, sino que todos los procesos coincidan con el orden impuesto a los sucesos.