PreviousNext

The tolerance Attribute

The tolerance attribute determines how DTS reacts if the system clock becomes faulty. A faulty clock is a rare condition, but some causes of faulty clocks include the following:

· Defects in the clock hardware, including clock drift that is greater than the manufacturer's specifications.

· Malfunctioning time-providers.

· Hardware clock ticks are lost by the operating system.

· The system memory containing the clock value is corrupted.

During the synchronization process, DTS detects that a system's clock is faulty if the clock value and its inaccuracy fail to intersect with those of the servers used for synchronization. This process is shown in the following figure, where value t2 is faulty.


Local Fault

If DTS detects a faulty system clock during synchronization, the severity of the fault and the system's tolerance attribute setting determine how DTS reacts. When the fault is detected, DTS performs one of the following operations:

· If the faulty time interval that is supplied by the clock is within the bounds of the error tolerance, DTS increases the inaccuracy of the value supplied by the clock and adjusts the clock gradually.

· If the faulty time interval that is supplied by the clock is outside the bounds of the error tolerance, DTS immediately sets the clock to the new computed time.

Before you change the default tolerance setting (5 minutes), determine the requirements of the applications that use the system time. Some distributed applications, such as the CDS server, require that systems have no more than 5 minutes of inaccuracy. Larger error tolerances may prevent such applications from properly sequencing CDS namespace entries. For these applications, you will want to set the tolerance attribute value to 5 minutes or less.

Some applications may require DTS to adjust the system clock gradually and monotonically (forward). You can increase the tolerance attribute setting for these applications to ensure that the clock is abruptly set only in the event of a catastrophic error. If you could set the tolerance attribute value to infinity, you could guarantee that the clock is never set abruptly. This setting is not available, but you can enter any setting less than 10675199-00:00:00.000 (approximately 29,227.5 years).

The following example shows how to set the tolerance attribute value to 3 minutes:

dcecp> dts modify -change {tolerance 00-00:03:00.000}
dcecp>