Patent ID: 7933947

Claim:
In a server, a method, comprising: receiving a request from a client, said request part of a communication session between said client and said server; referring to an entry in a table that maintains for said communications session: a value that indicates a number of notifications entered for requests that are pending, wherein pending requests are request are requests that have been received for said communication session that are awaiting a corresponding response, and a identifier of a worker node assigned to process said communication session's requests and generate corresponding responses; using said identifier of said worker node to identify an associated queue in which is stored notifications of the requests said worker node is assigned to process; entering a notification for said request into said associated queue; incrementing said value to indicate that said number of notifications entered for requests has increased responsive to receiving the request; in response to said worker node failing, retracting said notifications of the communication session's requests that remain pending, wherein retracting includes: removing said notifications, including said notification, from said associated queue, and decrementing said value to indicate that said number of notifications entered into said associated queue has decreased; using said value to determine that said communication session is one of: not corrupted because said notifications were successfully retracted for all of said communication session's requests that remain pending upon said worker node failing, or corrupted because said notifications were not successfully retracted for at least one of said communication session's requests that remain pending upon said worker node failing; if said communication session is not corrupted: executing a load balancing algorithm to identify a second worker node to process said communications session's request that remain pending upon said worker node failing and for which said notifications were successfully retracted; changing said identifier to identify said second worker node; and transferring said retracted notifications of said communication session's requests into a second queue associated with said second worker node, said second worker node assigned to process said communication session's request and generate corresponding responses.