Table of Contents
 

1) Introduction

2) Table of Content

3) Title Page
 

3.1 Definitions and terms used in NTP
3.2 References
3.3 General overview
3.4 Specific Requirements
3.5  Context Diagram
3.6 Specific Requirements

4) Usage of Finite Element Methods
 
 
 

Section 1.Introduction
NTP Definition
Network time protocol refers to the Internet protocol used to synchronize clocks of computers to some time reference. NTP is an Internet standard protocol.

The purpose of NTP server is to provide a centralized system of time to all the other modules present within the system and to coordinate with them to ensure that there is no conflict of time. It is intended to provide an accuracy of up to a Nanosecond, so that any time ambiguity within the system is fully eliminated and all the components within the system take NTP time as the absolute and reference time. It is imperative that all clocks are set towards that true time as it will not just make all the systems agree on some time, but will also make them agree on some true time as defined by some standard as it is necessary that isolated networks may work at their own wrong time but as soon as they are connected to some standard source then they are connected to the Internet source.

For our present purposes, we intend to use bruce server installed in ECE at the University of Central Florida as the primary time provider and refer to its time as the standard time, both as a reference and absolute time.

Section 2. Definitions and acronyms
Terminologies used in NTP

maxerror

     The maximum error (set by an application program,
     increases automatically).

esterror

     The estimated error (set by an application program like
     ntpd).
offset

     The additional remaining correction to the system clock.
freq
     The automatic periodic correction to the system clock.
     Positive values make the clock go faster while negative
     values slow it down.
constant
     Stiffness of the control loop. This value controls how a
     correction to the system clock is weighted. Large values
     cause only small corrections to be made.
status
     The set of control bits in effect. Some bits can only be read,
     while others can be also set by a privileged application. The
     most important bits are:
ntpd
A daemon process that is both a client and a server.
ntpdate
A utility to set the time once
ntq, ntpdc
Monitoring and control programs that communicate via UDP with ntpd
ntptrace
Monitoring and tracing the current system starting from the local server.
precision
The smallest possible increase of time that can be experienced by a program.

Stratum
A server operating at stratum 1 is the best NTP server available, because it has a reference clock attached to it. Since accurate reference clocks are expensive, only a few of these servers are publicly available.
Synchronization process
Synchronizing a client to a network server consists of several packet exchanges where each exchange is a pair of request and reply. When sending out a request, the client stores its local time into the packet being sent. When a server receives such a packet, it will store its own estimate of the current time into the packet, and the packet will be returned. When receiving the reply, the receiver will once more log its own receipt time to estimate the travelling time of the packet.
These time differences can be used to estimate the time it took for the packet to be transmitted from the server to the requestor. That round-trip time is taken into account when estimating the current time. The shorter the round-trip time, the more accurate the estimate of the current time.

A time difference of less than 128ms between the server and client is required to maintain NTP synchronization.
ime
     The current time.
maxerror
     The maximum error (set by an application program,
     increases automatically).
esterror
     The estimated error (set by an application program like
     ntpd).
offset
     The additional remaining correction to the system clock.

freq
     The automatic periodic correction to the system clock.
     Positive values make the clock go faster while negative
     values slow it down.
constant
     Stiffness of the control loop. This value controls how a
     correction to the system clock is weighted. Large values
     cause only small corrections to be made.
status
     The set of control bits in effect. Some bits can only be read,
     while others can be also set by a privileged application. The
     most important bits are:
Section 3.     References
- ATC documentation provided by the Professor.
- The web site which extensively helped for formulating the report and contains in - depth study of the subject has the link at
www.eecis.udel.edu/~ntp/ntpfaq/NTP-s-algo.htm

Section 4.    General Overview
Inputs to the system
- All the modules shall be requesting the time from the NTP server and NTP server shall be providing the absolute time as well as reference time to all the other modules.
- This will not only make all the systems agree on some time but will make them agree on the true time as defined by the bruce  synchronized time.
-  The client shall be requesting the accurate time response from the server and server shall be providing that time request. They shall provide the relative timer services that shall cater for the sleep()or wake - up() calls for the system.

Outputs of the System:

