Patent ID: 6757248
Filing Date: 2004-06-29
Classification: H04L,H04W

Abstract:
A method of flow control and congestion avoidance congestion in a network, comprising:transmitting, at a source node, data packets to a destination node, via at least an intermediate node; receiving, at the destination node, data packets transmitted from the source node, via the intermediate node, and generating a duplicate ACK back to the source node to inform the source node that a data packet was received out-of-order in the network and serves as an indication that a data packet has been lost; upon receipt of a designated number of duplicate ACKs, at the source node, determining that a data packet has been lost; initializing a counter, at the source node, and recording a congestion window CWND, a slow start threshold Ssthresh, and a maximal sequence number SN that has been sent into the network; upon receipt of a next duplicate ACK, at the source node, recording its acknowledged sequence number ACK_SN; determining, at the source node, if the acknowledged sequence number ACK_SN is no more than a recorded sequence number SN; if the acknowledged sequence number ACK_SN is more than the recorded sequence number SN, incrementing the counter, at the source node, and re-transmitting a lost packet; if the acknowledged sequence number ACK_SN is no more than the recorded sequence number SN, determining if the packet loss is due to a transmission error; and if the packet loss is due to the transmission error, setting, at the source node, the slow start threshold Ssthresh to Max(CWND, (Ssthresh+CWND)/2), wherein said CWND and Ssthresh exhibit values previously recorded.