Skip to main content

Licensing

This document describes licensing types for Phonexia product available to our partners and customers. The document does not describe the business conditions of Phonexia licensing.

What is the License?

The License is a formal agreement regarding "The Product Usage Rights" between Phonexia and a user of any Phonexia technology or Phonexia product. Licenses are issued by the Business Department for all speech technologies and products and may be required in order to use utilities and tools developed by Phonexia or partners.

For technical purposes, the License agreement is represented by the license file, which describes the Phonexia technologies or products allowed to be used with that license file.

License file

The license file is a plain text file named license.dat by default. It describes all conditions and parameters that maintain the validity of the license itself, like product or technology name, unique license ID, license expiration, number of instances covered for each technology separately, etc.

License file example:

license.dat
# Phonexia license file
# generated 2017-08-10 20:18:49 UTC
SERVER license.phonexia.com/lic
USE_SERVER

PRODUCT SPE_v3 D8091C4EA03C6A78455772A77BACC6FE 4521BD22 ED14A573 joe@nomail.com # crc:121 slots:4 until:2017-12-10 12:00:00
...
  • The USE_... line determines the licensing type.
    • USE_SERVER – license linked to Phonexia licensing server (known as NET license) (online license)
    • USE_USB – license linked to USB licensing key provided by Phonexia (offline license)
    • USE_HW – license linked to the HW profile of a selected machine (offline license)

Also available is a Floating License Server (FLS) – a locally installable licensing server, providing flexibility of the NET license, but not requiring online connection to Phonexia server.

Refer to below sections for more details about each license type.

How to use license file

The default and simplest way is to place the license file to the same directory as the product executable. The product will find the license file automatically during its startup and read its content.

Alternatively, you can:

  • specify the license file location in a configuration file (only for SPE and RLS)
  • start the product executable with a license (SPE and RLS) or l parameter (command line), specifying license file location
  • set the license file location in BS_LICENSE environment variable (only for command line)

License types

NET license

NET license is specified by the USE_SERVER line in license file.

