Patent ID: 7010548

Claim:
A method of tracking data transmitted from a source device to a receiving device over a communication medium, comprising: receiving a data packet; reading a first sequence number from the received data packet; determining whether the first sequence number is contiguous with a sequence number range contained in a first preexisting node of a tree data structure, wherein the tree data structure is stored in a memory coupled to the receiving device; if the new sequence number is not contiguous with the sequence number range, creating a new node that contains the new sequence number; if the new sequence number is contiguous with the sequence number range, updating the first preexisting node such that the new sequence number becomes a new boundary value for the sequence number range contained in the first preexisting node; determining if the first preexisting node, after it has been updated, contains a sequence number range that is contiguous with a sequence number range of a second preexisting node; and if the sequence number range contained in the first preexisting node, after it has been updated, is contiguous with the sequence number range of the second preexisting node, merging the first and second preexisting nodes into a single node that represents a new contiguous range that includes the previous ranges represented by the first and second preexisting nodes prior to their merger.