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.
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.
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.
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.
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.
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.).
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.