Patent ID: 8200838

Claim:
A method of controlling the flow of a sequence of data segments from a sending peer to a receiving peer, comprising: transmitting data segments from the sending peer to the receiving peer in the order of the sequence; receiving acknowledgment messages from the receiving peer, where an acknowledgment message indicates the correct receipt of a data segment in the proper order of the sequence; receiving a duplicate acknowledgement message from the receiving peer at the sending peer, indicating that a data segment was received, but not in the proper order of the sequence, the duplicate acknowledgement message being for the last correctly received data segment in the order of the sequence of data segments; deciding that a data segment, which was sent but not acknowledged, was lost if the number of duplicate acknowledgement messages reaches a duplicate acknowledgement threshold determined based on the size of a receive window, the size of the receive window corresponding to a number of data segments which can be stored at one time in a buffer space at the receiving peer; and retransmitting the data segment decided to be lost.