Patent ID: 7668187

Claim:
A method for receiving, reordering, and transmitting data packets, wherein each data packet contains a sequence identifier, the method comprising: receiving data packets for each received data packet: extracting a sequence number from the data packet associating a receive time indicator with the data packet calculating an expiration time for the received data packet based on the associated receive time indicator recording the sequence number and the calculated expiration time in a table in sequence number order for each data packet to be transmitted: reading the table to determine a next data packet to be transmitted transmitting the next data packet if the next data packet is available if the next data packet is unavailable determining a true expiration time for the unavailable next data packet waiting for the unavailable next data packet to become available if a current time is less than the true expiration time for the unavailable next data packet defining the unavailable data packet as lost if the current time is greater than the true expiration time for the unavailable data packet.