When a server crashes or when a point in the network route between the server and a client fails, communication stalls, and the AppServer may not be aware that a problem exists. Since the AppServer is a shared resource, failures of this type affect all application users. System resources like AppServer agents and memory are busy and application resources such as locked database records are unavailable to other users. It is important to detect these failures and recover resources as quickly as possible.
The AppServer provides the ClientASK messaging protocol to help identify failures. ASK stands for AppServer KeepAlive and ClientASK denotes that the direction of the keepalive messages is from clients to servers.
When an AppServer and client are configured to use ClientASK, the AppServer will periodically sends a keepalive message to the server and waits for a response. If the server responds within the defined time, then the AppServer knows the connection is valid and resets the count down for the next keepalive message. If the server does not respond in the defined time, then the AppServer can presume there is a failed connection and respond appropriately, usually by disconnecting the socket.