Model Licensing

Revision as of 20:31, 5 August 2020 by Lchrisman (talk | contribs) (Updated where to put license to ProgramData)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

You can configure a model (or a linked module or linked library) so that people need a license to use the model. The model license is separate from the license needed to run Analytica, but uses a similar method enabled by the Reprise license manager. The full flexibility of the Reprise license manager is available to configure a model license: For example, the license can be locked to a particular computer or user, or it can be a floating license with a maximum number of simultaneous users on a given network, managed by a Reprise license server.

A model license must be issued by and digitally signed by Lumina, so its ISV field set to Lumina. The feature is mainly intended to enable Lumina to license vertical applications implemented in Analytica. If you also want to license a vertical product you have built in Analytica, please contact Lumina, and we may be able to sign a license on your behalf. You will need at least Analytica Enterprise to use this feature.

Using a Licensed Model

When you receive a licensed model, you should also get a license to run it. The license may be provided in the form of an Activation Key, or a file with a *.lic extension. If you are using an RLM License Server to manage your Analytica licenses, you can manage your model licenses using the same License server. Once the license is properly installed, you can use the model as you would any other model. If the license becomes unavailable (e.g., all floating licenses in use, license expires, etc), you will be unable to load the model.

If you have an activation key for an individual license, you can enter this into Analytica into the Product License box in the Update License dialog and press Activate. Activation will obtain a license specific to your computer and user account and store it in the existing *.lic files.

Using an Activation key requires that the computer on which you are installing the licensed model have direct Internet access. If it doesn't have internet access, you may use a license file. You must provide your computer's hostid and your user name to Lumina so that we can create a license valid for your computer and account. You can find this information in the Analytica Help menu on the Update License... dialog. When you receive the license file *.lic, you should place it in the directory that contains your model file, or in the "C:\ProgramData\Lumina\Licenses" directory.

Instead of an individual license, you or our organization may be provided with a centrally managed license, which gets installed on a Reprise License Manager (RLM) server. Centrally managed licenses may be floating or node-locked (reserved). If such a license has already been installed on the RLM server that you use for your Analytica license, then no further action is required on your part. If the model license is hosted by an RLM server other than the one you use for your Analytica license, you must first have access to the appropriate IP port on that server (usually port 2375), unblocked by firewalls. Then you'll need to create a file with a *.lic extension, in your model directory or in the Analytica install directory, containing the following line:

HOST «serverName» any 2375

The 2375 is the port, which should be changed if a non-default port is used by the server.

A model that is configured to use a license can only be loaded into Analytica 4.2 or later. Attempting to load it into Analytica 4.1 or earlier will fail.

Configuring a model to require a license

Configure a model (or module or library) to require a license consists of setting the Att_rlm_license attribute from typescript, and then sending your client an obfuscated copy of your model. Analytica will require the license when the file is not obfuscated, but the obfuscation prevents the end-user from disabling the license by editing out the licensing information in a text editor.

The Att_rlm_license attribute expects the names of two licenses, and a version number. The format of the attribute is as follows:


The userLicense is the name of the license that is required to load and use the model. The adminLicense is optional but specifies the name of a license that is required in order to change this Att_rlm_license attribute. Thus, when you set this attribute, make sure that you already have an adminLicense configured for yourself -- if you don't, then as soon as you set the attribute, you will not be able to change it if you make a mistake.


The first step is to create two licenses -- the userLicense and the adminLicense. You need to create a product name for each. In this example, the product will be called XYZ_Forecasting_Suite version 2.0. We'll assume that this is also the identifier of the model is Forecasting_Suite.

Using a text editor, we design the licenses for our own use. In this case, we find our host id on the Update License... dialog as 1a2f347c.

LICENSE lumina xyz_forecasting_suite 2.0 permanent single hostid=1a2f347c
LICENSE lumina xyz_forecasting_admin 2.0 permanent single hostid=1a2f347c

Other licensing options are possible -- consult the Reprise RLM manual for an exhaustive list of possible licensing options.

A qualified Lumina representative must then use rlmsign.exe to digitally sign the license file (this is the step that can only be done by Lumina). This adds a signature to each line, which now looks like:

LICENSE lumina xyz_forecasting_suite 2.0 permanent single
hostid=1a2f347c sig="60P0452WFYHA064AM4RTHX882N2TGSPHYVNN30R22HBFQ3J
LICENSE lumina xyz_forecasting_admin 2.0 permanent single
hostid=1a2f347c sig="60P0453386PVBC6DU9977CHNS0JN0V9U4WJWRAG22GY0YKA

You'll save this file either in your model directory, or in your Analytica directory. These licenses are only valid on your computer (hostid=1a2f347c).

Next, load your model into Analytica so that we can configure it to use the license. Before setting the Att_rlm_license attribute, it is not a bad idea to test that both licenses are indeed valid for you. To do this, create a variables as follows:

Variable TestUserLic := AnalyticaLicenseInfo("Checkout:xyz_forecasting_suite,2.0")
Variable TestAdminLic := AnalyticaLicenseInfo("Checkout:xyz_forecasting_admin,2.0")

Evaluate each of these. If the corresponding licenses can be successfully checked out, you will see «License» in the result window. Once you're satisfied, you can delete these two variables, thus releasing these licenses.

Now you are ready to set the license for your model. In the typescript window type:

Att_rlm_license forecasting_suite : xyz_forecasting_suite,xyz_forecasting_admin,2.0

This line says that your model (identifier forecasting_suite) requires the product license named xyz_forecasting_suite version 2.0 or later in order to use the model. If you want to modify this attribute again, you'll need the xyz_forecasting_admin product license. The licensing will be enforced when an attempt is made to load the model.

When the model is loaded, the license is checked out as long as the forecasting_suite object exists. So if a floating license is used, the license will be in use the user either deletes the model object, for example, by closing the model or exiting Analytica. An object containing the checked out license is held in the read-only Att_rlm_licenseobj attribute while the license is in use.

The adminLicense is optional, but if not supplied, a user of the model (who has at loaded the model using a userLicense) would theoretically be able to change or remove the license from the Att_rlm_license attribute.

When using a license, you should save your model in standard file format, not XML, or in an obfuscated format. In a non-obfuscated XML format, the model can be loaded into pre-4.2 releases of Analytica, where the license is not validated.

See Also


You are not allowed to post comments.