A method of controlling size of a receive window includes transmitting packets over a communication channel from a transmitting device to a receiver, and receiving acknowledgment packets from the receiver, the received acknowledgement packets from the receiver including an advertised receive window size. The method further includes determining a backlog parameter for the receiver in accordance with the advertised receive window size, determining a queuing delay in accordance the received acknowledgment packets, resetting a size of a congestion window in accordance with a function of a current size of the congestion window and a factor proportional to the queuing delay, and resetting a size of a receive window in accordance with a function of a current size of the receive window and the backlog parameter. A network window is reset in accordance with the smaller of the size of the congestion window and the size of the receive window