Visual Basic 6 programs may call RLM functions to implement software licensing functionality. There are a few extra steps that must be taken beyond what’s needed in C/C++ programs to make it work however. This is a description of those steps.
Cloud computing can open untapped markets for some software vendors’ products, especially those with a high per-seat cost, by providing convenient access to their software on “big iron” at a much lower price point.
Heartbeats are messages sent from a licensed application to the license server while the application has one or more licenses checked out from the server. The license server acknowledges the receipt of each heartbeat by sending a message back to the application. In this way, each side can know that the other side is up, running, and healthy, or take appropriate action if the other side is not healthy.
Step-by-step instructions on how to upgrade RLM from a demo version or from an older version.
The IBM® Platform™ LSF® Family of products has been recently updated and now includes comprehensive support for the Reprise License Manager (RLM).
JTB World adds RLM support to its Usage Reporting Tools
Reprise Software is pleased to announce that JTB World has added support for RLM into its suite of license usage reporting tools.
These tools can be used by you or by your customers to monitor historical usage for departmental charge backs or usage-based pricing models.
You can find out more here:
Please contact JTB World directly for more information.
RLM Backwards Compatibility: Is RLM v10 backward compatible with RLM v8.0?
This question often comes up. The general question is, how is backward compatibility handled in RLM?
On the license server side, the rules we have always followed (and we expect to always follow in the future), are these:
- You can always use a newer version of rlm with an older ISV server
- You can always use a newer version of license server (both rlm and the ISV server) with an older client (application)
- You can, of course, always use the same version of application and license server.
So, for example, let’s say you have an application that is built with RLM v7.0. This application will work with any of these combinations of servers:
- rlm v10.0 and ISV server v7.0 thru v10.0
- rlm v9.0 and ISV server v7.0 thru v9.0
- rlm v8.0 and ISV server v7.0 thru v8.0
- rlm v7.0 and ISV server v7.0
There is one caveat to this general rule, and it applies to ISVs who ship server settings files rather than server binaries. A server settings file allows the ISV to specify the newest and/or oldest version of RLM with which it will operate. By default, they operate within the rules outlined above, but the individual ISV can override this. So the instructions from your ISV (if they use settings files) will always override these general rules.
What this means, in practice, is that if you have a multiple-ISV RLM installation, you can always take the newer copy of rlm and ISV server from one of your ISVs and use it with the older ISV server from your other ISV(s). However, if you use the command-line RLM utilities (instead of the preferred web interface), we only guarantee that the version of the RLM utilities corresponding to the oldest ISV server will work.
Sometimes RLM Roaming won’t work on a Windows system.
On Windows, RLM sometimes fails to start the ISV server with a select(), getsockname() or “communications (socket) problems” error. This is a very uncommon problem, but the simple fix described below will correct it.
Reprise has had reports on a very limited number of systems that RLM fails to start the ISV server, with errors similar to the following written to the debug log (note: the ISV name will be your ISV name, not “demo”):
03/16 04:12 (demo) select() failure: Unknown error
03/16 04:12 (demo) Out of file descriptors: Cannot clone communications handle: Unknown error0
3/16 04:12 (demo) Too many errors on main socket, exiting
This error sometimes results in debug log output similar to the following:
01/06 10:11 (rlm) Starting ISV demo
01/06 10:11 (rlm) Error in getsockname() call 13
01/06 10:11 (rlm) … demo on port 57809
01/06 10:11 (rlm) New thread created to watch ISV demo
01/06 10:11 (rlm) demo initialization error: 1, not restarting
Or the following:
01/05 12:50 (rlm) Starting ISV servers:
01/05 12:50 (rlm) … demo on port 1088
01/05 12:50 (rlm) New thread created to watch ISV demo
01/05 12:50 (rlm) demo – communication (socket) problems
This problem is caused by a registry corruption (not induced by RLM) that affects some network operations. The fix is to open a command window and type the command:
$ netsh winsock reset
Should the above “netsh” command not solve the problem, Microsoft has published the following article on how to correct the registry when this occurs. Note that the error message indicating the problem is different in the article than the RLM error message indicating the problem, but the underlying cause is the same.
Sometimes it is desirable for the RLM server to be behind a firewall. RLM supports this, but there is a small amount of configuration that you will have to do to use RLM across a firewall.
If you have a firewall installed on the server node which is not allowing your application to access either the rlm port, or the port of the ISV server you must first configure your firewall to allow access to both the main rlm port, as well as the ISV server port. To do this, perform the following steps:
- In your license file, look at the SERVER (or HOST) and ISV lines:
- SERVER server-hostname server-hostid main-rlm-server-port# (Note: the keyword HOST is equivalent to SERVER)
- ISV isvname
- Add the desired port # to the ISV line as follows:
ISV isvname port=isv-port# (if you have RLM v9.0 or later), or
ISV isvname isv-binary isv-options-file isv-port# (if you have pre-v9 RLM)
- Next, configure your firewall to allow access to both isv-port# and main-rlm-server-port#
- Make sure that the license file is updated on the server node, and that the client nodes know how to find rlm – either with a license file with the SERVER line above, or by setting the RLM_LICENSE environment variable to main-rlm-server-port#@server-hostname
- Re-start rlm – you must restart RLM in order for any port changes to take effect. Restarting the ISV server via the web interface or rlmreread does not restart RLM.