A method of acknowledging receipt of data packets, where each data packet has
an
identification number. A counter is set to the identification number of the first
data packet expected. A data packet is then received. If the data precedes the
expected data packet then it is discarded. If the data packet has an identification
number greater than what is expected and not already stored then it is stored because
it is out of order. If the received packet is as expected then it is delivered
and the counter is incremented. If the counter equals an identification number
of a stored data packet then that packet is delivered along with any other stored
data packet contiguous there with, with respect to identification number, the counter
is set to one plus the highest identification number of a delivered data packet,
and the delivered data packets are deleted from storage. An acknowledgement message
is constructed which list the gaps in the stored data packets. Each gap is identified
by the first and last identification number of the gap. If additional processing
is desired then another data packet is received and processed as above. Otherwise,
the acknowledgement message is sent.