next up previous contents index
Next: Caching Up: Replica Control Previous: Replication transparency   Contents   Index


Synchronization

Clocks must be kept synchronized if a timestamp mechanism is to be used. A simple and easy to implement clock synchronization algorithm is the one that goes by the name Cristian's algorithm.

The server must also act as time server [52] under the assumption that server time is correct time or for the fact that it is important that the clients are synchronized with the server (even if it is out-of-sync with real time). Of course, the algorithm will only work properly if the client does not change media (causing the messages to and from the server to have a large gap in communication time) during synchronization.

Figure 3.2: Cristian's algorithm (running on the client)
\begin{figure}
\index{Cristian's algorithm}%\index{synchronization!Cristian's ...
...ert)\vert \\
\verb*\vert end; {SynchronizeTime}\vert
\end{tabbing}\end{figure}

An explanation of the different "times" used in the above algorithm can be found in Table 3.1. These will also be used in later chapters.


Table 3.1: Times
$T$ real Time  
$T_{C}$ Client Time  
$T_{S}$ Server Time  
$T \! S$ Time Skew $T \! S$=$T_{S}$-$T_{C}$


next up previous contents index
Next: Caching Up: Replica Control Previous: Replication transparency   Contents   Index

michael@garfield.dk
2000-10-13