Question
How Online Licensing works in FineReader Engine 12?
Answer
FineReader Engine's protection mechanism is very flexible and offers different license types which can be used in many different environments starting from a physical or virtual servers on premise, Docker containers to virtual environments in the cloud.
This article describes the specifics and the usage of the license type - Online License - introduced in FineReader Engine 12.
Note: In FineReader Engine 12 release 1 and release 2 this license type was referred to as "Cloud License". This notion is also used in the developer help of these former versions.
What is an Online License?
Online License is a special license type for FineReader Engine 12, which is designed to be used specifically for FineReader Engine's deployment in Docker containers, virtual and cloud environments. It can also be used on any other environment that has a permanent internet connection.
In contrast to the common software license type of FineReader Engine, the Online License is not bound to a particular machine and it does not require license activation. Thus, it is best suited for usage in Docker containers and virtual environments in the cloud and when there is a need to flexibly use hardware in order to optimally scale and orchestrate a large number of tasks for document processing. Changing of data storage and computing power of a virtual machine, as well as adding new instances to scale the application, are fully supported by the Online License.
The Online License is available for both Developer and Runtime licenses.
How does the Online License work?
Online License allows processing a certain page volume during a defined time period, e.g. pages per year (PPY) or pages per month (PPM). Several instances of FineReader Engine can share one serial number and one license counter. To this end, a so-called Local Licensing Service on each instance and a remote Licensing Service synchronize the counter information periodically over the internet. The Licensing Service keeps a record of all processed pages from all client's machines bound to this specific serial number and aggregates this information. The high availability of the licensing service together with the fact that a license can work for a certain period autonomously ensure flawless operation of FineReader Engine with Online licensing.
How does the synchronization of the Online License work?
For the correct operation of the Online License, synchronization between two licensing services is required:
- Local Licensing Service on the workstation or in the LAN, on which FineReader Engine is installed.
- Remote Licensing Service on remote servers.
Licensing Service - Hosting and Availability
The Licensing Service is hosted on Microsoft Azure data centers in the European Union in a fail-safe manner with back-up servers in order to ensure its continuous availability. It manages the product’s license counters and authorizes the use of FineReader Engine's functionality. It is guaranteed that the quarterly uptime percentage for the Remote Licensing Service will not be less than 99%.
Local Licensing Service - Requirements for Synchronization
The Local Licensing Service is installed automatically during the product’s installation on the customer's environment. It "communicates" with the Remote Licensing Service at a certain interval, which is defined in the license options.
Connection Requirements
For automatic connection of the two Licensing Services, the following requirements must be met:
- Permanent active internet connection.
- Allowed connections to *.abbyy.com on port 443.
Synchronization Parameters
The local licensing service synchronizes with the Remote Licensing Service at certain periods. Two parameters are used to control the synchronization behavior in order to ensure flawless operation of the FineReader Engine even if the connection between the Licensing Services cannot be established due to some issues:
Synchronization period:
Information exchange between the two services occurs at a frequency defined by this license parameter. By default, the synchronization period is set to 5 minutes for all licenses (Trial, Developer and Runtime).
Autonomous working period:
If the connection between the Licensing Services cannot be established due to some issues, the functionality of the product will be still available for a certain period of time. Before the license stops working, the Local Licensing Service will continuously try to connect to Remote Server during the time period allowed by the license to work autonomously. The maximum autonomous working period is determined in the license.
By default, Trial licenses can work autonomously for 10 minutes, Developer and Runtime licenses for 12 hours.
What information is sent to the Remote Licensing Server?
The Local Licensing Service sends to the Remote Licensing Service only the information, required to identify the license, for reporting of consumed pages. The information sent is encoded by hash sums independent of the hardware and cannot be reconstructed. The server receives completely anonymized information of the environment the Online License is used on.
Remote Licensing Server collects the following data:
- Instance ID;
- Device ID;
- Security key;
- Client key;
- License ID;
- License counter information.
What comes with the Online License?
Online License parameters are contained in a password-protected file (activation token) which is used for authorization when connecting to the remote licensing service. When the Online License is ordered, the following information is received by the user:
- Customer Project ID - an alphanumeric string used to bind Developer and Runtime licenses of one project, e.g. "Im8oCFCbJ4PFhhJYfnhy".
- License token - a binary file containing license parameters, which are used for authorization when connecting to the Remote Licensing Service. The file is named as follows: "SWERXXXXXXXXXXXXXXXXXXXX.ABBYY.ActivationToken", where "SWERXXXXXXXXXXXXXXXXXXXX" is the license key.
- A password to the license activation token file.
How to inspect the license?
The parameters and counter statistics of the Online License used on the client’s machine can be reviewed in the License Manager as long as the license is in use on the machine:
Example of how to use the Online License in C#
The FineReader Engine library is loaded with the help of the InitializeEngine function or the IEngineLoader::InitializeEngine method.
The C# syntax of the InitializeEngine function is:
int InitializeEngine(
string CustomerProjectID,
string LicensePath,
string LicensePassword,
string FREngineDataFolder,
string FREngineTempFolder,
bool IsSharedCPUCoresMode,
ref IEngine Engine
);
When working with the Online License the parameters of the InitializeEngine function have to be specified as following:
- Customer Project ID;
- Full path to the license token file;
- Password of the license token file;
- [Optional, may be an empty string] Path to the folder, in which FineReader Engine should store user-specific data. By default, it is the FineReader Engine data folder: %ProgramData%\ABBYY\SDK\12\FineReader Engine for automatic installation;
- [Optional, may be an empty string] Path to the folder for FineReader Engine temporary files. By default, it is %TEMP%\ABBYY FineReader Engine 12 folder;
- [Optional] A Boolean value that specifies whether the CPU cores should be used in shared mode;
- Output variable for Engine object.
Sample code in C#:
InitializeEngine(“Im8oCFCbJ4PFhhJYfnhy”, @“C:\Program Files\Application\
SWRT12411234123412341234.ABBYY.ActivationToken”, “12345678”,"", "", "", ref engine);
For detailed description of this function and its parameters, please refer to the Help file of the product.
Comments
0 comments
Please sign in to leave a comment.