A method of managing a network communication channel between an electronic device and an enterprise entity, the electronic device being configured to communicate with the enterprise entity through an intermediate server, the method comprising at the electronic device: determining a list of available intermediate servers for establishing the network communication channel between the electronic device and the enterprise entity; generating a list of aggregate round trip times, the list of aggregate round trip times including an aggregate round trip time associated with each intermediate server in the list of available intermediate servers, wherein each aggregate round trip time includes a front end round trip time between the electronic device and an associated intermediate server and a back end round trip time between the enterprise entity and the associated intermediate server, and wherein the back end round trip time is determined by a control server distinct from the electronic device and the intermediate servers in the list of available intermediate servers; selecting one of the intermediate servers from the list of available intermediate servers based on the list of aggregate round trip times; establishing the network communication channel between the electronic device and the enterprise entity using the selected intermediate server; monitoring the network communication channel to determine whether a front end connection between the electronic device and the selected intermediate server has degraded; when the front end connection between the electronic device and the selected intermediate device has degraded , updating the list of available intermediate servers to exclude a previously selected intermediate server from the list of available intermediate servers; generating an updated list of aggregate round trip times; and selecting an updated intermediate server based on the updated list of aggregate round trip times. determining a list of available intermediate servers for establishing the network communication channel between the electronic device and the enterprise entity; generating a list of aggregate round trip times, the list of aggregate round trip times including an aggregate round trip time associated with each intermediate server in the list of available intermediate servers, wherein each aggregate round trip time includes a front end round trip time between the electronic device and an associated intermediate server and a back end round trip time between the enterprise entity and the associated intermediate server, and wherein the back end round trip time is determined by a control server distinct from the electronic device and the intermediate servers in the list of available intermediate servers; selecting one of the intermediate servers from the list of available intermediate servers based on the list of aggregate round trip times; establishing the network communication channel between the electronic device and the enterprise entity using the selected intermediate server; monitoring the network communication channel to determine whether a front end connection between the electronic device and the selected intermediate server has degraded; when the front end connection between the electronic device and the selected intermediate device has degraded , updating the list of available intermediate servers to exclude a previously selected intermediate server from the list of available intermediate servers; generating an updated list of aggregate round trip times; and selecting an updated intermediate server based on the updated list of aggregate round trip times. <EOS>