PmNetKey license server

PmNetKey license server allows to provide the licenses to PROMOTIC applications via networks. This way, it is not needed to have license in own HW Key for each individual PROMOTIC application. This licencing procedure can also solve problems of PROMOTIC applications running in virtualized environment, where the PROMOTIC application cannot access the physical HW Key connected to USB port. PmNetKey license server is protected by its own HW Key. PmNetKey license server is typicaly automaticaly launched on computer boot as a service of the OS Windows.
In order to assure correct functionality it is necessary, that the computers with PROMOTIC applications (license clients) have network connectivity via the HTTP or HTTPS protocol to the computer with the PmNetKey license server program. The communication between PROMOTIC application and the license server happens not only when the application is launching, but also after that, periodically (the period is around 1 minute or or slightly longer). The network connection with the license server must be functional during the whole time the PROMOTIC application is running.
The licenses on the license server are "floating": The PROMOTIC applications can be launched on any PC (connected to the network) but the number of simultaneously running applications can not exceed the number of runtime licenses present on the license server. If, For example, there are 2 runtime licenses present on the license server, then it is possible to run 2 applications simultaneously. Additional application (third) can not be launched. If one of the running applications is stopped and thus does not communicate with the license server for 10 minutes, then its license is released on the license server and available to be used by another application. Now it is possible to run the other application - it will use this released license.
The PROMOTIC application network licenses for PmNetKey license server are provided in the form of a license file (see license file SWK bound to PmNetKey license server). The license file is functional only with the corresponding license server, it was generated for. It will not function with another license server.

Installation, uninstallation of the license server and service configuration

The program has its own installation file, because it is often installed on a computer, where the PROMOTIC system is not present. The installation program can be downloaded from (e.g. PmNetKey XXYYZZ.msi). The program is to be installed on the computer that is going to act as a license server. While being installed, the program is configured as a OS Windows service with automatic launch on system boot. The PmNetKey license server service can be configured, stopped and launched by using the standard OS Windows resources (services.msc service manager).

PmNetKey license server is protected by its own HW Key. The program is not functional without the HW Key. The HW Key must be generated especially for this purpose, normal PROMOTIC application HW Key cannot be used in such case. The HW Key must be permanently present in the USB port of the computer that is running the PmNetKey license server.

The program (service) can also be controlled from the command line by entering parameters. The command line window must be launched with the Administrator rights. The commands are relevant in some special cases for example in OS Windows *.bat files. Usually it is not necessary to use such commands, because the OS Windows service is configured during the program installation process and it is removed when the program is uninstalled. The configuration, stopping and launching is provided by using the standard OS Windows resources. Individual commands:
PmNetKey -i - Adds the OS Windows service for the PmNetKey license server program. The service will be configured in order to launch automatically on system boot. It is done automatically during the program installation.
PmNetKey -u - Removes the OS Windows service of the PmNetKey license server program. It is done automatically during the program uninstallation.
PmNetKey -s - Launches the OS Windows service of the PmNetKey license server program.
PmNetKey -k - Stopps the OS Windows service of the PmNetKey license server program.
PmNetKey - Launches the PmNetKey license server program as a normal application, not as a service. Application icon appears in the OS Windows Sys Tray among icons on the right. This can be handy for testing purposes.

License server configuration

The program is configured via the PmNetKey.ini configuration file. This file is created automatically during the installation and is located in the same folder as PmNetKey.exe (the typical location is: C:\Program Files\Promotic or C:\Program Files (x86)\Promotic).

Description of the keys in the [Config] section:

