When a sending terminal in a network detects congestion or easing of congestion in the network, the sending terminal may determine how to adapt the transmission rate of data sent from the sending terminal. The problem of determining what transmission rate to choose based on feedback received from a receiver in the network may be challenging. Proper selection of the adaptation rate may improve the convergence of the adaptation control loop and may improve the quality of service. However, frequently oscillating rate adjustments towards convergence may degrade the service experience, particularly for real-time services. Another challenge of rate adaptation is to determine how quickly to increase the transmission rate when congestion has eased. Increasing the rate too aggressively may quickly introduce further congestion if the sender is unaware of the channel condition, which may lead to a poor service experience because of the increase of the transmission rate followed by the sudden need to decrease the transmission rate due to the further congestion. Increasing the rate too conservatively may prevent the sender from making full use of the decongested channel as the decongested channel develops additional capacity.
Conventional approaches typically adapt to feedback by changing the send rate to a fixed value until another feedback message is received and the congestion status information is updated, involving multiple feedback messages. Such conventional approaches do not attempt to adapt to network congestion based on a single feedback message. During congestion, achieving a multi-phase adaptation of decongestion followed by transmission at the maximum sustainable rate requires multiple feedback messages from the receiver describing the status of the channel. During easing of congestion, the sender conventionally uses very conservative increases in rate along with waiting for feedback to ensure that the sender does not re-introduce congestion. Also, when congestion has eased, conventional approaches typically blindly probe the channel with additional data to get an estimate of the maximum sustainable rate of the channel. The blind probing may introduce additional delay if the blind probing re-introduces congestion and the channel is unable to transport the additionally inserted data in a timely manner.