Patent ID: 8411560

Claim:
A method for determining a data packet to retransmit, the method comprising: maintaining, by a receiver, a sorted list comprising an index of consecutive sets of continuous ranges of sequence numbers identifying data packets received by the receiver; and generating, by the receiver responsive to receiving a landing data packet, a selective acknowledgment (SACK) packet identifying: (i) a first continuous range of sequence numbers and a second continuous range of sequence numbers, the second continuous range subsequent to the first continuous range in the sorted list and one or more sequence numbers between the first continuous range and the second continuous range identifying one or more data packets that have not been received, and (ii) a third continuous range of sequence numbers, the third continuous range including a sequence number of the landing data packet, and not subsequent to the first continuous range or second continuous range in the sorted list; wherein the sorted list includes at least one additional continuous range of sequence numbers of data packets that have been received between the third continuous range and both of the first continuous range and the second continuous range, the at least one additional continuous range not identified in the SACK packet.