1. Overview

This article explains how licensing works in Dundas BI or in Logi Symphony's Managed Dashboards & Reports and how you can administer licensing from within the application.

2. Concepts

2.1. What is a license?

A license grants your organization a number of license seats, which enables users to log on and use the application. In addition, optional features such as SaaS / Multi-Tenancy only appear in the application if enabled through a license.

2.2. Cumulative nature of licenses

Licenses are cumulative. For example, if your organization needs 5 more license seats, you can obtain a license that adds 5 more users on top of what you already have. In other cases, a license may replace or invalidate a prior license: adding a retail license on top of the evaluation license that is included with the initial installation will invalidate the evaluation license.

2.3. Multiple servers

The licensing model supports multi-server deployment out-of-the-box for load balancing purposes or for failover support. In these scenarios, multiple servers have the application installed but they each point to (or share) the same Application Database.

For licensing purposes, the entire ecosystem of servers and software referencing a single Application Database is considered one 'instance', and licensing is tied to the instance of the application database. There may be a limit on the number of servers permitted to connect to the application database as indicated in the license.

2.4. License kinds

The following kinds of licenses are available:

License KindDescription
  • Included with the initial installation
  • Time-limit of 25 days
  • Watermark appears on UI screens
  • For production application instance
  • Invalidates evaluation license
  • Removes watermark from UI screens
  • For a development, test, or staging instance
OEM Retail
  • For ISVs and their clients
OEM Developer
  • For ISVs and their clients
  • Used in training courses/sessions

2.5. Core count

A license may specify a set number of allowed CPU cores. The core counting method is indicated in the license:

  • Per-server – the sum of CPU cores present on the server running the application.
  • Per-instance – the sum of CPU cores used by each of the servers running the application (for a load-balancing environment).

If there are more CPU cores available than indicated in the license, only the allowed number of cores will be used.

When running on a physical machine, the physical CPU cores are counted; when running on a virtual machine, the logical (virtual) CPU cores are counted.

There is a limit of a maximum of 64 cores per operating system process.

2.6. Seats

A license seat allows users to log on. Two license seat modes may be available to support your organization's specific needs:

Reserved Seats (also known as Named Seats)

  • Allows users to log on regardless of who else may be using the application. 
  • Ideal for users who need use the application frequently or for long periods of time.
  • Seat types: Reserved Standard User, Reserved Power User, Developer.
  • Developer users always use a reserved seat.

Floating Seats (also known as Concurrent Seats)

  • Floating license seats make it possible to support a large number of users.
  • The key is that the floating users cannot be using the application all at the same time.
  • The number of floating users logged on simultaneously cannot exceed a certain limit as determined by the licensing.
  • Seat types: Floating Standard User, Floating Power User.

To better understand the concept of floating seats, think of chairs at a table. If all of the chairs are taken, people standing will have to wait until someone gets out of a chair before they can sit down.

(Accounts set as an API account do not consume a seat, but can only be used for making API calls without using the UI or making a data retrieval call.)

2.7. Elasticity

Elasticity is a built-in feature of the licensing system that allows a user to temporarily exceed the floating license limits. This feature allows a user to still log on and continue working while giving the system administrator or maintainer notice and an opportunity to review the organization's need for more license seats.

A retail license typically includes a fixed number of elastic hours for standard users and power users. For example, standard users may be permitted to exceed the license limits by logging on for up to 5 hours (in total for all standard users combined) per calendar quarter. Note that unused elastic hours are not carried over from one quarter to the next.

Besides elastic hours, there is also the concept of elastic seats which represents the number of concurrent users that are permitted to log on and use up elastic hours when all floating seats are occupied. In a license, there are two license fields, Floating Power User Elastic Seats and Floating Standard User Elastic Seats, which represent the maximum number of concurrent users that can be logged on and using elastic seats for power users and standard users, respectively. 

Portion of license showing elastic seat and hour limits
Portion of license showing elastic seat and hour limits

3. Managing licensing

Licenses can be managed remotely through the Administration interface.

Expand the Licensing section along the left, then click on Licenses or Seat Usage:

3.1. Adding a license

From the Licenses page, adding a license is as simple as clicking to add a new license, then copying and pasting the license XML text you obtained for Dundas BI or for Managed Dashboards & Reports. See the article on managing licenses for details.

You may need to add a new license if you are upgrading an instance between major versions.

3.2. Seat usage

The Seat Usage page displays the number and distribution of seats that are currently in use for this application instance as a series of charts.

The Seat Usage page
The Seat Usage page

Click on a hyperlinked number of in-use seats to see more details. You will be taken to the Active Logons page for floating seats because these seats are taken up by active sessions, versus the Accounts page for reserved seats.

3.3. Floating logon sessions

The maximum number of floating (concurrent) logon sessions reached in a given calendar month for each floating seat type (e.g., standard or power user) is recorded in a database view named vSessionUsageHistory in the Application Database. You can use this information to monitor how close your organization is to reaching your floating license limits.

For example, in the figure below, the maximum number of floating logon sessions (for standard users or SeatKind = 0) reached in October 2015 was 19.

View the logon session history from a database view
View the logon session history from a database view

The values for the SeatKind column are defined in the LicenseSeatKind enumeration.

3.4. Configuring elasticity

There are a few configuration settings related to license elasticity, accessed by expanding the Setup section in Administration and clicking Config.

Change the Category to Licensing and also click to show Advanced Settings in the toolbar.

Configuration settings for license elasticity
Configuration settings for license elasticity

The Elasticity Activation Warning Enabled setting determines whether an email will be sent to the system administrator or maintainer the first time a user starts using an elastic seat in any given elasticity period. The email will be sent a maximum of one time per calendar quarter and the email configuration settings must be configured properly for this to work.

The Elastic Hour Warning Threshold settings are used to send an email to the system administrator or maintainer when a specific number of elastic hours are remaining. By default, this is set to zero hours which means the email will be sent when the hours have been exhausted. No warning email is sent if the threshold is set to -1.

3.5. SaaS / multi-tenancy

Built-in support is provided for SaaS (software-as-a-service) and multi-tenant scenarios for your organization. This is a feature that allows a single instance of Dundas BI or Logi Symphony to serve multiple independent tenants. But note that this feature is an option which must be enabled through appropriate licensing.

Under the SaaS/Multi-tenancy section of Administration, the Tenants page allows system administrators to create and set up multiple tenants that are completely isolated from each other. System administrators can also assign seats and elastic hours on a per-tenant basis.

Administering tenants
Administering tenants

The list of tenants includes a Seat Allocation column allowing you to quickly view how your licensed seats have been allocated between tenants, with more details listed in a tooltip popup when hovering with the mouse or long-tapping. If blank, the tenant will use the 'global' pool of available seats. Edit a tenant's Seat Allocation settings to change the allocation.

Each tenant can have their own tenant administrators, which have the ability to add and manage users, groups, and projects within their own tenant without having to involve the system administrators.

For tenant administrators, the Seat Usage screen is accessible from the Account Service section.

See Multi-tenancy for more details on administering tenants.

4. Notes

  • If there is a problem with the licenses in your instance (e.g., all licenses have expired), any system administrator user will still be able to log on (but restricted to Viewer privileges) in order to correct the issue.

5. See also


Dundas Data Visualization, Inc.
400-15 Gervais Drive
Toronto, ON, Canada
M3C 1Y8

North America: 1.800.463.1492
International: 1.416.467.5100

Dundas Support Hours:
Phone: 9am-6pm, ET, Mon-Fri
Email: 7am-6pm, ET, Mon-Fri