Configuring OpenLM Applications Manager 1.9
OpenLM Applications Manager is a Java application that acts as a hub for all OpenLM Agents. It is recommended for OpenLM Applications Manager to be installed on the same machine as the license server (e.g. FlexLM) and OpenLM Broker. Alternative installations are possible but require additional configuration.
Main features of OpenLM Applications Manager are the following:
– it obtains information from the OpenLM Agent regarding active processes and software launches.
– enables OpenLM Agents launch software according to configuration and limitations defined by OpenLM Applications Manager.
OpenLM Agent is a lightweight software component that has to be installed on end user workstations. OpenLM Agent has the following functions:
– monitoring processes that are running on workstations;
– intercepting and reporting software launch events;
– intervening in the execution of specific processes on the workstation running actions defined by an administrator.
OpenLM Applications Manager also adds management capabilities to applications that are not managed by license manager or in case their license manager lacks advanced management capabilities.
In situations where workstation licenses cannot be directly managed by a license manager (e.g., single license or named license) OpenLM provides the ability to monitor licenses using OpenLM Applications Manager. This permits OpenLM to simultaneously monitor software on workstations controlled by a license manager as well as software on workstations that are not.
Table of contents:
Be sure that all of the components necessary for using OpenLM Applications Manager are installed. OpenLM Applications Manager solution requires the following installations:
● OpenLM Server must be installed on a Windows Operating System machine. OpenLM Server provides an administrative interface to configure OpenLM Applications Manager and components, maintains license usage information in the database and provides a platform for reporting license usage. Please see the OpenLM Server Configuration Guide for more information on installation. OpenLM Server can be downloaded from OpenLM website.
● OpenLM Agent must be installed on all end user workstations that will be monitored (Windows OS). OpenLM Agent is an end-user proxy that monitors software activity on user’s workstation. Please see the OpenLM Agent Installation document for more information on installation. Download OpenLM Agent from OpenLM website.
● OpenLM Broker and OpenLM Applications Manager – it is recommended but not mandatory to install them on the same Windows OS or Linux machine as the license manager. OpenLM Broker performs tasks as prompted by OpenLM Server and returns advanced licensing information. OpenLM Applications Manager serves as a shell for license managers and provides standardized license management and additional capabilities that are not available in vendor-supplied license managers. Please see the OpenLM App Manager and OpenLM Broker Installation documents for more information on installation.
- Have OpenLM Applications Manager installed before configuring OpenLM Agent. See instructions on how to install OpenLM Applications Manager in installation section of the OpenLM Applications Manager document.
- Download and install latest version of OpenLM Agent from OpenLM website. Please refer to OpenLM Agent Installation document for detailed instructions.
- Configure OpenLM Agent according to instructions described in Configuring OpenLM Agent v4.4 applications list document.
The following section presents description of configuration options and features in OpenLM Applications Manager.
Applications can be added to OpenLM Applications Manager either manually in Applications window or using applications list functionality in OpenLM Agent (see Configuring OpenLM Agent v4.4 applications list document for detailed instructions). The following text describes how to add an application in OpenLM Applications Manager.
1. In order to add an application in OpenLM Applications Manager go to Windows – Start and click on OpenLM User Interface:
2. Select Administration option from the Start menu :
3. Choose OpenLM Applications Manager:
4. In the opened Applications window click Add button:
5. Type in application’s Vendor name or choose existing one from the list:
6. Type in application name – it has to match application name in the OpenLM Agent configuration. Note that it has to be identical to process name, for example acad (AutoCAD). To see name of running processes go to Windows->Start->OpenLM and choose Processes List:
If you select a process and then press Flash button application’s icon will flash in the taskbar:
If you want to monitor the application by file or folder go to OpenLM Agent (see Configuring OpenLM Agent document here)
Application name can not be edited. Press Delete button and create new one by using +Add button.
7. Double-click field under Description column and type in any required description for the application:
8. [Optional step] Double-click field under Version column and type in number of application’s version, for example 7.1. This field is for informational purposes, leave it empty if it’s not required:
When an application is added in Applications window, it is possible to set license limit for it.
1. Select an application by checking it and scroll right to the Limit column:
Orange exclamation mark indicator in the Limit column is displayed because there is a default rule to deny all access.
2. Double-click the field for the application you want to limit and set number of licenses for that application (for example 5):
NOTE: Limit value defines how many workstations that are running OpenLM Agent can run this application at the same time.
Click on triangle icon in drop-down indicator and choose Unlimited value to set an unlimited number of licenses so that OpenLM would not intercept the launch of application.
3. Click Save button to store the Limit change:
Filtered Vendors button allows to filter vendors that are monitored by OpenLM Applications Manager in order to prevent double usage from floating license manager and keep monitoring licenses that don’t have license manager.
This section also describes how to configure OpenLM Applications Manager in a way it will report only stand-alone licenses (see definition below) for software vendors that have both stand-alone and network licenses.
The result of the procedure described below is OpenLM User Interface showing on one screen vendor’s network licenses reported by license manager and stand-alone licenses reported by OpenLM Applications Manager. The term “stand-alone license” refers to the following:
● Any single use installation of software (with registration key or local license);
● Any node-locked licenses which are not reported by any license manager;
● Any named licenses which are allocated by cloud managers and are not monitored anywhere;
● Any pirated software installed below system administrator’s radar;
● And also – any network licenses which are NOT monitored by OpenLM Core.
● Our solution is based on the assumption that the monitored software is either used with network license or stand-alone license for same user on same workstation, but not both!
● Software used both ways will be considered by Applications Manager as network license. As result, stand-alone sessions will not be reported.
● When user switches licensing method on a workstation (either network to stand-alone or vice versa), there may be a margin of error in which usage will be erroneously reported.
1. Click Filtered Vendors button to open Filtered Vendors screen:
2. A new window will appear with a drop-down list. Click +Add button, then down-arrow on the drop list and select the desired vendor (drop list is populated automatically from the available products list):
3. Click Save button to commit the changes.
This completes setup for filtering. One of two things can occur with this filtering:
● If the filtered vendor software is controlled by a license manager and a license is consumed (e.g., a floating license), OpenLM Server reports the license usage but OpenLM Applications Manager will not.
● If the filtered vendor software is not controlled by a license manager and a license is consumed (e.g., cloud license, a single user (stand-alone license) or pirated software), OpenLM Applications Manager will report the license and OpenLM Server will not.
NOTE: If user consumes a floating license and does not have usage report from the license manager in the last 72 hours, the license will be logged as single user and not as floating. During the short window of this transition between floating and stand-alone license count there may be a period of overlap (less than 10 minutes) where a license is counted as both types and appears in OpenLM Server and OpenLM Applications Manager reports.
License Consumption Rules Table is designed to give user maximum freedom on configuration of access to licenses. The rules are implemented as “Decision Table”. Click License Consumption Rules Table button to open it:
1. The default rule in Rule Name is Everyone; and in Actions – Deny.
2. This configuration means that no one can run a process managed by Applications Manager as configured in the OpenLM Applications Manager tab on the OpenLM Agent configuration screen. Additional configuration is required to allow users initiate actions.
3. To create a new rule click +New Rule button. Then type in its name (e.g. Windows Media Player is not allowed) and set Actions by checking Deny or Allow (e.g. Deny):
Note: Red triangle indicator shows edited fields that were not saved. Press Save button to commit changes.
1. In order to create a new condition for new or existing rule click on +New Condition button:
2. Condition Editor window will appear. To create a condition select argument and operation from the drop down list, and set a compared value:
3. List of Argument options:
– Use time argument to make your rule time sensitive: after and before operations are based on current day time. matchesCron allows to define a rule with CRON expressions. Note that CRON rules syntax is slightly different from Linux CRON http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html
time after 9:00
time before 18:00
time matchesCron * * 15 9 6 ?
– Use application argument to associate a rule with your application. Use Application Name configured in License Consumption to associate rules with your application.
application equals AutoCAD 2016
application equals MicroStation
application startsWith AutoCAD
application endsWith 2016
Operations are case insensitive.
– Use username argument to associate a rule to specific user account. For example username equals to john.smith
startsWith and endsWith are useful if you have some special policy keeping more information in user’s account.
For example you use _NY as suffix to all usernames from NY office. You can apply a condition in the following way:
username endsWith _NY
Comparison is case insensitive.
– Use workstation argument to associate a rule to specific workstation. Workstation argument can be used to associate a rule to specific workstation network name.
For example workstation equals DESKTOP-AFT4KOP.
startsWith and endsWith are useful if you have some special naming policy for company computers.
For example you use _NY as suffix to all computers located in NY office. You can apply a condition in the following way: workstation endsWith _NY
Comparison is case insensitive.
– Use groups argument to associate a rule to a user in group configured in OpenLM.
For example: Groups including “engineering” would make a rule associated to all users listed in the “engineering” group, or you can have a rule for users not associated to any group: groups empty.
Comparison is case insensitive.
– Use version argument to associate a rule to specific version of your software. For example:
version equals 5.0
version startsWith 5
version endsWith 2019
– Use vendor argument to associate a rule to specific Vendor of your software. Vendor specific rules can be configured using the vendor argument. For example:
vendor equals Autodesk
vendor equals Bentley
Comparison is case insensitive.
4. Select an operation for the argument. Options are context sensitive to the selection made in the Argument field:
5. Enter a corresponding parameter in the Compared value field – it must contain name of application configured previously in the application’s list. This should logically complete the condition. In this case as example wmplayer was set. It has to match Application/Product name configured in Applications list of OpenLM Applications Manager:
Compared value format examples:
For time argument – 00:00-23:59
For application argument – name of application (wmplayer/acad.exe)
For username – name of user (e.g. “John Doe”)
For workstation – name of workstation (e.g. “DESKTOP-7FQA0PX”)
For groups – name of a group (e.g. “Engineers group”)
For version – version of application (e.g. “2019” / “11.2”)
For vendor – name of application vendor (e.g. “Autodesk”/“Adobe”)
Note: Application name, Version and Vendor are the names you defined in OpenLM Applications Manager. Groups are automatically taken from the OpenLM system. Username and Workstation are reported from OpenLM Agent.
Click Save button to store new settings.
6. A new Conditions column will appear on the License Consumption Rules Table screen:
7. Click the checkbox under Conditions in the added column. The condition will now apply to all licenses configured in the OpenLM Applications Manager which use wmplayer and will work in tandem with the active Deny actions as defined. If the condition is met, the action will be executed (a denied license will trigger the script):
Note: Red triangle indicator shows edited fields that were not saved. Press Save button to commit changes.
1. In order to check if new condition configuration is running, open application with Deny action. For example wmplayer application. Denial message appears when launching it:
2. If you want to show the user a custom message, double-click on existing Allow or Deny action or click +New Action button to create a new action:
3. Choose Allow or Deny Name from drop-down menu, type in custom message in the Script window and select Application or Service from the Run At drop-down menu. Click Save button and launch configured application to check if custom message appears:
1. Click +New Action to open Action Editor screen:
2. Choose Allow or Deny Name from drop-down menu, type in custom message in the Script window if required and select Application or Service from the Run At drop-down menu. See table below with description of Decision Table Action options:
Allow – Action will be associated with successful granting of a license.
Deny – Action will be associated with license denial.
Run At field:
● The script runs in the Agent Application domain, which is intended for on-screen viewing and user interaction (e.g., show messages or display applications).
● The script runs as current user’s UserName.
● These scripts cannot influence System-owned tasks.
● The script runs in the Agent Service domain, which is intended for silent procedures (e.g., manage the registry or configure security).
● The script runs as System user.
● Scripts can not access any user preference.
● These scripts can not influence UserName-owned tasks
Script field – Script info field should contain commands using Windows Shell scripting. This way Denial can present a clarification message to user to explain why OpenLM Applications Manager denied access to a certain application or process.
Note: Script functionality features include but are not at all limited to:
See more detailed information on custom commands in Using Custom Commands document.
3. Click [Save]. A new Deny column will appear on the right part of License Consumption Rules Table window:
Note: It is possible to have multiple actions for a rule name as in cases where it is desirable to run both an application and a service. To delete undesired columns, click the label (e.g., Allow or Deny) and click Delete button in the Action Editor window:
4. Click the checkbox under Deny in the added column. The script will now be applied to all denied licenses configured in the OpenLM Applications Manager:
Note: If there are multiple rules maching a request, OpenLM Applications Manager applies the one with most conditions checked.
2.4.5 Editing existing Condition or Action
1. To edit existing condition or action click on its label (e.g., “application equals wmplayer” or “Allow/Deny” under Actions):
2. Condition Editor or Action Editor window will appear where you can modify configured settings:
1. Set of rules defining OpenLM Applications Manager behavior after the user closes application is configured under the License Return Policies tab in the lower half of the screen:
Name – unique name to associate an application to a policy.
Release Delay (min) – amount of time between application closure and return of floating license to the license pool. During this period of time license is reserved to user. So if user re-opens application within the delay period, OpenLM Applications Manager just continues the previous session and the usage would be displayed as 1 session in OpenLM Server.
In the case of Bentley, this parameter should be set to 10 minutes, as Bentley considers the minimal session length to be 10 minutes. Note that this also means that Bentley considers every session that is longer than 50 minutes as consuming at least two ‘buckets’.
Bucket Duration – specific to Bentley trusted licensing. It has DAY, HOUR and NONE settings. If license was consumed within calendar hour or day, the license stays consumed until the end of the hour or day.
If Bucket Duration is Day, OpenLM Applications Manager releases licenses only at midnight.
For Bucket Duration set as Hour, licenses are released at 0 minutes of every hour (0:00, 1:00, 0:00, etc).
Agent Heartbeat Timeout – represents amount of time OpenLM Applications Manager holds license if OpenLM Agent instance stopped sending heartbeats. After the timeout, all licenses consumed by the OpenLM Agent instance are released. Agent sends heartbeats every minute. Heartbeats include list of all monitored and running applications. In this way OpenLM Applications Manager synchronizes its state in case of missed events.
Return License When Workstation Hibernating checkbox – when Operating System goes to Sleep or Standby mode, OpenLM Agent sends a dedicated message to inform OpenLM Applications Manager about workstation’s hibernation. If this option is enabled all licenses of this workstation would be released immediately. If it’s not enabled, OpenLM Applications Manager waits for heartbeat timeout before releasing the licenses.
2. Click [Save] button at the (upper) right of the License Return Policies tab to store the policy change(s):
4. Setting up License Consumption Policies
1. Configuration of OpenLM Applications Manager’s behaviour for handling the event when a user opens managed application is set under License Consumption Policies tab in the lower half of the screen:
Name – is a unique value to associate an application to a policy.
Deny multiple version – it is a feature designed to prevent double license consumption of Autodesk products. Autodesk customer can purchase licenses in suites. So user can run multiple Autodesk products and still consume just 1 license. However if user runs 2 products of different version (year), Autodesk license manager consumes 2 licenses instead of 1 expected.
When the feature is enabled, OpenLM Applications Manager blocks execution of another application of the same Vendor and another Version.
Version can be set as the Version field value or Year in Name or Description. Most of Autodesk products include Year (e.g. AutoCAD 2016).
Customer purchased AutoCAD and 3DS MAX as a suite. The following rules apply if License Consumption Policy is active.
AutoCAD 2016 is running.
AutoCAD 2015 would be blocked.
3DS MAX 2015 would be blocked.
3DS MAX 2016 is allowed to run.
Current version of OpenLM Applications Manager does not support configuration of suits. However the feature relies on Vendor name. So different Vendor name could be used for handling multiple suits or products besides the suits.
License Consumption Policy – it represents configuration of the actual license consumer. Double-click on drop-down menu to select one of the following settings:
Single license per application process – when “Process” is the consumer, every instance of application would consume 1 license even if they run on same workstation.
Single license per workstation – when consumer is “Workstation”, license is dedicated to workstation. Different users would consume same license when using same computer. The “Workstation” policy is used by Bentley.
Single license per user on workstation – is the most common policy. A license is consumed by users. Even if users share workstation they have their own license usage sessions in OpenLM Applications Manager.
Parent Package – this feature allows to use shared license pool for different applications. In this way applications can be monitored separately and reported separately to OpenLM Server. However the limit of use would be the same as amount of licensed applications. Value of “Parent Package” is the name of another application configured in the OpenLM Applications Manager:
When user runs target software, OpenLM Applications Manager consumes 1 license of associated application. And it also consumes 1 license from the “Parent Package”.
NOTE: Please refer to the OpenLM App Manager video tutorial for more information on how to configure License Return and License Consumption Policies.
2. Click [Save] button at the (upper) right of the License Consumption Policies tab to store the policy change(s):