Server system with scalable session timeout mechanism
AssigneeMicrosoft Corporation
InventorsDmitry Robsman, Murali R. Krishnan
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsDmitry Robsman, Murali R. Krishnan
Estimating the term…
A session manager has a session timeout mechanism to selectively timeout client-server sessions. The session timeout mechanism has multiple timeout buckets to hold corresponding groups of sessions according to the sessions' timeout periods. Sessions located in different ones of the timeout buckets are set to timeout at different times. The session manager also has a session timeout clock that is incremented every predetermined time unit (e.g., every minute). The session timeout clock maintains a pointer to one of the timeout buckets and advances that pointer with each clock increment. The session timeout clock advances the pointer through all of the timeout buckets, one bucket at a time. The session timeout clock advances the pointer repeatedly through all the buckets. The cycle time for the session timeout clock to reference every timeout bucket is equal to the incremental time unit multiplied by the number of buckets. A new session (or one that recently received a request and is restarting its timeout period) is inserted into a timeout bucket that is one or more buckets ahead of the clock pointer, depending upon the session's timeout period. When the timeout clock references a particular bucket, the sessions in that bucket are analyzed for possible timeout. Sessions whose timeout period has run without receiving any new requests are timed out and removed from the bucket.
A network server system for a computer network system to handle requests from one or more clients, the network server system comprising:
A network server system for a computer network system to handle requests from one or more clients, the network server system comprising:
A session timeout system for use in a network server connected to serve one or more clients over a network, the network server establishing sessions for the clients to facilitate communication between the network server and the clients, the session timeout system comprising:
A server application for execution on a server that is configured to serve one or more clients, the server application having a session manager to manage sessions established to facilitate client-server connections, the session manager grouping the sessions into multiple buckets according to timeout periods associated with the sessions so that the sessions located in different ones of the timeout buckets are set to timeout at different times, the session manager maintaining a session timeout clock that increments every predetermined time unit to advance a reference among the timeout buckets so that one timeout bucket is referenced at a time, the session manager analyzing the sessions contained in a currently referenced timeout bucket for possible time out.
A method for managing sessions established to facilitate client-server connections, comprising the following steps:
A method for managing sessions established to facilitate client-server connections, comprising the following steps:
A method for managing sessions established to facilitate client-server connections, individual sessions having an associated timeout period that can be expressed in whole units of time, the method comprising the following steps:
Dependencies are inferred from the claim text.