Patent ID: 6992982

Claim:
A method of controlling a data unit oriented communication between a sender and a receiver operating in accordance with a predetermined communication protocol, said method comprising the steps of: dividing, by the sender, an amount of data to be sent into a plurality of data units having a structure determined by the protocol; transmitting initial data units from the sender to the receiver; acknowledging, by the receiver, correct receipt of the initial data units by returning acknowledgment data units to the sender; detecting a failure of the receiver to receive at least one data unit by monitoring a time out period by the sender after the at least one data unit is sent, and if no acknowledgment data unit associated with the data unit is received before the time out period expires, triggering a time out mechanism that indicates the failure; retransmitting, by the sender, the at least one data unit that the receiver failed to receive; receiving at the sender, an acknowledgment data unit indicating that at least one of the data units was correctly received by the receiver; determining whether the received acknowledgment data unit indicates that the at least one correctly received data unit was correctly received as a result of the transmitting step or as a result of the retransmitting step, said determining step including the steps of: determining by the sender, a shortest round trip time associated with the correct receipt of an initial data unit; measuring by the sender, a time period between the retransmission of a given data unit and the receipt of a first acknowledgment data unit associated with the given data unit; comparing the shortest round trip time to the time period between the retransmission of the given data unit and the receipt of the first acknowledgment data unit; and determining that the at least one data unit was correctly received as a result of the transmitting step if the time period between the retransmission of the given data unit and the receipt of the first acknowledgment data unit is shorter than a predetermined fraction of the shortest round trip; subsequently transmitting, by the sender, subsequent data units, said subsequent data units being transmitted in accordance with a flow control procedure conducted on the basis of at least one adaptive parameter, said subsequently transmitting step including: performing an excessive delay response procedure upon determining that the received acknowledgment data unit indicates that the at least one data unit was correctly received as a result of the transmitting step; and performing a data unit loss response procedure upon determining that the received acknowledgment data unit indicates that the at least one data unit was correctly received as a result of the retransmitting step.