Patent ID: 8145788

Claim:
A method of handling a computer network communication for a local network that is connected to an external network through multiple service providers, the method comprising: receiving a communication packet that is inbound or outbound with respect to the local network; determining for such packet an availability status for each of the service providers by transmitting a plurality of ping messages to a network host associated with one service provider, waiting for an acknowledgment from the network host, and determining that the one service provider is unavailable if a ratio of the quantity of acknowledgments received divided by the quantity of ping messages sent is less than a predetermined value; upon determining that said one service provider is unavailable, transmitting ping messages to said network host; upon receiving a response to said ping messages indicating that said one service provider is available, waiting for a hold-down period and transmitting another ping message to said network host; and designating said service provider as being available if a response is received to said another ping message; determining for such packet a bandwidth load status for each of the service providers; selecting a service provider based upon the availability status and bandwidth load status of the service providers; and associating the received packet with the selected service provider.