Welcome to WinSNTP!

WinSNTP is an implementation of the Simple Network Time Protocol described in RFC-1361.  You can use WinSNTP to accurately synchronize your PC clock with the clock of a server running the Network Time Protocol (NTP).

Introduction

Using WinSNTP

Information

Configuring WinSNTP

Selecting a Time Server

Setting the initial poll period

Choosing a value for Max Delta

Time zones & Daylight Savings Time

Statistics

Trouble shooting

More information on NTP & SNTP

WinSNTP & TCP/IP Stacks

Acknowledgements

Wishlist

Reporting Defects

Registering your copy of WinSNTP

Warranty Disclaimer & License


Configuring WinSNTP

To configure WinSNTP you really only need the name or IP address of an NTP server.  WinSNTP will default the other configuration parameters for you if you leave them blank or supply values outside the permitted limits.

Simple Configuration

Unless you want WinSNTP to keep your PC on Coordinated Universal Time (UTC) you should set the time zone and daylight savings information.  Click on the Set TZ... button and you will see a dialog box that allows you to configure the necessary information.  See Time zones & Daylight Savings Time for detailed help on this dialog box.

Position the mouse cursor within the NTP Server edit box and click the left mouse button.  Type in the name or address of your NTP server and then click on the Set Time button.  If you typed a name in the NTP Server edit box, WinSNTP will attempt to lookup the address of the server using the Domain Name Service (DNS).  If you typed an address WinSNTP will use the address you supplied as the address of the server.

WinSNTP will poll the server immediately you click on the Set Time button and set the time of your PC to the correct time based on your time zone and daylight savings information.  WinSNTP will update the status bar with progress information as it proceeds.  Normally you will see WinSNTP display the time at which the PC clock was last set and the delta (in seconds) that it found between your PC clock and that of the server.

If you only want to periodically update the time of your PC you can exit WinSNTP at this point.  WinSNTP will save its configuration information in a file called WINSNTP.INI in your Windows directory (usually C:\WINDOWS).  WinSNTP will restore this information the next time you run the application.

Alternately you can leave WinSNTP running.  WinSNTP will next poll the server for the time after 60 seconds have passed (the value of Initial Poll).  Every time WinSNTP polls and successfully updates the time it calculates the delta between your PC clock and the clock of the server.  If the delta is less than 100 mS (the value of Max Delta) WinSNTP will double the poll period to a maximum of 16 times the value in the Initial Poll edit box.  If the delta is greater than the value of Max Delta, WinSNTP will reduce the poll period by a half to a minimum of the value set by Initial Poll.

WinSNTP will attempt to find a poll interval that keeps your PC clock accurate to within the value specified in Max Delta.

Advanced Configuration

For a more advanced configuration you can override the default values for the Initial Poll period and Max Delta.

See Setting the initial poll period and Choosing a value for Max Delta for more information.


Using WinSNTP

WinSNTP is a Windows application that implements the Simple Network Time Protocol (SNTP).  SNTP allows a client computer to keep its clock in synchronization over a network with a server running the Network Time Protocol (NTP).  You can find more information on both SNTP and NTP in More Information on NTP & SNTP.

In order to use WinSNTP, you need a computer connected to a network via a Winsock compliant TCP/IP stack.  Winsock is a standard interface that allows Windows programs to use the services of a TCP/IP protocol stack.  Most commercial TCP/IP products for Windows implement the Winsock interface as does the shareware product Trumpet.  We have tested WinSNTP with a number of different TCP/IP products.  You can find information on the stacks tested with WinSNTP in WinSNTP and TCP/IP Stacks.

WinSNTP uses the SNTP protocol to query a server for time updates.  The protocol allows WinSNTP to calculate network delays between your PC and the server and then accurately set the clock.  In typical use, WinSNTP will keep your PC clock accurate to within 100 to 200 milli-seconds.  WinSNTP provides support for operation in different time zones and under different daylight savings time conventions.

You should read Configuring WinSNTP to get started.  If you have problems getting WinSNTP to work on your PC, read the section Trouble Shooting.


Selecting a Time Server

While the location and distance between you and the server are not critical, you should select an NTP server with which your PC can reliably communicate.  This is specially important if you are going to leave WinSNTP running so that it can keep your PC clock accurate to the value of Max Delta.

You should consult your network administrator or service provider for the name of a recommended NTP server.  While the load presented to the NTP server is light, it is only common courtesy to inform the person operating the NTP server that you are using their server as a source of time.  You can often contact the person responsible for the time server by sending an email message to timekeeper@server where server is the name of the NTP server.

