License pooling

About

When having multiple license levels present, the Bricsys Network License Server will allocate the seats to BricsCAD machines in the order of the LIC file names. If you want to control in detail this action, please edit the options file: bricsys.opt.

Editing the options

You can edit the options in 2 ways:

  • In the bricsys.opt file, located in the Bricsys Network License Server installation folder.
  • On the web interface (Reprise License Server Administration).
    • Browse to http://localhost:5054 on the Network 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.*
Note: The wildcard character (*) can be used in IP addresses.
RESERVE Reserve a number of seats 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 id=nnn
MAX Limit the number of seats 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 id=nnn
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 id=nnn
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 networkGhent 192.168.1.* id=nnn
Note: The wildcard character (*) can be used in IP addresses.
Important: If the number of RESERVED seats for multiple GROUPs equals all seats of the license, then only the first GROUP can access the licenses, and the rest of GROUPs will get the error -22: All licenses in use.

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

License file identifiers

Note:
  • After activation of a new network license, an '_id=nnn(*)' field is auto-generated, and it is added at the end of the license file.
    Note: (*) nnn is the number of the generated ID.
  • After upgrading an existing network license, its original IDentifier number remains unchanged.

This '_id' is used to identify each license file, and it will be used for license pooling options.

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

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

Having two license files with different IDentifiers (Lite _id=xxxxxxxx and Pro _id=yyyyyyyy), add RESERVE options (in the bricsys.opt file) for all the licenses seats:

RESERVE 5 bricscad PROJECT bc_lite id=xxxxxxxx RESERVE 5 bricscad PROJECT bc_pro id=yyyyyyyy
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 V25 en_US\bricscad.exe"
    • @echo off set RLM_PROJECT=bc_pro call "C:\Program Files\Bricsys\BricsCAD V25 en_US\bricscad.exe"

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

    • $env:RLM_PROJECT = "bc_lite" Start-Process -FilePath "C:\Program Files\Bricsys\BricsCAD V25 en_US\bricscad.exe"
    • $env:RLM_PROJECT = "bc_pro" Start-Process -FilePath "C:\Program Files\Bricsys\BricsCAD V25 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.