This is essentially a https based download server.
It provides files via a secure network from an authenticated source.
It has a user database and password protected access to user download directories.
It has an unrestricted download area for the user public.
It has global IP-based limits on requests per minute.
It has time-restricted directories.
Contents of such directories are only available if the
designated time has passed.
Change the server pool names in ntpe.go to match your location.
Provide four server name.
The server clock will be synchronized
with at least three NTP server networks.
Of the three time readings, the most cautios reading will be selected -
and will be combined with the largest network round trip time.
Our tests yielded identical time readings and round trip times between 10 to 15 Milliseconds.
Thus, access is granted normally with a security time buffer of around 15 Milliseconds.
However, this cannot be guaranteed by the hosting company.
Internet connection problems can disrupt contact to the NTP servers.
In these cases, no automatic access is granted.
Instead, an employee of the hosting company must manually grant access.
You may check the documentation in the file ntpe.go
Access is granted for example at 11:00 o’clock of the
respectively current summer- or winter time regime.
The hosting server switches the time regime autonomously, depending on the date.
The synchronization with the NTP server pools also adapts to the respective time regime.
Download is always possible via web browser.
However, in order to fetch the data as quickly as possible
an automatic download program should be used.
To start the download at the earliest possible time,
the download server reports the remaining time until access in Milliseconds.
The demonstration download program contains an appropriate implementation.
It is not necessary to poll the server every 5 Milliseconds.
In fact, polling clients are blocked for 60 Seconds.
It is sufficient to ask for instance every 30 Seconds for the remaining time,
and to commence the download exactly when the remaining time has elapsed.
Every customer can make at most ten requests per rolling Minute.
Further requests are blocked.
This helps preventing denial-of-service scenarios.
After the Excel file was downloaded successfully,
it can be fed into the trading systems of the customer.
The demonstration program shows the usage of the Python pandas library to
extract the data from the Excel file.
The Python pandas library does not require a specific operating system.
And it does not require the Microsoft Excel software.
Most users of the service should have a good internet connection
of about 2-3 ms ping time and over >>10 MBit/s transfer speed.
Thus, the download should be completed in ~5 Milliseconds.
This too can of course not be guaranteed by the hosting company.
The date-time of the directory name is inconsistent (i.e. the month part is larger than 12).
The last successful clock synchronization is older than two hours.
Less than four NTP server from different NTP server pools are available.
The maximum blur (round trip time) upon synchronization is larger than 60 Milliseconds.
The difference to the system clock is larger than 10 Minutes.
Rendered by russross/blackfriday