Token di licenza
Nel Babel Licensing Service i token di licenza servono a gestire le licenze e a tracciarne l’utilizzo. Esistono due tipi di token di licenza: i token delle licenze flottanti e i token di attivazione della licenza.
Solo le licenze con attivazione e le licenze flottanti creano token. Le licenze a file non ne creano, e nemmeno la convalida online di una licenza a file.
Token delle licenze flottanti
Nel caso delle licenze flottanti, un token rappresenta un client connesso al server che sta usando una determinata licenza. Quando un client richiede una licenza, il servizio crea un token per quel client. Il token viene rilasciato quando il client restituisce la licenza.
Se il client si ferma senza rilasciare la licenza, per esempio dopo un arresto anomalo o la perdita della connessione di rete, il token scade dopo l’intervallo di heartbeat (Licensing:HeartbeatInterval nella configurazione) e la postazione torna disponibile.
Token di attivazione della licenza
Nel caso dell’attivazione della licenza, un token rappresenta un computer che ha attivato una licenza. Il servizio crea il token quando il computer esegue l’attivazione, insieme alla licenza vincolata al computer emessa per quel computer.
Il token scade nella stessa data della licenza. Un’attivazione perpetua non scade mai da sola. Il token resta finché il computer non viene disattivato. La disattivazione di un computer elimina il suo token e la licenza vincolata al computer, e la postazione è subito libera.
Come vengono conteggiati i token
Il Babel Licensing Service limita il numero di token attivi, non il numero di token emessi nel tempo. Il limite deriva dalla licenza del servizio stesso:
| Edizione | Token attivi |
|---|---|
| Server Server | 1.000 |
| Data Center Data Center | Illimitati |
Un token è attivo finché la sua licenza non è revocata e il token non è scaduto. La revoca di una licenza toglie i suoi token dal conteggio.
Una prova usa un token solo se viene fornita come licenza con attivazione o come licenza flottante. Una prova distribuita come licenza a file firmata con una data di scadenza non ne usa nessuno.
Liberare i token
I token vengono liberati in questi modi:
- Il client disattiva il computer (attivazione) o rilascia la licenza (flottante).
- Un token flottante scade perché il client ha smesso di inviare heartbeat.
- La licenza viene revocata o il token raggiunge la data di scadenza.
- Un amministratore elimina il token. Puoi farlo da Babel Desktop, dall’API REST di gestione o dall’applicazione web di Data Center. È il modo per liberare la postazione di un computer che ha smesso di funzionare prima di poter essere disattivato.
Limiti e avvisi
Il servizio confronta il numero di token attivi con il limite della propria licenza:
- All’85% del limite (850 per Server), il servizio registra un avviso nel log e invia all’amministratore un’email di “limite quasi raggiunto”.
- Quando i token attivi raggiungono il 105% del limite (1.050 per Server), il servizio rifiuta le nuove attivazioni e i nuovi prelievi di licenze flottanti. Il client riceve l’errore
ServerReachedMaxTokenAllowed(StatusCode.PermissionDenied): “The server has reached the maximum number of license tokens allowed”. A questo punto il servizio elimina anche i token scaduti e revocati, il che può riportare il conteggio sotto la soglia.
A partire dalla 12.0, il blocco viene verificato su un conteggio aggiornato a ogni attivazione e a ogni prelievo di licenza flottante. Le versioni precedenti si basavano su un conteggio aggiornato ogni 5 minuti, quindi una raffica di richieste poteva superare per breve tempo la soglia. Le email di avviso vengono ancora valutate ogni 5 minuti.
Recuperare le attivazioni inattive
A partire dalla 12.0, il servizio può liberare la postazione di un’attivazione che non viene più usata. La funzione è disattivata per impostazione predefinita. Per attivarla, imposta ReclaimInactiveActivationDays nella sezione Licensing della configurazione:
"Licensing": {
"ReclaimInactiveActivationDays": 90
}La stessa impostazione come variabile d’ambiente:
BABEL_SERVICE_LICENSING__RECLAIMINACTIVEACTIVATIONDAYS=90Il valore predefinito è 0, che disattiva la funzionalità. Quando una licenza ha usato tutte le sue postazioni (MaxAllowedSites) e un nuovo computer chiede di attivarsi, il servizio esamina le attivazioni esistenti. Libera la postazione di quella che da più tempo non contatta il servizio, purché l’attivazione sia più vecchia del numero di giorni configurato, e poi attiva il nuovo computer. Se nessuna attivazione è abbastanza vecchia, la richiesta fallisce come prima.
Un computer contatta il servizio quando convalida la propria licenza online, operazione che aggiorna l’ora dell’ultimo contatto del suo token, o quando esegue l’attivazione. La postazione liberata viene trattata come una disattivazione: il token e la relativa licenza vincolata al computer vengono rimossi, e la traccia della licenza e l’evento webhook LicenseDeactivated vengono prodotti quando sono abilitati.
Un’applicazione che esegue la convalida solo offline, sul proprio file di licenza vincolata al computer, non aggiorna mai l’ora dell’ultimo contatto, quindi la sua postazione risulta inattiva. Inoltre, il recupero libera la postazione solo sul server. Sul vecchio computer il file di licenza vincolata al computer continua a funzionare offline, e la successiva convalida online di quel computer fallisce con “license not activated”.
Abilita questa impostazione solo se l’applicazione protetta esegue periodicamente la convalida online.
Passare da Server a Data Center
Se i token dell’edizione Server non bastano, passa all’edizione Data Center. Il pacchetto del servizio è lo stesso. Sostituisci il file di licenza del servizio con la licenza Data Center e riavvia il servizio. Il database e la configurazione restano come sono.