To be activated, services and resource adaptors need a valid license loaded into Rhino (at least for core or "default" functions). See the following details on license properties, validity, alarms, statistics and an example.
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.
Alarms for expired, expiring or unlicensed activity
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 show how long it's been over limit.
System administrators are responsible for verifying and canceling alarms (through the management console (command console or Rhino element manager). They should note the time each alarm is generated. For over-capacity alarms, to determine exactly when and how long the system was over capacity, they may need to view the audit logs.
Cancelled capacity alarms are re-generated for licensed functions that continue to run over capacity.
Enforcing license limits
Production Rhino never enforces the "hard limit" on a license. The SDK version of Rhino the "hard limit" on the core "Rhino-SDK" function, by rejecting incoming work.
Contact your OpenCloud sales representative or OpenCloud support if you require a greater capacity Rhino SDK license during development.
Rhino SLEE generates two copies of the same audit log: unencrypted and encrypted. The Rhino SLEE system administrator can use the unencrypted log for a self-audit. OpenCloud support may request the encrypted log (which contains an exact duplicate of the information in the unencrypted log) to perform a license audit. 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.0, audit.log.1, etc.)
statistics for each function, with both accountedInitialEvents and unaccountedInitialEvents values.
Only accountedInitialEvents count towards licensed limits. Rhino records unaccountedInitialEvents for services and resource adaptors with licensed functions configured as accounted="false".
Sample Rhino licence
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
Rhino version 2.0, 500 capacity
Rhino-SDK version 2.0, 500 capacity