Das müsste man über polling realisieren:
Der Client schreibt solange er angemeldet ist, reglemässig einen aktuellen Timestamp in die Datenbank. Am besten in einer Session-Tabelle, die sagt wann sich welcher Nutzer angemeldet hat und wann der letzte Poll her ist (eben dieser Timestamp).
Nun geht jede Anwendung her, und löscht VOR der eigentlichen Anmeldung alle Datensätze, deren Timestamp älter ist als Now() - Timeout. Dies macht auch das Polling, und zwar bevor es den eigenen Timestamp reinschreibt.
Somit ist sichergestellt, das zu jedem Zeitpunkt an dem ein Nutzer hier an die
DB will, _vorher_ alle abgelaufenen Sessions gelöscht werden.