15.3. Downloading Prerequisite Data

The Core requires downloading the prerequisite data before connecting to the simulation. This ensures that both the application and the Core have the prerequisite data available and up to date. Such a feature is essential as a manual synchronization of the data is unacceptable. For example server nodes must know each other and this kind of information is distributed using this mechanism.

[Note]Note

Note that servers may be located miles away from each other, almost certainly not on a LAN. Thus, manual updates to the node database, the database where the information on server nodes is stored, would be cumbersome. No need to mention how client nodes can profit from such feature.

The download mechanism is the same as the one used to download the data dynamically when the system is running, see Chapter 24, Data Service.

To download the data call System::download_data(). When done the Core is ready to connect to the simulation.

[Note]Note

In order to be able to connect to the data service, the node must know the service node's public credentials and the credentials that will be used to authentize self. Since the download process runs anonymously, the local node does not introduce itself using its real identity (which may be unknown at the time of the download) and uses a well-known anonymous credentials instead. Both the anonymous credentials and service node's public credentials are specified in configuration files. See Section 27.11, “Node Database”.