Many organizations and companies operate their own NTP servers and either provide a local source of accurate time or slave their NTP servers to high stratum servers in the Internet.  NTP operates as a distributed time keeping system; having local servers is one of the ways in which NTP scales in size to support potentially huge numbers of users such as WinSNTP.


Setting the initial poll period

You can override the default value of 60 seconds selected by WinSNTP.  WinSNTP will not allow a value of less than 60 seconds but you can extend the poll period by typing in a new value in the Initial Poll edit box of the main window.

Most PC clocks drift 1 to 2 seconds per day depending on temperature and other ambient conditions.  An Initial Poll value of 60 seconds will keep your clock accurate to within about 100 mS as WinSNTP extends the period to a maximum of 16 times this initial value (16 minutes).

Most of us do not need 100 mS accuracy of the PC clock time.  You could keep your PC accurate to within 500 mS by setting the Initial Poll period to 300 seconds (5 minutes).  WinSNTP will extend this poll interval to a maximum of 90 minutes as it finds the accuracy of your PC clock.

Using Initial Poll and Max Delta you can control the frequency and accuracy with which WinSNTP maintains your PC clock.


Choosing a value for Max Delta

The value of Max Delta controls the accuracy within which WinSNTP will try to keep your PC clock.  The default value is 100 mS that represents the typical accuracy that WinSNTP can achieve.  More accurate time keeping would require a full implementation of NTP and is unwarranted for most PC applications.

WinSNTP will extend or reduce the period with which it polls the NTP server to keep the delta between your PC clock and that of the server within the value of Max Delta.

Set Max Delta to the accuracy you want for your PC clock.  500 mS is a reasonable accuracy for most applications.


Statistics

You can display counts of the number of messages Sent, Received and Rejected by clicking on the Stats button in the main window.

WinSNTP snap shots the counter values when it displays the statistics and does not update the counters while displaying the Statistics dialog.

WinSNTP resets the statistics to zero every time you click on the Set Time button.


Time zones & Daylight Savings Time

You can configure WinSNTP to be cognizant of the time zone you live in and your country's convention for Daylight Savings Time.  Click on the Set TZ button on the main window and WinSNTP will display a dialog that allows you to configure the necessary information.

To configure the time zone and daylight savings information, click on the field within the dialog box that you want to update and set the information requested.

The fields Standard Name and Daylight Savings Name are the names you want to use for your time zone during standard time and daylight savings time respectively.  For example, on the West Coast of the USA, the standard time zone name is Pacific Standard Time and during daylight savings time is Pacific Daylight Time.  These time zone names are abbreviated to PST and PDT.  WinSNTP will use the first three characters you enter these fields when it displays time information in  the status bar of the main window.

The Offset from UTC field is the time displacement between your time zone and that of Coordinated Universal Time (UTC).  UTC is based on the time at the Grenwich meridian in London, England.  If you are WEST of Grenwich your time displacement is POSITIVE, if you are EAST of Grenwich then your displacement is negative.

For example, on the West Coast of the USA, the time displacement would be +8:00 so you would enter +08:00 in the Offset from UTC field.  In the Middle European Time zone, the time displacement is -1:00 hour from Grenwich so you would enter -01:00 in the Offset from UTC field.

Once you have set the time zone information, you need to tell WinSNTP when daylight savings time starts and ends.  For example, in the USA, daylight savings time begins at 02:00 on the first Sunday in April and ends at 02:00 the last Sunday in October.  Conventions for daylight savings time differ by country so you need to know the conventions for your country.

If your timezone doesnt observe daylight savings time, you are done!  Just leave the start and end of daylight savings time blank and WinSNTP will observe your timezone and offset without daylight savings time.  You can clear each of the fields of the start and end of daylight savings time by dragging the list box to the blank field at the end of each list.

HINT:  WinSNTP will clear all the fields for you if you set the Ordinal day of the start of daylight savings time to the blank field.  Just select the blank field at the end of the list box and then click on OK.  The next time you open the timezone dialog you will find all the fields have been cleared.

The Configure Time Zone dialog box provides controls that allow you to set the start and end of daylight savings time.  The controls for setting the start and the end operate in the same way.

Use the Ordinal control to set the First, Second, Third, Fourth or Last day of a month.

Use the Day of Week control to set the day of the week such as Sunday, Monday, etc.

Use the Month control to set the month such as January, February, etc.

Use the Time control to set the time of day for the transition.

HINT:  You can select values for the Ordinal, Day of Week and Month controls, by typing the first letter of the value of the field. You can also click on the down scroll control and then drag through the list of values.

In the USA, you would set the information for daylight savings time as follows:

Start:	End:

Ordinal: First	Ordinal: Last

Day of Week: Sunday	Day of Week: Sunday

