The computers which make up a distributed system contain clocks that are subject to time drift. One of the problems facing the developers of such systems is ensuring that transactions which consist of smaller transactions are carried out in a specified order. If some of the clocks in the computers that make up the system have drifted badly then there is a danger that the transactions will not be carried out in the right order and this will give rise to an inconsistent state. In order to overcome the problem a number of algorithms and protocols have been developed to compensate for the drift in time. See, for example, the Network Time Protocol.