3.3.6.3 Session Expiration Timer Event
When the session expiration timer expires, the server MUST walk each Session in the GlobalSessionTable. If the Session.State is Valid and the Session.ExpirationTime has passed, the Session.State MUST be set to Expired and ServerStatistics.sts0_stimedout MUST be increased by 1. For each Connection in the global ConnectionList where the current time minus Connection.CreationTime is more than an implementation-specific time-out,<438> the server MUST disconnect the Connection, as specified in section 3.3.7.1, if any of the following conditions are TRUE:
Connection.Dialect is "Unknown".
Connection.Dialect is not "Unknown", and Connection.SessionTable is empty.
Connection.Dialect is not "Unknown", Connection.SessionTable is not empty, and there is no Session in Connection.SessionList where Session.State is Valid or Expired.