Skip to main content

Licensing

To initiate a session with a device on the TV Labs platform, a license must first be acquired. Licenses are provisioned by TV Labs and control the amount of concurrent sessions that users in your organization may access at any given point in time.

When a user requests a device, either through Appium, Access, or Automation, the TV Labs system will check out a license for the user and match them with a device. If a license is currently not available, TV Labs will either provide a temporary flex license, or let the request sit in a queue until it is fulfilled.

This page describes some of the finer details of how the licensing system grants access.

Key Concepts

  • License a resource that TV Labs will configure for your organization.
  • Active License a license that is currently in use.
  • Flex License a time-limited license that enables an organization to go a bit above their license limits. These can also be referred to as Flex Sessions.
  • Team each organization can configure its own teams and associate both users and licenses to them.

Licenses

Licenses can be broad and provide access to any type of device, or specific and only match a specific platform (e.g. Android Mobile or Roku). Licenses for devices are configured based on your purchased package with TV Labs. Please contact sales@tvlabs.ai for details on packages and pricing.

By default, a license will not be assigned to a specific team and can be utilized by anyone in your organization. We call these unassigned licenses.

Licenses can be optionally named by the organization.

License Acquisition Rules

When a license is requested by a member of an organization, certain rules will be applied. These rules will only look for licenses which are not currently in use. Each rule in the list is takes precedence over succeeding rules.

  1. Licenses which are restricted to a platform will have higher priority.
  2. Licenses belonging to the user's team will have precedence over unassigned licenses.
    • For organization admins, an additional rule exists where if there are no licenses available in their own team or in the unassigned pool, licenses from other teams can be consumed.

Examples

For example let's say we have the following license pool for an organization:

Team A

  • License 1, Android
  • License 2, iOS

Team B

  • License 3, Android
  • License 4, unrestricted

Unassigned

  • License 5, unrestricted

Scenario 1

If a regular user from team A requests an Android license, they will get licenses in the following order:

  1. License 1
  2. License 5

Scenario 2

If an admin from team A requests an Android license, they will get licenses in the following order:

  1. License 1
  2. License 3 (platform restriction will take precedence)
  3. License 5 (unassigned takes precedence now)
  4. License 4

If no licenses are available, but the request is for an Access session (that is, a session on the TV Labs website), flex licenses might be provided as a fallback.

Flex Licenses

Flex licenses are provided with a maximum count of 5 simultaneous flex licenses per organization. When a flex license is acquired, the user will get a dialog explaining the time limit, and this limit will show as a countdown at the top of the screen during their session.

If a license that was in use during this time becomes available again, the flex session will be automatically upgraded into a regular session and we will let the user know this happened.