Patent ID: 8418016

Claim:
A communication system that transmits a data unit including one or a plurality of packet data, from a transmitting/receiving device to another transmitting/receiving device through a network, each transmitting/receiving device comprising: a transmitting unit for transmitting the data unit to the transmitting/receiving device on a receiving side; a receiving unit for receiving an acknowledgment of the data unit transmitted from the transmitting/receiving device on the receiving side; a timeout determination unit for determining that the data unit is lost if the receiving unit does not receive the acknowledgment for the data unit within a predetermined time after the transmission of the data unit; a spurious timeout determination unit for determining whether a spurious timeout caused by a delay of the data unit is occurring, when the acknowledgment received after the determination of the timeout determination unit is not a duplicate acknowledgment; a retransmitting unit for retransmitting the data unit when the timeout determination unit determines that the data unit is lost; and a control unit for controlling setting of a target value to decrease a size of a congestion window that controls a number of the data units to be transmitted when the spurious timeout determination unit determines that the spurious timeout is occurring, and then performing a congestion window setting process for controlling the size of the congestion window to be gradually decreased to the target value, whenever the receiving unit receives the acknowledgment, wherein the congestion window setting process includes, when a number of the acknowledgements received by the receiving unit, after the spurious timeout determination determines that the spurious timeout is occurring, is smaller than a maximum sequence number and the size of the congestion window is greater than the target value, subtracting a data amount of the data unit whose transmission is acknowledged from the size of the congestion window to be set to the size of the congestion window.