banner_headphone.png

 

 

 

 

 

License Server

 

 

 

 

 

  Revision: 3

  Created: August 31, 2018

  Last Updated: February 5, 2019

  Vendor: Universal Speech Solutions LLC


 

 

Contents

1 Overview.. 3

2 Availability. 3

2.1 Service. 3

2.2 On-premise. 3

3 License Store. 3

4 License Certificate. 3

5 Regular Operation. 3

6 Fault Tolerance. 4

7 Sample Use-cases. 4

7.1 Various License Stores. 4

7.2 Shared License Store. 5

7.3 Redundant License Stores. 6

7.4 Redundant License Servers. 7

 


1 Overview

This guide describes the usage of a license server. The license server allows for flexible distribution of licenses without any bindings to particular nodes.

2 Availability

The license server is available either as a service or for an installation on-premise.

2.1 Service

The license server is globally available as a service and can be accessed using a license certificate. The communication between the licensed product and the license server is handled via a secure connection. Detailed instructions on how to connect and utilize the service is provided upon subscription to the service.

2.2 On-premise

The license server is installed on-premise. This option is subject to availability and is made for large deployments.

3 License Store

The license server may contain one or multiple license stores. A license store can be used for various licensed products and may contain one or more license files per licensed product. License files can be installed on the license server at any time without causing an interruption in service of licensed products.

4 License Certificate

A license certificate identifies a particular client on the license server and authorizes access to certain license stores. The license certificate shall be deployed with the licensed product. The same license certificate can be used on multiple nodes, by allowing each node to check out a pool of licensed channels from a shared license store.

5 Regular Operation

A TCP/IP connection to the license server is established over a secure transport layer using the IP address and port number of the license server provided upon subscription to the service.

On start-up, the license client checks out a pool of licensed channels and releases the checked out licenses on termination. At untime, there is also a license refresh procedure employed once in an hour.

All the requests are originated by the license client and requires a response from the license server in a timely manner.

6 Fault Tolerance

If the connection to the license server is lost for any reason and/or a response to the license refresh request does not arrive in a timely manner, then the license client attempts to re-establish the connection without causing an interruption in service of the licensed product.

If the connection to the license server cannot be established after numerous consecutive attempts, having various timers employed with a total graceful period of about 4 hours, then the license client allows existing sessions to normally terminate but declines establishment of any new session afterwards.

7 Sample Use-cases

Use-cases provided in this section help understand how the license server can be used. The use-cases are provided as a reference only.

In all the cases, the customer is provided with the following two certificates per deployment

         unilic_client_*.crt - a unique license certificate for a specific license store

         unilic_ca.crt - the common certificate authority file used to validate the license server.

The two files need to be deployed with the licensed product.

7.1 Various License Stores

The customer subscribes to a service and purchases an N-channel production and an M-channel test and development licenses placed in two different license stores on the same license server.

 

 

 

Presuming the license server is located on the host 10.0.0.15, the configuration of the licensed product would look as follows.

 

 

<license-server

enable="true"

server-address="10.0.0.15"

certificate-file="unilic_client_*.crt"

ca-file="unilic_ca.crt"

/>

 

 

The corresponding license certificate unilic_client_*.crt is supposed to be used per node: one for the production license store and the other for the test and development license store.

7.2 Shared License Store

The customer subscribes to a service and purchases a 200-channel production license placed in a shared license store on the license server with an intent to distribute 50 channels between 4 different nodes.

 

 

Presuming the license server is located on the host 10.0.0.15, the configuration of the licensed product would look as follows on all the 4 nodes.

 

 

<license-server

enable="true"

server-address="10.0.0.15"

certificate-file="unilic_client_*.crt"

ca-file="unilic_ca.crt"

channel-count="50"

/>

 

 

The same license certificate unilic_client_*.crt is supposed to be used on all the 4 nodes. The parameter channel-count specifies a pool of licensed channels to be checked out by each node.

7.3 Redundant License Stores

The customer subscribes to a service and purchases an N-channel production licenses used in a redundant deployment. In this case, a distinct license store is created for the primary and secondary nodes. The two license stores are located on the same license server.

 

 

Presuming the license server is located on the host 10.0.0.15, the configuration of the licensed product would look as follows.

 

 

<license-server

enable="true"

server-address="10.0.0.15"

certificate-file="unilic_client_*.crt"

ca-file="unilic_ca.crt"

/>

 

 

The corresponding license certificate unilic_client_*.crt is supposed to be used per node: one for the production primary license store and the other for the production secondary license store.

7.4 Redundant License Servers

The customer subscribes to a service and purchases an N-channel production licenses used in a redundant deployment. The customer also demands the license server redundancy.

In this case, one production license store is created on the primary license server and another production license store is created on the secondary license server.

 

 

Presuming the primary license server is located on the host 10.0.0.15 and the secondary license server is located on the host 10.0.0.16, the configuration of the licensed product on the primary node would look as follows.

 

 

<license-server

enable="true"

server-address="10.0.0.15"

certificate-file="unilic_client_*.crt"

ca-file="unilic_ca.crt"

/>

 

 

And the configuration of the licensed product on the secondary node would look as follows.

 

 

<license-server

enable="true"

server-address="10.0.0.16"

certificate-file="unilic_client_*.crt"

ca-file="unilic_ca.crt"

/>

 

 

The same or different license certificates unilic_client_*.crt might be used per node in this case.