1. A method at a first computing device, the method comprising: initiating an original connection from the first computing device to a second computing device via a public Internet; requesting data from the second computing device via the original connection; wherein the second computing device is to receive the request and process the request to generate the data requested and buffer the generated data into a queue at the second computing device until an acknowledgement is received for the data from the first computing device; determining, at the first computing device, the data fails to arrive from the second computing device by an anticipated arrival time; initiating a new connection from the first computing device to the second computing device; re-sending the request for the data to the second computing device via the new connection; wherein the second computing device is to receive the request for the data resent by the first computing device via the new connection and further wherein the second computing device is to pull a buffered copy of the generated data from the queue at the second computing device and re-send the buffered copy of the data requested to the first computing device; receiving the data requested at the first computing device via the original connection after the anticipated arrival time; and sending the acknowledgement from the first computing device for the data requested to the second computing device via the original connection prior to receiving the data requested via the new connection.