The Pay Per Use feature lets you bill customers for using your software on a per-usage basis. For example, you can supply a customer with an unrestricted usage license that is paid for based on monthly usage. To determine the usage, you ask the customer to write the usage information to a pay-per-use SQLite database each month, and send the database file to you for billing purposes. (For more information about SQLite, see http://www.sqlite.org/.)

You can enable pay per use by editing the USAGE_DATABASE entry in the license server configuration file (lmx-serv.cfg). The USAGE_DATABASE setting is disabled in the configuration file by default. In addition, the user can edit the USAGE_LEVEL setting to specify whether to generate a standard report that excludes user information (the default), or a detailed report that includes the username, hostname and ipaddress for each checkout and checkin request. In addition, the USAGE_WRITE_INTERVAL option in the configuration file can be used to specify the number of pay-per-use actions (checkouts, checkins, etc.) that should occur before pay-per-use records will be written to the usage database file. (Note that records will immediately be written to the database file when the server is shut down.) The configuration file contains descriptions and examples for using these settings.

The database is authenticated. You can check for any tampering with the data by running the following command using the lmxendutil utility:

lmxendutil -readusagedb usage.db

Although you can check that the database contains valid data, accurate billing for pay per use is entirely dependent on the customer writing their usage data to the database. LM-X does not enforce the use of the pay-per-use database (the customer could alter the license server configuration file), so you should use the pay per use feature only with customers who you trust to reliably report their usage information.

For more information about the Pay Per Use feature, see the Pay Per Use chapter in the LM-X End Users Guide.