The only requirement of this license is internet connectivity to the address specified on SERVER... line (by default it's Phonexia license server at license.phonexia.com/lic). This means that by definition, the license will not work if there is internet connectivity issue between the source machine and Phonexia servers, e.g. connection blocked by firewall, routing issues, maintenance of the Phonexia servers, etc.

note

Although we usually achieve 98 % availability, it cannot be guaranteed and SLA cannot be declared. Therefore, we do not provide NET license type for production deployments.

Typical recommended usage:

  • development
  • testing functionality of the software
  • data evaluation

Not recommended for:

  • demonstration purposes (partner to customer) due to its dependency on internet connection – there might be various obstacles in different customer environments (firewalls, air-gapped rooms, etc.)

USB license

USB license is specified by USE_USB line in the license file (the SERVER line is ignored in this case, no internet connection is required).

This license is bound to a physical USB token delivered by Phonexia. To successfully use the USB license, all of the following conditions must be met:

  • Phonexia software must use a valid license.dat file (usually needs to be present in the directory with Phonexia software).
  • The USB token must be present in the USB port/hub of the machine where Phonexia software runs (in virtual environments, this device must be provisioned to the virtual machine with Phonexia software); disconnecting the USB token may cause the software to crash.
  • USB token must contain a license.dat file in the root of the USB dongle and it has to be accessible in read/write mode.
note

The USB dongle is labeled with a sticker with dongle number for future support. The sticker must not be removed from the USB dongle.

Typical recommended usage:

  • project production stages
  • sharing license between developers
  • demonstration purposes (travelling)

HW license

HW license is specified by USE_HW line in the license file (the SERVER line is ignored in this case, no internet connection is required).

This license is bound to a "HW profile" of a specific machine (based on OS, CPU, RAM, HDD, ETH). HW profile can be created either using a separate hw-gen tool downloadable below, or by running Phonexia Speech Engine with a hwgen parameter (see more details below). The profile is saved into a text file – usually named hw-info.txt – as a hash.

note

Any major change in the HW profile – including OS version change, e.g. after upgrade or patch! – can prevent the license from working and Phonexia support must be contacted (with new HW profile of the changed machine) to generate new license file.

Therefore, make sure to plan for and coordinate your OS patches or infrastructure changes properly, to avoid unwanted service outages due to invalid licenses.

To successfully use the HW license, follow these steps:

  1. Get a machine for processing (64-bit required) and make sure its OS, CPU, HDD and ETH configuration will not change over time (this is especially important in virtual or cloud environments).

  2. Create a TXT file containing the HW profile.

note

if Phonexia Speech Engine is already present on this machine, you can use a hwgen parameter, (e.g. on Linux run ./phxadmin --hwgen , on Windows use phxadmin /hwgen) to generate the output TXT file.

  1. Send the TXT file to your Phonexia business contact.
  2. We will get back to you and send you the license.

Typical recommended usage:

  • software evaluation in isolated environments
  • Proof of Concept project stages
  • demonstration purposes on fixed HW (laptops)
  • production project stages with fixed HW and OS

Limited usage for:

  • dynamic virtualization environment (fixing the HW is required)

Floating License Server (FLS)

For more complex installations, Phonexia has developed the Floating License Server (FLS) utility. FLS enables production licenses to be distributed across infrastructures that utilize dynamic virtual machines, frequently change hardware, and require enhanced flexibility.

Essentially, FLS operates similarly to floating licenses offered by other software solutions. It converts a hardware-locked or USB-locked license into a network-enabled license (NET-ified), allowing the license to be shared among multiple client machines, which would not be possible with the original HW/USB-locked license.

Client machines using this license communicate with the FLS over an internal network. This setup contrasts with standard NET licenses, which typically require communication with Phonexia’s licensing server via the Internet. FLS, therefore, offers the best of both worlds—the flexibility of a network license while maintaining the ability to function in isolated environments without an Internet connection.

Licensing Communication

FLS requirements

Phonexia FLS is lightweight command line utility, requiring:

  • 64-bit Linux OS
  • ~100 MB of RAM, 10 MB of storage
  • LAN interface must be present
No Windows version available

FLS can be installed on-site and can be isolated from public Internet (i.e. offline, although no data are sent outside the site anyway).

FLS must be accessible for connection within LAN where computing machines reside – it is the local admin's responsibility to ensure the network connectivity, i.e. appropriate routing settings, firewalls configuration, etc.

As FLS license must be linked to HW license or USB token license, requirements for the corresponding license type (see sections above) must be fulfilled.

How to use FLS and floating client license

Follow the instructions below to enable and distribute the floating license:

  1. Put original (master) license file on FLS machine.

  2. Use phlic-srv-lic-gen tool supplied with FLS to generate the NET-ified license file (the floating client license).

    • When using older FLS, open the generated license file in a text editor and manually change the SERVER line to FLS machine address.
  3. Distribute the generated floating client license to any number of computing machines. (See the How to use license file section for details about where to put the license file.)

  4. Start Phonexia FLS.

  5. After starting FLS, start the computing machines.

Language Identification

FLS deployment examples

Basic Phonexia FLS connection scheme

Basic configuration makes it possible to distribute license files dynamically to computing machines based on real time and capacity needs.

Keyword Spotting

Figure: Example of a basic Phonexia FLS connection scheme/topology

Advanced Phonexia FLS configuration

For use cases where Site Disaster Recovery or High Availability(*)Service are required, Phonexia FLS can be used to support the following scenarios:

  • Geographical High Availability(*) Fail-Over Cluster
  • Scalable High Performance Cluster
  • Application Cluster
note

Cluster configuration must be supported by the proper configuration of the hosting operating_ system and may require other tools by Phonexia or a 3__rd party.

(*) FLS supports active-passive architecture only (FLS instances don't communicate with each other).

Keyword Spotting

Figure: Example of an advanced Phonexia FLS connection scheme/topology for site disaster recovery

Keyword Spotting

Figure: Example of an advanced Phonexia FLS connection scheme/topology for site redundancy