Patent ID: 11956151
Assignee: INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE
Field: Digital communication (Electrical engineering)
Classification: CPC H  Y | IPC H

Claim 0:
1. A transmission control protocol (TCP) flow control method, comprising:
sending a data packet from a packet processor to a receiver and storing a copy of the data packet in an output data buffer;
receiving a current ACK packet with a current packet number by an input ACK filter after the data packet is sent;
determining whether the current packet number is identical to a last packet number of a last ACK packet and whether a last substitute ACK packet with a last substitute number exists by the input ACK filter;
when the current packet number is different from the last packet number and there is no last substitute ACK packet, sending the current ACK packet to the packet processor by the input ACK filter;
when the current packet number is different from the last packet number and the last substitute ACK packet exists, determining whether the current packet number is larger than or equal to the last substitute number by the input ACK filter;
when the current packet number is determined as larger than or equal to the last substitute number, sending the current ACK packet to the packet processor by the input ACK filter; and
when the current packet number is identical to the last packet number or when the current packet number is determined as smaller than the last substitute number, resending the data packet to the receiver, generating a current substitute ACK packet, and selectively sending the current substitute ACK packet to the packet processor,
wherein selectively sending the current substitute ACK packet to the packet processor comprises:
determining whether a difference between a current substitute number and the current packet number falls in an operative range;
sending the current substitute ACK packet to the packet processor when the difference falls in the operative range; and
sending the current ACK packet to the packet processor when the difference falls out of the operative range.