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, a first message comprising a first value of a bandwidth between the first intermediary and a second intermediary determined by a first network model of the sender; establishing, by the first intermediary via a second network model of the first intermediary, a next value of the bandwidth between the first intermediary and the second intermediary; receiving, by the sender from the first intermediary responsive to the first message, a second message comprising the established next value of the bandwidth between the first intermediary and the second intermediary; and determining, by a data transfer manager of the sender responsive to an update to the first network model based on the second message, a size of a portion of data queued for transmission to transmit to the first intermediary and a time for transmitting the portion of data queued to the first intermediary.