WebServer - The key allows to modify the port and protocol (HTTP or HTTPS) that will be used for listening by the internal Web server of the PmNetKey license server program. If not set, then the default value http://+:81/ is used, it means that the HTTP protocol and port 81 are used. The ";" character at the beginning of the line changes it to a comment. Such line is not taken into account.
Example of the PmNetKey.ini configuration file for the HTTP protocol and port 83
Example of the PmNetKey.ini configuration file for the HTTPS protocol and default port 443
LogDir - This key allows change of the default foder where the Log file will be located. If not set, then the Log file is located in the same folder as the PmNetKey.exe program. Be informed that the default installation directory may be read-only.
Example of PmNetKey.ini configuration file for
LogRefresh - This key defines whether the information regarding client licence refersh is written into the Log file. Value 1) enables writing, value 0 disables writing. The default logging period is 1 minute for each client. This may be useful for debugging problems with network licences but from long term point of view, periodically logging this information may overwrite other important logs from the circular log file(s). If not set, then then the logging of licence client refresh into the Log file is disabled (value 0).
Example of the PmNetKey.ini configuration file that enables logging of periodical client licence refresh into the Log file
Medium - This key allows to define the specific HARDWARE key that is used for runtime protection of the PmNetKey licence server. It may contain a list of HARDWARE keys (entries separated by commas) that is being evalueated starting from the first entry until the first connected HARDWARE key is found (e.g. hwkey:k1234,hwkey:k1111). If not set, then the default value "hwkey" is used, meaning any HARDWARE key. If the list is not defined and while multiple HARDWARE keys are connected to the computer then after the computer is rebooted the licence server may get paired with another HARDWARE key.
Example of the PmNetKey.ini configuration file that defines the specific HARDWARE key with number 1234 for the protection of licence server.
Commissioning the HTTPS protocol of the license server:
The implementation of the license server (Web server) is provided by the OS Windows HTTP service. The configuration of HTTPS protocol is done axactly the same way, as for the HTTPS protocol of the PmWeb object, i.e. by using our own HTTP service configuration utility PmHttpConfig.exe, for description see PmHttpConfig.exe - configuration of HTTP service for PROMOTIC Web servers (HTTP and HTTPS) (it is necessary to set the rights, import the certificate of the server and connect it with the corresponding Web server).

Monitoring the license server functionality

The program allows to monitor the current status of provided network licenses and also the history of network license clients logins and logouts. The monitoring is provided via the Web interface. PmNetKey license server contains an internal Web server, that offers the info.html and log.html pages on it s IP address, protocol and port. For example http://localhost:81/info.html and http://localhost:81/log.html.

Behavior of the PROMOTIC application when the connection with the license server is lost

If the periodic communication with the license server is permanently failing, then the running PROMOTIC application goes through the following states:
1) information - first, the error message about the failed communication with the license server is displayed in global errors. Dhis state is reached after the first failure of the periodical communication. This state lasts around 10 minutes.
2) warning - after that, the warning window is displayed (repeatedly if the user closes it) and in the global errors the communication failure message is displayed. This state lasts around 48 hours.
3) error - finally, the situation is evaluated as fatal error, the application is stopped and license error message is displayed in the global errors.
The states 1) and 2) are immediately terminated after first successfull periodical communication with the license server. If the communication with the license server fails permanently, then the application is stopped after 48 hours. It is possible to use the method Pm.LicenceInfo(10) for detection of time that has passed since the last successfull communication with the licence server.
If the connection to the license server is not functional, the PROMOTIC application cannot be launched. The time interval protection of the application before it is stopped, because of the license server communication failure is applied only for application that are allready running.

Commissioning the SWK license files on the license server and the license client

a) License server - The license file must be copied into the same folder where the PmNetKey.exe file is located.
b) License client - In the application INI file (for runtime - PmRt), or in PROMOTIC INI file (for development environment - PmDev and PmDevSchool - since version 8.3. it is necessary to create the section [Licence] and in this section to create the key Medium as described below (reference to a PmNetKey license server and to a specific license file SWK bound to PmNetKey license server):
, where the netkey indicates the network license, http or https indicates the protocol, followed by the IP address or computer name, internal Web server port and the license SWK file name.
Logged-in Windows user must have the permissons for writing into following files:
- PmNetKeyA.log file of the license server PmNetKey
- app.ini files of PROMOTIC application bound to PmNetKey license server
PROMOTIC 8.3.23 SCADA system documentation - MICROSYS, spol. s r.o.

Send page remarkContact responsible person
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice