1. A method to more efficiently control flow of a data stream communicated via a network between a client and a server and traversing at least one intermediary, the method comprising: transmitting, by a sender to a first intermediary device that is intermediary to the sender and a second intermediary device, a first message comprising a compression ratio of the first intermediary device and a first value of a bandwidth between the first intermediary device and the second intermediary device determined by a first network model of the sender, the second intermediary device is intermediary to the first intermediary device and a receiver, the first intermediary device and the second intermediary device compressing communications between the sender and the receiver; establishing, by the first intermediary device via a second network model of the first intermediary device, a next value of the compression ratio of the first intermediary device and a next value of the bandwidth between the first intermediary device and the second intermediary device; receiving, by the sender from the first intermediary device responsive to the first message, a second message comprising the established next value of the bandwidth between the first intermediary device and the second intermediary device and the established next value of the compression ratio of the first intermediary device; and determining, by a data transfer manager of the sender responsive to an update to the first network model based on the established next value of the bandwidth and the established next value of the compression ratio of the second message, a size of a portion of data queued for transmission to transmit to the first intermediary device and a time for transmitting the portion of data queued to the first intermediary device.