To run the MoQoS Open Nettest we aim to setup several server groups with dedicated functionality. One server group can consist of a single server or several servers depending on the performance demand. We are able to scale up the servers as need in order to provide consistent quality service as proposed in this document. All server groups except of the test server group can also be set up virtually.

One server group is dedicated to testing, this server or server group needs to be located in the internet exchange point and linked with at least 1Gbit/s to the internet exchange point. The second server group is controlling the process hence the name control server. The third server group runs the database engine and also performs the real-time database replication to a backup location.

Measurement Server

The Measurement Server is dedicated only for the testing and has no other functionality. This ensures that the test results are pristine and not compromised by any other activity. Most important is that servers are connected to the Internet with at least 1GBit/s. Additionally, the servers need to be directly connected to the internet exchange point(s), which the internet providers and mobile communication network providers use.

Speedtest Server

The Speedtest Server is responsible for sending and receiving all chunks to determine the maximum throughput. It generates random chunks with a very high entropy to be sure that data is not compressed during transfer.

WebSockets Server

The WebSockets Server is responsible for the communication with the JavaScript/WebSockets client used by browsers. Apart from that, the function is similar to the Speedtest Server.

QoS Server

The QoS Server is responsible for being the counterpart for all clients making QoS measurements. For that reason, the server has to have a lot of open ports for receiving and sending data. Depending on the QoS measurement, the server works as an echo service or a simulating a VoIp service, etc.

Control Server

The Control Server is responsible for all communication and negotiation among the client and all the other servers including the Measurement Server. This server is therefore also responsible for load balancing and distribution of single measurements.

Master Database Server

The Master Database Server holds the database, which contains all user data and measurements. The data is replicated regularly to a secondary location and backed-up regularly, see the Slave Database Server.

Slave Database Server

To ensure data security, there will be a real-time data replication from the Master Database Server. This is for security reasons in case of problems not to loose any single measurement detail.

Additionally computing intensive processes (e.g. statistics, heat map generation) are done using the Slave Database Server to allow for a smooth and continuous storing of data on the Master Database Server.

Map Server

The Map Server contains and provides all data which is necessary to visualize the measurements on the map. It creates all layers on top of the base map (e.g. Points, Heatmap, etc.).

Statistic Server

This server calculates all the statistics, which is published on the project website. Additionally it provides export functionality for open-data via CSV-download or JSON interface.

Web Server

All content of the web portal is provided by this server. It also includes the link to the respective app store for iOS and Android platforms and the JavaScript/Websockets client for all other operating systems. The data and statistics, which are generally available, will be also published through this server.

Leave a Reply