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.