Patent ID: 8750188

Claim:
A mobile client device for communicating with a remote server device and dynamically switching among multiple wireless interfaces of the mobile client device, the mobile client comprising: a first interface for communicating over a cellular network; a second interface for communicating over a WiFi network; and a computer-readable medium, having thereon computer-executable instructions for switching one or more connection-oriented sessions from one of the first and second interfaces to the other of the first and second interfaces based on a selection policy selected from an energy saving selection policy, an offload selection policy, and a performance selection policy; wherein the computer-executable instructions for switching comprise instructions for: counting existing Transmission Control Protocol (TCP) connections on a current interface of the first and second interfaces; adding new routing table entries for the counted connections specifying the destination address, gateway and mask for the current interface if the count is non zero so that existing TCP flows remain in the current interface; activating the other of the first and second interfaces; adding routing table entries for the other interface including a default route; removing a default route of the routing table of the current interface; awaiting expiration of a predefined timeout period; and deactivating the current interface so that the mobile client device uses the other interface.