Documentation\Technical\Resources\Resource Impact Statement
|
Introduction/Scope
Domain Time II is a time synchronization service for use on Windows systems. Domain Time also supports clients
for several flavors of Linux, FreeBSD, Solaris (SPARC and Intel).
This document details the resource footprint and expected impact on normal operations
for the main product components on the Windows platform. Specifications in this document refer
to both Domain Time II Client and Server components, except as noted otherwise. References to
Windows NT assume version 4.0 or higher.
This document is intended to provide information for product research and
planning purposes only, it is not a statement of warranty or guarantee. Please
see the product license agreement for details.
Program Modules/DLLs
- Domain Time II Server consists entirely of the DOMTIMES.EXE program and
DOMTIMES.CPL control panel applet
- Domain Time II Full Client consists entirely of the DOMTIMEC.EXE program and
DOMTIMEC.CPL control panel applet
- Domain Time II Thin Client consists entirely of the DOMTIMEC.EXE program
- Domain Time II Ultra Thin Client consists entirely of the DOMTIMEC.EXE program
- Domain Time II Audit Server (optional component, sold separately) consists
entirely of DTAUDIT.EXE and DTAUDIT.CPL control panel applet
- Server and Clients also use DTTRAY.EXE, the optional system tray applet
- No new DLLs are installed
- No existing DLLs are replaced
- Note that optional programs and support utilities (such as DOMTIME.INI, DTSET.EXE and
DTCHECK.EXE, DTREADER.EXE, DTDRIFT.EXE, and DTSYNC.EXE) may also be installed into the system directory or
Program Files\Domain Time II folder during program installation.
These programs may be deleted after installation without affecting the operation of
Domain Time II Server or Domain Time II Client. Please see
Distribution Files for specific information.
Hardware Interaction
- No direct control of hardware; Domain Time II runs in user mode and makes calls
into kernel mode for standard, documented API functions.
- Time is set using standard calls to the Win32 SetSystemTime function. (On Windows
for Workgroups, the DOS and BIOS interrupts are used.)
- Clock slewing is accomplished via the Win32 SetSystemTimeAdjustment() function.
Memory Footprint
Memory usage of Domain Time II Server varies somewhat with the number of
time protocols selected; at any one time, memory usage is also dependent on the
number of simultaneous time requests being serviced. The table below shows
actual memory usage for Domain Time components after each
component has been running in a production environment for 96 hours:
Component
|
Memory Usage
|
Master Server
|
416k
|
Slave Server
|
948k
|
Full Client
|
766k
|
Thin Client
|
476k
|
Ultra Thin Client
|
332k
|
Audit Server
|
3560k
|
CPU Usage/Tasking
Domain Time II is a multi-threaded 32-bit application. Most activity and thread use
is triggered on-demand, so CPU usage is typically less than 0.01% (unmeasurable)
Component
|
Threads
|
Server
|
5 to 20*
|
Full Client
|
5 to 7
|
Thin Client
|
5
|
Ultra Thin Client
|
3 to 4
|
Audit Server
|
7
|
*Depends on the time protocols selected and registry customizations
For an idea of what these numbers mean, an NT 4.0 idle spooler service with no printers defined and
no documents spooled typically uses 5 threads and uses 2384k of memory. A fully
decked-out Domain Time Server with 15 threads typically only uses 416k.
Service Dependencies and Security Contexts
- Server Dependencies
TCP/IP
LanmanServer, the "Server Service" (will function without this service, but will generate a warning, and domain hierarchy functions will be unavailable)
LanmanWorkstation, the "Workstation Service"
- Client Dependencies
TCP/IP
- Windows
The Windows Time (W32Time) service, if present, is adjusted (set to NoSync or disabled) during
installation of Domain Time II. Additionally, the Windows Time Agent Control Panel applet (w32tmdt.cpl)
is installed.
- Security Context, Windows
Runs as a system service under the LocalSystem security context.
- Security Context, Win95, Win98, WinME
Runs as a Windows "Simple Service."
Windows Registry
Domain Time II uses the following Registry entries:
- Server parameters are stored in
HKEY_LOCAL_MACHINE\Software\Greyware\Domain Time Server
- Server service information is in
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Domain Time Server
- Client parameters (any flavor of client) are stored in
HKEY_LOCAL_MACHINE\Software\Greyware\Domain Time Client
- Client service information (any flavor of client) is in
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Domain Time Client
- Additional components are in
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Domain Time II [Component Name]
Network Protocols
All communications of time requests/responses use standard networking protocols
and APIs. The TCP/IP ports used are:
Time Protocol
|
Port
|
Domain Time II
|
9909 UDP
9909 TCP
|
Domain Time I
|
N/A
|
MS LanMan
|
N/A
|
NTP
|
123 UDP
|
TIME/ITP
|
37 TCP
37 UDP
|
HTTP
|
80 TCP
|
Network Traffic
Network synchronization traffic is minimal. Domain Time II clients and servers
generate network traffic only when making or servicing requests (no polling).
Sync requests and time cascade pushes are made on both a synchronous and
asynchronous on-demand basis. Timings for synchronous activities are
user-adjustable.
The amount of time-sync traffic varies by protocol used, as shown in the table
below. The Domain Time II protocol also provides for master-slave failover,
statistics gathering, sync on demand, and other non-time traffic.
Time Protocol
|
Typical Request
|
Typical Response
|
Domain Time II Server
|
8 bytes
|
16 bytes
|
Domain Time II Client
|
8 bytes
|
16 bytes
|
Domain Time I
|
2-24 bytes
|
16 bytes
|
NTP
|
48 bytes
|
48 bytes
|
TIME/ITP
|
0-4 bytes
|
4 bytes
|
HTTP
|
10-16 bytes
|
200-400 bytes
|
Note that Domain Time II components typically use the Domain Time II protocol
for control information as well as time information. Control information (querying time
zone settings, obtaining statistics, and so forth) varies based on the request.
Service Interaction Table
The table below lists common Windows services and summarizes Domain
Time’s interaction with them and its impact on their operation. The table
reflects interactions with both Alpha and Intel versions of NT. The items
listed in the Product category refer to all versions of the product, except
where noted.
Product
|
Interaction with Domain Time II
|
Impact on Operation
|
Microsoft Active Directory Replication
|
None
|
None
|
Microsoft Kerberos Authentication
|
None
|
Users will always be able to log into the network.
|
Microsoft Domain Controller SAM
|
None
|
None
|
Microsoft Domain Controller Replication
|
None
|
None
|
Microsoft Internet Information Server (IIS)
|
See Note 1
|
See Note 1
|
Microsoft Exchange
|
None
|
Email and shared folder timestamps will be correct.
|
Microsoft SQL Server
|
None
|
Field and record timestamps will be correct.
|
Microsoft DNS
|
None
|
Zone replication will take place at the correct dates and times.
|
Microsoft DHCP
|
None
|
Lease expirations will occur on the correct dates and times.
|
Microsoft WINS
|
See Note 2
|
Tombstoning and expirations will occur on the correct dates and times.
|
Microsoft SMS
|
None
|
Package delivery and file timestamp comparisons will have the
correct time on both the workstation and server.
|
Microsoft Windows Time (W32Time)
|
See Note 3
|
See Note 3
|
Lotus Notes
|
None
|
Email and shared folder timestamps will be correct.
|
Oracle DBMS
|
None
|
Field and record timestamps will be correct.
|
Table 3. Interaction and Impact on Windows Services.
1 Note 1: Domain Time II Server can provide time synchronization and display via
HTTP, using a built-in custom web server. Domain Time II over HTTP service is disabled by
default, but may be enabled on a per-machine basis from the control panel
applet. HTTP uses the well-known TCP/IP port 80, as do most other web servers,
including Microsoft’s IIS. Only one process can listen on port 80 at a time, so
a machine serving Domain Time II over HTTP cannot also be a regular web server, and
vice versa. If port 80 is already owned by another process when Domain Time II Server
starts, and if Domain Time II Server is set to serve time via HTTP, Domain Time II Server
will note the conflict in the event log and continue without HTTP support. Alternately,
if you configure Domain Time II Server to find a free port, it will do so.
2 Note 2: Domain Time II Server relies on NetBIOS-name-to-IP resolution. When
propagating a level 1 synchronization trigger, Domain Time II Server running on the
PDC enumerates time servers on the network using Microsoft’s LANMan API. This
yields a list of NetBIOS machine names. Domain Time II Server then attempts to
lookup the IP address for each server. This lookup will succeed if Microsoft
WINS is running and properly configured, or if manual host information is
maintained either through DNS or host/lmhosts files. Domain Time II Server running
on non-PDC machines needs to be able to map the PDC’s NetBIOS name to its IP
address, again either through Microsoft WINS or a manual configuration.
3 Note 3: During installation onto Windows machines, Domain
Time Server and Client check for, and disable if found, the Windows Time
(W32Time) service. During removal, Domain Time II automatically re-enables Windows
Time if it is present on the machine. Running both Domain Time II and Windows Time
simultaneously on the same machine will produce unpredictable results unless
Domain Time II is configured to let Windows Time manage the clock.
Conclusion
Domain Time II Server is an extremely well-behaved service, with minimal impact on
Windows server operation. Domain Time II Client is a similarly
dwell-behaved application on all Windows versions.
|