Each license has the following properties;
a unique serial identifier
a start date (before which the license is not valid)
an end date (after which the license is not valid)
a set of licenses that are superseded by this license
licensed-product functions — for the Rhino family of products, these are "Rhino" (used by the production Rhino build for its core functions) and "Rhino-SDK" (used by the SDK Rhino build for its core functions)
one or more descriptive fields (optional, not actually used for licensing calculations).
Each license can contain one or more sets of (function, version, capacity). For example, a license could be for "Rhino-SDK, version 2.1, 1000" as well as "Rhino, version 2.1, 500".
Highest-capacity licenses display on startup
Licenses display when Rhino starts up — not the complete list, but only those with the highest licensed capacity for each licensed function/version. (If you have a big license and a small license for the same function/version installed, only the largest will display on startup.)
A license is considered valid if:
The current date is after the license start date, but before the license end date.
The list of license functions in that license contains the required function.
The list of product versions contains the required version.
The license is not superseded by another.
If Rhino finds multiple valid licenses for the same function, it uses the one with the largest licensed capacity.
Upon activating a service or resource adaptor, Rhino checks the list of functions that they require against the list of installed valid licenses. If all required functions are licensed, the service or resource adaptor will activate. (If one or more functions is unlicensed, they will not activate.)
Licensing applies to explicit activation (by way of a management client) and implicit activation (on Rhino restart). There is one exception: if a node joins an existing cluster that has an active service for which there is no valid license, the service does become active on that node.
In the production Rhino, services and resource adaptors that are already active will continue to successfully process events for functions that are no longer licensed, such as when a license has expired. For the SDK Rhino, services and resource adaptors that are already active will stop processing events for the core "Rhino-SDK" function if it becomes unlicensed, typically after a license has expired.
Typically, Rhino raises an alarm when:
A license has expired.
A license is due to expire in the next 7 days.
License units are being processed for a currently unlicensed function.
A license function is processing more accounted units than it is licensed for. The audit log shows how long it’s been over limit.
|Cancelled capacity alarms are re-generated for licensed functions that continue to run over capacity.|
Production Rhino never enforces the "hard limit" on a license. The SDK version of Rhino will enforce the "hard limit" on the core "Rhino-SDK" function, by rejecting incoming work.
|Contact your Metaswitch sales representative or Metaswitch support if you require a greater capacity Rhino SDK license during development.|
Rhino SLEE generates a license audit log in the same directory where other logs are stored. The Rhino SLEE system administrator can use the log for a self-audit as required. Metaswitch support may also request the audit log to perform a license audit. Audit logs are protected from external tampering using an HMAC (Hash-based Method Authentication Code) checksum on each line output to the log.
Audit logs are subject to "rollover", just like any other rolling log appender log — for a full audit log for a particular period, several logs may need to be concatenated.
(Older logs are named
audit.log.1, and so on.)
|See also License Audit Log Format.|
The standard Rhino SLEE statistics interfaces include:
statistics for each function, with both
accountedUnits count towards licensed limits.
unaccountedUnits for services and resource adaptors with licensed functions configured as
License: 1194a455e0b Issued to: Umbrella Corporation Created at: Mon Apr 14 12:11:10 NZST 2008 Valid after: Mon Apr 14 12:11:10 NZST 2008 Valid until: Fri Jun 13 12:11:10 NZST 2008 Allows functions: Rhino version 2.0, 500 capacity Rhino-SDK version 2.0, 500 capacity