License pooling

Editing the options

You can edit the options in 2 ways:

  • In the bricsys.opt file, located in the Network License Manager installation folder.
  • On the web interface of the Network License Manager.
    • Browse to http://localhost:5054 on the license server.
    • Click Status in the menu on the left side.
    • Click bricsys in the OPTIONS column for the bricsys ISV row.

Once edited, Reread/Restart the license server.

Commonly used options

Groups can be used to define a list of usernames, hostnames or IP-addresses.

The name can later be used to apply rules for that group.

Syntax Example
GROUP Defines a group of usernames. GROUP name list-of-usernames GROUP engineers userA userB userC
HOST_GROUP Defines a group of hostnames. HOST_GROUP name list-of-hostnames HOST_GROUP firstFloor machineA machineB machineC
INTERNET_GROUP Defines a group of IP-addresses. INTERNET_GROUP name list-of-ip-addresses INTERNET_GROUP networkGhent 192.168.1.* 192.168.2.*

The wildcard character (*) can be used in IP addresses.

RESERVE Reserve a number of licenses to a specific (group of) user(s). RESERVE num product user|host|group|host_group|internet|internet_group|project who [id=nnn] RESERVE 20 bricscad GROUP engineers
MAX Limit the number of licenses available to a specific (group of) user(s). MAX num product user|host|group|host_group|internet|internet_group|project who [id=nnn] MAX 5 bricscad HOST_GROUP firstFloor
INCLUDE Only allow licenses for a product to a specific (group of) user(s). Anyone not specified by the INCLUDE line is not allowed to use the product. INCLUDE product userhost|group|host_group|internet|internet_group|project who [id=nnn] INCLUDE bricscad GROUP bricscadusers
EXCLUDE Disallow licenses for a product to a specific (group of) user(s). EXCLUDE product user|host|group|host_group|internet|internet_group|project who [id=nnn] EXCLUDE bricscad INTERNET_GROUP 1.1.*.*

More options can be found in the RLM end user manual, under the paragraph The ISV Options File.

Identifying a license file

Reprise license manager allows you to add an '_id' field in your license file.

With this '_id', you can identify each license file as a separate license pool.

When specifying an [id=nnn] parameter for an added OPTION, that OPTION will only have effect on the corresponding license file.

Usage Example:

You have 2 licenses, one with 10 seats for BricsCAD Lite, and one with 10 seats for BricsCAD Pro, and want to specify which users can use which level.

THE LICENSE FILES

Lite License

HOST hostname hostid 5053
ISV bricsys
LICENSE bricsys bricscad 23 permanent 10 share=uh
contract=XXXX-XXXX-XXXX-XXXXXX-XXXX options="LA:xx_XX TY:FCO LE:CLA EF:"
_ck=6a06665467 sig="....."

becomes

HOST hostname hostid 5053
ISV bricsys
LICENSE bricsys bricscad 23 permanent 10 share=uh
contract=XXXX-XXXX-XXXX-XXXXXX-XXXX options="LA:xx_XX TY:FCO LE:CLA EF:" _id=1
_ck=6a06665467 sig="....."

Pro License

HOST hostname hostid 5053
ISV bricsys
LICENSE bricsys bricscad 23 permanent 10 share=uh
contract=XXXX-XXXX-XXXX-XXXXXX-XXXX options="LA:xx_XX TY:FCO LE:PLA EF:"
_ck=6a06665467 sig="....."

becomes

HOST hostname hostid 5053
ISV bricsys
LICENSE bricsys bricscad 23 permanent 10 share=uh
contract=XXXX-XXXX-XXXX-XXXXXX-XXXX options="LA:xx_XX TY:FCO LE:PLA EF:" _id=2
_ck=6a06665467 sig="....."

Now the Lite license is defined by id=1, and the Pro license by id=2.

THE OPTIONS

If now, for example, you would like to only allow engineers in your firm to use the Pro version, this can be done by adding the following to the options:

GROUP engineers userA userB userC
INCLUDE bricscad GROUP engineers id=2

Symptoms

I want to adjust the way my licenses are pooled.

More information: RLM License Administration

License pooling by RLM_PROJECT

The following applies to cases where multiple levels of network licenses are activated on the same RLM server. Consequently, the users are able to decide what license level to acquire when activating BricsCAD.

The user can obtain a specific BricsCAD license level, based on the RLM_PROJECT environment variable which should match the ISV server options. The license seats will be reserved on the ISV server for the specific PROJECT users by an IDentifier.
Note: Please be aware that the following actions are to be executed by an IT department person.
1. RLM server actions
  1. Add _id=<number> identifier to license files, just before the _ck=xxxxxxx string:

    ……contract=XXXX-XXXX-XXXX-XXXXXX-XXXX options="LA:xx_XX TY:FCO LE:CLA EF:" _id=1 _ck=4b07efdd90…
    ……contract=XXXX-XXXX-XXXX-XXXXXX-XXXX options="LA:xx_XX TY:FCO LE:PLA EF:" _id=2 _ck=4b07efdd90…
  2. Add RESERVE options for PROJECTs and license IDs to ISV server, for all the seats of the licenses:

    RESERVE 5 bricscad PROJECT bc_lite id=1
    RESERVE 5 bricscad PROJECT bc_pro id=2
2. BricsCAD user actions
  1. Create a script that SETs a temporary environment variable RLM_PROJECT on the user machine, which will allow BricsCAD to negotiate with the RLM server the PROJECT license pool.
  2. Executing a specific script will allow BricsCAD to pull the desired license level.

    It can be *.CMD (command prompt) files:
    • @echo off
      set RLM_PROJECT=bc_lite
      call "C:\Program Files\Bricsys\BricsCAD V23 en_US\bricscad.exe"
    • @echo off
      set RLM_PROJECT=bc_pro
      call "C:\Program Files\Bricsys\BricsCAD V23 en_US\bricscad.exe"

      or it can be *.PS1 (powershell) files:

    • $env:RLM_PROJECT = "bc_lite"
      Start-Process -FilePath "C:\Program Files\Bricsys\BricsCAD V23 en_US\bricscad.exe"
    • $env:RLM_PROJECT = "bc_pro"
      Start-Process -FilePath "C:\Program Files\Bricsys\BricsCAD V23 en_US\bricscad.exe"

Since all license seats are RESERVED in the RLM options, BricsCAD will not be able to acquire a license when the RLM_PROJECT variable does not exist, or when it has a value which does not match the ISV server options.

Raising the available seats above 5 or lowering the RESERVE count below 5 would let some licenses be available freely.

The RLM_PROJECT also works with the other (EXCLUDE/INCLUDE/…) options so a lot of configurations are possible.