Next

Overview - Introduction to the DCE Distributed Time Service

This topic gives a conceptual overview of the DCE Distributed Time Service (DTS). Some basic time and clock concepts, DTS time representation, and basic DTS operation are also presented.

DTS is a software-based service that provides precise, fault-tolerant clock synchronization for systems in Local Area Networks (LANs) and Wide Area Networks (WANs). The clock synchronization that is provided by DTS enables distributed computing applications to determine event sequencing, duration, and scheduling.

DTS consists of software components on a group of cooperating systems; it conforms to the client/server model that is used in DCE. In the DTS implementation, each server supplies the time to many client systems and applications through intermediaries called clerks. Clerks reside on their client systems. (Note that throughout the topics on DTS in this guide, the term entity is used to refer to the server or clerk process when they have the same functions.)

Most DCE nodes have a DTS clerk that adjusts the clock on its client system; clerks use Remote Procedure Calls (RPCs) to obtain time values from one or several servers in the network. The nodes that do not have DTS clerks have DTS servers; in addition to providing time values to clerks, servers also adjust the system clocks on their host systems. Servers are also able to obtain reference time values from sources of standardized time that are outside of the network.

Because no device can measure the exact time at a particular instant, DTS expresses the time as an interval that contains the correct time. In the DTS model, clerks obtain time intervals from several servers, and compute the intersection where the intervals overlap. Clerks then adjust the system clocks of their client systems to the midpoint of the computed intersection. When clerks receive a time interval that does not intersect with the majority, the clerks declare the nonintersecting value to be faulty. Clerks ignore faulty values when computing new times, thereby ensuring that defective server clocks do not affect clients.

DTS also permits the importation of time values from outside sources, such as the U.S. National Institute for Standards and Technology (NIST). DTS uses the Coordinated Universal Time (UTC) standard that has largely replaced Greenwich Mean Time (GMT) as a reference. Many standards bodies disseminate UTC by radio, telephone, and satellite; commercial devices (time-providers) are available to receive and interpret these signals. DTS offers a Time-Provider Interface (TPI) that describes how a time-provider process can pass UTC time values to a DTS server and propagate them in the network. The TPI also permits other distributed time services to interoperate with DTS.

DTS provides many other valuable services for computer networks that run distributed applications. The major features and benefits of DTS are the following:

· Correctness - DTS maximizes the probability that a client will receive the correct time. DTS uses Coordinated Universal Time (UTC) as a base reference and defines any time interval containing UTC as correct.

· Quantitative Time Measurement - DTS uses specific measurement and manufacturer's specifications to determine the quality of the times that are reported by servers.

· Fault Tolerance - DTS reports faulty servers and does not use their time values during clock synchronizations.

· Management Capability - The DCE control program (dcecp) enables you to control and monitor the software.

· Application Programming Interface (API) - DTS provides an interface that allows applications to obtain, compare, and calculate UTC time values.

· Local Time Translation - When displaying time values, DTS translates the UTC times that it uses internally into local time values.

· Monotonicity - DTS normally provides unidirectional clock adjustment. You can use the DCE or DTS control program, though, for nonmonotonic clock adjustment.

· Automatic Configuration - DTS entities use RPC profiles (search tables) to obtain the locations of servers in a local area or cell.

· Efficiency - Complexity is placed in the servers; network overhead is minimal.