Month: April	Month: October

Time: 02:00	Time: 02:00


Trouble shooting

WinSNTP will display status information on the status bar at the bottom of the main window as it proceeds.  You can use these messages together with the Statistics displayed by the Stats button (see Statistics for more information on the statistics kept by WinSNTP) to trouble shoot if WinSNTP appears not to work.

Here are the messages displayed by WinSNTP and how you can interpret them in case of problems.

DNS Lookup in Progress...

WinSNTP displays this message when it is trying to translate a server name to a network address using the Domain Name Service.  If the DNS cannot resolve the name, WinSNTP displays a warning message telling you that the lookup operation was unsuccessful.

DNS Lookup Complete

WinSNTP displays this message after successfully translating the server name to its IP address.  This message remains displayed until WinSNTP issues an NTP request.

NTP request sent -- <time>

WinSNTP updates the status line with the current time every time it sends an NTP request.  If this message remains displayed then WinSNTP did not receive a response back from the NTP server.  This could mean that the system you specified as an NTP server is not currently running the NTP server or that the server cannot be reached due to a network problem.  You can use PING to verify network connectivity.  If you have network connectivity, ask the System Administrator of the system you specified as the NTP server whether they are running NTP and whether they are an open server.

NTP Reply rejected

WinSNTP will display this message if it rejects the NTP reply it receives.  WinSNTP will reject replies for several reasons:

- The NTP server is not synchronized to an accurate time source

- The reply came from a IP address of a different server

You can get similar trouble shooting information from the Statistics display.  If you see the Sent count increment but see no received packets then the server is not responding.

If all three counters increase, Sent, Received and Rejected, then the server is currently un-synchronized.


More information on NTP & SNTP

Both NTP and SNTP are the work of David Mills at the University of Delaware, USA.

You can find the complete description of these protocols in RFC-1305 (for NTP) and RFC-1361 (for SNTP).  Many sites on the Internet carry RFCs or Request for Comments.  These documents describe the protocols and services on which the Internet is built.

The Internet site ds.internic.net holds the master archive of Internet RFCs.


WinSNTP & TCP/IP Stacks

We have tested with the following TCP/IP stacks.  As a Winsock compliant application, WinSNTP should work with any TCP/IP stack that correctly implements the Winsock interface regardless of whether it is on this list or not.  If you use WinSNTP with a stack not on this list, please send us a mail message at winsntp@solaris.com so we can add your stack to this list.

Distinct Software TCP/IP

Frontier Software Super-TCP/IP for Windows

FTP Software Inc, PC/TCP V.2.22

FTP Software Inc, PC/TCP V.2.3

FTP Software Inc, PC/TCP V.3.0

LAN Workplace for DOS V.4.1

Microsoft Corp, Wolverine TCP/IP stack Beta

Microsoft Corp, Wolverine TCP/IP stack FCS release

NetManage Inc, Chameleon V.3.1

NetManage Inc, Chameleon V.4.0

NetManage Inc, Chameleon V4.07

Sun Microsystems, Inc PC-NFS V.5.1

Trumpet V1.0 Beta Rev B

WinKing (a Taiwanese Winsock stack)


Reporting Defects

If you encounter a defect when using WinSNTP, we want to hear about it!  Unlike other developers of software, we do not call problems with our products 'bugs' or 'features.'  If the application fails to perform as we document, there is a defect in the application and we want to remove it!

If you encounter a problem, please send us the following information:

- Description of your PC

- How your PC connects to the network (LAN card, SLIP link,etc.)

- Which Winsock TCP/IP stack you use

- If possible, the name and IP address of your NTP server

- A description of the problem

- Your email address (if you have one)

If you have access to CompuServe, USENET or system with similar e-mail, you can address queries regarding WinSNTP to winsntp@solaris.com.

You can also write to us at the following address:

Solaris Technologies

Dept.: WSNTP

1577 Fairway Drive

Los Altos, CA 94024-5313

U.S.A

Please enclose a stamped, self-addressed envelope or International Reply Coupon to speed your reply!


Registering your copy of WinSNTP

WinSNTP is shareware.  You may freely copy WinSNTP, upload it to bulletin board, Internet file archives, etc., providing you include all the files listed in the MANIFEST file that accompanies the application and other files.  You may evaluate WinSNTP for 30 days.  At the end of the evaluation period, you must either register your copy of WinSNTP (see below) or stop using the application.

Remember that the future of shareware and a continued supply of quality software depends on you honoring the shareware principles!

You can register your copy of WinSNTP by completing the registration form provided in the file REGISTER contained in the archive file that comprises the WinSNTP distribution.  The registration fee is $25 US plus postage and packing.  California residents should add appropriate sales tax.  The registered version of WinSNTP allows you to by-pass the initial display of the About... dialog.

