Lizenztoken
Im Babel Licensing Service dienen Lizenztoken dazu, Lizenzen zu verwalten und ihre Nutzung zu erfassen. Es gibt zwei Arten von Lizenztoken: Floating-Token und Aktivierungstoken.
Nur Aktivierungs- und Floating-Lizenzen erzeugen Token. Dateilizenzen erzeugen keine, auch nicht bei der Online-Validierung einer Dateilizenz.
Floating-Token
Bei Floating-Lizenzen steht ein Token für einen Client, der mit dem Server verbunden ist und eine bestimmte Lizenz verwendet. Wenn ein Client eine Lizenz anfordert, erstellt der Dienst ein Token für ihn. Das Token wird freigegeben, wenn der Client die Lizenz zurückgibt.
Wird der Client beendet, ohne die Lizenz freizugeben, etwa nach einem Absturz oder einer unterbrochenen Netzwerkverbindung, läuft das Token nach dem Lebenszeichen-Intervall ab (Licensing:HeartbeatInterval in der Konfiguration), und der Platz wird wieder verfügbar.
Aktivierungstoken
Bei der Lizenzaktivierung steht ein Token für einen Rechner, der eine Lizenz aktiviert hat. Der Dienst erstellt das Token, wenn der Rechner aktiviert wird, zusammen mit der gerätegebundenen Lizenz, die für diesen Rechner ausgestellt wird.
Das Token läuft am selben Datum ab wie die Lizenz. Eine unbefristete Aktivierung läuft von selbst nie ab. Das Token bleibt bestehen, bis der Rechner deaktiviert wird. Die Deaktivierung eines Rechners löscht sein Token und die gerätegebundene Lizenz, und der Platz ist sofort frei.
Wie Token gezählt werden
Der Babel Licensing Service begrenzt die Anzahl der aktiven Token, nicht die Anzahl der jemals ausgestellten Token. Das Limit ergibt sich aus der Lizenz des Dienstes selbst:
| Edition | Aktive Token |
|---|---|
| Server Server | 1.000 |
| Data Center Data Center | Unbegrenzt |
Ein Token ist aktiv, solange seine Lizenz nicht widerrufen und das Token nicht abgelaufen ist. Der Widerruf einer Lizenz nimmt ihre Token aus der Zählung.
Eine Testlizenz belegt nur dann ein Token, wenn sie als Aktivierungs- oder Floating-Lizenz ausgeliefert wird. Eine Testlizenz, die als signierte Dateilizenz mit Ablaufdatum ausgeliefert wird, belegt keines.
Token freigeben
Token werden auf folgende Weise freigegeben:
- Der Client deaktiviert den Rechner (Aktivierung) oder gibt die Lizenz frei (Floating).
- Ein Floating-Token läuft ab, weil der Client keine Lebenszeichen mehr sendet.
- Die Lizenz wird widerrufen, oder das Token erreicht sein Ablaufdatum.
- Ein Administrator löscht das Token. Das ist in Babel Desktop, über die REST-basierte Management API oder in der Webanwendung der Data-Center-Edition möglich. Auf diese Weise geben Sie den Platz eines Rechners frei, der ausgefallen ist, bevor er deaktiviert werden konnte.
Limits und Warnungen
Der Dienst vergleicht die Anzahl der aktiven Token mit dem Limit seiner Lizenz:
- Bei 85 % des Limits (850 bei Server) protokolliert der Dienst eine Warnung und sendet dem Administrator eine E-Mail mit dem Hinweis „Limit fast erreicht“.
- Wenn die aktiven Token 105 % des Limits erreichen (1.050 bei Server), lehnt der Dienst neue Aktivierungen und das Ausleihen weiterer Floating-Lizenzen ab. Der Client erhält den Fehler
ServerReachedMaxTokenAllowed(StatusCode.PermissionDenied): „The server has reached the maximum number of license tokens allowed“. An diesem Punkt löscht der Dienst außerdem abgelaufene und widerrufene Token, wodurch die Zählung wieder unter den Schwellenwert fallen kann.
Ab Version 12.0 wird die Sperre bei jeder Aktivierung und bei jedem Ausleihen einer Floating-Lizenz anhand einer aktuellen Zählung geprüft. Frühere Versionen stützten sich auf eine Zählung, die alle 5 Minuten aktualisiert wurde, sodass eine Häufung von Anforderungen den Schwellenwert kurzzeitig überschreiten konnte. Die Warn-E-Mails werden weiterhin alle 5 Minuten ausgewertet.
Inaktive Aktivierungen freigeben
Ab Version 12.0 kann der Dienst den Platz einer Aktivierung freigeben, die nicht mehr verwendet wird. Standardmäßig ist das ausgeschaltet. Um es einzuschalten, setzen Sie ReclaimInactiveActivationDays im Abschnitt Licensing der Konfiguration:
"Licensing": {
"ReclaimInactiveActivationDays": 90
}Dieselbe Einstellung als Umgebungsvariable:
BABEL_SERVICE_LICENSING__RECLAIMINACTIVEACTIVATIONDAYS=90Der Standardwert ist 0 und schaltet die Funktion aus. Wenn eine Lizenz alle ihre Plätze belegt hat (MaxAllowedSites) und ein neuer Rechner die Aktivierung anfordert, sieht sich der Dienst die vorhandenen Aktivierungen an. Er gibt den Platz derjenigen frei, die den Dienst am längsten nicht kontaktiert hat, sofern diese Aktivierung älter ist als die konfigurierte Anzahl von Tagen, und aktiviert dann den neuen Rechner. Ist keine Aktivierung alt genug, schlägt die Anforderung wie bisher fehl.
Ein Rechner kontaktiert den Dienst, wenn er seine Lizenz online validiert, wodurch der Zeitpunkt des letzten Kontakts seines Tokens aktualisiert wird, oder wenn er aktiviert wird. Der freigegebene Platz wird wie eine Deaktivierung behandelt: Das Token und seine gerätegebundene Lizenz werden entfernt, und die Ablaufverfolgung der Lizenz und das Webhook-Ereignis LicenseDeactivated werden erzeugt, sofern sie eingeschaltet sind.
Eine Anwendung, die nur offline anhand ihrer gerätegebundenen Lizenzdatei validiert, aktualisiert den Zeitpunkt des letzten Kontakts nie, sodass ihr Platz inaktiv erscheint. Außerdem gibt die Freigabe den Platz nur auf dem Server frei. Die gerätegebundene Lizenzdatei des alten Rechners funktioniert offline weiter, und die nächste Online-Validierung des alten Rechners schlägt mit „license not activated“ fehl.
Schalten Sie diese Einstellung nur ein, wenn die geschützte Anwendung regelmäßig online validiert.
Upgrade von Server auf Data Center
Wenn die Token der Server-Edition nicht ausreichen, führen Sie ein Upgrade auf die Data-Center-Edition durch. Das Paket des Dienstes ist dasselbe. Ersetzen Sie die Lizenzdatei des Dienstes durch die Data-Center-Lizenz und starten Sie den Dienst neu. Die Datenbank und die Konfiguration bleiben unverändert.