Distributed license system

Licensing in OpenForms 360 is based on the volume counters. When a document is processed by the extraction engine, the engine decides which license items to use and how many license units are consumed from each license item. It does that for every page of the document. After assessing the costs it contacts a license server and issues a command to decrement the assessed units from the volume counter of the selected license item. The license server keeps track of every license item and the number of remaining units.

For example, a document with one page which contains two fields and one table. The document is classified as either an ‘Invoice’ or ‘Letter’. When extraction engine processes this document it finds two fields and one table to be extracted and that the document needs to be classified as ‘Invoice’. Based on this assessment it consumes 1 unit from the ‘OpenForms360 Classification’ license, 1 unit from the ‘OpenForms360 Extraction 3 Fields’ license, and 1 unit from the ‘OpenForms360 Extraction Tables’ license. The extraction engine contacts a license server and subtracts 1 point from each of these thee license item volume counters.

The license system is designed to act in distributed environment. It can consist of one or several license servers. Each license server holds a table like the following:

<license Item 1> <License Level> <Volume Left>
<license Item 2> <License Level> <Volume Left>
<license Item 3> <License Level> <Volume Left>

Any of the license servers can be used as a primary license server, a backup license server, or both primary and backup servers. The only difference between these two roles is what is using the server.

  • The primary license server is the one referenced by OpenForms360 Sitemap Professional and ultimately by the extraction engine.
  • The backup license server is referenced by a primary license server. If the primary license server is out of volume for a particular license item it will relay the request to a backup license server.