Hi there,
Natürlich gibt es die Möglichkeit, das man immer überprüft ob der User sich noch auf der Seite befindet und wenn nicht Lizenz freigeben, allerdings ist das auf gewisse anzahl Performanz lastig und ich glaub sogar aktuell garnicht mit dem System Kompatibel.
Viel anders wird's aber nicht gehen. Eine Lösung hängt imho davon ab, was Du serverseitig ändern kannst. Entweder wie schon beschrieben ein ajax-Request der von beforeunload ausgelöst wird oder (müßte man ausprobieren, ob das von den Browsern noch "erlaubt" wird) oder aber ein entsprechendes "Session"-Management. Der Client schickt nach dem Einloggen jede Minute eine Art "ich bin noch da-Ping" an den Server, der das registriert und wenn er ausbleibt, die Lizenz wieder freigibt. Den "Ping" könnte man leicht mit Javascript und Ajax realisieren, serverseitig ist schon etwas mehr zu erledigen; denn auch wenn natürlich das Serverskript von den Requests (mehrerer Clients) angestossen wird würde ich doch zur Sicherheit einmal pro Minute einen Cron-Job starten, der nachschaut, ob ein zu erwartender Ping ausgeblieben ist…