Patent ID: 8677007

Claim:
A method for bypassing by a client an appliance gateway used for communicating to a server upon determining the appliance gateway is not useable to communicate to the server, the method comprising the steps of: establishing, by a client agent, a first transport layer connection between a client and a first appliance, the first appliance providing access to a server; receiving, by the client agent from the first appliance, an application routing table identifying a plurality of client applications and, for each client application, at least one alternate network destination of another appliance; establishing, by the client agent, a second transport layer connection between the client and a second appliance, the second appliance identified in the application routing table as an alternate network destination for a first application executing on the client, the client agent intercepting a first communication directed to the server from the first application responsive to the first application being identified in the application routing table; establishing, by the client agent, a third transport layer connection between the client and a third appliance, the third appliance identified in the application routing table as an alternate network destination for a second application executing on the client, the client agent intercepting a second communication directed to the server from the second application responsive to the second application being identified in the application routing table; communicating, by the client agent on behalf of the first application and the second application, with the server via the first transport layer connection between the client and the first appliance, while maintaining the second transport layer connection and the third transport layer connection; monitoring, by the client agent via the respective transport layer connection, a status of the first appliance, a status of the second appliance, and a status of the server; determining, by the client agent via monitoring, (i) the status of the first appliance indicates the first appliance is not useable by the client to communicate to the server, (ii) the status of the second appliance indicates the second appliance is useable by the client to communicate to the server, and (iii) the status of the server indicates the server is available; and communicating, by the client agent automatically in response to the determination, with the server via the second transport layer connection on behalf of the first application, and communicating with the server via the third transport layer connection on behalf of the second application, to bypass the first appliance.