Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmLicServer license server

PmLicServer 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 in the PROMOTIC application running in virtualized environment, where the PROMOTIC application cannot access the physical HW Key connected to USB port. PmLicServer license server is protected by its own HW Key. PmLicServer license server is typicaly automatically 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 PmLicServer 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 so-called "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 PmLicServer license server are provided in the form of a license file (see license file SWK bound to PmLicServer 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 https://www.promotic.eu/en/promotic/download/download.htm (e.g. PmLicServer 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 service OS Windows with automatic launch on system boot. The PmLicServer license server service can be configured, stopped and launched by using the standard OS Windows resources (services.msc service manager).

PmLicServer 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 PmLicServer 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:
 
PmLicServer -i - Adds the OS Windows service for the PmLicServer license server program. The service will be configured in order to launch automatically on system boot. It is done automatically during the program installation.
PmLicServer -u - Removes the OS Windows service of the PmLicServer license server program. It is done automatically during the program uninstallation.
PmLicServer -s - Launches the OS Windows service of the PmLicServer license server program.
PmLicServer -k - Stopps the OS Windows service of the PmLicServer license server program.
PmLicServer - Launches the PmLicServer 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 PmLicServer.ini configuration file. This file is created automatically during the installation and is located in the \GCfg folder.

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 PmLicServer license server program. If not set, then the default value http://+:5656/ is used, it means that the HTTP protocol and port 5656 are used. The ";" character at the beginning of the line changes it to a comment. Such line is not taken into account.
Example1:
Example of the PmLicServer.ini configuration file for the HTTP protocol and port 81
[Config]
WebServer=http://+:81/
Example2:
Example of the PmLicServer.ini configuration file for the HTTPS protocol and default port 443
[Config]
WebServer=https://+:443/
 
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 (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 the logging of licence client refresh into the Log file is disabled (value 0).
Example:
Example of the PmLicServer.ini configuration file that enables logging of periodical client licence refresh into the Log file
[Config]
LogRefresh=1
 
Medium - This key allows to define the specific HARDWARE key that is used for runtime protection of the PmLicServer licence server. In order to provide any network licences, the key must be defined. If not set, then the default value the default value "none" is used, which means that the license server PmLicServer is not providing any network licences.
Example:
Example of the PmLicServer.ini configuration file that defines the specific HW Key with number 1234 for the protection of licence server.
[Config]
Medium=hwkey:k1234
 
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 PmaWeb object, i.e. by the utility PmHttpConfig.exe (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. PmLicServer 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:5656/info.html and http://localhost:5656/log.html.
 
The log file is created automatically in folder \GTemp.

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. The method Pm.LicenceInfo(10) for detection of time that has passed since the last successfull communication with the licence server can be used.
 
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 it is necessary to copy into the \Licences folder.
b) License client - In the application INI file (for runtime - PmRt), or in PROMOTIC INI file (for the 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 PmLicServer license server and to a specific license file SWK bound to PmLicServer license server):
[Licence]
Medium=netkey:http://192.168.1.99:5656/Pm1234.swk
 
, where the netkey indicates the network license, http or https specifies the protocol, followed by the IP address or computer name, internal Web server port and the license SWK file name.
 
Caution:
 
Logged-in Windows user must have the permissions for writing into following files:
- app.ini files of PROMOTIC application bound to PmLicServer license server

History:
Pm9.00.03: Renamed and modified licence server.

In previous versions, the licence server name was PmNetKey.exe and was available as independent program for installation.

Now it is named PmLicServer.exe and is included in the installation of each corresponding PROMOTIC version (it is possible to select only the installation of PmLicServer in the install options).

Pm8.03.23: Extension of runtime period while connection to licence server is lost from 12 hours to 48 hours
Pm8.02.00: Created
PROMOTIC 9.0.7 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