GSoC/GCI Archive
Google Summer of Code 2015

Network Time Foundation

License: GNU General Public License (GPL)

Web Page: http://support.ntp.org/bin/view/Dev/GoogleSummerOfCode

Mailing List: hackers@ntp.org

Network Time Foundation and its Consortia are dedicated to the advancement and evolution of NTP, PTP and related network-time technologies. We strive to better serve the networking community and the organizations, businesses, and individuals who benefit from — and need — Network Time through:

  • Support of the development process.
  • Promotion of the standardization of accurate network time synchronization and the related specifications, through various Standards organizations, including IEEE, IETF, ITU, and POSIX.
  • Collaboration with groups that need time synchronization.
  • Documentation and implementation of Best Current Practices for using NTP in embedded systems.
  • Facilitating user participation in the community, and spearheading the advancement and evolution of Network Time and NTP.
  • Certification and Compliance programs around Network Time.
  • Recognition of your support of Network Time.

Projects

  • NTP Testing : Migration to Unity Framework & UnitTesting This project mainly consists of two parts - (I)Converting existing NTP tests from GoogleTest to Unity Framework. (II)Writing tests for libntp and ntpd programs. The primary focus will be on Part(I). As of now my study says that we would not be able to convert all existing test cases to Unity( detailed analysis mentioned below ). Thus there is a possibility of some time remaining, which can be rightfully used to implement Part(II)
  • Proposal for "Create a web-based ntp.conf file generator" The ntp.conf comes pre-shipped with the package ntp, and configures the parameters for the ntp daemon, which helps it sync with the right servers in the right way. However, the ntp.conf is not always written in a way that is correct / efficient. Hence, I propose to make a web-based ntp.conf web-portal that will parse an uploaded ntp.conf and generate a clean ntp.conf based upon a choice based system.
  • Study the usefulness of different clock models for NTP The main goal of this project is to analyze the usefulness of different clock models for NTP, contributing for an enhanced performance. The goal is to use filtering techniques to analyze two issues. The first is a parameter that provides an explicit connection between the polling interval and the accuracy of the synchronization process. The second issue is a more sophisticated model for the performance of the clock on the local system and for the network delay.
  • Testing This project will cover testing lowlevel protocols and operational testing of ntpd. The first half of this project will involve writing protocol tests in Python the later half will involve testing ntpd using this library as well as modifications to ntpd for allowing easier testing.
  • Updating the test suite of Network Time Protocol Testing software is hugely underlooked in many projects and it is a huge mistake. While writing tests indeed takes some time and effort, it pays off really quickly. Once you write a good test, it stays there and protects your project from regression. Testing is essential to produce quality code. I aim to create tests that will cover not only every day cases, but also corner cases to help other developers be more productive.