Registered users will receive the latest copy of WinSNTP and can obtain free technical support via electronic mail or letter for 1 year.

Please remit funds in US. Dollars drawn on a US. Bank.  If you are outside the US. and Canada, you may find it convenient to obtain an American Express US. Money order.  You can usually obtain these money orders from American Express travel agencies or other accredited suppliers.  We regret that we cannot accept payment via credit cards.


Warranty Disclaimer & License

Warranty Disclaimer

SOLARIS TECHNOLOGIES DISCLAIMS ALL WARRANTIES RELATING TO THIS SOFTWARE, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF MECHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND ANY AND ALL SUCH WARRANTIES ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED.  NEITHER SOLARIS TECHNOLOGIES, NOR ANYONE ELSE WHO HAS BEEN INVOLVED IN THE PRODUCTION, OR DELIVERY OF THIS SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, OR INCIDENTAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE EVEN IF SOLARIS TECHNOLOGIES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS.  IN NO EVENT SHALL SOLARIS TECHNOLOGIES LIABILITY FOR ANY DAMAGES EVER EXCEED THE PRICE PAID FOR THE LICENSE TO USE THE SOFTWARE, REGARDLESS OF THE FORM OF THE CLAIM.  THE PERSON USING THE SOFTWARE BEARS ALL RISKS AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE.

Some states do not allow the exclusion of the limit of liability for consequential or incidental damages, so the above limitation may not apply to you.

This agreement shall be governed by the laws of the State of California and shall inure to the benefit of Solaris Technologies and any successors administrators, heirs and assigns.  Any action or proceeding brought by either party against the other arising out of or related to this agreement shall be brought only in a STATE or FEDERAL COURT of competent jurisdiction located in Santa Clara County, California.  The parties hereby consent in personam jurisdiction of said courts.

LICENSE

This software and disks on which it is contained is licensed to you, for your own use.  This is copyright software.  You are not obtaining title to the software or any copyright rights.  You may not sub-license, lease, convey, modify, or translate, convert to another programming language, decompile, disassemble or otherwise reverse engineer this software for any purpose.

You may make as many copies of this software as you need for back-up purposes.  You may use the software on more than one computer, provided there is no chance it will be used simultaneously on more than one computer.  If you need to use the software on more than one computer simultaneously, please contact us for information about site licenses.


Acknowledgements
Acknowledgments

WinSNTP would not be what it is today without the help of the following people!  We would like to recognize their efforts!

Thanks to:

Mark Bixby	Norman Chang

Denis Gordon	Keith Hanson

Zeljko Horvat	Galen Hunt

Andrew Jessett	Lin Jyun-Naih

Mike Purucker	John Ross

Special thanks to:

Dave Mills for encouragement and for designing NTP and SNTP to make all this possible.

Dave Katz for encouragement and being my local NTP guru thus suffering all kinds of questions.

Kevin Rowett for encouragement and the original suggestion to write a Windows SNTP client.


Wishlist

Here is a list of the things that did not make this release.  This serves as a reminder to us as well as showing you the candidate ideas for the next release.  If you send us a suggestion that gets incorporated into a release, we will send you a complementary registered copy as a token of appreciation!

- WinSNTP ignores NTP broadcasts

Currently WinSNTP does not process broadcast NTP messages regardless of whether they are real broadcasts or multicast.  Multicast NTP is the ultimate in scaleability for large numbers of clients.

- No way to override rejection of NTP messages

You cannot tell WinSNTP to accept messages from allegedly un-synchronized servers.  There are legitimate reasons why you might want to do this; for example, you have a server that is not peered with other NTP servers but you want a number of client systems to have the same time as the server.

- Daylight savings time should be defaulted by time zone

- Time zone selection should be done with a list box

The current mechanism of setting time zone and daylight savings information is acquired.  Ideally WinSNTP should supply a list of time zones and allow you to choose which one you want.  WinSNTP should determine the start and end of daylight savings time from the time zone information.

Unfortunately, the start and end of daylight savings time vary by country.  Some countries experiment with no daylight savings time (as the United Kingdom did in the early 1970s) or change the start and end time (by Presidential decree as during the Reagan era in the U.S.A).

- WinSNTP doesnt fully implement NTP

WinSNTP does not implement the algorithms of NTP or allow the PC to be synchronized with more than one NTP server at a time.  Wait for WinNTP!

- WinSNTP doesnt run with Windows NT

The current version of WinSNTP is a 16-bit Windows application.  A 32-bit version that is Win32 compliant is under development.