Protime - Version 4.0 NetWare Fileserver Time Synchronisation Services NetWare Loadable Module Version 4.0 For NetWare Versions 3.x and 4.x Part Number : TEL0040T Manual Revision : January, 1994 NOTE: This text version of the manual is provided only to assist users without access to Microsoft Windows. A full graphical version of this manual with more extensive information is available by running the PROTIME.EXE online documentation. Disclaimer ---------- Protocom Development Systems makes no representations or warranties with respect to the contents of this manual, and specifically disclaims any express or implied warranties or fitness for any particular purpose. Further, Protocom Development Systems reserves the right to revise this publication and to make changes to its contents, at any time, without obligation to notify any person or entity of such revisions or changes. (c) Copyright 1993, Protocom Development Systems. All rights reserved. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express prior written consent of the publisher :- Protocom Development Systems P.O Box 92. Canterbury, Victoria. 3126. Australia. Australia Telephone +61 (2) 6292-9988 Facsimile (2) 6292-9977 United Kingdom Telephone +44 (117) 940-2020 Facsimile (117) 907-7448 United States Telephone +1 (800) 581-3502 Facsimile (800) 581-3834 While all care has been taken in the development of this product, no loss of any kind is accepted by Protocom Development Systems or its agents arising from the use of any of these programs. Trademarks ---------- Novell and NetWare are registered trademarks of Novell, Inc. Netcomm is a registered trademark of NetComm (Australia) Pty Limited. Hayes is a registered trademark of Hayes Microcomputer Products Inc. Telecom Australia is a registered trademark of Telstra Corporation Other trademarks may exist which are not explicitly noted here and remain registered to the appropiate organisations. Introduction ------------ PROTIME is a file server application designed to ensure that a NetWare v4.x or v3.x file server has its clock synchronised with Telecom Australia's digital clock service. Telecom provides a digital clock service similar to the NIST atomic clock service in the United States Of America. This service is available in most capital cities for the cost of a local call and it is freely accessible to the public. File server time synchronisation is normally used for the following reasons: * When a work station logs into a server, it by default has its local time updated to the time on the file server. If the file server's time is not correct the work stations becomes incorrect, file access records and directory listings reflect the inaccuracy. All applications that use the local computers clock will also have the incorrect time. * Time synchronisation is critical on NetWare v4.x networks. Novell's X.500 based network wide database "NetWare Directory Services" (NDS) time stamps all database transactions. Problems may arise with file server NDS database synchronisation if a file server time is not correct. * Numerous other network applications require accurate time on the file server and work stations some examples are order entry systems, reservation applications, Lotus Notes, fax gateways, diary and scheduling software and so on. At the time of publication only Telecom Australia's service was tested, however it is likely that it will function for other digital dialup services in other parts of the world. Telecom's service provides a 1200BPS dial-up facility in each state of Australia. This service reflects the local time for each state taking into account day-light savings and other local time factors. PROTIME will synchronise the file server clock with the time given to it by the Telecom clock. PROTIME does not perform any manipulation of the time received unless specified to do so. Configuration ------------- PROTIME was originally designed for NetWare v4.0 to provide a NetWare Directory Services network with accurate timing. Often a file server's hardware clock may become inaccurate or two or more servers may disagree about what the time actually is. In order to determine the most accurate time, NetWare NDS provides a mechanism for multiple file servers to negotiate and therefore work out a synchronised network time. NetWare v4.x servers can be defined as reference servers, primary servers or secondary servers. Multiple primary servers negotiate the time amongst themselves, secondary servers just accept the time of the primary servers and reference servers act as a reference point for the network providing definite timing. With this type of structure and the fact that NetWare v4.x servers are installed with the servers local time co-ordinate a single reference server can be used for a countrywide network that spans multiple geographic time zones. PROTIME is also supported on NetWare v3.x fileservers and can provide clocking to single or multiple NetWare v3.x servers throughout a single time domain only. The PROTIME distribution diskette contains a program known as PROREMOTE which enables v3.x fileservers to communicate with a central PROTIME server and update the remote servers clock without the requirement for an additional modem. NetWare v4.x and NetWare v3.1x (General) ---------------------------------------- PROTIME is loaded like most third party NetWare Loadable Modules (NLM) either from the console or from the AUTOEXEC.NCF start-up file. PROTIME.NLM and PROTIME.INI should be copied to the SYS:SYSTEM directory. A CCITT v22 and Hayes compatible modem should be attached to the file servers serial COM1 port (refer to AIO_BOARD and AIO_PORT configuration parameters if COM1 is not suitable). From the file server console, time synchronisation can be activated by typing LOAD AIO LOAD AIOCOMX LOAD PROTIME Note: The distribution diskette contains PROSTART.NCF with these commands pre-entered. AIO.NLM is Novells asynchronous device driver manager and is responsible for the managing the registration of AIO devices like AIOCOMX. AIOCOMX is Novells serial port device driver that enables applications to use the file servers serial ports with the AIO specification. These two NLMs are required or PROTIME will not be able to communicate with the hardware. They must be loaded before PROTIME is loaded. PROTIME uses three files in the SYS:SYSTEM directory : 1. PROTIME.NLM is the NetWare Loadable Module containing the program code. 2. *PROTIME.INI contains the setup strings refer to the PROTIME configuration section for specific file server and modem setups. 3. *PROTIME.LOG is an optional text log file of events that PROTIME encounters during operation. (*) may be changed from default by using the configuration options. NetWare v4.x Specific --------------------- PROTIME may be used on single or multiple NetWare v4.x reference servers to provide Network wide clocking. It is extremely important that all file servers have the time zone (hours in front/behind UTC time) set correctly. If this is not set correctly Novells NetWare v4.x time synchronisation application will incorrectly set some file servers with incorrect times for the local region. NOTE: This would happen with or without PROTIME. Once you have a single reference or reference server configured, all NetWare v4.x file servers should show their correct time no matter which geographic time domain they are in. It should be noted that due to the method employed by the NetWare TIMESYNC.NLM, servers whose time is significantly incorrect may take some time to be network synchronised. The NetWare file servers compensate for slow communication links by testing link trip times, in this way remote file server's calculate the correct time from the time zone information of each file server. This manual details the use and configuration of PROTIME and PROREMOTE. For a more thorough description of the advanced features of the built-in NetWare v4.x time synchronisation application refer to Novell's November 1993 edition of their "Application Notes" which is titled "Time Synchronisation in NetWare 4.x". This document discusses in detail the importance of network accurate time and the more advanced features of their product. NetWare v3.x Specific - PROTIME and PROREMOTE ---------------------------------------------- NetWare v3.1x does not natively support multiple file server time synchronisation. PROREMOTE has been designed to additionally provide NetWare v3.x servers with this capability. PROREMOTE is a NetWare Loadable Module that is loaded on each remote file server within the same geographic time domain as the PROTIME master server. PROREMOTE communicates with PROTIME and adjusts the remote file server date and time with that of the master PROTIME Time Server. PROREMOTE is loaded on each remote v3.x file server in the following manner : LOAD PROREMOT For optional parameters, refer to the PROTIME Configuration Options section below. PROREMOTE is NOT required for NetWare v4.x fileservers as NetWare v4.x already provides inbuilt time synchronisation amongst fileservers. If you intend to use multiple PROTIME time servers to provide network time redundancy or multiple domain support, PROREMOTE will by default connect to the first PROTIME server that matches PROTIME_*. It may be likely that if multiple PROTIME servers are present PROREMOTE may connect to an unintended PROTIME time server. This can be simply overcome by changing the PROREMOTE search name from the default of "PROTIME_*" to a specific name or a different group name eg "PROTIME_FS1" or "MELB_*". Additionally the PROTIME server name may also be changed from the default of "PROTIME_" to any other name. It is often useful to establish specific groups of PROTIME servers as in the above example. If any of the PROTIME servers in each group failed, the PROREMOTE machine would begin requesting time from any other servers within the group. Groups are not limited to distance or any number of servers, and having groups that span multiple sites is also an option. PROTIME Parameters ------------------ PROTIME provides two methods of specifying needed parameters. The first is via the command-line and the second is through a text configuration file. If command-line parameters conflict with config file entries, command-line options have precedence. Command line parameters ----------------------- 1. Over-ride modem check at start-up /O Default: Modem Checking ON This parameter will instruct PROTIME to ignore the fact that NO modem is attached to the AIO port specified in the configuration at start-up. By default this option is turned on, this will cause PROTIME to report immediately on start-up that no modem could be found. PROTIME will exit if no modem is found unless the /O parameter is specified. Once you are happy with your configuration it is suggested that this parameter be added to the PROTIME command-line. This will enable PROTIME to load after a file server reboot even if no modem is present. This is useful if remote PROREMOTE servers use this server (and have no backup PROTIME server) for time updates. 2. Number of days between dialup synchronisation /D Default: 1 Days is in 24 hour periods and may be between 1 and 7. This value specifies when PROTIME will attempt to dial into Telecom and synchronise the file servers clock. The recommended value is between 1 and 7 days. 3. The amount of time allowed for the modem to attach to the Telecom computer /T Default: 60 This time may need to be adjusted if it takes more than 40 seconds for your modem to connect to the digital clock. This time is measured from when PROTIME sends the phone number to the modem and is indicated by dots moving across the PROTIME screen. 4. Do NOT use the PROTIME.INI text configuration file for dialling options /F PROTIME allows all command line and additional modem configuration options to be entered into a text configuration file. For all valid combinations and keywords refer to chapter below on text configuration file. Please note that PROTIME will use the text configuration file unless this option is specified. 5. Dialup telephone number /P This phone number is the number of the digital clock service. This phone number should contain all prefixes for dialling out through PABX's and STD codes. eg "/P0,6001641" to access the Melbourne telephone number through a PABX that requires "0," to gain an outside line (quotes are not used on command line). 6. Starting PROREMOTE NetWare v3.x Time Service /3 When PROTIME detects this option it begins broadcasting NetWare Service Packets (SAP) so that PROREMOTE fileservers may locate it and update their time. If do NOT wish to have NetWare v3.x fileservers update their clocks with this timeserver, then do not add this command-line option. 7. PROREMOTE Service Name /N PROTIME will use the string specified as the PROTIME Time Service name. This parameter should rarely require changing as by default the time service name is PROTIME_ and therefore should be unique. If however you wish to setup multiple PROTIME servers and swap PROREMOTE machines dynamically between servers then this could be accomplished using this method. PROREMOTE Parameters -------------------- 1. The number of minutes before polling the PROTIME Time Server /P The figure represents the time PROREMOTE waits in between synchronisation checks with the PROTIME Time Server. 2. PROTIME service name to connect to. /N If the PROTIME service name is changed from the default of PROTIME_, you will be required to enter the new name for PROREMOTE to find the remote time server. The "*" wildcard is accepted as a valid option just like the default option of "PROTIME_*". The default option built into PROREMOTE will cause it to find the first Time Server that begins with PROTIME_. If multiple PROTIME servers exist on the network the parameter may be changed to specify which service this server is to update its time from. If the PROTIME host fileservers name is "FS1" then the PROTIME service name will be "PROTIME_FS1" by default. 3. Debug Mode /Z This option may be used with PROREMOTE to analyse the communication between it and the PROTIME file server. This is an advanced option should not be used for normal operation of PROREMOTE. External Configuration File --------------------------- If /F is specified on the command line, then the configuration file is NOT processed and only command-line and default options are used. MODEM_INIT= Default: ATZ Modem initialise strings that are sent to the modem to ensure it is ready for normal operation. MODEM_HANGUP= Default: ATH0 Command issued to modem after +++ to hang it up. MODEM_CONNECT= Default: CONNECT String returned from Modem when it connects to a remote device MODEM_DIALPREFIX= Default: ATDT This is a dial prefix which precedes the telephone number and is used to obtain outside lines etc on PABX's and other devices. The default is set for tone dialling, to use a pulse (decadic) dial phone you may use ATDP. MODEM_BUSY= Default: BUSY This is the string returned to the computer if the remote telephone is engaged. MODEM_NOCARRIER= Default: NO CARRIER When the carrier is lost or the remote telephone is answered but no connection is made. MODEM_NOANSWER= Default: NO ANSWER The string returned if the remote telephone is not answered. MODEM_NODIALTONE= Default: NO DIALTONE If no dial tone is returned when the modem picks up the line this is the string that is returned to the computer. MODEM_SPEEDSTRING= Default: ATB6 This is the speed string of the connecting service and is normally associated with the connect parameter. The default speed string tells the Hayes modem to use only v22 as the connection method. Some of the Telecom modems will respond with v22bis which will cause PROTIME to never receive the data from the digital clock. MODEM_PHONENUMBER= Default: 6001641 The telephone number that is dialled to attach to the remote digital clock service. MODEM_DAYSBETWEENUPDATE= Default: 1 The number of 24 hour periods between dialup connection and synchronisation with the digital clock. MODEM_DIALDELAY= Default: 60 This time may need to be adjusted if it takes more than 60 seconds for your modem to connect to the digital clock. This time is measured from when PROTIME sends the phone number to the modem and is indicated by dots moving across the PROTIME screen. This is equivalent to the /D command line option. MODEM_WAITTIME= Default: 2000 (2sec measured in milli-seconds) Slower modems may require a longer time to accept modem commands. This parameters tells PROTIME to wait for the nominated period before failing a specific modem command. Generally the default time should be appropriate. TIMESERVER_NAME= Default: PROTIME_ Generally this parameter should not be changed. However there might be a requirement to setup various PROREMOTE servers to communicate with different boxes of a specific name. If this parameter is changed ensure that the PROREMOT.NLM destination SAP name is also updated. TIMESERVER_START Default: Not active This is equivalent to the /3 parameter and will activate the remote Time Synchronisation support for PROREMOTE clients. Unless this parameter (or /3) is implemented, PROREMOTE clients will NOT be able to connect as PROTIME will not advertise the service. LOGFILE_NO Default: Enabled By specifying this option in the configuration file will cause PROTIME NOT to write out error messages to the default or specified log file. The log file entries are in text. LOG_FILENAME= Default: SYS:SYSTEM\PROTIME.LOG If you wish to override the default log filename with one of your own you would use this parameter. AIO_BOARD= Default: 0 This important parameter tells PROTIME which asynchronous board your modem is attached to. By default if you load AIOCOMX directly after the AIO.NLM file, COM1 will become Board 0, Port 0 and COM2 will become Board 1, Port 0. If you are using other board types then you may have to specify which board number PROTIME should attach to. This number can normally be obtained from the information presented by the AIO device driver (eg AIOCOMX) when it starts up. Note: That if you change the load order of the AIO device drivers, the board numbers will also change. AIO_PORT= Default: 0 AIO port number is related to the AIO board. Each AIO board may have multiple boards on one card. By using this parameter you can tell PROTIME to specifically use one port on a board. AIO_TYPE= Default: AIO_COMX This parameter will rarely require changing but is included if you are using an AIO compatible asynchronous board that does not support the AIO_COMX type. When an AIO board registers with the NetWare server it nominates a board type. This is the value entered here and may only be available from the board manufacturer or from the Novell Labs certification report. By default this option is set to AIO_COMX. Modem specific PROTIME.INI files -------------------------------- The following statements should be used in your PROTIME.ini file if you intend to use any of these modems. Dataplex 296 MODEM_SPEEDSTRING=AT&A0F4 Dataplex 596 MODEM_SPEEDSTRING=AT$MB1 Netcomm (all models) MODEM_INIT=AT&F NOTE: Modem specific parameter sections are included in with the shipping PROTIME.ini configuration file but are COMMENTED OUT. To activate a particular modem configuration, uncomment the section for your particular modem and restart PROTIME.NLM. Ensure that you recomment any other modem section that are not to be used by this new modem configuration. eg # DATAPLEX 296 Configuration section #MODEM_SPEEDSTRING=AT&A0F4 becomes # DATAPLEX 296 Configuration section MODEM_SPEEDSTRING=AT&A0F4 Dial-up access telephone numbers -------------------------------- Telecom presently only provides a 1200bps dialup connection to the digital clock, your modem must be CCITT v22 and Hayes compliant. City Telephone number Adelaide (08) 410-0143 Brisbane (07) 221-7033 Canberra not available (*) Darwin (089) 41-3423 Hobart (002) 24-1905 Melbourne (03) 600-1641 Perth (09) 221-5457 Sydney (02) 267-4648 (*) At time of publication a Canberra dialup number was not available. The Sydney or Melbourne phones numbers are suitable. If a suitable telephone number is not provided above, please contact Telecom Australia for your nearest connection to the Telecom Digital Clock. System software and hardware requirements ----------------------------------------- Operating System NetWare v3.10 and above NetWare v4.0 and above Memory 64k of file server RAM Communications Hayes compatible modem compatible with v22 (1200bps) This product has been tested with the following modems and should work with most Hayes and CCITT v22 compatible modems. Netcomm 1234SA Netcomm 123 Netcomm 1234 Netcomm M7F Netcomm Pocket Rocket Dataplex 496 Dataplex 596 Dataplex 296 Hayes 9600