- A typical example shall be  a GPS (Global Positioning system) receiver that gets the time from the satellite, the satellites normally have a cesium clock that is periodically corrected to provide maximum accuracy.
-   A reference clock shall provide the current time, NTP shall compute some additional statistical values that describe the quality of time it sees.
- Time sill be passed from one  source to the other, typically starting from a reference clock connected to the bruce server.
- Synchronizing the Clients (Five of them mentioned in the block diagram). When sending out a request, the client stores its local time into a packet being sent.
- The server receives that packet, it will store its own estimated time into the packet, and the packet will be returned.
- When receiving the reply, the receiver will once more log its own receipt time to estimate the travelling time of the packet..
- The time difference can be used to estimate the time it took for the packet to be transmitted from the server to the requestor.
- The round - trip time is taken into account when estimating the current time, the shorter that round trip time then more accurate the estimate of the current time.
Functions performed by the Module
a. Provide absolute time with NTP accuracy. The clients shall be requesting the server for providing them with absolute time as well as reference time and that shall be provided to them with Nanosecond accuracy.
b. Provision of absolute timer services, some of the Clients might require to initiate a wake up call or a sleep call , so that the entire system can work , this is dependent upon the No of processors employed by the system, in case of a singular processor., only one function can be performed at a time. Since we intend to used Multithreading for the purpose, so each thread shall be synchronous with the system as well as with it s colleague threads.
c. Provision of relative time service to the system, this implies the provision of services where each system is dependent upon the other for time and acts when, for instance a thread has stop()  and asking the other thread to apply start().
d. Synchronizing the entire system, so that there is no conflict of time and each module is activated and deactivated at the desired time instance.
 

  UML's  Functionality Diagrams
  Shown in the pages attached.
- Description of UML's sequence Diagram
- Bruce server available in the ECE lab at  UCF  is used for the purpose of determining and providing the time services.
-     Bruce server in turn is connected to some other Stratum server which keeps track of the accuracy of the entire system..
- The NTP server (bruce in our case) provides accurate time services to at least five Clients.  Each of the Client has its specific requirements.
- All clients synchronously provide the output to the NTP server in the form of a Feed Back system, for that  purpose threads are employed
- Each thread communicates with the respective module and the accuracy of the NTP server is compared by using another smaller NTP server to determine its validity and to ascertain its correction in relation to the actual server.
-  An elaborate Graphical User Interface (GUI ) displays the interface between Bruce and the System and identifies any discrepancies that might be involved in the process, this might enable us to rectify and correct any discrepancies involved in the relative time.
Section 5
5.1 Context Diagram
-  The figure for the module identifying all the interconnected modules is shown in Fig No.
This also shows the input and output data types to determine if the system is providing and fulfilling the intended purpose.
- Data Types
All types of data are numericals and primarily integers, as time is recorded in numbers. It is our intended purpose to employ time to the accuracy of a Nanosecond.
 

5.2 Specific Requirements

- The five intended clients for the server are
a. Radar Data Acquisition
b. Data Communication with other ATC
c. Weather information Processing
d. Internal algorithm processing
e. Utilizing Satellite Information
Some of these groups shall be requiring absolute time (coming directly from NTP server) while some shall be requiring reference time because of interdependencies, they require time as the input value and produce the output in the form of synchronized functions. For instance the radar data acquisition (requires relative time) shall be performed from the satellite group (requires absolute time). The data once acquired shall be send to the group using the satellite information (reference time). This entire process is monitored by the Internal algorithm so as to ensure that the whole process works synchronously.
 

Reference time and Absolute time
The intention is to prepare a GUI for the entire mechanism, where the maintenance input and output are dealt by provision of the services to the various clients through a reference clock and an absolute clock. All the relevant members shall inform us about their specific requirements in relation to the time and we shall provide them with the service at the instance of time whenever required, the reference time to be taken is that given by the bruce server and shall serve as the point, where for some of the components that shall be the reference point while for the others it shall be the absolute time, for instance for the weather monitoring team the time shall be required to update their data after a predetermined amount of time.

We intend to employ multithreading for the purpose, where advantage shall be taken of the threads which provide the services as sleep( ), notify( ) and awake( ) depending on the requirements of the specific groups and the functions that they are going to perform.

4. Usage of Finite Element Method in NTP
Although the idea is somewhat vague, but the crux is that based on the accurate prediction of the weather fluctuations, we can calculate the turbulences in the plane and upto an accuracy of Nanoseconds, the initial weather can be taken as the reference condition and the PDE for it can be solved depending on the boundary conditions at a given time period.
 
 
 

Hosted by www.Geocities.ws

1