Managing licenses with the OpenLM Router – KB4051
Product discontinue notice:
The support for OpenLM Software Router will be discontinued on December 31st, 2021.
The OpenLM Router was conceived through feedback received from trusted OpenLM customers by facilitating a new set of capabilities for license managers such as:
- Providing a single point of reference to all application clients when applying changes to the license server configuration
- Applying rules and restrictions on license usage according to specific users, IP ranges and time of day. These rules may be applied to any type of license server
- Setting up a license server redundancy scheme
This document describes the function, installation and configuration of the OpenLM Router component.
Table of Contents
The OpenLM Router was initially designed to redirect license requests made by application users to their respective license servers. The Router’s method of employment is to intervene en-route in the license request made by the application to the license manager.
- The OpenLM Router receives a transaction containing a source IP and port number. It propagates it to a specified target, bearing the destination IP and port numbers
- The OpenLM Router can apply various restrictions to the propagation of license requests made by clients to the license managers
- As it is a critical application, the OpenLM Router will normally be implemented with some redundancy, allowing one Router module to step in if another Router fails to transfer the license requests
- The OpenLM Router requires OpenLM Server version 4.5 or higher
- JDK 11 or higher is required
- The Router should reside on a stable machine in the organization’s network
The OpenLM Router is not a part of the basic OpenLM package. As such it requires additional licensing. In order to verify that your OpenLM Server supports this capability, please open EasyAdmin, then click on EasyAdmin Start → Administration → OpenLM License. In the list that appears, look for the “Router” feature:
In case you cannot find this entry, please contact Sales: email@example.com
To install Router on Windows:
1. Download the latest version of the OpenLM Router from the OpenLM website.
2. Click the .EXE file to launch the installation wizard.
3. During the installation process, you will be prompted to set up the hostname and API port number of your OpenLM Server (e.g. localhost and 7022 respectively).
- It is possible to change the OpenLM server name and port later by using the OpenLM Software Router Configuration tool (typically located in C:\Program Files\OpenLM\OpenLM Software Router\bin\)
- It is also possible to switch to secured (SSL) communication between the OpenLM Server and Router by following the OpenLM SSL Configuration guide.
4. Follow the installation wizard to its completion.
5. Open the Windows Services window, double-click the “OpenLM Software Router” service, click “Start” then OK.
To install Router on Linux:
1. Download the Router package for Linux from our Downloads page.
2. Extract the archive (OpenLM_Software_Router_####.tar.gz) to a convenient location.
3. Make sure you have JDK 11 installed.
4. Edit the settings.sh file as follows:
- The JAVA_HOME variable should point to your JDK 11 install. Please make sure that the path does not end with a trailing slash
- The ROUTERSRVNAMEUSER variable indicates the account under which the Router service is going to be started. If you change this, make sure that all the other files in the Router folder have their ownership changed to the new user
- The ROUTERSRVNAME variable indicates the service name. Edit this only if you want to install multiple Router services in parallel
- The ROUTERAPI variable indicates the address of the OpenLM Server with the corresponding port (by default 7022). This should be changed to reflect your actual Server setup. Also http can be changed to https in case you have configured SSL.
5. Run the installation method of the router.sh script:
sudo ./router.sh install
6.Check the status of the service:
sudo ./router.sh status
Below is a table of all the commands accessible via the router.sh script:
|start||Starts the OpenLM Router service|
|stop||Stops the OpenLM Router service|
|restart||Restarts the OpenLM Router service|
|status||Displays the status of the Router service|
|install||Installs OpenLM Router as a service using “systemctl enable”|
|uninstall||Disables an already installed OpenLM Router instance from starting as a service|
The command format is as follows:
sudo ./router.sh <command>
1. Open the OpenLM EasyAdmin web interface by typing “http://localhost:7019/EasyAdmin2/index.html” in your browser.
2. Click EasyAdmin Start → Administration → Router Management.
The Router Management window opens.
“Router groups” represent groups of routers that are configured identically. This is done in order to support routing redundancy schemes which is a requirement for keeping such a critical application running, providing license requirement transactions at all times.
In order to configure a router group:
1. Open the “Router Management” window (see above)
2. Under the Router Groups tab, click the ‘Add’ button. Provide a Router group name (e.g. group1)
3. Click Save to commit the changes
1. Under the Router Groups tab select the group of interest (e.g. group1).
2. Select the ‘Routers’ tab on the bottom half of the “Router Management ” window.
3. Click the Add button and type in the information regarding the new OpenLM Router module’s location. These include:
- Router module’s group membership
- OpenLM Router Hostname and IP
Note: When a router is initially configured to interface a specific OpenLM Server, the Router’s IP will be presented in the OpenLM Server’s Alerts window (EasyAdmin start → Widgets → Alerts)
- Enabled (set by default). Clear this box to disable this Router module
- Description: An optional short verbal description.
- Activity log interval (default 30 sec)- The rate at which the Router reports its activity to the OpenLM Server
- Keep alive interval (default 60 sec) – The rate at which the Router sends heartbeat messages to the OpenLM Server
- Statistics interval (default 300 sec) – The rate at which the Router accumulates transfer routing statistics.
While still in the “Router Management ” window, select the “Route instructions” tab. Click the ‘Add’ button and set up the routing rules to be performed by each router group:
- Router Group Name: Group to which the routing rule applies
- Enabled (set by default). Clear this box to disable this routing rule
- Client IP Range: The IP range to which a client addresses a license request. The OpenLM Router should route this IP to the Target IP.
- Listener port: The client port to which a client addresses a license request. The OpenLM Router should redirect this request to the Target port.
- Listener Protocol (TCP / UDP. Default: TCP): Different license managers use different communication protocols, e.g. FlexLM uses TCP, Sentinel RMS uses UDP.
- Target host: the hostname or IP and the port to which license requests would be routed. It is possible to configure more than one host+port configuration, thus implementing a multi-server redundancy environment. See more about that below.
- Application name: This is a descriptive free text field.
- User / Group: This is also a descriptive free text field.
- Allow (Allow/Block. Default: Allow). Allow or block the routing as described in the routing rule. Note that ‘Block’ has a higher priority. If a license request matches two instructions, one of which dictating ‘Block’, the request will not be routed.
- Period Limit:a time frame for which the rule will be applied. Clicking the textbox will open a form for introducing this information. For example, in the image below the rule is applied between 00:30 and 02:00.
The OpenLM Router is able to accommodate a multiple-server redundancy scheme. It observes the activity of each license server, and routes the license requests to active license servers according to a predefined order. See the image below for clarification:
According to this example, clients’ license requests will be first directed to server win10b, port 710. If the OpenLM Router detects no indication activity from that socket, it will direct license requests to the next listed server; server2012x64 port 300. Please note that multiple server redundancy will only be available for license server types that base their communication on the TCP/IP protocol (e.g. Flexnet).
Multiple server redundancy for UDP based License servers (e.g. Sentinel RMS) is currently not supported.
Communication between the OpenLM Server and OpenLM Router may be conducted over SSL secure connection. This would require following the steps in the OpenLM SSL configuration guide, some of which may require consulting your system administrator.
OpenLM periodically publishes new OpenLM Router versions in order to provide enhancements and fixes to previous versions.
1. Download the latest version of OpenLM Router from the Downloads area.
2. Double-click the installer file (e.g. openlm-router-#.#.#-setup.exe) to run it.
3. The installer should automatically detect any previous version of OpenLM Router and proceed with upgrading it automatically.
4. Click “Next” until the installer has completed the upgrade process and you’re presented with the final success screen.
5. Click “Finish” to close the installer.
1. Run the “uninstall” command to stop and remove the old version of OpenLM Router service:
sudo ./router.sh uninstall
2. For Linux/Unix-based systems the upgrade procedure is virtually identical to the install procedure described in section 4.2 of this document.
Following the configuration described in section 5, routing should take place between the clients requesting licenses and the License server granting those licenses.
The OpenLM Router logs this activity in a log file. This log is located by default in the ‘openlm-router’ installation directory. This is the ‘lsh-router.log’ file.
If you have any further questions regarding the OpenLM Router, its configuration or performance – please feel free to address the OpenLM Support team (firstname.lastname@example.org), by attaching a ZIP archive of the log folder and we’ll be glad to assist.