WO2008044653A1 - Système, périphérique et procédé de communication - Google Patents

Système, périphérique et procédé de communication Download PDF

Info

Publication number
WO2008044653A1
WO2008044653A1 PCT/JP2007/069607 JP2007069607W WO2008044653A1 WO 2008044653 A1 WO2008044653 A1 WO 2008044653A1 JP 2007069607 W JP2007069607 W JP 2007069607W WO 2008044653 A1 WO2008044653 A1 WO 2008044653A1
Authority
WO
WIPO (PCT)
Prior art keywords
data unit
loss
communication device
determination
data
Prior art date
Application number
PCT/JP2007/069607
Other languages
English (en)
French (fr)
Inventor
Kazunori Yamamoto
Hideharu Suzuki
Original Assignee
Ntt Docomo, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ntt Docomo, Inc. filed Critical Ntt Docomo, Inc.
Priority to JP2008538714A priority Critical patent/JP4898822B2/ja
Priority to EP07829345.3A priority patent/EP2068510B1/en
Priority to US12/444,386 priority patent/US8418016B2/en
Priority to CN2007800372337A priority patent/CN101523828B/zh
Publication of WO2008044653A1 publication Critical patent/WO2008044653A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0242Determining whether packet losses are due to overload or to deterioration of radio communication conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]

Definitions

  • the present invention relates to a communication system, a communication apparatus, and a communication method applied to communication using wireless TCP protocol, which is communication using congestion control of TCP (Transmission Control Protocol).
  • wireless TCP protocol which is communication using congestion control of TCP (Transmission Control Protocol).
  • TCP ensures reliable delivery of a segment indicating arbitrary TCP / lP (Internet Protocol) data and / or an acknowledgment ACK (ACKnowledgement) packet (or both).
  • TCP / lP Internet Protocol
  • ACKnowledgement acknowledgment
  • a retransmission timer is set, and if an ACK is not returned within this set time, it is assumed that the segment has been lost and retransmitted.
  • the spurious timeout has the following two problems. The first is that unnecessary retransmissions occur. The second is that the congestion window is reduced and throughput is reduced by the congestion control that adjusts the window size based on the congestion information detected by the transmission side communication device due to the retransmission timeout.
  • the congestion window is a TCP state variable that limits the TCP transmittable size.
  • Non-Patent Document 1 proposes an Eifel Detection algorithm as a spurious timeout detection method.
  • the Eifel Detection algorithm uses TCP timestamps A spurious timeout is detected using a precision.
  • the communication device on the sending side memorizes the transmission time of the segment, and if it matches the transmission time of the time stamp power original segment returned by ACK, it will switch off the retransmission timeout.
  • Non-Patent Document 2 proposes an F—RTO (Forward RTO • Recovery) algorithm as a spurious timeout detection method.
  • F The RTO detects a spurious timeout based on the ACK arrival pattern immediately after the retransmission timeout has occurred!
  • Non-Patent Document 3 proposes an Eifel Response algorithm as a spurious timeout response method. After detecting a spurious timeout, the Eifel Response algorithm recovers the TCP congestion control state (slow start threshold and congestion window size) to the state before the retransmission timeout. By applying this method, even if a spurious timeout occurs, communication can be continued without reducing the transmission speed.
  • Non-Patent Document 4 proposes the following two algorithms as a spurious timeout response method.
  • the first algorithm reduces the slow start threshold to half the flight size and the congestion window to one segment when a spurious timeout is detected.
  • the flight size means a transmission data size whose delivery has not been confirmed.
  • the congestion window is then increased by slow start. This method shows excellent throughput characteristics when the wireless bearer speed changes before and after spurious time out.
  • the second algorithm reduces both the slow start threshold and the congestion window to half the flight size when a spurious timeout is detected.
  • the congestion window is then increased according to the congestion avoidance algorithm. This method is effective when the wireless bearer is slow.
  • TCP has a Fast Retransmit algorithm that immediately retransmits when it receives three duplicate ACKs from the receiver. Since the Fast Retransmit algorithm performs retransmission without waiting for the retransmission timeout, it can recover loss faster than the retransmission method using the retransmission timer. If three duplicate ACKs are not received, loss recovery by the retransmission timer is executed.
  • Non-Patent Document 5 Limited Transmi assists the operation of the Fast Retransmit algorithm.
  • An algorithm called t has been proposed.
  • the Limited Transmit algorithm transmits unsent segments when the first and second duplicate ACKs are received, exceeding the congestion window up to two segments. When the receiving device receives these segments, it returns a duplicate ACK. This increases the possibility of performing loss recovery with the Fast Retransmit algorithm.
  • Patent Documents 1 to 4 are known as this type of prior art.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2006-217235
  • Patent Document 2 Japanese Unexamined Patent Publication No. 2006-173961
  • Patent Document 3 Japanese Unexamined Patent Publication No. 2006-157918
  • Patent Document 4 Japanese Patent Laid-Open No. 2005-533449
  • Non-Patent Document 1 R. Ludwig and M. Meyer, "The Eifel Detection Algorithm for TCP," RFC3522, April 2003.
  • Non-Patent Document 2 P. Sarolahti and M. Kojo, "Forward RTO—Recovery (F—RTO): An Algorithm for Detecting Spurious Retransmission Times with TCP and the Stream Control Transmission Protocol (SCTP),” RFC4138, August2005.
  • F—RTO Forward RTO—Recovery
  • Non-Patent Document 3 R. Ludwig and A. Gurtov, ⁇ 'he Eifel Response Algorit hm for TCP, "RFC4015, February2005.
  • Non-Patent Document 4 P. Sarolahti, 'Congestion Control on Spurious TCP Retransmission Timeouts, "IEEE Globecom' 03, vol. 2, pp. 682—686, Dece mber 2003.
  • Non-Patent Document 5 M. Allman, H. Balakrishnan, and S. Floyd, "Enhancing TC P's Loss Recovery Using Limited Transmit,” RFC3042, January 20 01. in response algorithm to reduce the sometimes slow start threshold and the congestion window spurious timeout detection, when the segment loss occurs subsequent to the spurious timeout, there are two problems force s described next.
  • the first problem relates to the Limited Transmit algorithm described above. Spurious Timer If the congestion window is greatly reduced immediately upon detection of noise, the operation of the Limited Transmit algorithm may be hindered when a segment loss occurs following a spurious timeout. If the congestion window is greatly reduced, a situation occurs in which the unsent segments are not included in the range of the congestion window size plus 2 segments. In such a situation, the Limited Transmit algorithm cannot transmit untransmitted segments when the first and second duplicate ACKs are received. For this reason, it is impossible to achieve efficient loss recovery, and throughput is reduced.
  • a second problem is that when a segment loss occurs following a spurious timeout, the slow start threshold is reduced more than necessary.
  • TCP the number of times the slow start threshold is reduced during the round trip time is limited to one.
  • the slow start threshold is decreased. If a segment loss occurs after the spurious timeout, the slow start threshold is set twice when the spurious timeout is detected and when the segment mouth is detected. Will be reduced. As the slow start threshold decreases, the rate of increase in the congestion window is suppressed and throughput is reduced.
  • the present invention has been made in view of such problems, and in the execution of a response algorithm that changes the slow start threshold and the congestion window, the efficiency is improved when a segment loss occurs following a spurious timeout.
  • the aim is to provide a communication system, a communication device, and a communication method that can realize a typical loss recovery and thereby improve the throughput!
  • a communication system transmits a data unit that is a lump of one packet data or a plurality of packet data from one transmitting / receiving device via a network.
  • the transmission / reception device transmits a data unit to the reception-side transmission / reception device, and an acknowledgment of the data unit transmitted from the reception-side transmission / reception device.
  • a first receiving unit that determines that the data unit has been lost if a confirmation response to the data unit is not received within a predetermined time by the receiving unit after transmission of the data unit.
  • the data by the loss determination means and the first loss determination means Retransmission means for retransmitting the data unit when it is determined as unit loss, and whether or not the determination result of the first loss determination means is caused by the delay of the data unit or the confirmation response. Then, a spurious timeout determination means for determining a spurious timeout when it is determined, and a target value for reducing the size of the congestion window that controls the number of transmissions of the data unit when the spurious timeout is determined are set. And a control means for performing control to gradually reduce the size of the congestion window to the target value when the confirmation response is received by the receiving means.
  • the target value for reducing the size of the congestion window is set in the transmission / reception device when it is determined that there is a spurious timeout!
  • the size of the congestion window is gradually reduced to the target value, so that unsent data units (segments) can be transmitted reliably. Efficient loss recovery can be realized and the ability to improve throughput can be achieved.
  • the spurious timeout was detected, the congestion window was greatly reduced immediately. Therefore, the congestion window did not contain unsent data units, and the first and second duplicate acknowledgment ACKs were received. When it is not possible to send unsent data units!
  • the communication system according to claim 2 of the present invention is the communication system according to claim 1 wherein, when the control means determines that the spurious timeout has occurred, the spurious time is determined. If the size of the congestion window is larger than the target value at the time when acknowledgments of all data units that have already been transmitted are received, the size of the congestion window is set to either the target value or the flight size. It is characterized by doing. According to this configuration, when the transmission / reception device on the transmitting side confirms that all the transmitted data units have been properly delivered when determining the spurious timeout, the congestion window is set to the target value all at once. Alternatively, since the flight size is set, the number of data unit transmissions can be reliably controlled to the target value, and bursty data unit transmissions can be avoided.
  • the communication system according to claim 3 of the present invention provides a communication system 1 A communication system for delivering a data unit that is packet data or a cluster of multiple packet data to the other transmitting / receiving device via a network, wherein the transmitting / receiving device transmits the data unit to the receiving-side transmitting / receiving device.
  • a first loss determination unit that determines that the data unit has been lost if it is not received within a predetermined time, and a retransmission unit that retransmits the data unit when the first loss determination unit determines that the data unit is lost. And whether or not the determination result of the first loss determination means is caused by the delay of the data unit or the confirmation response, A spurious timeout determining means for determining a spurious timeout when it is determined to be caused by a delay, and a second loss for detecting a loss of the data unit based on the confirmation response received by the receiving means. If it is determined that the spurious timeout is detected, the second loss determination means causes a loss of data units until the acknowledgment of all data units transmitted at the time of determination of the spurious timeout is received. Even if it is detected, the slow start threshold is not decreased! /, And control means for performing control is provided.
  • the transmission / reception apparatus determines that all of the transmitted data units have been properly delivered at the time of determination of the spurious timeout! Since the slow start threshold is not reduced even if a data unit loss is detected, the congestion window is increased by reducing the slow start threshold more than necessary when the data unit is lost. When the speed is reduced and the throughput is reduced, problems can be eliminated.
  • the communication device is a communication device that sends a data unit that is a packet data or a block of a plurality of packet data to a receiving communication device via a network.
  • a transmitting means for transmitting the data unit to the receiving communication apparatus, a receiving means for receiving an acknowledgment of the data unit transmitted from the receiving communication apparatus, and after the transmission of the data unit If the confirmation response to the data unit is not received within a predetermined time by the receiving means, the data unit is A first loss determination means for determining that a data loss has occurred; a retransmission means for retransmitting a data unit when the first loss determination means determines a data unit loss; and the first loss determination means A spurious that determines whether a spurious timeout occurs when it is determined that the determination result is caused by a delay of either the data unit or the confirmation response.
  • a target value for reducing the size of the congestion window that controls the number of transmissions of the data unit is set, and the confirmation response is received by the reception means.
  • the communication device is the communication device according to claim 4, wherein the control unit determines whether the data unit of the retransmission unit has If the size of the congestion window is larger than the target value when an acknowledgment of all data units transmitted before retransmission is received, the size of the congestion window is set to either the target value or the flight size. It is characterized by setting.
  • the congestion window is set to the target value or the flight size all at once when it is confirmed that all the transmitted data units have been properly delivered when determining the spurious timeout. Unsent data units can be delivered efficiently.
  • the communication device according to claim 6 of the present invention is the communication device according to claim 4 or 5, wherein the target value is 1 / n of the flight size at the time when the spurious timeout is determined. It is characterized by that.
  • the communication device is characterized in that, in claim 4 or 5, the target value is one of the data units. .
  • the size of the congestion window is reduced. When the number is reduced, the congestion window can be appropriately reduced so that a situation in which the unsent data unit is not included in the congestion window does not occur.
  • the communication device is a communication device that sends a data unit, which is a lump of one packet data or a plurality of packet data, to a receiving communication device via a network. Then, a transmitting means for transmitting the data unit to the receiving communication apparatus, a receiving means for receiving an acknowledgment of the data unit transmitted from the receiving communication apparatus, and the data unit after transmitting the data unit A first loss determination means for determining that the data unit has been lost when a confirmation response to the unit is not received within a predetermined time by the reception means; and a data unit loss by the first loss determination means.
  • the retransmission unit that retransmits the data unit when it is determined that the determination result of the first loss determination unit is the result of the data unit and the confirmation response. It is determined whether or not the delay is caused by one of these delays, and when it is determined that the data unit is caused by the delay, a spurious timeout determination unit that determines a spurious timeout and a confirmation received by the reception unit Based on the response, the second loss determination means for detecting the loss of the data unit, and when it is determined that the spurious timeout is detected, the confirmation response of all the transmitted data units is confirmed at the time of the determination of the spurious timeout.
  • the control unit includes control means for performing control so as not to decrease the slow start threshold even if a loss of a data unit is detected by the second mouth judging means.
  • the slow start threshold value is set. Since the slow start threshold is reduced more than necessary when the data unit is lost, the increase speed of the congestion window is suppressed, and when the throughput is reduced, the conventional problem is eliminated. it can.
  • a data unit that is a lump of one packet data or a plurality of packet data is transmitted from the communication device on the transmission side to the communication device on the reception side via the network.
  • the transmission-side communication device after transmitting the data unit, receives the confirmation response from the reception-side communication device for the data unit within a predetermined time.
  • the target value for reducing the size of the congestion window is set in the communication device on the transmission side when it is determined that the spurious timeout has occurred, and then an acknowledgment is received.
  • the size of the congestion window is gradually reduced to the target value, so that unsent data units (segments) can be transmitted reliably. Loss recovery can be realized and throughput can be improved.
  • the communication unit on the receiving side transmits a data unit that is a lump of one packet data or a plurality of packet data from the communication device on the transmitting side via the network.
  • the transmission-side communication device does not receive a confirmation response from the reception-side communication device for the data unit within a predetermined time after the transmission of the data unit. ! /, A first step for determining that the data unit has been lost, a second step for retransmitting the data unit when it is determined that the data unit has been lost in the first step, It is determined whether the determination result in step 1 is caused by the delay of either the data unit or the confirmation response, and is determined to be caused by the delay of the data unit.
  • a third step of determining a spurious timeout a fourth step of detecting a loss of the data unit based on the confirmation response received by the transmitting communication device, and the spurious timeout If it is determined that the data response is received in the fourth step until acknowledgments of all the transmitted data units are received when the spurious timeout is determined. And a fifth step for preventing the slow start threshold from being reduced even if a knit loss is detected.
  • the slow start threshold is not reduced.As in the past, the slow start threshold is reduced more than necessary when the data unit is lost. Can be eliminated when the throughput is reduced and the throughput decreases.
  • the communication system is a communication system including a communication device that transmits and receives data units via a network, and the communication device is connected to a communication device on the receiving side.
  • a data unit transmitting means for transmitting the data unit; a receiving means for receiving the confirmation response transmitted by the receiving communication apparatus; and whether the confirmation response received by the receiving means is a duplicate response.
  • the duplicate response determination means for determining, the first loss determination means for determining the loss of the data unit using a timer, and the determination result in the first loss determination means is the delay of the data unit or the confirmation response.
  • Spurious timeout determination means for determining whether or not it is caused by a window system that controls the number of data unit transmissions using a window
  • the window control means is determined by the spurious timeout determination means that the determination result in the first loss determination means is due to a delay in the data unit or the confirmation response.
  • the confirmation response received by the receiving means confirms the reception of some data units transmitted before the time when retransmission is performed based on the determination result of the first loss determining means. If the confirmation response is judged to be a duplicate response by the duplicate response judging means, the transmission of unsent data units is permitted up to a predetermined number exceeding the window size by three or more data units.
  • the communication device is a communication device that transmits a data unit via a network, and that transmits the data unit to the communication device on the receiving side. Sent by the unit transmitting means and the communication device on the receiving side.
  • a receiving means for receiving the confirmation response, a duplicate response judging means for judging whether or not the confirmation response received by the receiving means is a duplicate response, and a first for judging the loss of the data unit using a timer.
  • Loss determination means, spurious timeout determination means for determining whether the determination result in the first loss determination means is due to the delay of the data unit or the confirmation response, and the number of data unit transmissions using a window.
  • a window control means for controlling wherein the window control means determines that the determination result in the first loss determination means is caused by a delay of the data unit or the confirmation response by the spurious timeout determination means.
  • the confirmation response received by the receiving unit is based on the determination result of the first loss determining unit. Accordingly, when the reception of a part of the data units transmitted before the time when the retransmission is performed is confirmed, and the confirmation response is determined to be a duplicate response by the duplicate response judging means.
  • the transmission of untransmitted data units is permitted up to a predetermined number exceeding the window size by 3 or more data units.
  • a communication method is a communication method in a communication system including a communication device that transmits and receives data units via a network, and the communication device is a communication device on the receiving side.
  • the data unit transmission step for transmitting the data unit, the reception step for receiving the confirmation response transmitted by the communication device on the receiving side, and the confirmation response received in the reception step are duplicated.
  • a duplicate response determination step for determining whether the response is a response, a first loss determination step for determining a loss of the data unit using a timer, and a determination result in the first loss determination step is the data unit Or a spurious timeout determination step for determining whether or not the delay is caused by the delay of the confirmation response, and a window for data.
  • the determination result in the first loss determination step is caused by a delay of the data unit or the confirmation response. If it is determined, the acknowledgment received in the response reception step is a reception of a part of the data units transmitted before the time when retransmission is performed based on the determination result of the first loss determination step. The confirmation response is confirmed in the duplicate response determination step. When it is determined that the response is a duplicate response, transmission of untransmitted data units is permitted up to a predetermined number exceeding the window size by three or more data units.
  • the window Limited Transmit is used even when the window size is 2 or more smaller than the number of data units for which reception has not been completed. become able to. As a result, the throughput improvement effect by Limited Transmit can be obtained.
  • a communication system is a communication system including a communication device that transmits and receives data units via a network, and the communication device is connected to a communication device on the receiving side.
  • a data unit transmitting means for transmitting the data unit; a receiving means for receiving an acknowledgment transmitted by the receiving communication apparatus; and a first loss determination for determining a loss of the data unit using a timer.
  • a spurious timeout determination unit that determines whether the determination result of the first loss determination unit is due to a delay of the data unit or the confirmation response, and a window that controls the number of data unit transmissions using a window Control means, and the window control means includes the spurious timeout determination means and the first control means.
  • the transmission is performed before the time when retransmission is performed based on the determination result of the first loss determination means.
  • the window size is maintained even after an acknowledgment is received by the receiving means until all received data units are acknowledged.
  • the communication device is a communication device that transmits a data unit via a network, and that transmits the data unit to a communication device on a receiving side.
  • the determination result in the means is the data
  • a spurious time-out judging means for judging whether or not it is caused by a delay of the unit or the confirmation response, and a window control means for controlling the number of data unit transmissions using a window, the window control means comprising: When it is determined by the spurious timeout determination means that the determination result in the first loss determination means is caused by the delay of the data unit or the confirmation response, retransmission is performed based on the determination result of the first loss determination means.
  • the window size is maintained even after an acknowledgment is received by the receiving means until all data units transmitted before the time when the data is sent are acknowledged. .
  • the communication method according to claim 16 of the present invention is a communication method in a communication system including a communication device that transmits and receives data units via a network, and the communication device is a communication device on the receiving side.
  • a data unit transmission step for transmitting the data unit to the communication device; a reception step for receiving an acknowledgment transmitted by the communication device on the receiving side; and a step of determining a loss of the data unit using a timer.
  • a loss determination step, a spurious timeout determination step for determining whether the determination result in the first loss determination step is caused by the delay of the data unit or the confirmation response, and a window.
  • a window control step for controlling the number of data unit transmissions.
  • the determination is based on the determination result of the first loss determination step.
  • the window size is maintained after the confirmation response is received in the reception step. It is characterized by being.
  • a communication system is a communication system including a communication device that transmits and receives data units via a network, and the communication device is connected to a communication device on the receiving side.
  • a data unit transmitting means for transmitting the data unit; a receiving means for receiving an acknowledgment transmitted by the receiving communication apparatus; and a first loss determination for determining a loss of the data unit using a timer.
  • a spurious timeout determination unit that determines whether the determination result in the first loss determination unit is caused by a delay of the data unit or the confirmation response, and a confirmation response from the communication device on the reception side
  • a second loss determination means for determining the loss of the data unit based on the data loss, and the data unit lost by the second loss determination means If it is determined, it has loss recovery means for recovering the loss of the data unit and window control means for controlling the number of data unit transmissions using a window, and the window control means determines the spurious timeout determination.
  • the data unit determined to be lost by the second loss determination means is The number of confirmation responses used by the second loss determination means to determine the loss if the data unit is transmitted before the time when retransmission is performed based on the determination result of the first loss determination means.
  • the window size is increased in response to.
  • the communication system according to claim 18 of the present invention is the communication system according to claim 17, wherein the window control means uses the spurious timeout determination means to determine the first loss determination means. If it is determined that the determination result in step 2 is due to the delay of the data unit or the confirmation response, the data unit determined to be lost by the second loss determination unit is the determination result of the first loss determination unit. If the data unit is transmitted before the time when retransmission is performed based on the number of data units, the second loss determination means subtracts 1 from the number of duplicate responses used for loss determination. The window size is increased by a corresponding size.
  • a communication device is a communication device that transmits a data unit via a network, and the data unit is connected to the communication device on the receiving side.
  • a data unit transmitting means for transmitting a packet, a receiving means for receiving an acknowledgment sent by the receiving communication device, a first loss determining means for determining a loss of the data unit using a timer, A spurious time-out determination unit that determines whether the determination result in the first loss determination unit is caused by a delay in the data unit or the confirmation response; and a confirmation response from the communication device on the receiving side.
  • the second loss determination means for determining the loss of the data unit and the loss recovery for recovering the loss of the data unit when the second loss determination means determines that the data unit has been lost.
  • window control means for controlling the number of data unit transmissions using a window, wherein the window control means includes the spurious timeout.
  • the window size is increased according to the number of windows.
  • the communication method according to claim 20 of the present invention is a communication method in a communication system including a communication device that transmits and receives data units via a network, and the communication device is a communication device on the receiving side.
  • a data unit transmitting step for transmitting the data unit, a receiving step for receiving an acknowledgment transmitted by the receiving communication device, and a first loss for determining a loss of the data unit using a timer.
  • a determination step, a spurious timeout determination step for determining whether or not the determination result in the first loss determination step is caused by a delay of the data unit or the confirmation response, and a communication device on the receiving side.
  • a second loss determination step for determining the loss of the data unit based on the confirmation response, and the second loss determination step.
  • a loss recovery step for recovering the loss of the data unit and a window control step for controlling the number of data unit transmissions using a window are included.
  • the determination result in the first loss determination step is the data unit or the If it is determined that it is caused by a delay in the confirmation response, the data unit determined to have been lost in the second loss determination step is based on the determination result of the first loss determination step! If the data unit is transmitted before the time when retransmission is performed, the window size is increased according to the number of confirmation responses used in the loss determination in the second loss determination step.
  • the window size is set to detect the data unit. Increase according to the number of acknowledgments required.
  • the window size is increased by the size of two data units obtained by subtracting 1 from the number of duplicate ACKs received, thereby adding the number of duplicate ACKs, which means that the data unit has been removed from the network.
  • the number of data units flowing into the can be controlled.
  • the reception confirmation is completed by taking into account the number of duplicate ACKs, and the number of data units and V The size can be reliably controlled. Since the number of data units flowing into the network is reliably controlled, unnecessary increase in network load is prevented and network performance is improved.
  • a communication system is a communication system including a communication device that transmits and receives data units via a network, and the communication device is connected to a communication device on the receiving side.
  • a data unit transmitting means for transmitting the data unit; a receiving means for receiving an acknowledgment transmitted by the receiving communication apparatus; and a first loss determination for determining a loss of the data unit using a timer.
  • the determination result of the first loss determination means is the delay of the data unit or the confirmation response.
  • Spurious timeout determination means for determining whether or not the error is caused, second loss determination means for determining loss of a data unit based on a confirmation response from the communication device on the receiving side, and the second loss determination Means for recovering the loss of the data unit, and window control means for controlling the number of data unit transmissions using a window, the loss recovery means. Holds a threshold value for determining the completion of loss recovery according to the value of the acknowledgment received by the receiving means, and the determination result in the first loss determining means is obtained by the spurious timeout determining means. When it is determined that the data unit or the confirmation response is caused by a delay, the first loss determination unit determines the first log.
  • retransmission is performed based on the determination result of the first loss determination means.
  • a value corresponding to the maximum sequence number of the data unit that has already been transmitted is set as the threshold for determining completion of loss recovery.
  • the communication device is a communication device for transmitting a data unit via a network, and is a data unit transmitting means for transmitting the data unit to a communication device on the receiving side.
  • a receiving means for receiving an acknowledgment sent by the receiving communication device, a first loss determining means for determining a loss of the data unit using a timer, and a determination in the first loss determining means Based on the spurious time-out judging means for judging whether the result is caused by the delay of the data unit or the confirmation response, and the loss of the data unit based on the confirmation response from the communication device on the receiving side! If the second loss determination means and the second loss determination means determine that the data unit has been lost, recover the loss of the data unit.
  • Loss recovery means and window control means for controlling the number of data unit transmissions using a window.
  • the loss recovery means performs loss recovery according to the value of the acknowledgment received by the reception means.
  • the threshold for determining completion is held, and the spurious timeout determination unit determines that the determination result in the first loss determination unit is caused by the delay of the data unit or the confirmation response, the second Is transmitted before the time point at which retransmission is performed based on the determination result of the first loss determination means.
  • a value corresponding to the maximum sequence number of the transmitted data unit at the time when retransmission is performed based on the determination result of the first loss determination means is lost.
  • the threshold value is set to determine the completion of recovery.
  • the communication method according to claim 23 of the present invention is a communication method in a communication system including a communication device that transmits and receives data units via a network, and the communication device is a communication device on the receiving side.
  • a data unit transmission step for transmitting the data unit to the communication device; a reception step for receiving an acknowledgment transmitted by the communication device on the receiving side; and a step of determining a loss of the data unit using a timer.
  • a spurious timeout determination step for determining whether or not the determination result in the first loss determination step is due to the delay of the data unit or the confirmation response, and the reception side
  • a second loss determination step for determining a loss of the data unit based on a confirmation response from the communication device; and the second loss determination step. If it is determined that the data unit has been lost, a loss recovery step for recovering the loss of the data unit and a window control step for controlling the number of data unit transmissions using a window are performed. In the loss recovery step, a threshold value for determining the completion of loss recovery is held in accordance with the value of the acknowledgment received in the reception step, and the first loss determination is performed in the spurious time out determination step.
  • the second loss determination step when retransmission is performed based on the determination result of the first loss determination step.
  • the first loss determination step is performed.
  • the value corresponding to the maximum sequence number of the data unit that has been transmitted at the time when retransmission is performed based on the determination result is set as the threshold value for determining the completion of loss recovery.
  • the data unit transmitted before the time-out retransmission is set by setting the above-described value to the threshold value for determining completion of loss recovery.
  • loss recovery without reducing the window size is performed, and when the acknowledgment for a data unit with a sequence number larger than the threshold is received and loss recovery is terminated, the loss of the data unit detected thereafter is detected.
  • Reduce the window size Loss recovery can be performed. This improves network performance by reducing the window and mitigating the network load when loss of data units transmitted after timeout retransmission is detected.
  • FIG. 1 is a block diagram showing a configuration of a communication system according to a first embodiment of the present invention.
  • FIG. 2 is a flowchart showing a communication processing flow of the first communication device in the communication system of the present embodiment.
  • FIG. 3 is a sequence diagram showing an example of communication in the communication system of the present embodiment.
  • FIG. 4 is a sequence diagram showing an example of communication in a conventional communication system.
  • FIG. 5 is a block diagram showing a configuration of a communication system according to a second embodiment.
  • FIG. 6 is a block diagram showing a configuration of first communication device 40 in the second embodiment.
  • FIG. 7 is a flowchart showing a flow of communication processing of the first communication device 40.
  • FIG. 8 is a sequence diagram showing an example of communication in the communication system 200.
  • FIG. 9 is a block diagram showing a configuration of a communication system according to a third embodiment.
  • FIG. 10 is a block diagram showing a configuration of a first communication device 50 in a third embodiment.
  • FIG. 11 is a flowchart showing a communication process flow of the first communication device 50.
  • FIG. 12 is a sequence diagram showing an example of communication in the communication system 300.
  • FIG. 13 is a block diagram showing a configuration of a communication system according to a fourth embodiment.
  • FIG. 14 is a block diagram showing a configuration of a first communication device 60 in a fourth embodiment.
  • FIG. 15 is a flowchart showing a communication process flow of the first communication device 60.
  • FIG. 16 is a sequence diagram showing an example of communication in the communication system 400.
  • FIG. 1 is a block diagram showing a configuration of a communication system according to the first embodiment of the present invention.
  • the communication system 100 shown in FIG. 1 includes a first communication device (transmission-side communication device or transmission / reception device) 10 and a second communication device (reception-side communication device) via a wireless and / or wired network 1. (Communication device or transmission / reception device) 30.
  • a force S for connecting the first communication device 10 and the second communication device 30 via one network 1 may be interposed.
  • the present invention is effective in a network where a sudden increase in signal delay occurs.
  • the network 1 is a mobile communication network corresponds, and in this case, one or both of the first and second communication devices 10 and 30 correspond to a mobile phone.
  • the first communication device 10 that is a characteristic element of the present embodiment includes a data unit transmission unit (transmission unit) 11, an acknowledgment response reception unit (reception unit) 12, and a first loss determination unit ( First loss determination means) 13, second loss determination section (second loss determination means) 14, data unit retransmission section (retransmission means) 15, spurious timeout determination section (spurious timeout determination means) 16 And a window control unit (control means) 17.
  • the second communication device 30 may include these units 11 to 17.
  • the data unit transmission unit 11 transmits a data unit that is a packet or a lump of a plurality of packets to the second communication device 30 via the network 1.
  • the confirmation response receiving unit 12 receives the confirmation response transmitted by the second communication device 30 via the network 1.
  • the first loss determination unit 13 determines the loss of the data unit using a timer.
  • the timer is set when a data unit is transmitted, and is stopped when an acknowledgment for the data unit is received. When this timer expires, the data unit is determined to have been lost.
  • the second loss determination unit 14 determines the loss of the data unit based on the confirmation response transmitted by the second communication device 30. Specifically, the second loss determination unit 14 finishes reception confirmation when there are three consecutively received duplicate ACKs! /, NA! /, The smallest! /, And the sequence number. Determine that the data unit has been lost. In addition, the data unit whose loss is determined by the first loss determination unit 13 or the second loss determination unit 14 Retransmitted by part 15.
  • the spurious timeout determination unit 16 determines whether or not this determination is caused by the delay of the data unit or the confirmation response. Specifically, the spurious timeout determination unit 16 determines whether or not the confirmation response received thereafter is a duplicate ACK when the first loss determination unit 13 determines the loss of the data unit. If it is not ACK, it is determined that it is a spurious timeout. When the determination result of the spurious timeout determination unit 16 is affirmative, the window control unit 17 adjusts the window size as will be described in detail in the operation description described later.
  • FIG. 2 is a flowchart showing the flow of communication processing of the first communication device 10.
  • FIG. 3 is a sequence diagram showing an example of communication in the communication system 100.
  • the first communication device 10 on the transmission side and the second communication device 30 on the reception side communicate using the TCP protocol as the transport layer protocol.
  • the TCP connection has already been established between the first communication device 10 and the second communication device 30, and the congestion window size held by the first communication device 10 is from the state of 8K bytes.
  • a sequence is shown. The size of each data unit D1 to D12 was 1 000 nozzles.
  • the data unit transmission unit 11 of the first communication device 10 has a total of 8 kilobytes of data units D1 to D that are allowed by a congestion window from sequence number 1000 (corresponding to D1) to sequence number 8000 (D8). It is assumed that D8 is sequentially transmitted to the second communication device 30 via the network 1.
  • the second communication device 30 When the second communication device 30 receives the data units D1 and D2, the second communication device 30 transmits an acknowledgment A1 to the first communication device 10 with respect to the data units D1 and D2. Similarly, when data units D3 and D4 are received, confirmation response A2 is transmitted. Continue with Datauni The power to receive the data set D5 Since the subsequent data unit has been lost, this time the acknowledgment response A3 is sent only to the data unit D5.
  • step S1 When the arrival of the confirmation response A1 is delayed, in step S1, the timer set for the data unit D1 in the first loss determination unit 13 of the first communication device 10 times out, and the data unit D1 Loss determination is performed. In this case, since it is determined to be a loss, in step S2, the data unit retransmission unit 15 retransmits the data unit D1.
  • the spurious timeout determination unit 16 performs spurious timeout determination processing at step S3. enter.
  • the data unit transmitting unit 11 immediately transmits the next data units D9 and D10.
  • the spurious timeout determination unit 16 determines whether or not the acknowledgment A2 is a duplicate ACK. As a result, if it is not a duplicate ACK, in other words, it is judged to be caused by the delay of the data unit. If it is, spurious timeout is determined. In this case, the process proceeds to step S4. Note that data unit D9 is lost in the network.
  • step S6 the window control unit 17 sets the target value (cwn cLtarget) of the congestion window to the previously updated slow start threshold value (4K bytes).
  • step S7 the first communication device 10 confirms with the confirmation response receiving unit 12.
  • the window control unit 17 determines whether or not the number ack force of the received confirmation response A4 is smaller than the maximum sequence number max_seq recorded in the above step S4.
  • the second loss determination unit 14 determines whether or not the confirmation response A4 is a duplicate ACK.
  • confirmation response A4 is determined to be a duplicate ACK.
  • step S10 the second loss determination unit 14 determines the loss of the data unit. Since the number of consecutively received duplicate ACKs is 1, there is no loss of the data unit. Determined. As a result, in step S11, the first communication device 10 transmits the data unit Dl 1 in the next order according to the Limited Transmit algorithm.
  • the Limited Transmit algorithm is a conventional technology that performs processing to transmit untransmitted segments over the congestion window up to a maximum of two segments when the first and second duplicate ACKs are received. When the device receives these segments, it will reply with a duplicate AC K! /.
  • the first communication device 10 receives the next confirmation response A6, determines duplicate ACK, and if this result is duplicate ACK, performs data unit loss determination. .
  • the data unit is determined to be lost in step S10.
  • step S12 the window control unit 17 proceeds to a loss recovery process by the Fast Retransmit / Fast Recovery algorithm.
  • the Fast Retransmit / Fast Recovery algorithm performs the same processing as the Fast Retransmit algorithm described above, and performs retransmission without waiting for the retransmission time-out, thereby recovering the loss faster than the retransmission method using the retransmission timer. The processing is performed.
  • step S12 the value of the slow start threshold value is not decreased and The default value is kept (ssthresh). Then, in step S13, normal TCP retransmission control is performed, and the processing of this entire flow ends.
  • step S14 the window control unit 17 determines that the current congestion window size cwnd is too large for the congestion window target value cwncLtarge.
  • step S15 the amount of data confirmed for delivery is subtracted from the congestion window size cwnd. In this case, the process returns to step S7. If it is determined in step S14 that the current congestion window size cwnd is smaller than the congestion window target value cwncLtarge, the process returns to step S7.
  • step S8 if the window control unit 17 determines that the number ack of the confirmation response A4 received by the confirmation response receiving unit 12 is larger than the maximum sequence number max_seq that is currently recorded! At 16, it is determined whether or not the current congestion window size cwnd is the congestion window target value cwncLtarge too large! /.
  • the window control unit 17 sets the congestion window size cwnd to one of the current flight size FlightSize and the congestion window target value cwncLtarget in step S 17. After this setting, the processing of this entire flow ends.
  • step S16 Even when it is determined in step S16 that the current congestion window size cwnd is smaller than the congestion window target value cwncLtarge, the processing of this entire flow is completed. If it is determined in step S3 that the spurious timeout has not occurred, the process returns to normal TCP congestion control in step S18. In other words, a control process is performed in which the slow start threshold is set to half the congestion window size and the congestion window size is updated to one segment.
  • the first loss determination unit 13 If the confirmation response to the transmission data unit is not received within a predetermined time by the confirmation response receiving unit 12, it is determined that the data unit has been lost, and the data unit retransmission unit 15 Will be resent.
  • the spurious time-out determination unit 16 determines whether the determination result of the first loss determination unit 13 is caused by the delay of either the data unit or the confirmation response. A spurious timeout is determined when it is determined to be caused.
  • the window control unit 17 sets a target value for reducing the size of the congestion window that controls the number of data unit transmissions, and the confirmation response receiving unit 12 receives the confirmation response. As a result, we tried to reduce the size of the congestion window to the target value step by step.
  • the window control unit 17 is congested when the confirmation response of all the data units transmitted before the data unit retransmission by the data unit retransmission unit 15 is received. If the window size is larger than the target value, the size of the congestion window is set to either the target value or the flight size. As a result, at the communication device 10 on the transmission side, when it is confirmed that all the transmitted data units have been properly delivered when determining the spurious timeout, the congestion window is set to the target value or Since the flight size is set, unsent data units can be delivered efficiently.
  • the second loss determination unit 14 for detecting the loss of the data unit is further provided, and the window control unit 17 holds the slow start threshold applied when setting the target value, and is determined to be spurious time out.
  • the second loss determination unit 14 may detect the loss of the data unit until the acknowledgment of all the data units transmitted before the data unit retransmission by the data unit retransmission unit 15 is received. The slow start threshold was not reduced.
  • the target value is set to one half of the force and the data unit to reduce the flight size to 1/2.
  • the congestion window can be appropriately reduced and reduced so that the situation in which the unsent data unit is not included in the congestion window does not occur.
  • the operation until the first communication device that is the conventional transmission side receives the confirmation response A3 transmitted from the second communication device on the reception side is the same as the operation in the above embodiment.
  • the spurious timeout determination becomes affirmative and immediately decreases the slow start threshold and the congestion window.
  • the congestion window is reduced, the first communication device cannot transmit a new data unit when receiving the acknowledgment A4.
  • the maximum number of duplicate ACKs that can be continuously received is two, and loss recovery processing using the Fast Retransmit / Fast Recovery algorithm cannot be performed as in this embodiment.
  • the data unit loss determination timer times out, and timeout retransmission is performed. This When the slow start threshold and congestion window are reduced again, the throughput decreases.
  • FIG. 5 is a block diagram showing a configuration of a communication system according to the second embodiment of the present invention.
  • the communication system 200 shown in FIG. 5 includes a first communication device (assumed to be a transmission device here) 40 and a second communication device (here, a reception device) via a wireless and / or wired network 1. 30) is connected and configured.
  • a force S that connects the first communication device 40 and the second communication device 30 via one network 1 and a plurality of networks may be interposed.
  • the present invention is effective in a network where a sudden increase in signal delay occurs.
  • the network 1 is a mobile communication network corresponds, and in this case, one or both of the first and second communication devices 40 and 30 correspond to a mobile phone.
  • FIG. 6 is a block diagram showing a configuration of the first communication device 40 in the present embodiment.
  • the first communication device 40 includes a data unit transmission unit (transmission unit) 41, an acknowledgment response reception unit (reception unit) 42, a first loss determination unit (first loss determination unit) 43, , A duplicate A CK judging unit (duplicate ACK judging means) 44, a spurious timeout judging unit (spurious time out judging means) 45, and a window control unit (control means) 46.
  • the data unit transmission unit 41 transmits a data unit that is one packet or a cluster of a plurality of packets to the second communication device 30 via the network 1.
  • the confirmation response receiving unit 42 receives the confirmation response transmitted by the second communication device 30 via the network 1.
  • the first loss determination unit 43 performs data unit loss determination using a timer.
  • the timer is set when a data unit is transmitted, and is stopped when an acknowledgment for the data unit is received. When this timer expires, the data unit is determined to have been lost.
  • the duplicate ACK determination unit 44 determines whether or not the confirmation response received by the confirmation response reception unit 42 is a duplicate ACK. In addition, the duplicate ACK determination unit 44 receives duplicates received continuously. If there are three ACKs, it is determined that the data unit has been lost. When the first loss determination unit 43 determines that the data unit is lost, the spurious timeout determination unit 45 determines whether this determination is caused by the delay of the data unit or the confirmation response. Specifically, the spurious timeout determination unit 45 determines that the subsequent acknowledgment received by the duplicate ACK determination unit 44 is not a duplicate ACK when the first loss determination unit 43 determines the loss of the data unit. If it is, it is determined that it is a spurious time out. When the determination result of the spurious timeout determination unit 45 is affirmative, the window control unit 46 adjusts the window size as will be described in detail in the operation description described later.
  • FIG. 7 is a flowchart showing the flow of communication processing of the first communication device 40.
  • FIG. 8 is a sequence diagram illustrating an example of communication in the communication system 200.
  • the first communication device 40 on the transmission side and the second communication device 30 on the reception side communicate using the TCP protocol as the transport layer protocol.
  • the TCP connection has already been established between the first communication device 40 and the second communication device 30, and the congestion window size held by the first communication device 40 is from the state of 8K bytes.
  • a sequence is shown. The size of each data unit D1 to D12 was 1 000 nozzles.
  • the data unit transmission unit 41 of the first communication device 40 has a total of 8 kilobytes of data units D1 to D allowed by the congestion window from sequence number 1000 (corresponding to D1) to sequence number 8000 (D8). It is assumed that D8 is sequentially transmitted to the second communication device 30 via the network 1.
  • the second communication device 30 When the second communication device 30 receives the data units D1 and D2, the second communication device 30 transmits an acknowledgment A1 to the first communication device 40 with respect to the data units D1 and D2. Similarly, when data units D3 and D4 are received, confirmation response A2 is transmitted. Continue with Datauni The power to receive the data set D5 Since the subsequent data unit has been lost, this time the acknowledgment response A3 is sent only to the data unit D5.
  • step S101 If the arrival of the confirmation response A1 is delayed, the timer set for the data unit D1 is timed out in the first loss determination unit 43 of the first communication device 40 in step S101, and the data unit D1 Loss determination is performed. In this case, since it is determined as loss, in step S102, the data unit transmission unit 41 retransmits the data unit D1.
  • the data unit transmission unit 41 immediately transmits the next data units D9 and D10.
  • the spurious timeout judgment unit 45 judges whether or not the acknowledgment A2 is a duplicate ACK. As a result, if it is not a duplicate ACK, it is judged that it is caused by the delay of the data unit. If it is, spurious timeout is determined. In this case, the process proceeds to step S105. Assume that data unit D9 is lost in the network.
  • step S106 the window control unit 46 sets the congestion window size (cwn d) to the size of one data unit (MS S: Maximum Segment Size).
  • step S 107 the first communication device 40 confirms with the confirmation response receiver 42.
  • step S109 If, as a result of the determination in step S108, the confirmation response A4 number ack is less than or equal to the maximum sequence number max-s eq, in step S109, the duplicate ACK determination unit 44 determines whether or not the confirmation response A4 is a duplicate ACK. judge. At this time, since data unit D7 is lost, confirmation response A4 is determined to be a duplicate ACK.
  • step S110 the duplicate ACK determination unit 44 determines the loss of the data unit. At this time, since there is only one duplicate ACK received continuously, it is determined that the data unit is lost! /,! /.
  • step S 111 the window control unit 46 determines whether or not unsent data can be transmitted.
  • the first communication device 40 can transmit untransmitted data.
  • step S112 the window control unit 46 determines whether there is a restriction on the advertisement window.
  • the size is not limited with respect to the size of the advertisement window advertised from the second communication device 30 and the size of the data unit to be transmitted from the first communication device 40. Therefore, in step S112, it is determined that there is no restriction on the advertisement window.
  • step S 113 first communication device 40 transmits untransmitted data unit D 11 to second communication device 30 through data unit transmission unit 41.
  • the first communication device 40 determines a duplicate ACK. If the result is a duplicate ACK, the first communication device 40 loses the data unit. Make a decision. If the result of the loss judgment is No, transmission of unsent data is possible (Step SI 11: Yes), and there is no restriction on the advertising window (Step S 112: Yes). Send D 12.
  • the second duplication ACK (A6) is returned from the second communication device 30, and the duplicate received continuously at this time is returned. Since the number of double ACKs is A4 to A6, the data unit is determined to be lost in step S110.
  • step S115 the window control unit 46 proceeds to a loss recovery process by the Fast Retransmit / Fast R ecovery algorithm.
  • Fast Retransmit / Fast recove r y algorithm performs processing of Fast Retransmit algorithm described above, by performing the retransmission without waiting for the retransmission Taimua ⁇ preparative recovery loss faster than the retransmission method using a retransmission timer The process which performs is performed.
  • step S104 the spurious timeout determination unit 45 determines whether or not the confirmation response A2 is a duplicate ACK. As a result, it is determined that it is a duplicate ACK (no spurious timeout).
  • the first communication device 40 returns to normal TCP congestion control in step S114.
  • step S108 If it is determined in step S108 that the number ack of the received acknowledgment A4 is not less than or equal to the maximum sequence number ma X _Seq recorded in step S103, the first communication device 40 The processing of this entire flow is finished.
  • step S109 If it is determined in step S109 that the received acknowledgment A4 is not a duplicate ACK, and if it is determined in step S111 that untransmitted data cannot be transmitted, the process of step S107 is performed. Return to.
  • step S112 determines whether there is a restriction on the advertisement window. If it is determined in step S112 that there is a restriction on the advertisement window, and after step S113, the process returns to step S107.
  • the size of the data unit that has not been acknowledged (6000 bytes) is reduced to the congestion window size (4000 bytes).
  • unsent data units can be transmitted, and loss recovery by high-speed retransmission is possible.
  • FIG. 9 is a block diagram showing a configuration of a communication system according to the third embodiment of the present invention.
  • the communication system 300 shown in FIG. 9 is a wireless and / or wired network.
  • a first communication device (assumed to be a transmission device here) 50 and a second communication device (here assumed to be a reception device) 30 are connected via 1.
  • a force S for connecting the first communication device 50 and the second communication device 30 via one network 1 and a plurality of networks may be interposed.
  • the present invention is effective in a network where a sudden increase in signal delay occurs.
  • the network 1 corresponds to a mobile communication network, and in this case, one or both of the first and second communication devices 50 and 30 correspond to a mobile phone.
  • FIG. 10 is a block diagram showing a configuration of the first communication device 50 in the present embodiment.
  • the first communication device 50 includes a data unit transmission unit (transmission unit) 51, a confirmation response reception unit (reception unit) 52, and a first loss determination unit (first loss determination unit) 53.
  • the data unit transmission unit 51 transmits a data unit that is a packet or a cluster of a plurality of packets to the second communication device 30 via the network 1.
  • the confirmation response receiving unit 52 receives the confirmation response transmitted by the second communication device 30 via the network 1.
  • the first loss determination unit 53 performs data unit loss determination using a timer.
  • the timer is set when a data unit is transmitted, and is stopped when an acknowledgment for the data unit is received. When this timer expires, the data unit is determined to have been lost.
  • the second loss determination unit 54 determines the loss of the data unit based on the confirmation response transmitted by the second communication device 30. Specifically, the second loss determination unit 54 finishes reception confirmation when there are three consecutively received duplicate ACKs! /, NA! /, The smallest! /, And the sequence number. Determine that the data unit has been lost.
  • the spurious timeout determination unit 55 determines whether or not this determination is caused by the delay of the data unit or the confirmation response when the loss of the data unit is determined by the first loss determination unit 53. Specifically, the spurious timeout determination unit 55, when the first loss determination unit 53 determines the loss of the data unit, receives the confirmation response received thereafter. Is a duplicate ACK, and if it is not a duplicate ACK, it is judged to be a spurious timeout.
  • the loss recovery unit 56 executes loss recovery processing when the second loss determination unit 54 determines that the data unit has been lost.
  • FIG. 11 is a flowchart showing the flow of communication processing of the first communication device 50.
  • FIG. 12 is a sequence diagram illustrating an example of communication in the communication system 300.
  • the first communication device 50 on the transmission side and the second communication device 30 on the reception side communicate with each other using the TCP protocol as the transport layer protocol. And explain.
  • a TCP connection has already been established between the first communication device 50 and the second communication device 30, and the congestion window size held by the first communication device 50 is from 8K bytes.
  • a sequence is shown. The size of each data unit D1 to D19 was 1 000 nozzles.
  • the data unit transmission unit 51 of the first communication device 50 has a total of 8 kilobytes of data units D1 to D allowed from the congestion window from sequence number 1000 (corresponding to D1) to sequence number 8000 (D8). It is assumed that D8 is sequentially transmitted to the second communication device 30 via the network 1.
  • data unit D7 with sequence number 7000 (D7) is assumed to have been lost in network 1 due to factors such as congestion.
  • the second communication device 30 When the second communication device 30 receives the data units D1 and D2, the second communication device 30 transmits an acknowledgment A1 to the first communication device 50 with respect to the data units D1 and D2. Similarly, when data units D3 and D4 are received, confirmation response A2 is transmitted, and when data units D5 and D6 are received, confirmation response A3 is transmitted.
  • step S201 the first loss determination unit 53 of the first communication device 50 causes the timer set for the data unit D1 to time out, and the data Unit D1 loss judgment is performed.
  • step S202 the data unit transmission unit 51 retransmits the data unit D1.
  • the data unit transmission unit 51 immediately transmits the next data units D9 and D10. Subsequently, when the acknowledgment A2 is received, the spurious timeout judgment unit 55 judges whether or not the acknowledgment A2 is a duplicate ACK. As a result, if it is not a duplicate ACK, in other words, it is judged to be caused by the delay of the data unit. If it is, spurious timeout is determined. In this case, the process proceeds to step S205.
  • step S206 the window control unit 57 sets the congestion window size (cwn d) to the previously updated slow start threshold value (4 Kbytes).
  • the acknowledgment ACK number A4 is the maximum sequence number max—s If it is equal to or less than eq, in step S209, the second loss determination unit 54 determines whether or not the confirmation response A4 is a duplicate ACK. At this time, since data unit D7 is lost, confirmation response A4 is determined to be a duplicate ACK.
  • step S210 the loss of the data unit is determined. At this time, since there is only one duplicate ACK received continuously, it is determined that the data unit is not lost.
  • step S211 the window control unit 57 determines whether or not transmission of untransmitted data is possible.
  • first communication device 50 holds data to be newly transmitted, it is determined in step S211 that transmission is possible.
  • step S212 the window control unit 57 determines whether there is a restriction on the advertisement window.
  • the size is not limited with respect to the size of the advertisement window advertised from the second communication device 30 and the size of the data unit to be transmitted from the first communication device 50. Therefore, in step S212, it is determined that there is no restriction on the advertisement window.
  • the first communication device 50 causes the window control unit 57 to set the flight size (FlightSize) to be equal to or less than the size (cwnd + 2) obtained by adding two data sizes to the size of the congestion window. Determine if there is.
  • the first communication device 50 determines whether or not untransmitted data units can be transmitted by Limited Transmit, can transmit untransmitted data, and is not limited by the power or advertisement window.
  • the size of the data unit that has not been acknowledged (4000 bytes) is less than the current congestion window size (4000 bytes) plus the size of 2 data units (2000 bytes) (6000 bytes).
  • the untransmitted data unit D11 is transmitted to the second communication device 30.
  • step S207 the first communication device 50 compares the number ack with the maximum sequence number ma X _ Se q and the duplicate ACK. If the result is number ack ⁇ maximum sequence number max_seq and duplicate ACK, perform data unit loss judgment. If the result of the loss determination is No, unsent data can be transmitted (step S211: Yes) and the advertisement window is controlled. If there is no limit (step S212: Yes) and the flight size (FlightSize) is less than or equal to the size of the congestion window plus two data units (cwnd + 2), then in step S214, Send the sequential data unit D12.
  • the first communication device 50 compares the number ack (7000) with the maximum sequence number max_seq (8999), and the number ac k is the maximum. Since the sequence number is smaller than max_seq, duplicate ACK is judged. Here, since data unit D7 has been lost, it is determined that there is a duplicate ACK, and then the loss of data unit is determined. At this time, the number of consecutively received duplicate ACKs is A4 to A6, so the result of loss determination is positive.
  • step S216 the first communication device 50 holds the slow start threshold (ssthresh) in the window control unit 57, and in step S217, the number of duplicate ACKs used for loss determination (three) ) To 1! /, Equal to the number (2)! /, And increase the congestion window size by the size of the data unit (2000 bytes).
  • the loss recovery unit 56 performs resending control by normal Retransmit / Fast Recovery.
  • step S204 the spurious timeout determination unit 55 determines whether or not the confirmation response A 2 is a duplicate ACK. As a result, it is determined that the acknowledgment ACK is a duplicate ACK (if not a spurious timeout). ), The first communication device 50 returns to the normal TCP congestion control in step S215.
  • step S208 number ack acknowledgment A4 received is it! / Less recorded maximum sequence number ma X _ Se q that in step S203, and if it is determined, first communication device 50 Finishes the processing of this entire flow.
  • step S209 If it is determined in step S209 that the received acknowledgment A4 is not a duplicate ACK, and if it is determined in step S211 that untransmitted data cannot be transmitted, the processing in step S207 is performed. Return.
  • step S212 if it is determined in step S212 that the advertising window is limited, the flight size (FlightSize) is larger than the congestion window size plus two data units (cwnd + 2) in step S213. If it is determined, and after step S214, the process returns to step S207. [0112] In this way, when three or more duplicate ACKs are continuously received in the first communication device 50, the congestion window size is set based on the number of duplicate ACKs used for loss determination, and the subsequent In the loss recovery process, the number of data units flowing into the network can be reliably controlled to the congestion window size.
  • the number of data units flowing into the network (from when the acknowledgment A6 is received and the congestion window is increased in step S217 until the acknowledgment A10 for the retransmitted data unit D7 is received) Is equivalent to the congestion window size (4000 bytes).
  • FIG. 13 is a block diagram showing a configuration of a communication system according to the fourth embodiment of the present invention.
  • the communication system 400 shown in FIG. 13 includes a first communication device (assumed to be a transmission device here) 60 and a second communication device (here, a wireless device and a wired network 1 or both). Is assumed to be a receiving device).
  • a force S for connecting the first communication device 60 and the second communication device 30 via one network 1 and a plurality of networks may be interposed.
  • the present invention is effective in a network where a sudden increase in signal delay occurs.
  • the network 1 is a mobile communication network corresponds, and in this case, one or both of the first and second communication devices 60 and 30 correspond to a mobile phone.
  • FIG. 14 is a block diagram showing a configuration of the first communication device 60 in the present embodiment.
  • the first communication device 60 includes a data unit transmission unit (transmission unit) 61, a confirmation response reception unit (reception unit) 62, and a first loss determination unit (first loss determination unit) 63.
  • the data unit transmission unit 61 transmits a data unit that is a packet or a lump of a plurality of packets to the second communication device 30 via the network 1.
  • the confirmation response receiving unit 62 The confirmation response transmitted by the communication device 30 is received via the network 1.
  • the first loss determination unit 63 performs data unit loss determination using a timer.
  • the timer is set when a data unit is transmitted, and is stopped when an acknowledgment for the data unit is received. When this timer expires, the data unit is determined to have been lost.
  • the second loss determination unit 64 determines the loss of the data unit based on the confirmation response transmitted by the second communication device 30. Specifically, the second loss determination unit 64 finishes reception confirmation when there are three consecutively received duplicate ACKs! /, NA! /, The smallest! /, And the sequence number. Determine that the data unit has been lost.
  • the spurious timeout determination unit 65 determines whether or not this determination is caused by the delay of the data unit or the confirmation response when the loss of the data unit is determined by the first loss determination unit 63. Specifically, the spurious timeout determination unit 65 determines whether or not the confirmation response received thereafter is a duplicate ACK when the first loss determination unit 63 determines the loss of the data unit. If it is not ACK, it is determined that it is a spurious timeout.
  • the loss recovery unit 66 performs loss recovery processing.
  • FIG. 15 is a flowchart showing the flow of communication processing of the first communication device 60.
  • FIG. 16 is a sequence diagram illustrating an example of communication in the communication system 400.
  • the first communication device 60 on the transmission side and the second communication device 30 on the reception side communicate with each other using the TCP protocol as the transport layer protocol.
  • FIG. 16 shows that the TCP connection has already been established between the first communication device 60 and the second communication device 30, and the congestion window size held by the first communication device 60 is 8K bytes. A sequence is shown. The size of each data unit D1 to D18 was 1 000 nozzles.
  • the data unit transmission unit 61 of the first communication device 60 has a data unit D1 to a total of 8 kilobytes allowed by the congestion window from sequence number 1000 (corresponding to D1) to sequence number 8000 (D8). It is assumed that D8 is sequentially transmitted to the second communication device 30 via the network 1.
  • data unit D7 with sequence number 7000 (D7) is assumed to have been lost in network 1 due to factors such as congestion.
  • the second communication device 30 When the second communication device 30 receives the data units D1 and D2, the second communication device 30 transmits an acknowledgment A1 to the first communication device 60 to the data units D1 and D2. Similarly, when data units D3 and D4 are received, confirmation response A2 is transmitted, and when data units D5 and D6 are received, confirmation response A3 is transmitted.
  • step S301 When the arrival of the acknowledgment A1 is delayed, in step S301, the timer set for the data unit D1 in the first loss determination unit 63 of the first communication device 60 times out, and the data Unit D1 loss judgment is performed. In this case, since it is determined as loss, in step S302, the data unit transmission unit 61 retransmits the data unit D1.
  • the data unit transmitting unit 61 immediately transmits the next data units D9 and D10.
  • the spurious timeout judgment unit 65 judges whether or not the acknowledgment A2 is a duplicate ACK. As a result, if it is not a duplicate ACK, in other words, it is judged to be caused by the delay of the data unit. If it is, spurious timeout is determined. In this case, the process proceeds to step S305.
  • step S306 the window control unit 67 sets the congestion window size (cwn d) to the previously updated slow start threshold value (4 Kbytes).
  • step S309 the second loss determination unit 64 determines whether or not the confirmation response A4 is a duplicate ACK. Determine whether. At this time, since data unit D7 is lost, confirmation response A4 is determined to be a duplicate ACK.
  • step S310 the loss of the data unit is determined. At this time, since there is only one duplicate ACK received continuously, it is determined that the data unit is not lost.
  • step S311 the window control unit 67 determines whether or not transmission of untransmitted data is possible.
  • first communication device 60 holds data to be newly transmitted, it is determined in step S311 that transmission is possible.
  • step S312 the window control unit 67 determines whether there is an advertising window restriction.
  • the size is not limited with respect to the size of the advertisement window advertised from the second communication device 30 and the size of the data unit to be transmitted from the first communication device 60. Therefore, in step S312, it is determined that there is no restriction on the advertising window.
  • step S313 the first communication device 60 causes the window controller 67 to Determine whether the write size (FlightSize) is less than or equal to the size of the congestion window plus two data items (cwnd + 2).
  • the first communication device 60 determines whether or not untransmitted data units can be transmitted by Limited Transmit, can transmit untransmitted data, and is not limited by the power or advertisement window.
  • the size of the data unit that has not been acknowledged (4000 bytes) is less than the current congestion window size (4000 bytes) plus the size of 2 data units (2000 bytes) (6000 bytes).
  • the untransmitted data unit D11 is transmitted to the second communication device 30.
  • step S307 ⁇ S313 the first communication device 60 receives the next acknowledgment A5, comparison and duplicate ACK the number ack and the maximum sequence number ma X _ Se q If the result is number ack ⁇ maximum sequence number max_seq and duplicate ACK, perform data unit loss judgment. If the result of the loss judgment is No, transmission of unsent data is possible (step S311: Yes), there is no advertising window restriction (step S312: Yes), and the flight size (FlightSize) is congested. If the size is equal to or smaller than the size of the window plus two data units (cwnd + 2), the next data unit D12 is transmitted in step S314. Here, it is assumed that the data unit D12 has been lost in the network 1 due to factors such as congestion.
  • the first communication device 60 Upon receiving the next acknowledgment A6 in step S307, the first communication device 60 compares the number ack (7000) with the maximum sequence number max_seq (8999), and the number ack is the maximum sequence number. Since it is smaller than max_seq, duplicate ACK is judged. In this case, since data unit D7 is lost, it is determined as a duplicate ACK, and then the loss determination of the data unit is performed. At this time, since there are three consecutively received duplicate ACKs A4 to A6, the result of the loss determination is affirmative (step S310: Yes).
  • step S316 the first communication device 60 holds the slow start threshold value (ssthresh) in the window control unit 67, and in step S317, the data transmitted before the timeout is reached. Set to a value (9000) that is one more than the maximum value (8999) of the unit sequence number. Thereafter, the loss recovery unit 66 performs retransmission control by normal Retransmit / Fast Reco very. [0132] Upon receiving the acknowledgment A10 for the retransmitted data unit D7, the first communication device 60 sets the maximum value of the sequence number of the data unit transmitted before its ACK number (12000) force S timeout. 1 Since it is equal to or greater than the added value (9000), it is determined that loss recovery is complete, and Fast Recovery ends.
  • the confirmation responses A11 to A13 received by the first communication device 60 are duplicate ACKs because the data unit D12 is lost.
  • the first communication device 60 receives the confirmation response A13, which is the third duplicate ACK among them, in step S318, the first communication device 60 reduces the slow start threshold and the congestion window size, and performs normal retransmission control.
  • the threshold value for determining mouth recovery (loss determination threshold) is set to the maximum value of the sequence number of the data unit transmitted before the timeout. The value added by 1 was decided to be set.
  • the slow start threshold and congestion window are retained for the loss of data unit D7 retransmitted before the timeout, and the slow start threshold and congestion window are retained for data unit D12 transmitted after the timeout.
  • the size has been reduced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

明 細 書
通信システム、通信装置、通信方法
技術分野
[0001] 本発明は、 TCP(Transmission Control Protocol)の輻輳制御を用いた通信であって 、ワイヤレス TCPプロトコルを用いた通信等に適用される通信システム、通信装置、 通信方法に関する。
背景技術
[0002] 従来の通信システムにおいて、 TCPは、任意の TCP/lP(Internet Protocol)デー タ又は確認応答の ACK(ACKnowledgement)パケット(又はその両方)を示すセグメン トの確実な送達を保障するため、セグメント送信時に再送タイマを設定し、この設定 時間内に ACKが返信されなければ、セグメントが損失したものと見なして再送する機 構を具備している。
[0003] しかし、移動通信のように遅延変動の大きな通信環境においては、突発的な遅延 の増加によって ACKの到着が遅延し、セグメントが損失していないにもかかわらず、 再送タイムアウトが発生する可能性がある。これは、スプリアスタイムアウトとして知ら れている。
スプリアスタイムアウトは、次の 2つの問題点がある。一つ目は、不要な再送が発生 することである。二つ目は、再送タイムアウトに伴い、送信側の通信装置で検出され た輻輳情報に基づきウィンドウサイズを調節する輻輳制御によって、輻輳ウィンドウが 減少され、スループットが低下することである。但し、輻輳ウィンドウは、 TCPの送信 可能サイズを制限する TCPステート変数である。
[0004] これまでに、送信側の通信装置において、スプリアスタイムアウトを検出する検出方 式、及びスプリアスタイムアウト検出後に、 TCPの輻輳制御の状態を回復する応答方 式の提案がなされている。以下に述べる検出方式と応答方式は、任意の組み合わせ で、使用すること力できる。
非特許文献 1では、スプリアスタイムアウト検出方式として、 Eifel Detectionアルゴリ ズムの提案がなされている。 Eifel Detectionアルゴリズムは、 TCPのタイムスタンプ 'ォ プシヨンを用いて、スプリアスタイムアウトの検出を行う。送信側の通信装置は、セグメ ントの送信時刻を記憶し、 ACKによって返信されるタイムスタンプ力 オリジナルセグ メントの送信時刻と一致する場合、再送タイムアウトをスフ。リアスタイムアウトと判断す
[0005] 非特許文献 2では、スプリアスタイムアウト検出方式として、 F— RTO(Forward RTO •Recovery)アルゴリズムの提案がなされている。 F— RTOは、再送タイムアウトが発生 した直後の ACKの到着パターンに基づ!/、て、スプリアスタイムアウトを検出する。 非特許文献 3では、スプリアスタイムアウト応答方式として、 Eifel Responseアルコリズ ムの提案がなされている。 Eifel Responseアルコリズムは、スプリアスタイムアウト検出 後、 TCPの輻輳制御の状態(スロースタート閾値及び輻輳ウィンドウサイズ)を再送タ ィムアウト前の状態に回復する。本方式を適用するとこで、スプリアスタイムアウトが発 生した場合も、送信速度を落とすことなく通信を継続することができる。
[0006] 非特許文献 4では、スプリアスタイムアウト応答方式として、次の 2つのアルゴリズム の提案がなされている。一つ目のアルゴリズムは、スプリアスタイムアウト検出時に、ス ロースタート閾値をフライトサイズの半分に、輻輳ウィンドウを 1セグメントに減少させる 。ここで、フライトサイズとは、送達確認されていない送信データサイズを意味する。輻 輳ウィンドウは、その後、スロースタートによって増加される。本方式は、スプリアスタイ ムアウトの前後で無線べァラ速度が変化する場合に優れたスループット特性を示す。
[0007] 二つ目のアルゴリズムは、スプリアスタイムアウト検出時に、スロースタート閾値と輻 輳ウィンドウをともに、フライトサイズの半分に減少させる。輻輳ウィンドウは、その後、 輻輳回避アルゴリズムに従って増加される。この方式は、無線べァラが低速な場合に 有効である。
次に、 TCPの再送制御について述べる。 TCPは、受信装置から 3個の重複 ACKを 受け取ると、即座に再送を行う Fast Retransmitアルゴリズムを具備している。 Fast Ret ransmitアルゴリズムは、再送タイムアウトを待たずに再送を行うため、再送タイマを用 いた再送方法に比べ、高速にロスを回復できる。重複 ACKが 3個受信されな力 た 場合は、再送タイマによるロス回復が実行される。
[0008] 非特許文献 5では、 Fast Retransmitアルゴリズムの動作を補助する Limited Transmi tというアルゴリズムの提案がなされている。 Limited Transmitアルゴリズムは、 1番目 及び 2番目の重複 ACKを受信したとき、最大 2セグメントまで輻輳ウィンドウを越えて 、未送信セグメントを送信する。受信装置は、それらのセグメントを受信すると、重複 A CKを返信する。そのため、 Fast Retransmitアルゴリズムによるロス回復が実行される 可能性が高まる。
なお、この種の従来技術として特許文献 1〜4がある。
[0009] 特許文献 1:特開 2006— 217235号公報
特許文献 2:特開 2006— 173961号公報
特許文献 3 :特開 2006— 157918号公報
特許文献 4:特開 2005— 533449号公報
非特許文献 1 : R. Ludwig and M. Meyer, "The Eifel Detection Algorith m for TCP, "RFC3522, April 2003.
非特許文献 2 : P. Sarolahti and M. Kojo, "Forward RTO— Recovery (F— RTO): An Algorithm for Detecting Spurious Retransmission Timeou ts with TCP and the Stream Control Transmission Protocol (SCTP ) , "RFC4138 , August2005.
非特許文献 3 : R. Ludwig and A. Gurtov, 丄' he Eifel Response Algorit hm for TCP, "RFC4015, February2005.
非特許文献 4 : P. Sarolahti, 'Congestion Control on Spurious TCP Retr ansmission Timeouts, "IEEE Globecom ' 03, vol. 2, pp. 682— 686, Dece mber 2003.
非特許文献 5 : M. Allman, H. Balakrishnan, and S. Floyd, "Enhancing TC P ' s Loss Recovery Using Limited Transmit, "RFC3042, January 20 01. し力、し、上述した従来の通信システムにおいては、スプリアスタイムアウト検出 時にスロースタート閾値及び輻輳ウィンドウを減少させる応答アルゴリズムにおいては 、スプリアスタイムアウトに続けてセグメントロスが発生したとき、次に述べる 2つの問題 力 sある。
[0010] 第 1の問題は、上述の Limited Transmitアルゴリズムに関係する。スプリアスタイムァ ゥト検出時に即座に輻輳ウィンドウを大きく減少させた場合、スプリアスタイムアウトに 続けてセグメントロスが発生したとき、 Limited Transmitアルゴリズムの動作を阻害する 可能性がある。輻輳ウィンドウが大きく減少すると、輻輳ウィンドウサイズに 2セグメント を加えた範囲に、未送信セグメントが含まれない状況が生じる。そのような状況では、 Limited Transmitアルゴリズムは、一番目と二番目の重複 ACKが受信されたとき、未 送信セグメントを送信することができなくなる。このため、効率的なロス回復を実現す ること力 Sできず、スループットが低下する。
[0011] 第 2の問題は、スプリアスタイムアウトに続けてセグメントロスが発生したとき、スロー スタート閾値が必要以上に減少されることである。 TCPでは、ラウンドトリップ 'タイム にスロースタート閾値を減少させる回数を 1度に限定している。しかし、スプリアスタイ ムアウト検出時にスロースタート閾値を減少させる方法にぉレ、ては、スプリアスタイム アウトに続けてセグメントロスが発生すると、スプリアスタイムアウト検出時とセグメント口 ス検出時に、スロースタート閾値が 2回減少される。スロースタート閾値が減少すると、 輻輳ウィンドウの増加速度が抑制され、スループットが低下する。
[0012] 本発明は、このような課題に鑑みてなされたものであり、スロースタート閾値及び輻 輳ウィンドウを変化させる応答アルゴリズム実行において、スプリアスタイムアウトに続 けてセグメントロスが発生した場合に、効率的なロス回復を実現することができ、これ によってスループットを向上させることができる通信システム、通信装置、通信方法を 提供することを目白勺として!/、る。
発明の開示
[0013] 上記目的を達成するために、本発明の請求の範囲第 1項による通信システムは、一 方の送受信装置から 1パケットデータ又は複数パケットデータの塊であるデータュニ ットを、ネットワークを介して他方の送受信装置へ送達する通信システムにおいて、前 記送受信装置は、前記受信側の送受信装置へ前記データユニットを送信する送信 手段と、前記受信側の送受信装置から送信されたデータユニットの確認応答を受信 する受信手段と、前記データユニットの送信後、このデータユニットに対する確認応 答が前記受信手段にて予め定められた時間内に受信されない場合に当該データュ ニットが損失したと判定する第 1のロス判定手段と、前記第 1のロス判定手段でデータ ユニット損失と判定された際にデータユニットを再送する再送手段と、前記第 1のロス 判定手段の判定結果が前記データユニット又は前記確認応答の遅延に起因するか 否かを判定し、遅延に起因すると判定された際にスプリアスタイムアウトと判定するス プリアスタイムアウト判定手段と、前記スプリアスタイムアウトと判定された場合、前記 データユニットの送信数を制御する輻輳ウィンドウのサイズを減少させる目標値を設 定し、前記受信手段によって前記確認応答が受信されたことを契機に、該輻輳ウィン ドウのサイズを該目標値まで段階的に減少させる制御を行う制御手段とを備えたこと を特徴とする。
[0014] この構成によれば、送信側の送受信装置にお!/、て、スプリアスタイムアウトと判定さ れた場合に、輻輳ウィンドウのサイズを減少させる目標値を設定し、この後、確認応 答が受信されたことを契機に、その輻輳ウィンドウのサイズを目標値まで段階的に減 少させるようにしたので、未送信データユニット (セグメント)を確実に送信することが でき、これによつて、効率的なロス回復を実現することができ、スループットを向上させ ること力 Sできる。従来技術では、スプリアスタイムアウト検出時に即座に輻輳ウィンドウ を大きく減少させていたので、輻輳ウィンドウに未送信データユニットが含まれない状 況が生じ、一番目と二番目の重複確認応答 ACKが受信されたとき、未送信データュ ニットを送信できなくなって!/、た。
[0015] また、本発明の請求の範囲第 2項による通信システムは、請求の範囲第 1項におい て、前記制御手段は、前記スプリアスタイムアウトと判定された際に、該スプリアスタイ ムアウトの判定時において送信済の全データユニットの確認応答が受信された時点 で、前記輻輳ウィンドウのサイズが前記目標値より大きければ、該輻輳ウィンドウのサ ィズを該目標値及びフライトサイズの何れか一方に設定することを特徴とする。 この構成によれば、送信側の送受信装置において、スプリアスタイムアウトの判定時 にお!/、て送信済の全データユニットが適正に送達されたことを確認した時点で、輻輳 ウィンドウを一挙に目標値又はフライトサイズに設定するので、データユニットの送信 数を目標値に確実に制御でき、バースト的なデータユニットの送信を回避することが できる。
[0016] また、本発明の請求の範囲第 3項による通信システムは、一方の送受信装置から 1 パケットデータ又は複数パケットデータの塊であるデータユニットを、ネットワークを介 して他方の送受信装置へ送達する通信システムであって、前記送受信装置は、前記 受信側の送受信装置へ前記データユニットを送信する送信手段と、前記受信側の送 受信装置から送信されたデータユニットの確認応答を受信する受信手段と、前記デ ータユニットの送信後、このデータユニットに対する確認応答が前記受信手段にて予 め定められた時間内に受信されない場合に当該データユニットが損失したと判定す る第 1のロス判定手段と、前記第 1のロス判定手段でデータユニット損失と判定された 際にデータユニットを再送する再送手段と、前記第 1のロス判定手段の判定結果が 前記データユニット又は前記確認応答の遅延に起因するか否力、を判定し、遅延に起 因すると判定された際にスプリアスタイムアウトと判定するスプリアスタイムアウト判定 手段と、前記受信手段で受信された確認応答に基づいて、前記データユニットの損 失を検出する第 2のロス判定手段と、前記スプリアスタイムアウトと判定された場合、 該スプリアスタイムアウトの判定時において送信済の全データユニットの確認応答が 受信されるまでは、前記第 2のロス判定手段にてデータユニットの損失が検出されて も、スロースタート閾値を減少させな!/、制御を行う制御手段とを備えたことを特徴とす
[0017] この構成によれば、送信側の送受信装置にお!/、て、スプリアスタイムアウトの判定時 にお!/、て送信済の全データユニットが適正に送達されたことが確認されるまでは、デ ータユニットの損失が検出されても、スロースタート閾値を減少させないようにしたの で、従来のように、データユニット損失時にスロースタート閾値が必要以上に減少され ることによって、輻輳ウィンドウの増加速度が抑制され、スループットが低下するといつ た不具合を無くすことができる。
[0018] また、本発明の請求の範囲第 4項による通信装置は、 1パケットデータ又は複数パ ケットデータの塊であるデータユニットを、ネットワークを介して受信側通信装置に送 達する通信装置にお!/、て、前記受信側通信装置に前記データユニットを送信する送 信手段と、前記受信側通信装置から送信されたデータユニットの確認応答を受信す る受信手段と、前記データユニットの送信後、このデータユニットに対する確認応答 が前記受信手段にて予め定められた時間内に受信されない場合に当該データュニ ットが損失したと判定する第 1のロス判定手段と、前記第 1のロス判定手段でデータュ ニット損失と判定された際にデータユニットを再送する再送手段と、前記第 1のロス判 定手段の判定結果が前記データユニット及び前記確認応答の何れか一方の遅延に 起因するか否かを判定し、前記データユニットの遅延に起因すると判定された際にス プリアスタイムアウトと判定するスプリァスタイムァゥト判定手段と、前記スプリァスタイ ムアウトと判定された場合、前記データユニットの送信数を制御する輻輳ウィンドウの サイズを減少させる目標値を設定し、前記受信手段によって前記確認応答が受信さ れたことを契機に、該輻輳ウィンドウのサイズを該目標値まで段階的に減少させる制 御を行う制御手段とを備えたことを特徴とする。
[0019] この構成によれば、スプリアスタイムアウトと判定された場合に、輻輳ウィンドウのサ ィズを減少させる目標値を設定し、この後、確認応答が受信されたことを契機に、そ の輻輳ウィンドウのサイズを目標値まで段階的に減少させるようにしたので、未送信 データユニット (セグメント)を確実に送信することができ、これによつて、効率的なロス 回復を実現することができ、スループットを向上させることができる。
[0020] また、本発明の請求の範囲第 5項による通信装置は、請求の範囲第 4項において、 前記制御手段は、前記スプリアスタイムアウトと判定された際に、前記再送手段での データユニットの再送前に送信された全データユニットの確認応答が受信された時 点で、前記輻輳ウィンドウのサイズが前記目標値より大きければ、該輻輳ウィンドウの サイズを該目標値及びフライトサイズの何れか一方に設定することを特徴とする。
[0021] この構成によれば、スプリアスタイムアウトの判定時において送信済の全データュニ ットが適正に送達されたことを確認した時点で、輻輳ウィンドウを一挙に目標値又はフ ライトサイズに設定するので、未送信データユニットを効率よく送達することができる。 また、本発明の請求の範囲第 6項による通信装置は、請求の範囲第 4項または第 5 項において、前記目標値は、前記スプリアスタイムアウトと判定された時点のフライト サイズの 1/nであることを特徴とする。
[0022] また、本発明の請求の範囲第 7項による通信装置は、請求の範囲第 4項または第 5 項において、前記目標値は、前記データユニットの 1つ分であることを特徴とする。 これら請求の範囲第 6項及び第 7項の構成によれば、輻輳ウィンドウのサイズを減 少させる際に、従来のように輻輳ウィンドウに未送信データユニットが含まれない状況 が生じないように、適正に輻輳ウィンドウを減少させることができる。
[0023] また、本発明の請求の範囲第 8項による通信装置は、 1パケットデータ又は複数パ ケットデータの塊であるデータユニットを、ネットワークを介して受信側通信装置に送 達する通信装置であって、前記受信側通信装置に前記データユニットを送信する送 信手段と、前記受信側通信装置から送信されたデータユニットの確認応答を受信す る受信手段と、前記データユニットの送信後、このデータユニットに対する確認応答 が前記受信手段にて予め定められた時間内に受信されない場合に当該データュニ ットが損失したと判定する第 1のロス判定手段と、前記第 1のロス判定手段でデータュ ニット損失と判定された際にデータユニットを再送する再送手段と、前記第 1のロス判 定手段の判定結果が前記データユニット及び前記確認応答の何れか一方の遅延に 起因するか否かを判定し、前記データユニットの遅延に起因すると判定された際にス プリアスタイムアウトと判定するスプリアスタイムアウト判定手段と、前記受信手段で受 信された確認応答に基づいて、前記データユニットの損失を検出する第 2のロス判定 手段と、前記スプリアスタイムアウトと判定された場合、該スプリアスタイムアウトの判定 時にぉレ、て送信済の全データユニットの確認応答が受信されるまでは、前記第 2の口 ス判定手段にてデータユニットの損失が検出されても、スロースタート閾値を減少さ せない制御を行う制御手段とを備えたことを特徴とする。
[0024] この構成によれば、スプリアスタイムアウトの判定時において送信済の全データュニ ットが適正に送達されたことが確認されるまでは、データユニットの損失が検出されて も、スロースタート閾値を減少させないようにしたので、従来のように、データユニット 損失時にスロースタート閾値が必要以上に減少されることによって、輻輳ウィンドウの 増加速度が抑制され、スループットが低下するとレ、つた不具合を無くすことができる。
[0025] また、本発明の請求の範囲第 9項による通信方法は、送信側の通信装置から 1パケ ットデータ又は複数パケットデータの塊であるデータユニットを、ネットワークを介して 受信側の通信装置へ送達する通信方法において、前記送信側の通信装置は、前記 データユニットの送信後、このデータユニットに対する前記受信側の通信装置からの 確認応答が予め定められた時間内に受信されない場合に当該データユニットが損失 したと判定する第 1のステップと、前記第 1のステップでデータユニット損失と判定され た際にデータユニットを再送する第 2のステップと、前記第 1のステップでの判定結果 が前記データユニット及び前記確認応答の何れか一方の遅延に起因するか否かを 判定し、前記データユニットの遅延に起因すると判定された際にスプリアスタイムァゥ トと判定する第 3のステップと、前記第 3のステップでスプリアスタイムアウトと判定され た場合、前記データユニットの送信数を制御する輻輳ウィンドウのサイズを減少させる 目標値を設定し、前記確認応答が受信されたことを契機に、該輻輳ウィンドウのサイ ズを該目標値まで段階的に減少させる第 4のステップとを更に含むことを特徴とする
[0026] この方法によれば、送信側の通信装置におレ、て、スプリアスタイムアウトと判定され た場合に、輻輳ウィンドウのサイズを減少させる目標値を設定し、この後、確認応答が 受信されたことを契機に、その輻輳ウィンドウのサイズを目標値まで段階的に減少さ せるようにしたので、未送信データユニット (セグメント)を確実に送信することができ、 これによつて、効率的なロス回復を実現することができ、スループットを向上させること ができる。
[0027] また、本発明の請求の範囲第 10項による通信方法は、送信側の通信装置から 1パ ケットデータ又は複数パケットデータの塊であるデータユニットを、ネットワークを介し て受信側の通信装置へ送達する通信方法であって、前記送信側の通信装置は、前 記データユニットの送信後、このデータユニットに対する前記受信側の通信装置から の確認応答が予め定められた時間内に受信されな!/、場合に当該データユニットが損 失したと判定する第 1のステップと、前記第 1のステップでデータユニット損失と判定さ れた際にデータユニットを再送する第 2のステップと、前記第 1のステップでの判定結 果が前記データユニット及び前記確認応答の何れか一方の遅延に起因するか否か を判定し、前記データユニットの遅延に起因すると判定された際にスプリアスタイムァ ゥトと判定する第 3のステップと、前記送信側の通信装置で受信された前記確認応答 に基づいて、前記データユニットの損失を検出する第 4のステップと、前記スプリアス タイムアウトと判定された場合、該スプリアスタイムアウトの判定時において送信済の 全データユニットの確認応答が受信されるまでは、前記第 4のステップにてデータュ ニットの損失が検出されても、スロースタート閾値を減少させないようにする第 5のステ ップとを含むことを特徴とする。
[0028] この方法によれば、送信側の通信装置にお!/、て、スプリアスタイムアウトの判定時に ぉレ、て送信済の全データユニットが適正に送達されたことが確認されるまでは、デー タユニットの損失が検出されても、スロースタート閾値を減少させないようにしたので、 従来のように、データユニット損失時にスロースタート閾値が必要以上に減少されるこ とによって、輻輳ウィンドウの増加速度が抑制され、スループットが低下するといつた 不具合を無くすことができる。
[0029] また、本発明の請求の範囲第 11項による通信システムは、ネットワークを介してデ ータユニットを送受信する通信装置を含む通信システムであって、前記通信装置は、 受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段と 、前記受信側の通信装置によって送信された確認応答を受信する受信手段と、前記 受信手段によって受信された確認応答が重複応答であるか否かを判定する重複応 答判定手段と、タイマを用いて前記データユニットの損失を判定する第 1のロス判定 手段と、前記第 1のロス判定手段における判定結果が前記データユニット又は前記 確認応答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定手段と、ウイ ンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、前記ゥ インドウ制御手段は、前記スプリアスタイムアウト判定手段によって、前記第 1のロス判 定手段における判定結果が前記データユニット又は前記確認応答の遅延に起因す ると判定された場合、前記受信手段によって受信された確認応答が、前記第 1のロス 判定手段の判定結果に基づいて再送が行われた時点より前に送信された一部のデ ータユニットの受信を確認するものであって、前記重複応答判定手段によって該確 認応答が重複応答であると判定されたとき、前記ウィンドウサイズを前記データュニッ ト 3個以上越える所定個数まで、未送信のデータユニットの送信を許可することを特 徴とする。
[0030] また、本発明の請求の範囲第 12項による通信装置は、ネットワークを介してデータ ユニットを送信する通信装置であって、受信側の通信装置に対して前記データュニ ットを送信するデータユニット送信手段と、前記受信側の通信装置によって送信され た確認応答を受信する受信手段と、前記受信手段によって受信された確認応答が 重複応答であるか否かを判定する重複応答判定手段と、タイマを用いて前記データ ユニットの損失を判定する第 1のロス判定手段と、前記第 1のロス判定手段における 判定結果が前記データユニット又は前記確認応答の遅延に起因するか否かを判定 するスプリアスタイムアウト判定手段と、ウィンドウを用いてデータユニット送信数を制 御するウィンドウ制御手段とを有し、前記ウィンドウ制御手段は、前記スプリアスタイム アウト判定手段によって、前記第 1のロス判定手段における判定結果が前記データュ ニット又は前記確認応答の遅延に起因すると判定された場合、前記受信手段によつ て受信された確認応答が、前記第 1のロス判定手段の判定結果に基づいて再送が 行われた時点より前に送信された一部のデータユニットの受信を確認するものであつ て、前記重複応答判定手段によって該確認応答が重複応答であると判定されたとき
、前記ウィンドウサイズを前記データユニット 3個以上越える所定個数まで、未送信の データユニットの送信を許可することを特徴とする。
また、本発明の請求の範囲第 13項による通信方法は、ネットワークを介してデータ ユニットを送受信する通信装置を含む通信システムにおける通信方法であって、前 記通信装置が、受信側の通信装置に対して前記データユニットを送信するデータュ ニット送信ステップと、前記受信側の通信装置によって送信された確認応答を受信す る受信ステップと、前記受信ステップにお!/、て受信された確認応答が重複応答であ るか否かを判定する重複応答判定ステップと、タイマを用いて前記データユニットの 損失を判定する第 1のロス判定ステップと、前記第 1のロス判定ステップにおける判定 結果が前記データユニット又は前記確認応答の遅延に起因するか否力、を判定するス プリアスタイムアウト判定ステップと、ウィンドウを用いてデータユニット送信数を制御 するウィンドウ制御ステップとを含み、前記ウィンドウ制御ステップでは、前記スプリア スタイムアウト判定ステップにおいて、前記第 1のロス判定ステップにおける判定結果 が前記データユニット又は前記確認応答の遅延に起因すると判定された場合、前記 応答受信ステップにおいて受信された確認応答が、前記第 1のロス判定ステップの 判定結果に基づいて再送が行われた時点より前に送信された一部のデータユニット の受信を確認するものであって、前記重複応答判定ステップにおレ、て該確認応答が 重複応答であると判定されたとき、前記ウィンドウサイズを前記データユニット 3個以 上越える所定個数まで、未送信のデータユニットの送信が許可されることを特徴とす
[0032] 請求の範囲第 11項〜第 13項記載の発明によれば、スプリアスタイムアウト検出後、 タイムアウト再送前に送信されたデータユニットに対する 1番目および 2番目の重複 A CKを受信したとき、ウィンドウサイズを前記データユニット 3個以上越える所定個数ま で、データユニットの送信を可能とするため、ウィンドウサイズが受信確認を終えてい ないデータユニットの送信数より 2個以上小さい場合でも, Limited Transmitを利用で きるようになる。これにより、 Limited Transmitによるスループット改善効果を得ることが できる。
[0033] また、本発明の請求の範囲第 14項による通信システムは、ネットワークを介してデ ータユニットを送受信する通信装置を含む通信システムであって、前記通信装置は、 受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段と 、前記受信側の通信装置によって送信された確認応答を受信する受信手段と、タイ マを用いて前記データユニットの損失を判定する第 1のロス判定手段と、前記第 1の ロス判定手段における判定結果が前記データユニット又は前記確認応答の遅延に 起因するか否かを判定するスプリアスタイムアウト判定手段と、ウィンドウを用いてデ ータユニット送信数を制御するウィンドウ制御手段とを有し、前記ウィンドウ制御手段 は、前記スプリアスタイムアウト判定手段によって、前記第 1のロス判定手段における 判定結果が前記データユニット又は前記確認応答の遅延に起因すると判定された場 合、前記第 1のロス判定手段の判定結果に基づいて再送が行われた時点より前に送 信されたすベてのデータユニットが受信確認されるまでの間、前記受信手段によって 確認応答が受信された後も、前記ウィンドウサイズを保持することを特徴とする。
[0034] また、本発明の請求の範囲第 15項による通信装置は、ネットワークを介してデータ ユニットを送信する通信装置であって、受信側の通信装置に対して前記データュニ ットを送信するデータユニット送信手段と、前記受信側の通信装置によって送信され た確認応答を受信する受信手段と、タイマを用いて前記データユニットの損失を判定 する第 1のロス判定手段と、前記第 1のロス判定手段における判定結果が前記データ ユニット又は前記確認応答の遅延に起因するか否かを判定するスプリアスタイムァゥ ト判定手段と、ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段 とを有し、前記ウィンドウ制御手段は、前記スプリアスタイムアウト判定手段によって、 前記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応答 の遅延に起因すると判定された場合、前記第 1のロス判定手段の判定結果に基づい て再送が行われた時点より前に送信されたすベてのデータユニットが受信確認され るまでの間、前記受信手段によって確認応答が受信された後も、前記ウィンドウサイ ズを保持することを特徴とする。
[0035] また、本発明の請求の範囲第 16項による通信方法は、ネットワークを介してデータ ユニットを送受信する通信装置を含む通信システムにおける通信方法であって、前 記通信装置が、受信側の通信装置に対して前記データユニットを送信するデータュ ニット送信ステップと、前記受信側の通信装置によって送信された確認応答を受信す る受信ステップと、タイマを用いて前記データユニットの損失を判定する第 1のロス判 定ステップと、前記第 1のロス判定ステップにおける判定結果が前記データユニット又 は前記確認応答の遅延に起因するか否かを判定するスプリアスタイムアウト判定ステ ップと、ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御ステップと を含み、前記ウィンドウ制御ステップでは、前記スプリアスタイムアウト判定ステップに おいて、前記第 1のロス判定ステップにおける判定結果が前記データユニット又は前 記確認応答の遅延に起因すると判定された場合、前記第 1のロス判定ステップの判 定結果に基づいて再送が行われた時点より前に送信されたすベてのデータユニット が受信確認されるまでの間、前記受信ステップにおレ、て確認応答が受信された後も 、前記ウィンドウサイズが保持されることを特徴とする。
[0036] 請求の範囲第 14項〜第 16項記載の発明によれば、スプリアスタイムアウトが検出さ れた場合、タイムアウト再送より前に送信されたすベてのデータユニットが受信確認さ れるまでの間、確認応答を受信してもウィンドウサイズを増加させないため、ネットヮー クに流入するデータユニットの個数を、スプリアスタイムアウト検出時に設定した目標 値に正確に保持することができる。ネットワークに流入するデータユニットの個数が意 図した設定値に確実に制御されるため、ネットワーク負荷の不要な増加を防ぎ,ネット ワークの十生倉を改善すること力 Sできる。
[0037] また、本発明の請求の範囲第 17項による通信システムは、ネットワークを介してデ ータユニットを送受信する通信装置を含む通信システムであって、前記通信装置は、 受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段と 、前記受信側の通信装置によって送信された確認応答を受信する受信手段と、タイ マを用いて前記データユニットの損失を判定する第 1のロス判定手段と、前記第 1の ロス判定手段における判定結果が前記データユニット又は前記確認応答の遅延に 起因するか否力、を判定するスプリアスタイムアウト判定手段と、前記受信側の通信装 置からの確認応答に基づいてデータユニットの損失を判定する第 2のロス判定手段と 、前記第 2のロス判定手段によってデータユニットが損失したと判定された場合、該デ ータユニットの損失を回復するロス回復手段と、ウィンドウを用いてデータユニット送 信数を制御するウィンドウ制御手段とを有し、前記ウィンドウ制御手段は、前記スプリ ァスタイムアウト判定手段によって、前記第 1のロス判定手段における判定結果が前 記データユニット又は前記確認応答の遅延に起因すると判定された場合、前記第 2 のロス判定手段によって損失したものと判定されたデータユニットが、前記第 1のロス 判定手段の判定結果に基づいて再送が行われた時点より前に送信されたデータュ ニットであれば、前記第 2のロス判定手段が損失の判定に用いた確認応答の数に応 じて、前記ウィンドウサイズを増加させることを特徴とする。
[0038] また、本発明の請求の範囲第 18項による通信システムは、請求の範囲第 17項に おいて、前記ウィンドウ制御手段は、前記スプリアスタイムアウト判定手段によって、前 記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応答の 遅延に起因すると判定された場合、前記第 2のロス判定手段によって損失したものと 判定されたデータユニットが、前記第 1のロス判定手段の判定結果に基づいて再送 が行われた時点より前に送信されたデータユニットであれば、前記第 2のロス判定手 段が損失の判定に用いた重複応答の数から 1を引いた個数のデータユニットに対応 するサイズだけ、前記ウィンドウサイズを増加させることを特徴とする。
[0039] また、本発明の請求の範囲第 19項による通信装置は、ネットワークを介してデータ ユニットを送信する通信装置であって、受信側の通信装置に対して前記データュニ ットを送信するデータユニット送信手段と、前記受信側の通信装置によって送信され た確認応答を受信する受信手段と、タイマを用いて前記データユニットの損失を判定 する第 1のロス判定手段と、前記第 1のロス判定手段における判定結果が前記データ ユニット又は前記確認応答の遅延に起因するか否かを判定するスプリアスタイムァゥ ト判定手段と、前記受信側の通信装置からの確認応答に基づ!/、てデータユニットの 損失を判定する第 2のロス判定手段と、前記第 2のロス判定手段によってデータュニ ットが損失したと判定された場合、該データユニットの損失を回復するロス回復手段と 、ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、前 記ウィンドウ制御手段は、前記スプリアスタイムアウト判定手段によって、前記第 1の口 ス判定手段における判定結果が前記データユニット又は前記確認応答の遅延に起 因すると判定された場合、前記第 2のロス判定手段によって損失したものと判定され たデータユニットが、前記第 1のロス判定手段の判定結果に基づいて再送が行われ た時点より前に送信されたデータユニットであれば、前記第 2のロス判定手段が損失 の判定に用いた確認応答の数に応じて、前記ウィンドウサイズを増カロさせることを特 徴とする。
また、本発明の請求の範囲第 20項による通信方法は、ネットワークを介してデータ ユニットを送受信する通信装置を含む通信システムにおける通信方法であって、前 記通信装置が、受信側の通信装置に対して前記データユニットを送信するデータュ ニット送信ステップと、前記受信側の通信装置によって送信された確認応答を受信す る受信ステップと、タイマを用いて前記データユニットの損失を判定する第 1のロス判 定ステップと、前記第 1のロス判定ステップにおける判定結果が前記データユニット又 は前記確認応答の遅延に起因するか否かを判定するスプリアスタイムアウト判定ステ ップと、前記受信側の通信装置からの確認応答に基づいてデータユニットの損失を 判定する第 2のロス判定ステップと、前記第 2のロス判定ステップにお!/、てデータュニ ットが損失したと判定された場合、該データユニットの損失を回復するロス回復ステツ プと、ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御ステップとを 含み、前記ウィンドウ制御ステップでは、前記スプリアスタイムアウト判定ステップにお いて、前記第 1のロス判定ステップにおける判定結果が前記データユニット又は前記 確認応答の遅延に起因すると判定された場合、前記第 2のロス判定ステップにおい て損失したものと判定されたデータユニットが、前記第 1のロス判定ステップの判定結 果に基づ!/、て再送が行われた時点より前に送信されたデータユニットであれば、前 記第 2のロス判定ステップが損失の判定に用いた確認応答の数に応じて、前記ウィン ドウサイズが増加されることを特徴とする。
[0041] 請求の範囲第 17項〜第 20項記載の発明によれば、スプリアスタイムアウト検出後、 タイムアウト再送前に送信されたデータユニットの損失が検出された場合、ウィンドウ サイズをデータユニットの検出に要した確認応答の数に応じて増加させる。
例えば、 TCPの場合,重複 ACKを連続して 3個受信すると、受信確認を終えてい ない最もシーケンス番号の若いデータユニットが損失したものと判定する。このとき、 ウィンドウサイズを受信した重複 ACKの数から 1を引いたデータユニット 2個のサイズ だけ増加させることによって、ネットワークからデータユニットが抜けたことを意味する 重複 ACKの個数を加味して、ネットワークに流入するデータユニットの個数を制御で きる。
[0042] ここで、受信した重複 ACKの数から 1を引くのは、スフ。リアスタイムアウトによってネ ットワークに余分に送信されたデータユニットによって返信される重複 ACKによって ウィンドウが必要以上に増加されるのを回避するためである。
これにより、スプリアスタイムアウト検出後、タイムアウト再送前に送信されたデータュ ニットの損失が検出された場合でも、重複 ACKの個数を加味して受信確認を終えて Vヽなレ、データユニットの個数をウィンドウサイズに確実に制御することができる。ネット ワークに流入するデータユニットの個数が確実に制御されるため、ネットワーク負荷の 不要な増加を防ぎ、ネットワークの性能が改善でされる。
[0043] また、本発明の請求の範囲第 21項による通信システムは、ネットワークを介してデ ータユニットを送受信する通信装置を含む通信システムであって、前記通信装置は、 受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段と 、前記受信側の通信装置によって送信された確認応答を受信する受信手段と、タイ マを用いて前記データユニットの損失を判定する第 1のロス判定手段と、前記第 1の ロス判定手段における判定結果が前記データユニット又は前記確認応答の遅延に 起因するか否力、を判定するスプリアスタイムアウト判定手段と、前記受信側の通信装 置からの確認応答に基づいてデータユニットの損失を判定する第 2のロス判定手段と 、前記第 2のロス判定手段によってデータユニットが損失したと判定された場合、該デ ータユニットの損失を回復するロス回復手段と、ウィンドウを用いてデータユニット送 信数を制御するウィンドウ制御手段とを有し、前記ロス回復手段は、前記受信手段に よって受信された確認応答の値に応じてロス回復の完了を判定する閾値を保持する と共に、前記スプリアスタイムアウト判定手段によって、前記第 1のロス判定手段にお ける判定結果が前記データユニット又は前記確認応答の遅延に起因すると判定され た場合、前記第 2のロス判定手段によって、前記第 1のロス判定手段の判定結果に 基づいて再送が行われた時点より前に送信されたデータユニットが損失したものと判 定されたとき、前記第 1のロス判定手段の判定結果に基づいて再送が行われた時点 で送信済みのデータユニットの最大シーケンス番号に応じた値をロス回復の完了を 判定する前記閾値に設定することを特徴とする。
また、本発明の請求の範囲第 22項による通信装置は、ネットワークを介してデータ ユニットを送信する通信装置であって、受信側の通信装置に対して前記データュニ ットを送信するデータユニット送信手段と、前記受信側の通信装置によって送信され た確認応答を受信する受信手段と、タイマを用いて前記データユニットの損失を判定 する第 1のロス判定手段と、前記第 1のロス判定手段における判定結果が前記データ ユニット又は前記確認応答の遅延に起因するか否かを判定するスプリアスタイムァゥ ト判定手段と、前記受信側の通信装置からの確認応答に基づ!/、てデータユニットの 損失を判定する第 2のロス判定手段と、前記第 2のロス判定手段によってデータュニ ットが損失したと判定された場合、該データユニットの損失を回復するロス回復手段と 、ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、前 記ロス回復手段は、前記受信手段によって受信された確認応答の値に応じてロス回 復の完了を判定する閾値を保持すると共に、前記スプリアスタイムアウト判定手段に よって、前記第 1のロス判定手段における判定結果が前記データユニット又は前記確 認応答の遅延に起因すると判定された場合、前記第 2のロス判定手段によって、前 記第 1のロス判定手段の判定結果に基づいて再送が行われた時点より前に送信され たデータユニットが損失したものと判定されたとき、前記第 1のロス判定手段の判定結 果に基づいて再送が行われた時点で送信済みのデータユニットの最大シーケンス番 号に応じた値をロス回復の完了を判定する前記閾値に設定することを特徴とする。
[0045] また、本発明の請求の範囲第 23項による通信方法は、ネットワークを介してデータ ユニットを送受信する通信装置を含む通信システムにおける通信方法であって、前 記通信装置が、受信側の通信装置に対して前記データユニットを送信するデータュ ニット送信ステップと、前記受信側の通信装置によって送信された確認応答を受信す る受信ステップと、タイマを用いて前記データユニットの損失を判定する第 1のロス判 定ステップと、前記第 1のロス判定ステップにおける判定結果が前記データユニット又 は前記確認応答の遅延に起因するか否かを判定するスプリアスタイムアウト判定ステ ップと、前記受信側の通信装置からの確認応答に基づいてデータユニットの損失を 判定する第 2のロス判定ステップと、前記第 2のロス判定ステップにお!/、てデータュニ ットが損失したと判定された場合、該データユニットの損失を回復するロス回復ステツ プと、ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御ステップとを 含み、前記ロス回復ステップでは、前記受信ステップにおいて受信された確認応答 の値に応じてロス回復の完了を判定する閾値が保持されると共に、前記スプリアスタ ィムアウト判定ステップにおいて、前記第 1のロス判定ステップにおける判定結果が 前記データユニット又は前記確認応答の遅延に起因すると判定された場合、前記第 2のロス判定ステップにおいて、前記第 1のロス判定ステップの判定結果に基づいて 再送が行われた時点より前に送信されたデータユニットが損失したものと判定された とき、前記第 1のロス判定ステップの判定結果に基づいて再送が行われた時点で送 信済みのデータユニットの最大シーケンス番号に応じた値がロス回復の完了を判定 する前記閾値に設定されることを特徴とする。
[0046] 請求の範囲第 21項〜第 23項記載の発明によれば、ロス回復の完了を判定する閾 値に上述のような値を設定することによって、タイムアウト再送前に送信されたデータ ユニットに対しては、ウィンドウサイズを減少させないロス回復を行い、閾値よりもシー ケンス番号の大きいデータユニットに対する確認応答を受信してロス回復を一旦終了 すると、以降に検出されたデータユニットの損失に対しては、ウィンドウサイズを減少 させるロス回復を行うことができる。これにより、タイムアウト再送後に送信されたデー タユニットの損失が検出された場合、ウィンドウを減少し、ネットワーク負荷を緩和する ため、ネットワークの性能が改善される。
また、上述の動作を 1つの閾^ Iを用いて実現できるため、実装が容易となる。
図面の簡単な説明
[0047] [図 1]本発明の第 1の実施の形態に係る通信システムの構成を示すブロック図である
[図 2]本実施の形態の通信システムにおける第 1の通信装置の通信処理の流れを示 すフロー図である。
[図 3]本実施の形態の通信システムにおける通信の一例を示すシーケンス図である。
[図 4]従来の通信システムにおける通信の一例を示すシーケンス図である。
[図 5]第 2の実施の形態に係る通信システムの構成を示すブロック図である。
[図 6]第 2の実施の形態における第 1の通信装置 40の構成を示すブロック図である。
[図 7]第 1の通信装置 40の通信処理の流れを示すフロー図である。
[図 8]通信システム 200における通信の一例を示すシーケンス図である。
[図 9]第 3の実施の形態に係る通信システムの構成を示すブロック図である。
[図 10]第 3の実施の形態における第 1の通信装置 50の構成を示すブロック図である。
[図 11]第 1の通信装置 50の通信処理の流れを示すフロー図である。
[図 12]通信システム 300における通信の一例を示すシーケンス図である。
[図 13]第 4の実施の形態に係る通信システムの構成を示すブロック図である。
[図 14]第 4の実施の形態における第 1の通信装置 60の構成を示すブロック図である。
[図 15]第 1の通信装置 60の通信処理の流れを示すフロー図である。
[図 16]通信システム 400における通信の一例を示すシーケンス図である。
発明を実施するための最良の形態
[0048] (第 1実施形態)
以下、本発明の第 1の実施の形態を、図面を参照して説明する。但し、本明細書中 の全図において相互に対応する部分には同一符号を付し、重複部分においては後 述での説明を適時省略する。 図 1は、本発明の第 1の実施の形態に係る通信システムの構成を示すブロック図で ある。
図 1に示す通信システム 100は、無線及び有線の何れか或いは双方のネットワーク 1を介して第 1の通信装置 (送信側の通信装置又は送受信装置) 10と第 2の通信装 置(受信側の通信装置又は送受信装置) 30とが接続されて構成されている。但し、本 実施の形態では、 1つのネットワーク 1を介して、第 1の通信装置 10と第 2の通信装置 30が接続されている力 S、複数のネットワークが介在してもよい。また、本発明は、突発 的な信号遅延の増加が発生するネットワークにおいて有効である。例えば、ネットヮ ーク 1が移動通信ネットワークの場合が該当し、この場合、第 1及び第 2の通信装置 1 0, 30の何れか一方、又は両方は、携帯電話機に該当する。
[0049] 本実施の形態の特徴要素である第 1の通信装置 10は、データユニット送信部(送 信手段) 11と、確認応答受信部(受信手段) 12と、第 1のロス判定部(第 1のロス判定 手段) 13と、第 2のロス判定部(第 2のロス判定手段) 14と、データユニット再送部(再 送手段) 15と、スプリアスタイムアウト判定部 (スプリアスタイムアウト判定手段) 16と、 ウィンドウ制御部(制御手段) 17とを備えて構成されている。なお、第 2の通信装置 30 がそれら各部 11〜; 17を備えてもよい。
[0050] データユニット送信部 11は、ネットワーク 1を介して 1パケット又は複数パケットの塊 であるデータユニットを第 2の通信装置 30へ送信する。確認応答受信部 12は、第 2 の通信装置 30よって送信された確認応答を、ネットワーク 1を介して受信する。
第 1のロス判定部 13は、タイマを用いてデータユニットのロス判定を行う。そのタイマ はデータユニット送信時に設定され、当該データユニットに対する確認応答が受信さ れると停止される。本タイマが切れると、当該データユニットは損失したものと判定さ れる。
[0051] 第 2のロス判定部 14は、第 2の通信装置 30によって送信された確認応答に基づい て、データユニットの損失を判定する。具体的には、第 2のロス判定部 14は、連続受 信された重複 ACKが 3つとなった場合に、受信確認を終えて!/、な!/、最も小さ!/、シー ケンス番号のデータユニットが損失したものと判定する。また、第 1のロス判定部 13又 は第 2のロス判定部 14によってロス判定されたデータユニットは、データユニット再送 部 15によって再送される。
[0052] スプリアスタイムアウト判定部 16は、第 1のロス判定部 13によってデータユニットの 損失が判定された場合、本判定がデータユニット又は確認応答の遅延に起因するか 否かを判定する。具体的には、スプリアスタイムアウト判定部 16は、第 1のロス判定部 13によってデータユニットの損失が判定された場合に、その後に受信した確認応答 が重複 ACKであるか否かを判定し、重複 ACKでないときには、スプリアスタイムァゥ トであると判定する。ウィンドウ制御部 17は、スプリアスタイムアウト判定部 16の判定 結果が肯定的であった場合に、後述の動作説明にて詳述するようにウィンドウサイズ の調節を行う。
[0053] 次に、上述した構成の通信システム 100の動作を、図 2及び図 3を参照して説明す る。図 2は、第 1の通信装置 10の通信処理の流れを示すフロー図である。図 3は、通 信システム 100における通信の一例を示すシーケンス図である。
但し、本実施の形態では、送信側の第 1の通信装置 10と、受信側の第 2の通信装 置 30とがトランスポート層のプロトコルに TCPプロトコルを用いて通信する場合につ いて説明する。図 3には、第 1の通信装置 10と第 2の通信装置 30との間で TCPコネ クシヨンは既に確立され、第 1の通信装置 10の保持する輻輳ウィンドウサイズが 8Kバ イトの状態からのシーケンスを示している。各データユニット D1〜D12のサイズは、 1 000ノ ィ卜とした。
[0054] 第 1の通信装置 10のデータユニット送信部 11が、シーケンス番号 1000 (D1に対 応)からシーケンス番号 8000 (D8)までの輻輳ウィンドウによって許容される合計 8キ ロバイトのデータユニット D1〜D8を順次、ネットワーク 1を介して第 2の通信装置 30 へ送信したとする。
更に、その送信されたデータユニット D1〜D8のうち、シーケンス番号 6000 (D6)、 7000 (D7)、 8000 (D8)のデータユニット D6〜D8は、輻輳などの要因によってネッ トワーク 1中で損失したものとする。
[0055] 第 2の通信装置 30は、データユニット D1及び D2を受信すると、それらのデータュ ニット D1及び D2に対して確認応答 A1を第 1の通信装置 10に送信する。同様に、デ ータユニット D3及び D4を受信すると、確認応答 A2を送信する。続けて、データュニ ット D5を受信する力 後続のデータユニットが損失しているため、今回は、データュ ニット D5に対してのみ確認応答 A3を送信する。
[0056] ここで、第 2の通信装置 30によって送信された確認応答 A1〜A5が、遅延して第 1 の通信装置 10に到着したとする。
確認応答 A1の到着が遅延した場合、ステップ S 1において、第 1の通信装置 10の 第 1のロス判定部 13において、データユニット D1に対して設定されたタイマがタイム アウトし、該データユニット D1のロス判定が行われる。この場合、ロスと判定されるの で、ステップ S2において、データユニット再送部 15がデータユニット D1の再送を実 施する。
[0057] 次に、第 1の通信装置 10が、データユニット D1及び D2に対する確認応答 A1を確 認応答受信部 12で受信すると、ステップ S3において、スプリアスタイムアウト判定部 1 6によってスプリアスタイムアウト判定処理に入る。
更に、その確認応答 A1の受信時、即座にデータユニット送信部 11によって次のデ ータユニット D9及び D10を送信する。続けて、確認応答 A2を受信すると、スプリアス タイムアウト判定部 16で、その確認応答 A2が重複 ACKか否かを判定し、この結果、 重複 ACKでない場合、言い換えればデータユニットの遅延に起因すると判定された 場合、スプリアスタイムアウトと判定する。この場合、ステップ S4の処理へ進む。なお、 データユニット D9はネットワークにおいて損失したとする。
[0058] ステップ S4において、第 1の通信装置 10は、ウィンドウ制御部 17にて、既に送信さ れたデータユニットのシーケンス番号の最大値 (max_seq= 10999)を記録する。 次に、ウィンドウ制御部 17は、ステップ S5において、スロースタート閾値の値をフラ イトサイズ (現在通信路に存在するデータユニットのサイズ)の 8Kバイトの半分(4Kバ イト)に減少(ssthreshold=FlightSize/2)させる。但し、スロースタート閾値の値をフライ トサイズの半分に減少させたが、フライトサイズより小さければ、当該フライトサイズの 1 /n (ssthreshold=FlightSize/n)でもよ!/、(ただし、 nは正数)。
[0059] この後、ウィンドウ制御部 17は、ステップ S6において、輻輳ウィンドウの目標値(cwn cLtarget)を、先に更新されたスロースタート閾値の値 (4Kバイト)に設定する。
次に、ステップ S7において、第 1の通信装置 10は、確認応答受信部 12で確認応 答 A4を受信すると、ステップ S8において、ウィンドウ制御部 17で、その受信した確認 応答 A4の番号 ack力 上記ステップ S4にて記録された最大シーケンス番号 max_seq よりも小さいか否かを判定する。この結果、確認応答 A4の番号 ackが小さい場合、ス テツプ S9において、第 2のロス判定部 14で該確認応答 A4が重複 ACKか否かを判 定する。この際、データユニット D6が損失しているため、確認応答 A4は重複 ACKと 判定される。
[0060] これによつて、ステップ S 10において、第 2のロス判定部 14でデータユニットのロス 判定がなされる力 連続受信した重複 ACKの個数は 1であるため、データユニットの 損失は無いと判定される。この結果、ステップ S11において、第 1の通信装置 10は、 Limited Transmitアルゴリズムに従って次の順番のデータユニット Dl 1を送信する。 なお、 Limited Transmitアルゴリズムは従来技術であり、 1番目及び 2番目の重複 AC Kを受信したとき、最大 2セグメントまで輻輳ウィンドウを越えて、未送信セグメントを送 信する処理を行うものであり、受信装置は、それらのセグメントを受信すると、重複 AC Kを返信するようになって!/、る。
[0061] この後、上記ステップ S7〜S 11において同様に、第 1の通信装置 10は、次の確認 応答 A5を受信すると、重複 ACKの判定を行い、この結果が重複 ACKの場合は、デ ータユニットのロス判定を行い、判定が Noであれば、次の順番のデータユニット D12 を送信する。
更に同様にステップ S7〜S11にて、第 1の通信装置 10が、次の確認応答 A6を受 信し、重複 ACKの判定を行い、この結果が重複 ACKの場合、データユニットのロス 判定を行う。この際、連続受信した重複 ACKの個数力 A4〜A6の 3個となるため、 ステップ S 10にて、データユニットが損失と判定される。
[0062] この場合、ステップ S12において、ウィンドウ制御部 17は、 Fast Retransmit/Fast Re coveryアルゴリズムによるロス回復処理に移る。なお、 Fast Retransmit/Fast Recover yアルゴリズムは、前述した Fast Retransmitアルゴリズムの処理を行い、再送タイムァ ゥトを待たずに再送を行うことによって、再送タイマを用いた再送方法に比べ高速に ロスを回復する処理を行うものである。
[0063] また、このステップ S 12においては、スロースタート閾値の値は減少されず、 4Kバイ トの値のまま保持(ssthresh)される。そして、ステップ S 13において、通常の TCPの再 送制御が行われ、本フロー全体の処理が終了する。
一方、ステップ S9において、確認応答 A4が重複 ACKでないと判定された場合、ス テツプ S 14において、ウィンドウ制御部 17は、現在の輻輳ウィンドウサイズ cwndが、輻 輳ウィンドウの目標値 cwncLtargeはりも大きいか否かを判定し、大きいと判定された場 合、ステップ S 15において、輻輳ウィンドウサイズ cwndから送達確認されたデータ量 を減算する。この場合、ステップ S 7の処理に戻る。また、ステップ S 14にて、現在の輻 輳ウィンドウサイズ cwndが、輻輳ウィンドウの目標値 cwncLtargeはりも小さいと判定さ れた場合も、ステップ S 7の処理に戻る。
[0064] この後、ステップ S7〜S 15の処理が繰り返された場合、ウィンドウ制御部 17の制御 によって、輻輳ウィンドウサイズ cwndが輻輳ウィンドウの目標値 cwncLtargeほで段階 的に減少されることになる。
また、ステップ S8において、ウィンドウ制御部 17は、確認応答受信部 12で受信した 確認応答 A4の番号 ackが、現在記録されて!/、る最大シーケンス番号 max_seqよりも 大きいと判定した場合、ステップ S 16において、現在の輻輳ウィンドウサイズ cwndが、 輻輳ウィンドウの目標値 cwncLtargeはりも大き!/、か否かを判定する。
[0065] この結果、大きいと判定された場合、ウィンドウ制御部 17は、ステップ S 17において 、輻輳ウィンドウサイズ cwndを、現在のフライトサイズ FlightSize及び輻輳ウィンドウの 目標値 cwncLtargetの何れか一方に設定する。この設定後、本フロー全体の処理が 終了する。
上記ステップ S 16にて、現在の輻輳ウィンドウサイズ cwndが、輻輳ウィンドウの目標 値 cwncLtargeはりも小さいと判定された場合も、本フロー全体の処理が終了する。ま た、上記ステップ S3でスプリアスタイムアウトでないと判定された場合は、ステップ S 1 8において、通常の TCP輻輳制御に戻る。即ち、スロースタート閾値を輻輳ウィンドウ サイズの半分とし、輻輳ウィンドウサイズを 1セグメントに更新する制御処理が行われ
[0066] このように、本実施の形態の通信システム 100によれば、第 1の通信装置 10におい て、データユニット送信部 11からのデータユニットの送信後、第 1のロス判定部 13に て、その送信データユニットに対する確認応答が確認応答受信部 12にて予め定めら れた時間内に受信されない場合に当該データユニットが損失したと判定し、この判定 時にデータユニット再送部 15でデータユニットを再送する。次にスプリアスタイムァゥ ト判定部 16で、第 1のロス判定部 13の判定結果がデータユニット及び確認応答の何 れか一方の遅延に起因するか否かを判定し、データユニットの遅延に起因すると判 定された際にスプリアスタイムアウトと判定する。そして、スプリアスタイムアウトと判定 された場合、ウィンドウ制御部 17で、データユニットの送信数を制御する輻輳ウィンド ゥのサイズを減少させる目標値を設定し、確認応答受信部 12によって確認応答が受 信されたことを契機に、該輻輳ウィンドウのサイズを該目標値まで段階的に減少させ る制卸を fiうようにした。
[0067] これによつて、送信側の通信装置 10において、スプリアスタイムアウトと判定された 場合に、輻輳ウィンドウのサイズを減少させる目標値を設定し、この後、確認応答が 受信されたことを契機に、その輻輳ウィンドウのサイズを目標値まで段階的に減少さ せるようにしたので、未送信データユニット (セグメント)を確実に送信することができ、 これによつて、効率的なロス回復を実現することができ、スループットを向上させること ができる。従来技術では、スプリアスタイムアウト検出時に即座に輻輳ウィンドウを大き く減少させていたので、輻輳ウィンドウに未送信データユニットが含まれない状況が 生じ、一番目と二番目の重複確認応答 ACKが受信されたとき、未送信データュニッ トを送信できなくなつていた。
[0068] また、ウィンドウ制御部 17は、スプリアスタイムアウトと判定された際に、データュニッ ト再送部 15でのデータユニットの再送前に送信された全データユニットの確認応答 が受信された時点で、輻輳ウィンドウのサイズが目標値より大きければ、該輻輳ウィン ドウのサイズを該目標値及びフライトサイズの何れか一方に設定するようにした。 これによつて、送信側の通信装置 10において、スプリアスタイムアウトの判定時にお V、て送信済の全データユニットが適正に送達されたことを確認した時点で、輻輳ウイ ンドウを一挙に目標値又はフライトサイズに設定するので、未送信データユニットを効 率よく送達することができる。
[0069] また、第 1の通信装置 10に、確認応答受信部 12で受信された確認応答に基づい て、データユニットの損失を検出する第 2のロス判定部 14を更に備え、ウィンドウ制御 部 17が、 目標値を設定する際に適用されるスロースタート閾値を保持し、スプリアスタ ィムアウトと判定された際に、データユニット再送部 15でのデータユニットの再送前に 送信された全データユニットの確認応答が受信されるまでは、第 2のロス判定部 14に てデータユニットの損失が検出されても、スロースタート閾値を減少させないようにし た。
[0070] これによつて、送信側の通信装置 10において、スプリアスタイムアウトの判定時にお V、て送信済の全データユニットが適正に送達されたことが確認されるまでは、データ ユニットの損失が検出されても、スロースタート閾値を減少させないようにしたので、 従来のように、データユニット損失時にスロースタート閾値が必要以上に減少されるこ とによって、輻輳ウィンドウの増加速度が抑制され、スループットが低下するといつた 不具合を無くすことができる。
[0071] また、 目標値を、フライトサイズの 1/2とする力、、データユニットの 1つ分とするように した。
これらによって、輻輳ウィンドウのサイズを減少させる際に、従来のように輻輳ウィン ドウに未送信データユニットが含まれない状況が生じないように、適正に輻輳ウィンド ゥを減少、させること力 Sでさる。
更に、この実施の形態の通信システム 100の効果を説明するために、図 4のシーケ ンス図に示す従来の通信システムによる通信動作と比較する。
従来の送信側である第 1の通信装置が、受信側の第 2の通信装置から送信された 確認応答 A3を受信するまでの動作は、上記実施の形態の動作と同じである。
[0072] 第 1の通信装置は、確認応答 A2を受信すると、スプリアスタイムアウト判定が肯定 的となり、即座にスロースタート閾値及び輻輳ウィンドウを減少させる。ここで、輻輳ゥ インドウを減少させたため、第 1の通信装置は確認応答 A4を受信したとき、新たにデ ータユニットを送信することができない。この結果、連続受信できる重複 ACKの個数 が最高でも 2個となり、本実施の形態のように Fast Retransmit/Fast Recoveryアルゴリ ズムによるロス回復処理を実施することができない。また、第 1の通信装置では、デー タユニットのロス判定用のタイマがタイムアウトし、タイムアウト再送が実施される。この とき、スロースタート閾値及び輻輳ウィンドウが再び減少されるので、スループットが低 下する。
[0073] (第 2実施形態)
次に、本発明の第 2の実施の形態について説明する。
図 5は、本発明の第 2の実施の形態に係る通信システムの構成を示すブロック図で ある。
図 5に示す通信システム 200は、無線及び有線の何れか或いは双方のネットワーク 1を介して第 1の通信装置 (ここでは送信装置であるものとする) 40と第 2の通信装置 (ここでは受信装置であるものとする) 30とが接続されて構成されている。但し、本実 施の形態では、 1つのネットワーク 1を介して、第 1の通信装置 40と第 2の通信装置 3 0が接続されている力 S、複数のネットワークが介在してもよい。また、本発明は、突発 的な信号遅延の増加が発生するネットワークにおいて有効である。例えば、ネットヮ ーク 1が移動通信ネットワークの場合が該当し、この場合、第 1及び第 2の通信装置 4 0, 30の何れか一方、又は両方は、携帯電話機に該当する。
[0074] 図 6は、本実施形態における第 1の通信装置 40の構成を示すブロック図である。
図 6において、第 1の通信装置 40は、データユニット送信部(送信手段) 41と、確認 応答受信部(受信手段) 42と、第 1のロス判定部(第 1のロス判定手段) 43と、重複 A CK判定部(重複 ACK判定手段) 44と、スプリアスタイムアウト判定部(スプリアスタイ ムアウト判定手段) 45と、ウィンドウ制御部(制御手段) 46とを備えて構成されて!/、る。
[0075] データユニット送信部 41は、ネットワーク 1を介して 1パケット又は複数パケットの塊 であるデータユニットを第 2の通信装置 30へ送信する。確認応答受信部 42は、第 2 の通信装置 30よって送信された確認応答を、ネットワーク 1を介して受信する。
第 1のロス判定部 43は、タイマを用いてデータユニットのロス判定を行う。そのタイマ はデータユニット送信時に設定され、当該データユニットに対する確認応答が受信さ れると停止される。本タイマが切れると、当該データユニットは損失したものと判定さ れる。
[0076] 重複 ACK判定部 44は、確認応答受信部 42によって受信された確認応答が重複 ACKであるか否かを判定する。また、重複 ACK判定部 44は、連続受信された重複 ACKが 3つとなった場合に、データユニットが損失したものと判定する。 スプリアスタイムアウト判定部 45は、第 1のロス判定部 43によってデータユニットの 損失が判定された場合、本判定がデータユニット又は確認応答の遅延に起因するか 否かを判定する。具体的には、スプリアスタイムアウト判定部 45は、第 1のロス判定部 43によってデータユニットの損失が判定された場合に、重複 ACK判定部 44によって 、その後に受信した確認応答が重複 ACKでないと判定されたときには、スプリアスタ ィムアウトであると判定する。ウィンドウ制御部 46は、スプリアスタイムアウト判定部 45 の判定結果が肯定的であった場合に、後述の動作説明にて詳述するようにウィンドウ サイズの調節を行う。
[0077] 次に、上述した構成の通信システム 200の動作を、図 7及び図 8を参照して説明す る。図 7は、第 1の通信装置 40の通信処理の流れを示すフロー図である。図 8は、通 信システム 200における通信の一例を示すシーケンス図である。
但し、本実施の形態では、送信側の第 1の通信装置 40と、受信側の第 2の通信装 置 30とがトランスポート層のプロトコルに TCPプロトコルを用いて通信する場合につ いて説明する。図 7には、第 1の通信装置 40と第 2の通信装置 30との間で TCPコネ クシヨンは既に確立され、第 1の通信装置 40の保持する輻輳ウィンドウサイズが 8Kバ イトの状態からのシーケンスを示している。各データユニット D1〜D12のサイズは、 1 000ノ ィ卜とした。
[0078] 第 1の通信装置 40のデータユニット送信部 41が、シーケンス番号 1000 (D1に対 応)からシーケンス番号 8000 (D8)までの輻輳ウィンドウによって許容される合計 8キ ロバイトのデータユニット D1〜D8を順次、ネットワーク 1を介して第 2の通信装置 30 へ送信したとする。
更に、その送信されたデータユニット D1〜D8のうち、シーケンス番号 6000 (D6)、 7000 (D7)、 8000 (D8)のデータユニット D6〜D8は、輻輳などの要因によってネッ トワーク 1中で損失したものとする。
[0079] 第 2の通信装置 30は、データユニット D1及び D2を受信すると、それらのデータュ ニット D1及び D2に対して確認応答 A1を第 1の通信装置 40に送信する。同様に、デ ータユニット D3及び D4を受信すると、確認応答 A2を送信する。続けて、データュニ ット D5を受信する力 後続のデータユニットが損失しているため、今回は、データュ ニット D5に対してのみ確認応答 A3を送信する。
[0080] ここで、第 2の通信装置 30によって送信された確認応答 A1〜A5が、遅延して第 1 の通信装置 40に到着したとする。
確認応答 A1の到着が遅延した場合、ステップ S 101において、第 1の通信装置 40 の第 1のロス判定部 43において、データユニット D1に対して設定されたタイマがタイ ムアウトし、該データユニット D1のロス判定が行われる。この場合、ロスと判定される ので、ステップ S 102において、データユニット送信部 41がデータユニット D1の再送 を実施する。
[0081] ステップ S103において、第 1の通信装置 40は、ウィンドウ制御部 46にて、既に送信 されたデータユニットのシーケンス番号の最大値 (max_seq = 8999)を記録する。 続いて、第 1の通信装置 40が、データユニット D1及び D2に対する確認応答 A1を 確認応答受信部 42で受信すると、ステップ S104において、スプリアスタイムアウト判 定部 45によってスプリアスタイムアウト判定処理に入る。
[0082] 更に、その確認応答 A1の受信時、即座にデータユニット送信部 41によって次のデ ータユニット D9及び D10を送信する。続けて、確認応答 A2を受信すると、スプリアス タイムアウト判定部 45で、その確認応答 A2が重複 ACKか否かを判定し、この結果、 重複 ACKでない場合、言い換えればデータユニットの遅延に起因すると判定された 場合、スプリアスタイムアウトと判定する。この場合、ステップ S 105の処理へ進む。な お、データユニット D9はネットワークにおいて損失したとする。
[0083] 次に、ウィンドウ制御部 46は、ステップ S105において、スロースタート閾ィ直のィ直をフ ライトサイズ (現在通信路に存在するデータユニットのサイズ)の 8Kバイトの半分 (4K バイト)に減少(ssthreshold=FlightSize/2)させる。但し、スロースタート閾値の値をフラ イトサイズの半分に減少させたが、フライトサイズより小さければ、当該フライトサイズ の 1/n (ssthreshold=FlightSize/n)でもよ!/、(ただし、 nは正数)。
この後、ウィンドウ制御部 46は、ステップ S 106において、輻輳ウィンドウサイズ(cwn d)を、 1データユニット分のサイズ(MS S : Maximum Segment Size)に設定する。
[0084] 次に、ステップ S 107において、第 1の通信装置 40は、確認応答受信部 42で確認 応答 A4を受信すると、ステップ S 108において、ウィンドウ制御部 46で、その受信し た確認応答 A4の番号 ackが、上記ステップ S103にて記録された最大シーケンス番 号 max_seq以下であるか否かを判定する。なお、このときの確認応答 A4の番号 ack = 6000であり、最大シーケンス番号 max_seq = 8999である。
[0085] ステップ S108の判定の結果、確認応答 A4の番号 ackが最大シーケンス番号 max— s eq以下である場合、ステップ S109において、重複 ACK判定部 44で該確認応答 A4 が重複 ACKか否かを判定する。この際、データユニット D7が損失しているため、確 認応答 A4は重複 ACKと判定される。
続いて、ステップ S 110において、重複 ACK判定部 44でデータユニットの損失を判 定する。このとき、連続受信した重複 ACKが 1つであることから、データユニットは損 失して!/、な!/、ものと判定される。
[0086] 次に、ステップ S 111において、ウィンドウ制御部 46で未送信データの送信が可能 であるか否かを判定する。ここでは、第 1の通信装置 40が未送信データを送信可能 な状態であるものとする。
また、ステップ S 112において、ウィンドウ制御部 46で広告ウィンドウの制限があるか 否かを判定する。ここでは、第 2の通信装置 30から広告される広告ウィンドウのサイズ 力、第 1の通信装置 40から送信しょうとするデータユニットのサイズに対して制限とな らない大きさであるものとする。そのため、ステップ S 112において、広告ウィンドウの 制限はないものと判定される。
[0087] すると、ステップ S113において、第 1の通信装置 40は、データユニット送信部 41に て未送信データユニット D 11を第 2の通信装置 30に送信する。
この後、上記ステップ S107〜S 113において同様に、第 1の通信装置 40は、次の 確認応答 A5を受信すると、重複 ACKの判定を行い、この結果が重複 ACKの場合 は、データユニットのロス判定を行う。そして、ロス判定の結果が Noである場合、未送 信データの送信が可能で (ステップ SI 11: Yes)、広告ウィンドウの制限がなければ( ステップ S 112 : Yes)、次の順番のデータユニット D 12を送信する。
[0088] なお、第 1の通信装置 40がデータユニット D11を送信することに対応して、第 2の 通信装置 30から 3番目の重複 ACK (A6)が返信され、この時点で連続受信した重 複 ACKの個数が、 A4〜A6の 3個となるため、ステップ S110にて、データユニットが 損失と判定される。
この場合、ステップ S 115において、ウィンドウ制御部 46は、 Fast Retransmit/Fast R ecoveryアルゴリズムによるロス回復処理に移る。なお、 Fast Retransmit/Fast Recove ryアルゴリズムは、前述した Fast Retransmitアルゴリズムの処理を行い、再送タイムァ ゥトを待たずに再送を行うことによって、再送タイマを用いた再送方法に比べ高速に ロスを回復する処理を行うものである。
[0089] また、ステップ S 104において、スプリアスタイムアウト判定部 45で、その確認応答 A 2が重複 ACKか否かを判定し、この結果、重複 ACKであると判定された場合 (スプリ ァスタイムアウトでない場合)、第 1の通信装置 40は、ステップ S 114において、通常 の TCP輻輳制御に戻る。
なお、ステップ S 108において、受信した確認応答 A4の番号 ackが、上記ステップ S 103にて記録された最大シーケンス番号 maX_Seq以下でないと判定された場合、第 1の通信装置 40は、本フロー全体の処理を終了する。
[0090] また、ステップ S 109において、受信した確認応答 A4が重複 ACKでないと判定さ れた場合、および、ステップ S111において、未送信データの送信が可能でないと判 定した場合、ステップ S107の処理に戻る。
同様に、ステップ S 112において、広告ウィンドウの制限があるものと判定された場 合、および、ステップ S113の後、ステップ S 107の処理に戻る。
このような処理を行うことにより、第 1の通信装置 40で確認応答 A4及び A5を受信し た際、受信確認を終えていないデータユニットのサイズ (6000バイト)が輻輳ウィンド ゥサイズ (4000バイト)に比べてデータユニット 2個分以上大きくても、未送信データ ユニットが送信でき、高速再送によるロス回復が可能となる。
[0091] (第 3実施形態)
次に、本発明の第 3の実施の形態について説明する。
図 9は、本発明の第 3の実施の形態に係る通信システムの構成を示すブロック図で ある。
図 9に示す通信システム 300は、無線及び有線の何れか或いは双方のネットワーク 1を介して第 1の通信装置 (ここでは送信装置であるものとする) 50と第 2の通信装置 (ここでは受信装置であるものとする) 30とが接続されて構成されている。但し、本実 施の形態では、 1つのネットワーク 1を介して、第 1の通信装置 50と第 2の通信装置 3 0が接続されている力 S、複数のネットワークが介在してもよい。また、本発明は、突発 的な信号遅延の増加が発生するネットワークにおいて有効である。例えば、ネットヮ ーク 1が移動通信ネットワークの場合が該当し、この場合、第 1及び第 2の通信装置 5 0, 30の何れか一方、又は両方は、携帯電話機に該当する。
[0092] 図 10は、本実施形態における第 1の通信装置 50の構成を示すブロック図である。
図 10において、第 1の通信装置 50は、データユニット送信部(送信手段) 51と、確 認応答受信部(受信手段) 52と、第 1のロス判定部(第 1のロス判定手段) 53と、第 2 のロス判定部(第 2のロス判定手段) 54と、スプリアスタイムアウト判定部(スプリアスタ ィムアウト判定手段) 55と、ロス回復部 56 (ロス回復手段)と、ウィンドウ制御部(制御 手段) 57とを備えて構成されて!/、る。
[0093] データユニット送信部 51は、ネットワーク 1を介して 1パケット又は複数パケットの塊 であるデータユニットを第 2の通信装置 30へ送信する。確認応答受信部 52は、第 2 の通信装置 30よって送信された確認応答を、ネットワーク 1を介して受信する。
第 1のロス判定部 53は、タイマを用いてデータユニットのロス判定を行う。そのタイマ はデータユニット送信時に設定され、当該データユニットに対する確認応答が受信さ れると停止される。本タイマが切れると、当該データユニットは損失したものと判定さ れる。
[0094] 第 2のロス判定部 54は、第 2の通信装置 30によって送信された確認応答に基づい て、データユニットの損失を判定する。具体的には、第 2のロス判定部 54は、連続受 信された重複 ACKが 3つとなった場合に、受信確認を終えて!/、な!/、最も小さ!/、シー ケンス番号のデータユニットが損失したものと判定する。
スプリアスタイムアウト判定部 55は、第 1のロス判定部 53によってデータユニットの 損失が判定された場合、本判定がデータユニット又は確認応答の遅延に起因するか 否かを判定する。具体的には、スプリアスタイムアウト判定部 55は、第 1のロス判定部 53によってデータユニットの損失が判定された場合に、その後に受信した確認応答 が重複 ACKであるか否かを判定し、重複 ACKでないときには、スプリアスタイムァゥ トであると判定する。
[0095] ロス回復部 56は、第 2のロス判定部 54によってデータユニットが損失したと判定さ れた場合、ロス回復処理を実行する。
ウィンドウ制御部 57は、スプリアスタイムアウト判定部 55の判定結果が肯定的であ つた場合に、後述の動作説明にて詳述するようにウィンドウサイズの調節を行う。 次に、上述した構成の通信システム 300の動作を、図 11及び図 12を参照して説明 する。図 11は、第 1の通信装置 50の通信処理の流れを示すフロー図である。図 12 は、通信システム 300における通信の一例を示すシーケンス図である。
[0096] 但し、本実施の形態では、送信側の第 1の通信装置 50と、受信側の第 2の通信装 置 30とがトランスポート層のプロトコルに TCPプロトコルを用いて通信する場合につ いて説明する。図 12には、第 1の通信装置 50と第 2の通信装置 30との間で TCPコネ クシヨンは既に確立され、第 1の通信装置 50の保持する輻輳ウィンドウサイズが 8Kバ イトの状態からのシーケンスを示している。各データユニット D1〜D19のサイズは、 1 000ノ ィ卜とした。
[0097] 第 1の通信装置 50のデータユニット送信部 51が、シーケンス番号 1000 (D1に対 応)からシーケンス番号 8000 (D8)までの輻輳ウィンドウによって許容される合計 8キ ロバイトのデータユニット D1〜D8を順次、ネットワーク 1を介して第 2の通信装置 30 へ送信したとする。
更に、その送信されたデータユニット D1〜D8のうち、シーケンス番号 7000 (D7) のデータユニット D7は、輻輳などの要因によってネットワーク 1中で損失したものとす
[0098] 第 2の通信装置 30は、データユニット D1及び D2を受信すると、それらのデータュ ニット D1及び D2に対して確認応答 A1を第 1の通信装置 50に送信する。同様に、デ ータユニット D3及び D4を受信すると、確認応答 A2を送信し、データユニット D5及び D6を受信すると、確認応答 A3を送信する。
ここで、第 2の通信装置 30によって送信された確認応答 A1〜A3が、遅延して第 1 の通信装置 50に到着したとする。 [0099] 確認応答 Alの到着が遅延した場合、ステップ S201において、第 1の通信装置 50 の第 1のロス判定部 53において、データユニット D1に対して設定されたタイマがタイ ムアウトし、該データユニット D1のロス判定が行われる。この場合、ロスと判定される ので、ステップ S202において、データユニット送信部 51がデータユニット D1の再送 を実施する。
[0100] ステップ S203において、第 1の通信装置 50は、ウィンドウ制御部 57にて、既に送信 されたデータユニットのシーケンス番号の最大値 (max_seq = 8999)を記録する。 続いて、第 1の通信装置 50が、データユニット D1及び D2に対する確認応答 A1を 確認応答受信部 52で受信すると、ステップ S204において、スプリアスタイムアウト判 定部 55によってスプリアスタイムアウト判定処理に入る。
[0101] 更に、その確認応答 A1の受信時、即座にデータユニット送信部 51によって次のデ ータユニット D9及び D10を送信する。続けて、確認応答 A2を受信すると、スプリアス タイムアウト判定部 55で、その確認応答 A2が重複 ACKか否かを判定し、この結果、 重複 ACKでない場合、言い換えればデータユニットの遅延に起因すると判定された 場合、スプリアスタイムアウトと判定する。この場合、ステップ S205の処理へ進む。
[0102] 次に、ウィンドウ制御部 57は、ステップ S205において、スロースタート閾ィ直のィ直をフ ライトサイズ (現在通信路に存在するデータユニットのサイズ)の 8Kバイトの半分 (4K バイト)に減少(ssthreshold=FlightSize/2)させる。但し、スロースタート閾値の値をフラ イトサイズの半分に減少させたが、フライトサイズより小さければ、当該フライトサイズ の 1/n (ssthreshold=FlightSize/n)でもよ!/、(ただし、 nは正数)。
[0103] この後、ウィンドウ制御部 57は、ステップ S206において、輻輳ウィンドウサイズ(cwn d)を、先に更新されたスロースタート閾値の値 (4Kバイト)に設定する。
次に、ステップ S207において、第 1の通信装置 50は、確認応答受信部 52で確認 応答 A4を受信すると、ステップ S208において、ウィンドウ制御部 57で、その受信し た確認応答 A4の番号 ackが、上記ステップ S203にて記録された最大シーケンス番 号 max_seq以下であるか否かを判定する。なお、このときの確認応答 A4の番号 ack = 7000であり、最大シーケンス番号 max_seq = 8999である。
[0104] ステップ S208の判定の結果、確認応答 A4の番号 ackが最大シーケンス番号 max— s eq以下である場合、ステップ S209において、第 2のロス判定部 54で該確認応答 A4 が重複 ACKか否かを判定する。この際、データユニット D7が損失しているため、確 認応答 A4は重複 ACKと判定される。
続いて、ステップ S210において、データユニットの損失を判定する。このとき、連続 受信した重複 ACKが 1つであることから、データユニットは損失していないものと判定 される。
[0105] 次に、ステップ S211において、ウィンドウ制御部 57で未送信データの送信が可能 であるか否かを判定する。ここでは、第 1の通信装置 50は新たに送信すべきデータ を保持して!/、るため、ステップ S211にお!/、ては送信可能と判定される。
また、ステップ S212において、ウィンドウ制御部 57で広告ウィンドウの制限があるか 否かを判定する。ここでは、第 2の通信装置 30から広告される広告ウィンドウのサイズ 力、第 1の通信装置 50から送信しょうとするデータユニットのサイズに対して制限とな らない大きさであるものとする。そのため、ステップ S212において、広告ウィンドウの 制限はないものと判定される。
[0106] すると、ステップ S213において、第 1の通信装置 50は、ウィンドウ制御部 57にてフ ライトサイズ (FlightSize)が輻輳ウィンドウのサイズにデータュュット 2個を加えたサイ ズ(cwnd+2)以下であるかを判定する。
即ち、第 1の通信装置 50は、 Limited Transmitによって未送信データユニットの送 信が可能か否力、を判定し、未送信データの送信が可能で、力、つ広告ウィンドウによる 制限を受けず、さらに、受信確認を終えていないデータユニットのサイズ (4000バイト )が現在の輻輳ウィンドウサイズ(4000バイト)にデータユニット 2個のサイズ(2000バ イト)を加えた値(6000バイト)以下であるため、未送信のデータユニット D11を第 2の 通信装置 30に送信する。
[0107] この後、上記ステップ S207〜S213において同様に、第 1の通信装置 50は、次の 確認応答 A5を受信すると、番号 ackと最大シーケンス番号 maX_Seqとの比較および 重複 ACKの判定を行い、この結果が番号 ack≤最大シーケンス番号 max_seqかつ重 複 ACKの場合は、データユニットのロス判定を行う。そして、ロス判定の結果が Noで ある場合、未送信データの送信が可能で (ステップ S211: Yes)、広告ウィンドウの制 限がなく(ステップ S 212: Yes)、かつフライトサイズ (FlightSize)が輻輳ウィンドウのサ ィズにデータユニット 2個を加えたサイズ(cwnd+2)以下であるときには、ステップ S21 4において、次の順番のデータユニット D12を送信する。
[0108] また、第 1の通信装置 50は、ステップ S207において次の確認応答 A6を受信する と、番号 ack(7000)と最大シーケンス番号 max_seq (8999)との比較を行い、番号 ac kが最大シーケンス番号 max_seqより小さいことから、重複 ACKの判定を行う。ここで は、データユニット D7が損失しているため、重複 ACKと判定され、続いてデータュニ ットのロス判定が行われる。そして、このとき、連続受信される重複 ACKが A4〜A6 の 3つとなるため、ロス判定の結果が肯定的となる。
[0109] すると、ステップ S216において、第 1の通信装置 50は、ウィンドウ制御部 57にて、 スロースタート閾値(ssthresh)を保持し、ステップ S217において、ロス判定に用いた 重複 ACKの個数(3個)から 1引!/、た個数(2個)と等し!/、データユニットのサイズ(20 00バイト)だけ輻輳ウィンドウサイズを増加させる。以後、ロス回復部 56にて、通常の Retransmit/Fast Recoveryによる再送制卸を丁つ。
[0110] また、ステップ S204において、スプリアスタイムアウト判定部 55で、その確認応答 A 2が重複 ACKか否かを判定し、この結果、重複 ACKであると判定された場合 (スプリ ァスタイムアウトでない場合)、第 1の通信装置 50は、ステップ S215において、通常 の TCP輻輳制御に戻る。
なお、ステップ S208において、受信した確認応答 A4の番号 ackが、上記ステップ S203にて記録された最大シーケンス番号 maX_Seq以下でな!/、と判定された場合、第 1の通信装置 50は、本フロー全体の処理を終了する。
[0111] また、ステップ S209において、受信した確認応答 A4が重複 ACKでないと判定さ れた場合、および、ステップ S211において、未送信データの送信が可能でないと判 定した場合、ステップ S207の処理に戻る。
同様に、ステップ S212において、広告ウィンドウの制限があるものと判定された場 合、ステップ S213において、フライトサイズ(FlightSize)が輻輳ウィンドウサイズにデ ータユニット 2個を加えたサイズ (cwnd+2)より大きいと判定された場合、および、ステ ップ S214の後、ステップ S207の処理に戻る。 [0112] このように、第 1の通信装置 50において 3個以上の重複 ACKが連続受信された場 合、輻輳ウィンドウサイズをロス判定に用いた重複 ACKの個数に基づいて設定する ことにより、後続のロス回復処理で、ネットワークに流入するデータユニットの個数を確 実に輻輳ウィンドウサイズに制御することができる。
図 12においては、確認応答 A6が受信され、ステップ S217において輻輳ウィンドウ が増加されてから、再送されたデータユニット D7に対する確認応答 A10が受信され るまでの間、ネットワークに流入するデータユニットの個数 (4000バイトに相当)が輻 輳ウィンドウサイズ (4000バイト)に制御されている。
[0113] (第 4実施形態)
次に、本発明の第 4の実施の形態について説明する。
図 13は、本発明の第 4の実施の形態に係る通信システムの構成を示すブロック図 である。
図 13に示す通信システム 400は、無線及び有線の何れか或いは双方のネットヮー ク 1を介して第 1の通信装置 (ここでは送信装置であるものとする) 60と第 2の通信装 置 (ここでは受信装置であるものとする) 30とが接続されて構成されている。但し、本 実施の形態では、 1つのネットワーク 1を介して、第 1の通信装置 60と第 2の通信装置 30が接続されている力 S、複数のネットワークが介在してもよい。また、本発明は、突発 的な信号遅延の増加が発生するネットワークにおいて有効である。例えば、ネットヮ ーク 1が移動通信ネットワークの場合が該当し、この場合、第 1及び第 2の通信装置 6 0, 30の何れか一方、又は両方は、携帯電話機に該当する。
[0114] 図 14は、本実施形態における第 1の通信装置 60の構成を示すブロック図である。
図 14において、第 1の通信装置 60は、データユニット送信部(送信手段) 61と、確 認応答受信部(受信手段) 62と、第 1のロス判定部(第 1のロス判定手段) 63と、第 2 のロス判定部(第 2のロス判定手段) 64と、スプリアスタイムアウト判定部(スプリアスタ ィムアウト判定手段) 65と、ロス回復部 66 (ロス回復手段)と、ウィンドウ制御部(制御 手段) 67とを備えて構成されている。
[0115] データユニット送信部 61は、ネットワーク 1を介して 1パケット又は複数パケットの塊 であるデータユニットを第 2の通信装置 30へ送信する。確認応答受信部 62は、第 2 の通信装置 30よって送信された確認応答を、ネットワーク 1を介して受信する。
第 1のロス判定部 63は、タイマを用いてデータユニットのロス判定を行う。そのタイマ はデータユニット送信時に設定され、当該データユニットに対する確認応答が受信さ れると停止される。本タイマが切れると、当該データユニットは損失したものと判定さ れる。
[0116] 第 2のロス判定部 64は、第 2の通信装置 30によって送信された確認応答に基づい て、データユニットの損失を判定する。具体的には、第 2のロス判定部 64は、連続受 信された重複 ACKが 3つとなった場合に、受信確認を終えて!/、な!/、最も小さ!/、シー ケンス番号のデータユニットが損失したものと判定する。
スプリアスタイムアウト判定部 65は、第 1のロス判定部 63によってデータユニットの 損失が判定された場合、本判定がデータユニット又は確認応答の遅延に起因するか 否かを判定する。具体的には、スプリアスタイムアウト判定部 65は、第 1のロス判定部 63によってデータユニットの損失が判定された場合に、その後に受信した確認応答 が重複 ACKであるか否かを判定し、重複 ACKでないときには、スプリアスタイムァゥ トであると判定する。
[0117] ロス回復部 66は、第 2のロス判定部 64によってデータユニットが損失したと判定さ れた場合、ロス回復処理を実行する。
ウィンドウ制御部 67は、スプリアスタイムアウト判定部 65の判定結果が肯定的であ つた場合に、後述の動作説明にて詳述するようにウィンドウサイズの調節を行う。 次に、上述した構成の通信システム 400の動作を、図 15及び図 16を参照して説明 する。図 15は、第 1の通信装置 60の通信処理の流れを示すフロー図である。図 16 は、通信システム 400における通信の一例を示すシーケンス図である。
[0118] 但し、本実施の形態では、送信側の第 1の通信装置 60と、受信側の第 2の通信装 置 30とがトランスポート層のプロトコルに TCPプロトコルを用いて通信する場合につ いて説明する。図 16には、第 1の通信装置 60と第 2の通信装置 30との間で TCPコネ クシヨンは既に確立され、第 1の通信装置 60の保持する輻輳ウィンドウサイズが 8Kバ イトの状態からのシーケンスを示している。各データユニット D1〜D18のサイズは、 1 000ノ ィ卜とした。 [0119] 第 1の通信装置 60のデータユニット送信部 61が、シーケンス番号 1000 (D1に対 応)からシーケンス番号 8000 (D8)までの輻輳ウィンドウによって許容される合計 8キ ロバイトのデータユニット D1〜D8を順次、ネットワーク 1を介して第 2の通信装置 30 へ送信したとする。
更に、その送信されたデータユニット D1〜D8のうち、シーケンス番号 7000 (D7) のデータユニット D7は、輻輳などの要因によってネットワーク 1中で損失したものとす
[0120] 第 2の通信装置 30は、データユニット D1及び D2を受信すると、それらのデータュ ニット D1及び D2に対して確認応答 A1を第 1の通信装置 60に送信する。同様に、デ ータユニット D3及び D4を受信すると、確認応答 A2を送信し、データユニット D5及び D6を受信すると、確認応答 A3を送信する。
ここで、第 2の通信装置 30によって送信された確認応答 A1〜A3が、遅延して第 1 の通信装置 60に到着したとする。
[0121] 確認応答 A1の到着が遅延した場合、ステップ S301において、第 1の通信装置 60 の第 1のロス判定部 63において、データユニット D1に対して設定されたタイマがタイ ムアウトし、該データユニット D1のロス判定が行われる。この場合、ロスと判定される ので、ステップ S302において、データユニット送信部 61がデータユニット D1の再送 を実施する。
[0122] ステップ S303において、第 1の通信装置 60は、ウィンドウ制御部 67にて、既に送信 されたデータユニットのシーケンス番号の最大値 (max_seq = 8999)を記録する。 続いて、第 1の通信装置 60が、データユニット D1及び D2に対する確認応答 A1を 確認応答受信部 62で受信すると、ステップ S304において、スプリアスタイムアウト判 定部 65によってスプリアスタイムアウト判定処理に入る。
[0123] 更に、その確認応答 A1の受信時、即座にデータユニット送信部 61によって次のデ ータユニット D9及び D10を送信する。続けて、確認応答 A2を受信すると、スプリアス タイムアウト判定部 65で、その確認応答 A2が重複 ACKか否かを判定し、この結果、 重複 ACKでない場合、言い換えればデータユニットの遅延に起因すると判定された 場合、スプリアスタイムアウトと判定する。この場合、ステップ S305の処理へ進む。 [0124] 次に、ウィンドウ制御部 67は、ステップ S305において、スロースタート閾ィ直のィ直をタ ィムアウト直前のフライトサイズの 8Kバイトの半分(4Kバイト)に減少(ssthreshold=Fli ghtSize/2)させる。但し、スロースタート閾値の値をフライトサイズの半分に減少させた 、フライトサイズより小さければ、当該フライトサイズの l/n (ssthreshold=FlightSize /n)でもよ!/、(ただし、 nは正数)。
[0125] この後、ウィンドウ制御部 67は、ステップ S306において、輻輳ウィンドウサイズ(cwn d)を、先に更新されたスロースタート閾値の値 (4Kバイト)に設定する。
次に、ステップ S307において、第 1の通信装置 60は、確認応答受信部 62で確認 応答 A4を受信すると、ステップ S308において、ウィンドウ制御部 67で、その受信し た確認応答 A4の番号 ackが、上記ステップ S303にて記録された最大シーケンス番 号 max_seq以下であるか否かを判定する。なお、このときの確認応答 A4の番号 ack = 7000であり、最大シーケンス番号 max_seq = 8999である。
[0126] ステップ S308の判定の結果、確認応答 A4の番号 ackが最大シーケンス番号 max— s eq以下である場合、ステップ S309において、第 2のロス判定部 64で該確認応答 A4 が重複 ACKか否かを判定する。この際、データユニット D7が損失しているため、確 認応答 A4は重複 ACKと判定される。
続いて、ステップ S310において、データユニットの損失を判定する。このとき、連続 受信した重複 ACKが 1つであることから、データユニットは損失していないものと判定 される。
[0127] 次に、ステップ S311において、ウィンドウ制御部 67で未送信データの送信が可能 であるか否かを判定する。ここでは、第 1の通信装置 60は新たに送信すべきデータ を保持して!/、るため、ステップ S311にお!/、ては送信可能と判定される。
また、ステップ S312において、ウィンドウ制御部 67で広告ウィンドウの制限があるか 否かを判定する。ここでは、第 2の通信装置 30から広告される広告ウィンドウのサイズ 力、第 1の通信装置 60から送信しょうとするデータユニットのサイズに対して制限とな らない大きさであるものとする。そのため、ステップ S312において、広告ウィンドウの 制限はないものと判定される。
[0128] すると、ステップ S313において、第 1の通信装置 60は、ウィンドウ制御部 67にてフ ライトサイズ (FlightSize)が輻輳ウィンドウのサイズにデータュュット 2個を加えたサイ ズ(cwnd+2)以下であるかを判定する。
即ち、第 1の通信装置 60は、 Limited Transmitによって未送信データユニットの送 信が可能か否力、を判定し、未送信データの送信が可能で、力、つ広告ウィンドウによる 制限を受けず、さらに、受信確認を終えていないデータユニットのサイズ (4000バイト )が現在の輻輳ウィンドウサイズ(4000バイト)にデータユニット 2個のサイズ(2000バ イト)を加えた値(6000バイト)以下であるため、未送信のデータユニット D11を第 2の 通信装置 30に送信する。
[0129] この後、上記ステップ S307〜S313において同様に、第 1の通信装置 60は、次の 確認応答 A5を受信すると、番号 ackと最大シーケンス番号 maX_Seqとの比較および 重複 ACKの判定を行い、この結果が番号 ack≤最大シーケンス番号 max_seqかつ重 複 ACKの場合は、データユニットのロス判定を行う。そして、ロス判定の結果が Noで ある場合、未送信データの送信が可能で (ステップ S311: Yes)、広告ウィンドウの制 限がなく(ステップ S 312: Yes)、かつフライトサイズ (FlightSize)が輻輳ウィンドウのサ ィズにデータユニット 2個を加えたサイズ(cwnd+2)以下であるときには、ステップ S31 4において、次の順番のデータユニット D12を送信する。ここで、データユニット D12 は、輻輳などの要因によってネットワーク 1中で損失したものとする。
[0130] 第 1の通信装置 60は、ステップ S307において次の確認応答 A6を受信すると、番 号 ack (7000)と最大シーケンス番号 max_seq (8999)との比較を行い、番号 ackが最 大シーケンス番号 max_seqより小さいことから、重複 ACKの判定を行う。ここでは、デ ータユニット D7が損失しているため、重複 ACKと判定され、続いてデータユニットの ロス判定が行われる。そして、このとき、連続受信される重複 ACKが A4〜A6の 3つ となるため、ロス判定の結果が肯定的となる(ステップ S310 : Yes)。
[0131] すると、ステップ S316において、第 1の通信装置 60は、ウィンドウ制御部 67にて、 スロースタート閾値(ssthresh)を保持し、ステップ S317において、ロス判定閾値をタ ィムアウト以前に送信されたデータユニットのシーケンス番号の最大値(8999)に 1加 えた値(9000)に設定する。以後、ロス回復部 66にて、通常の Retransmit/Fast Reco veryによる再送制御を行う。 [0132] 第 1の通信装置 60は、再送されたデータユニット D7に対する確認応答 A10を受信 すると、その ACK番号(12000)力 Sタイムアウト以前に送信されたデータユニットのシ 一ケンス番号の最大値に 1加えた値(9000)以上であるため、ロス回復が完了したと 判定し、 Fast Recoveryを終了する。
その後、第 1の通信装置 60において受信される確認応答 A11〜A13は、データュ ニット D12が損失しているため、重複 ACKとなる。第 1の通信装置 60は、これらのう ち 3番目の重複 ACKである確認応答 A13を受信すると、ステップ S318において、ス ロースタート閾値と輻輳ウィンドウサイズを減少させ、通常の再送制御を行う。
[0133] このように、タイムアウト以前に送信したデータユニットの損失が検出された場合、口 ス回復を判定する閾値(ロス判定閾値)として、タイムアウト以前に送信したデータュ ニットのシーケンス番号の最大値に 1加えた値を設定することとした。
そのため、タイムアウト以前に送信したデータユニットの損失に対しては、スロースタ ート閾値および輻輳ウィンドウサイズを保持し、タイムアウト以後に送信したデータュ ニットの損失に対しては、スロースタート閾値および輻輳ウィンドウサイズを減少させる こと力 Sでさる。
図 16においては、タイムアウト以前に再送されたデータユニット D7の損失に対して 、スロースタート閾値および輻輳ウィンドウが保持され、タイムアウト以後に送信された データユニット D12に対しては、スロースタート閾値および輻輳ウィンドウサイズが減 少されている。
産業上の利用の可能性
[0134] 本発明によれば、スロースタート閾値及び輻輳ウィンドウを変化させる応答アルゴリ ズム実行において、スプリアスタイムアウトに続けてセグメントロスが発生した場合に、 効率的なロス回復を実現することができ、これによつてスループットを向上させること ができるという効果がある。

Claims

請求の範囲
[1] 一方の送受信装置から 1パケットデータ又は複数パケットデータの塊であるデータュ ニットを、ネットワークを介して他方の送受信装置へ送達する通信システムであって、 前記送受信装置は、
前記受信側の送受信装置へ前記データユニットを送信する送信手段と、 前記受信側の送受信装置から送信されたデータユニットの確認応答を受信する受 信手段と、
前記データユニットの送信後、このデータユニットに対する確認応答が前記受信手 段にて予め定められた時間内に受信されない場合に当該データユニットが損失した と判定する第 1のロス判定手段と、
前記第 1のロス判定手段でデータユニット損失と判定された際にデータユニットを再 送する再送手段と、
前記第 1のロス判定手段の判定結果が前記データユニット又は前記確認応答の遅 延に起因するか否かを判定し、遅延に起因すると判定された際にスプリアスタイムァ ゥトと判定するスプリアスタイムアウト判定手段と、
前記スプリアスタイムアウトと判定された場合、前記データユニットの送信数を制御 する輻輳ウィンドウのサイズを減少させる目標値を設定し、前記受信手段によって前 記確認応答が受信されたことを契機に、該輻輳ウィンドウのサイズを該目標値まで段 階的に減少させる制御を行う制御手段と
を備えたことを特徴とする通信システム。
[2] 前記制御手段は、前記スプリアスタイムアウトと判定された際に、該スプリアスタイムァ ゥトの判定時において送信済の全データユニットの確認応答が受信された時点で、 前記輻輳ウィンドウのサイズが前記目標値より大きければ、該輻輳ウィンドウのサイズ を該目標値及びフライトサイズの何れか一方に設定することを特徴とする請求の範囲 第 1項に記載の通信システム。
[3] 一方の送受信装置から 1パケットデータ又は複数パケットデータの塊であるデータュ ニットを、ネットワークを介して他方の送受信装置へ送達する通信システムであって、 前記送受信装置は、 前記受信側の送受信装置へ前記データユニットを送信する送信手段と、 前記受信側の送受信装置から送信されたデータユニットの確認応答を受信する受 信手段と、
前記データユニットの送信後、このデータユニットに対する確認応答が前記受信手 段にて予め定められた時間内に受信されない場合に当該データユニットが損失した と判定する第 1のロス判定手段と、
前記第 1のロス判定手段でデータユニット損失と判定された際にデータユニットを再 送する再送手段と、
前記第 1のロス判定手段の判定結果が前記データユニット又は前記確認応答の遅 延に起因するか否かを判定し、遅延に起因すると判定された際にスプリアスタイムァ ゥトと判定するスプリアスタイムアウト判定手段と、
前記受信手段で受信された確認応答に基づレ、て、前記データユニットの損失を検 出する第 2のロス判定手段と、
前記スプリアスタイムアウトと判定された場合、該スプリアスタイムアウトの判定時に ぉレ、て送信済の全データユニットの確認応答が受信されるまでは、前記第 2のロス判 定手段にてデータユニットの損失が検出されても、スロースタート閾値を減少させな い制御を行う制御手段と、
を備えたことを特徴とする通信システム。
1パケットデータ又は複数パケットデータの塊であるデータユニットを、ネットワークを 介して受信側通信装置に送達する通信装置であって、
前記受信側通信装置に前記データユニットを送信する送信手段と、
前記受信側通信装置から送信されたデータユニットの確認応答を受信する受信手 段と、
前記データユニットの送信後、このデータユニットに対する確認応答が前記受信手 段にて予め定められた時間内に受信されない場合に当該データユニットが損失した と判定する第 1のロス判定手段と、
前記第 1のロス判定手段でデータユニット損失と判定された際にデータユニットを再 送する再送手段と、 前記第 1のロス判定手段の判定結果が前記データユニット及び前記確認応答の何 れか一方の遅延に起因するか否かを判定し、前記データユニットの遅延に起因する と判定された際にスプリアスタイムアウトと判定するスプリアスタイムアウト判定手段と、 前記スプリアスタイムアウトと判定された場合、前記データユニットの送信数を制御 する輻輳ウィンドウのサイズを減少させる目標値を設定し、前記受信手段によって前 記確認応答が受信されたことを契機に、該輻輳ウィンドウのサイズを該目標値まで段 階的に減少させる制御を行う制御手段と
を備えたことを特徴とする通信装置。
[5] 前記制御手段は、前記スプリアスタイムアウトと判定された際に、前記再送手段での データユニットの再送前に送信された全データユニットの確認応答が受信された時 点で、前記輻輳ウィンドウのサイズが前記目標値より大きければ、該輻輳ウィンドウの サイズを該目標値及びフライトサイズの何れか一方に設定することを特徴とする請求 の範囲第 4項に記載の通信装置。
[6] 前記目標値は、前記スプリアスタイムアウトと判定された時点のフライトサイズの 1/n であることを特徴とする請求の範囲第 4項または第 5項に記載の通信装置。
[7] 前記目標値は、前記データユニットの 1つ分であることを特徴とする請求の範囲第 4 項または第 5項に記載の通信装置。
[8] 1パケットデータ又は複数パケットデータの塊であるデータユニットを、ネットワークを 介して受信側通信装置に送達する通信装置であって、
前記受信側通信装置に前記データユニットを送信する送信手段と、
前記受信側通信装置から送信されたデータユニットの確認応答を受信する受信手 段と、
前記データユニットの送信後、このデータユニットに対する確認応答が前記受信手 段にて予め定められた時間内に受信されない場合に当該データユニットが損失した と判定する第 1のロス判定手段と、
前記第 1のロス判定手段でデータユニット損失と判定された際にデータユニットを再 送する再送手段と、
前記第 1のロス判定手段の判定結果が前記データユニット及び前記確認応答の何 れか一方の遅延に起因するか否かを判定し、前記データユニットの遅延に起因する と判定された際にスプリアスタイムアウトと判定するスプリアスタイムアウト判定手段と、 前記受信手段で受信された確認応答に基づレ、て、前記データユニットの損失を検 出する第 2のロス判定手段と、
前記スプリアスタイムアウトと判定された場合、該スプリアスタイムアウトの判定時に ぉレ、て送信済の全データユニットの確認応答が受信されるまでは、前記第 2のロス判 定手段にてデータユニットの損失が検出されても、スロースタート閾値を減少させな い制御を行う制御手段と、
を備えたことを特徴とする通信装置。
[9] 送信側の通信装置から 1パケットデータ又は複数パケットデータの塊であるデータュ ニットを、ネットワークを介して受信側の通信装置へ送達する通信方法であって、 前記送信側の通信装置は、
前記データユニットの送信後、このデータユニットに対する前記受信側の通信装置 力 の確認応答が予め定められた時間内に受信されない場合に当該データユニット が損失したと判定する第 1のステップと、
前記第 1のステップでデータユニット損失と判定された際にデータユニットを再送す 前記第 1のステップでの判定結果が前記データユニット及び前記確認応答の何れ か一方の遅延に起因するか否かを判定し、前記データユニットの遅延に起因すると 判定された際にスプリアスタイムアウトと判定する第 3のステップと、
前記第 3のステップでスプリアスタイムアウトと判定された場合、前記データユニット の送信数を制御する輻輳ウィンドウのサイズを減少させる目標値を設定し、前記確認 応答が受信されたことを契機に、該輻輳ウィンドウのサイズを該目標値まで段階的に 減少させる第 4のステップと
を更に含むことを特徴とする通信方法。
[10] 送信側の通信装置から 1パケットデータ又は複数パケットデータの塊であるデータュ ニットを、ネットワークを介して受信側の通信装置へ送達する通信方法であって、 前記送信側の通信装置は、 前記データユニットの送信後、このデータユニットに対する前記受信側の通信装置 力 の確認応答が予め定められた時間内に受信されない場合に当該データユニット が損失したと判定する第 1のステップと、
前記第 1のステップでデータユニット損失と判定された際にデータユニットを再送す 前記第 1のステップでの判定結果が前記データユニット及び前記確認応答の何れ か一方の遅延に起因するか否かを判定し、前記データユニットの遅延に起因すると 判定された際にスプリアスタイムアウトと判定する第 3のステップと、
前記送信側の通信装置で受信された前記確認応答に基づ!/、て、前記データュニ ットの損失を検出する第 4のステップと、
前記スプリアスタイムアウトと判定された場合、該スプリアスタイムアウトの判定時に ぉレ、て送信済の全データユニットの確認応答が受信されるまでは、前記第 4のステツ プにてデータユニットの損失が検出されても、スロースタート閾値を減少させないよう にする第 5のステップとを含むことを特徴とする通信方法。
[11] ネットワークを介してデータユニットを送受信する通信装置を含む通信システムであつ て、
前記通信装置は、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段 と、
前記受信側の通信装置によって送信された確認応答を受信する受信手段と、 前記受信手段によって受信された確認応答が重複応答であるか否かを判定する重 複応答判定手段と、
タイマを用いて前記データユニットの損失を判定する第 1のロス判定手段と、 前記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応 答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定手段と、
ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、 前記ウィンドウ制御手段は、
前記スプリアスタイムアウト判定手段によって、前記第 1のロス判定手段における判 定結果が前記データユニット又は前記確認応答の遅延に起因すると判定された場合 、前記受信手段によって受信された確認応答が、前記第 1のロス判定手段の判定結 果に基づいて再送が行われた時点より前に送信された一部のデータユニットの受信 を確認するものであって、前記重複応答判定手段によって該確認応答が重複応答 であると判定されたとき、前記ウィンドウサイズを前記データユニット 3個以上越える所 定個数まで、未送信のデータユニットの送信を許可することを特徴とする通信システ ム。
[12] ネットワークを介してデータユニットを送信する通信装置であって、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段 と、
前記受信側の通信装置によって送信された確認応答を受信する受信手段と、 前記受信手段によって受信された確認応答が重複応答であるか否かを判定する重 複応答判定手段と、
タイマを用いて前記データユニットの損失を判定する第 1のロス判定手段と、 前記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応 答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定手段と、
ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、 前記ウィンドウ制御手段は、
前記スプリアスタイムアウト判定手段によって、前記第 1のロス判定手段における判 定結果が前記データユニット又は前記確認応答の遅延に起因すると判定された場合 、前記受信手段によって受信された確認応答が、前記第 1のロス判定手段の判定結 果に基づいて再送が行われた時点より前に送信された一部のデータユニットの受信 を確認するものであって、前記重複応答判定手段によって該確認応答が重複応答 であると判定されたとき、前記ウィンドウサイズを前記データユニット 3個以上越える所 定個数まで、未送信のデータユニットの送信を許可することを特徴とする通信装置。
[13] ネットワークを介してデータユニットを送受信する通信装置を含む通信システムにお ける通信方法であって、
前記通信装置が、 受信側の通信装置に対して前記データユニットを送信するデータユニット送信ステ 前記受信側の通信装置によって送信された確認応答を受信する受信ステップと、 前記受信ステップにおいて受信された確認応答が重複応答であるか否かを判定す る重複応答判定ステップと、
タイマを用いて前記データユニットの損失を判定する第 1のロス判定ステップと、 前記第 1のロス判定ステップにおける判定結果が前記データユニット又は前記確認 応答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定ステップと、 ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御ステップとを含み 前記ウィンドウ制御ステップでは、
前記スプリアスタイムアウト判定ステップにおいて、前記第 1のロス判定ステップにお ける判定結果が前記データユニット又は前記確認応答の遅延に起因すると判定され た場合、前記応答受信ステップにおいて受信された確認応答力 前記第 1のロス判 定ステップの判定結果に基づいて再送が行われた時点より前に送信された一部のデ ータユニットの受信を確認するものであって、前記重複応答判定ステップにおレ、て該 確認応答が重複応答であると判定されたとき、前記ウィンドウサイズを前記データュ ニット 3個以上越える所定個数まで、未送信のデータユニットの送信が許可されること を特徴とする通信方法。
[14] ネットワークを介してデータユニットを送受信する通信装置を含む通信システムであつ て、
前記通信装置は、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段 と、
前記受信側の通信装置によって送信された確認応答を受信する受信手段と、 タイマを用いて前記データユニットの損失を判定する第 1のロス判定手段と、 前記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応 答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定手段と、 ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、 前記ウィンドウ制御手段は、
前記スプリアスタイムアウト判定手段によって、前記第 1のロス判定手段における判 定結果が前記データユニット又は前記確認応答の遅延に起因すると判定された場合
、前記第 1のロス判定手段の判定結果に基づいて再送が行われた時点より前に送信 されたすべてのデータユニットが受信確認されるまでの間、前記受信手段によって確 認応答が受信された後も、前記ウィンドウサイズを保持することを特徴とする通信シス テム。
[15] ネットワークを介してデータユニットを送信する通信装置であって、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段 と、
前記受信側の通信装置によって送信された確認応答を受信する受信手段と、 タイマを用いて前記データユニットの損失を判定する第 1のロス判定手段と、 前記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応 答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定手段と、
ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、 前記ウィンドウ制御手段は、
前記スプリアスタイムアウト判定手段によって、前記第 1のロス判定手段における判 定結果が前記データユニット又は前記確認応答の遅延に起因すると判定された場合
、前記第 1のロス判定手段の判定結果に基づいて再送が行われた時点より前に送信 されたすべてのデータユニットが受信確認されるまでの間、前記受信手段によって確 認応答が受信された後も、前記ウィンドウサイズを保持することを特徴とする通信装置
[16] ネットワークを介してデータユニットを送受信する通信装置を含む通信システムにお ける通信方法であって、
前記通信装置が、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信ステ 前記受信側の通信装置によって送信された確認応答を受信する受信ステップと、 タイマを用いて前記データユニットの損失を判定する第 1のロス判定ステップと、 前記第 1のロス判定ステップにおける判定結果が前記データユニット又は前記確認 応答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定ステップと、 ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御ステップとを含み 前記ウィンドウ制御ステップでは、
前記スプリアスタイムアウト判定ステップにおいて、前記第 1のロス判定ステップにお ける判定結果が前記データユニット又は前記確認応答の遅延に起因すると判定され た場合、前記第 1のロス判定ステップの判定結果に基づ!/、て再送が行われた時点よ り前に送信されたすベてのデータユニットが受信確認されるまでの間、前記受信ステ ップにおいて確認応答が受信された後も、前記ウィンドウサイズが保持されることを特 徴とする通信方法。
[17] ネットワークを介してデータユニットを送受信する通信装置を含む通信システムであつ て、
前記通信装置は、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段 と、
前記受信側の通信装置によって送信された確認応答を受信する受信手段と、 タイマを用いて前記データユニットの損失を判定する第 1のロス判定手段と、 前記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応 答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定手段と、
前記受信側の通信装置からの確認応答に基づいてデータユニットの損失を判定す る第 2のロス判定手段と、
前記第 2のロス判定手段によってデータユニットが損失したと判定された場合、該デ ータユニットの損失を回復するロス回復手段と、
ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、 前記ウィンドウ制御手段は、 前記スプリアスタイムアウト判定手段によって、前記第 1のロス判定手段における判 定結果が前記データユニット又は前記確認応答の遅延に起因すると判定された場合
、前記第 2のロス判定手段によって損失したものと判定されたデータユニットが、前記 第 1のロス判定手段の判定結果に基づいて再送が行われた時点より前に送信された データユニットであれば、前記第 2のロス判定手段が損失の判定に用いた確認応答 の数に応じて、前記ウィンドウサイズを増加させることを特徴とする通信システム。
[18] 前記ウィンドウ制御手段は、
前記スプリアスタイムアウト判定手段によって、前記第 1のロス判定手段における判 定結果が前記データユニット又は前記確認応答の遅延に起因すると判定された場合 、前記第 2のロス判定手段によって損失したものと判定されたデータユニットが、前記 第 1のロス判定手段の判定結果に基づいて再送が行われた時点より前に送信された データユニットであれば、前記第 2のロス判定手段が損失の判定に用いた重複応答 の数から 1を引いた個数のデータユニットに対応するサイズだけ、前記ウィンドウサイ ズを増加させることを特徴とする請求の範囲第 17項に記載の通信システム。
[19] ネットワークを介してデータユニットを送信する通信装置であって、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段 と、
前記受信側の通信装置によって送信された確認応答を受信する受信手段と、 タイマを用いて前記データユニットの損失を判定する第 1のロス判定手段と、 前記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応 答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定手段と、
前記受信側の通信装置からの確認応答に基づいてデータユニットの損失を判定す る第 2のロス判定手段と、
前記第 2のロス判定手段によってデータユニットが損失したと判定された場合、該デ ータユニットの損失を回復するロス回復手段と、
ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、 前記ウィンドウ制御手段は、
前記スプリアスタイムアウト判定手段によって、前記第 1のロス判定手段における判 定結果が前記データユニット又は前記確認応答の遅延に起因すると判定された場合 、前記第 2のロス判定手段によって損失したものと判定されたデータユニットが、前記 第 1のロス判定手段の判定結果に基づいて再送が行われた時点より前に送信された データユニットであれば、前記第 2のロス判定手段が損失の判定に用いた確認応答 の数に応じて、前記ウィンドウサイズを増加させることを特徴とする通信装置。
ネットワークを介してデータユニットを送受信する通信装置を含む通信システムにお ける通信方法であって、
前記通信装置が、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信ステ 前記受信側の通信装置によって送信された確認応答を受信する受信ステップと、 タイマを用いて前記データユニットの損失を判定する第 1のロス判定ステップと、 前記第 1のロス判定ステップにおける判定結果が前記データユニット又は前記確認 応答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定ステップと、 前記受信側の通信装置からの確認応答に基づいてデータユニットの損失を判定す る第 2のロス判定ステップと、
前記第 2のロス判定ステップにおいてデータユニットが損失したと判定された場合、 該データユニットの損失を回復するロス回復ステップと、
ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御ステップとを含み 前記ウィンドウ制御ステップでは、
前記スプリアスタイムアウト判定ステップにおいて、前記第 1のロス判定ステップにお ける判定結果が前記データユニット又は前記確認応答の遅延に起因すると判定され た場合、前記第 2のロス判定ステップにお!/、て損失したものと判定されたデータュニ ット力 前記第 1のロス判定ステップの判定結果に基づいて再送が行われた時点より 前に送信されたデータユニットであれば、前記第 2のロス判定ステップが損失の判定 に用いた確認応答の数に応じて、前記ウィンドウサイズが増加されることを特徴とする ¾信万法。 [21] ネットワークを介してデータユニットを送受信する通信装置を含む通信システムであつ て、
前記通信装置は、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段 と、
前記受信側の通信装置によって送信された確認応答を受信する受信手段と、 タイマを用いて前記データユニットの損失を判定する第 1のロス判定手段と、 前記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応 答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定手段と、
前記受信側の通信装置からの確認応答に基づいてデータユニットの損失を判定す る第 2のロス判定手段と、
前記第 2のロス判定手段によってデータユニットが損失したと判定された場合、該デ ータユニットの損失を回復するロス回復手段と、
ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、 前記ロス回復手段は、
前記受信手段によって受信された確認応答の値に応じてロス回復の完了を判定す る閾値を保持すると共に、前記スプリアスタイムアウト判定手段によって、前記第 1の ロス判定手段における判定結果が前記データユニット又は前記確認応答の遅延に 起因すると判定された場合、前記第 2のロス判定手段によって、前記第 1のロス判定 手段の判定結果に基づいて再送が行われた時点より前に送信されたデータユニット が損失したものと判定されたとき、前記第 1のロス判定手段の判定結果に基づいて再 送が行われた時点で送信済みのデータユニットの最大シーケンス番号に応じた値を ロス回復の完了を判定する前記閾値に設定することを特徴とする通信システム。
[22] ネットワークを介してデータユニットを送信する通信装置であって、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信手段 と、
前記受信側の通信装置によって送信された確認応答を受信する受信手段と、 タイマを用いて前記データユニットの損失を判定する第 1のロス判定手段と、 前記第 1のロス判定手段における判定結果が前記データユニット又は前記確認応 答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定手段と、
前記受信側の通信装置からの確認応答に基づいてデータユニットの損失を判定す る第 2のロス判定手段と、
前記第 2のロス判定手段によってデータユニットが損失したと判定された場合、該デ ータユニットの損失を回復するロス回復手段と、
ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御手段とを有し、 前記ロス回復手段は、
前記受信手段によって受信された確認応答の値に応じてロス回復の完了を判定す る閾値を保持すると共に、前記スプリアスタイムアウト判定手段によって、前記第 1の ロス判定手段における判定結果が前記データユニット又は前記確認応答の遅延に 起因すると判定された場合、前記第 2のロス判定手段によって、前記第 1のロス判定 手段の判定結果に基づいて再送が行われた時点より前に送信されたデータユニット が損失したものと判定されたとき、前記第 1のロス判定手段の判定結果に基づいて再 送が行われた時点で送信済みのデータユニットの最大シーケンス番号に応じた値を ロス回復の完了を判定する前記閾値に設定することを特徴とする通信装置。
[23] ネットワークを介してデータユニットを送受信する通信装置を含む通信システムにお ける通信方法であって、
前記通信装置が、
受信側の通信装置に対して前記データユニットを送信するデータユニット送信ステ
Figure imgf000057_0001
前記第 1のロス判定ステップにおける判定結果が前記データユニット又は前記確認 応答の遅延に起因するか否力、を判定するスプリアスタイムアウト判定ステップと、 前記受信側の通信装置からの確認応答に基づいてデータユニットの損失を判定す る第 2のロス判定ステップと、
前記第 2のロス判定ステップにおいてデータユニットが損失したと判定された場合、 該データユニットの損失を回復するロス回復ステップと、
ウィンドウを用いてデータユニット送信数を制御するウィンドウ制御ステップとを含み 前記ロス回復ステップでは、
前記受信ステップにおいて受信された確認応答の値に応じてロス回復の完了を判 定する閾値が保持されると共に、前記スプリアスタイムアウト判定ステップにおいて、 前記第 1のロス判定ステップにおける判定結果が前記データユニット又は前記確認 応答の遅延に起因すると判定された場合、前記第 2のロス判定ステップにおいて、前 記第 1のロス判定ステップの判定結果に基づいて再送が行われた時点より前に送信 されたデータユニットが損失したものと判定されたとき、前記第 1のロス判定ステップ の判定結果に基づいて再送が行われた時点で送信済みのデータユニットの最大シ 一ケンス番号に応じた値がロス回復の完了を判定する前記閾値に設定されることを 特徴とする通信方法。
PCT/JP2007/069607 2006-10-05 2007-10-05 Système, périphérique et procédé de communication WO2008044653A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008538714A JP4898822B2 (ja) 2006-10-05 2007-10-05 通信システム、通信装置、通信方法
EP07829345.3A EP2068510B1 (en) 2006-10-05 2007-10-05 Communication system, communication device, and communication method
US12/444,386 US8418016B2 (en) 2006-10-05 2007-10-05 Communication system, communication device, and communication method
CN2007800372337A CN101523828B (zh) 2006-10-05 2007-10-05 通信系统、通信装置以及通信方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006273884 2006-10-05
JP2006-273884 2006-10-05

Publications (1)

Publication Number Publication Date
WO2008044653A1 true WO2008044653A1 (fr) 2008-04-17

Family

ID=39282848

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/069607 WO2008044653A1 (fr) 2006-10-05 2007-10-05 Système, périphérique et procédé de communication

Country Status (5)

Country Link
US (1) US8418016B2 (ja)
EP (1) EP2068510B1 (ja)
JP (1) JP4898822B2 (ja)
CN (1) CN101523828B (ja)
WO (1) WO2008044653A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018033119A (ja) * 2016-08-17 2018-03-01 日本電信電話株式会社 パケット通信システム及びその輻輳制御方法、並びに、輻輳制御プログラム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101530850B1 (ko) * 2008-08-20 2015-07-06 삼성전자주식회사 무선통신시스템에서 자동 재전송 요청 피드백 장치 및 방법
US8565242B2 (en) * 2008-11-04 2013-10-22 Blackberry Limited Transport protocol performance using network bit rate information
JP5080654B2 (ja) * 2008-12-05 2012-11-21 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信方法
US8582561B2 (en) * 2009-07-31 2013-11-12 Htc Corporation Method of handling P-TMSI change in a wireless communication system and related communication device
US8724471B2 (en) * 2011-03-02 2014-05-13 Mobidia Technology, Inc. Methods and systems for sliding bubble congestion control
WO2012121635A1 (en) * 2011-03-10 2012-09-13 Telefonaktiebolaget L M Ericsson (Publ) Hybrid congestion control
KR101835387B1 (ko) * 2011-04-29 2018-03-08 삼성전자주식회사 단말기 및 그 단말기에서 자원 스케줄링 방법
US9485186B2 (en) * 2013-07-23 2016-11-01 Cisco Technology, Inc. Network congestion control with awareness of random packet losses
US10581687B2 (en) 2013-09-26 2020-03-03 Appformix Inc. Real-time cloud-infrastructure policy implementation and management
US9385959B2 (en) 2013-09-26 2016-07-05 Acelio, Inc. System and method for improving TCP performance in virtualized environments
US10291472B2 (en) 2015-07-29 2019-05-14 AppFormix, Inc. Assessment of operational states of a computing environment
US10355997B2 (en) * 2013-09-26 2019-07-16 Appformix Inc. System and method for improving TCP performance in virtualized environments
EP3319281B1 (en) 2014-04-23 2020-08-19 Bequant S.L. Method and appratus for network congestion control based on transmission rate gradients
US9906454B2 (en) 2014-09-17 2018-02-27 AppFormix, Inc. System and method for providing quality of service to data center applications by controlling the rate at which data packets are transmitted
US9515777B2 (en) * 2014-10-23 2016-12-06 International Business Machines Corporation Snoop virtual receiver time
CN105763474B (zh) * 2014-12-19 2019-10-25 华为技术有限公司 数据传输方法和装置
CN105827537B (zh) * 2016-06-01 2018-12-07 四川大学 一种基于quic协议的拥塞改进方法
US11514418B2 (en) * 2017-03-19 2022-11-29 Nxp B.V. Personal point of sale (pPOS) device with a local and/or remote payment kernel that provides for card present e-commerce transaction
US11068314B2 (en) 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US10868742B2 (en) 2017-03-29 2020-12-15 Juniper Networks, Inc. Multi-cluster dashboard for distributed virtualization infrastructure element monitoring and policy control
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
US20190058663A1 (en) * 2017-08-18 2019-02-21 Futurewei Technologies, Inc. Flowlet-Based Load Balancing
US11620623B2 (en) 2018-05-31 2023-04-04 Nxp B.V. Merchant transaction mirroring for personal point of sale (pPOS) for card present e-commerce and in vehicle transaction
JP7018827B2 (ja) * 2018-06-13 2022-02-14 本田技研工業株式会社 通信システム及び車両

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000041362A1 (en) 1999-01-08 2000-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Communication device and method
EP1077559A1 (en) 1999-08-17 2001-02-21 Telefonaktiebolaget Lm Ericsson Method and device for determining a time-parameter
WO2001097438A2 (en) 2000-06-14 2001-12-20 Nokia Inc. Performance enhancement of transmission control protocol (tcp) for wireless network applications
WO2002019654A2 (en) 2000-08-31 2002-03-07 The Regents Of The University Of California Method for improving tcp performance over wireless links
JP2005136637A (ja) * 2003-10-29 2005-05-26 Ntt Docomo Inc 送信装置およびプログラム
EP1536589A2 (en) 2003-11-28 2005-06-01 NTT DoCoMo, Inc. Transmitter device for controlling data transmission
US20050198350A1 (en) 2004-01-15 2005-09-08 Microsoft Corporation Spurios timeout detection in TCP based networks
EP1578070A1 (en) 2004-03-15 2005-09-21 Microsoft Corporation Method and apparatus for responding to a spurious timeout
JP2006129487A (ja) * 2004-10-29 2006-05-18 Lg Electronics Inc 高速移動通信網におけるtcpの流れ制御方法
JP2006173961A (ja) * 2004-12-15 2006-06-29 Hiroyasu Obata 広帯域、高遅延無線ネットワークにおけるtcp輻輳制御方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1134135C (zh) * 2000-11-22 2004-01-07 深圳市中兴通讯股份有限公司 一种应用于双网容错系统的通讯方法
AU2002253437A1 (en) * 2002-04-12 2003-10-27 Nokia Corporation System, device and method for improving throughput in a communication network, preferably a mobile ipv6-based network
EP1383281A1 (en) 2002-07-19 2004-01-21 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method for calculating a transmission window size
US8230106B2 (en) * 2003-03-31 2012-07-24 Alcatel Lucent Methods and apparatus for improved transmission control protocol transmission over a wireless channel exhibiting rate and delay variations
US8004981B2 (en) * 2003-06-17 2011-08-23 Cisco Technology, Inc. Methods and devices for the coordination of flow control between a TCP/IP network and other networks
US8228952B2 (en) * 2003-08-22 2012-07-24 Imec Method for operating a telecom system
US7760638B2 (en) 2004-11-29 2010-07-20 Nec Corporation High-throughput communication system, communication terminal, session relay, and communication protocol
JP2006217235A (ja) 2005-02-03 2006-08-17 Nippon Telegr & Teleph Corp <Ntt> 輻輳制御方法及び送信端末
US7719967B2 (en) * 2005-09-28 2010-05-18 Netapp, Inc. Cumulative TCP congestion control

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000041362A1 (en) 1999-01-08 2000-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Communication device and method
EP1077559A1 (en) 1999-08-17 2001-02-21 Telefonaktiebolaget Lm Ericsson Method and device for determining a time-parameter
WO2001097438A2 (en) 2000-06-14 2001-12-20 Nokia Inc. Performance enhancement of transmission control protocol (tcp) for wireless network applications
WO2002019654A2 (en) 2000-08-31 2002-03-07 The Regents Of The University Of California Method for improving tcp performance over wireless links
JP2005136637A (ja) * 2003-10-29 2005-05-26 Ntt Docomo Inc 送信装置およびプログラム
EP1536589A2 (en) 2003-11-28 2005-06-01 NTT DoCoMo, Inc. Transmitter device for controlling data transmission
US20050198350A1 (en) 2004-01-15 2005-09-08 Microsoft Corporation Spurios timeout detection in TCP based networks
EP1578070A1 (en) 2004-03-15 2005-09-21 Microsoft Corporation Method and apparatus for responding to a spurious timeout
JP2005269643A (ja) * 2004-03-15 2005-09-29 Microsoft Corp スプリアスタイムアウトに対する応答
JP2006129487A (ja) * 2004-10-29 2006-05-18 Lg Electronics Inc 高速移動通信網におけるtcpの流れ制御方法
JP2006173961A (ja) * 2004-12-15 2006-06-29 Hiroyasu Obata 広帯域、高遅延無線ネットワークにおけるtcp輻輳制御方式

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
GURTOV, A. ET AL.: "Responding to Spurious Timeouts in TCP", THE CONFERENCE ON COMPUTER COMMUNICATIONS, TWENTY-SECOND ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES; [PROCEEDINGS IEEE INFOCOM. THE CONFERENCE ON COMPUTER COMMUNICATIONS, vol. 3, 30 March 2003 (2003-03-30), pages 2312 - 2322, XP002332458, DOI: doi:10.1109/INFCOM.2003.1209251
HASEGAWA G. ET AL.: "Improvement of the Congestion Control Mechanism of TCP to Avoid Mis-retransmission", THE TRANSACTIONS OF THE IEICE, vol. J82-B, no. 11, pages 2074 - 2084, XP008105370 *
PARSA, C. ET AL., IMPROVING TCP CONGESTION CONTROL OVER INTERNETS WITH HETEROGENEOUS TRANSMISSION DATA, 31 October 1999 (1999-10-31), pages 213 - 221
SAROLAHTI, P. ET AL.: "Computer Communication Review", vol. 33, 1 April 2003, ACM, article "F-RTO: An Enhanced Recovery Algorithm for TCP Retransmission Timeouts", pages: 51 - 63
See also references of EP2068510A4
SWAMI, Y. ET AL.: "DCLOR: De-correlated Loss Recovery using SACK option for spurious timeouts", INTERNET DRAFT, XX, XX, 8 March 2004 (2004-03-08), pages 1 - 9, XP002332459

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018033119A (ja) * 2016-08-17 2018-03-01 日本電信電話株式会社 パケット通信システム及びその輻輳制御方法、並びに、輻輳制御プログラム

Also Published As

Publication number Publication date
EP2068510A1 (en) 2009-06-10
CN101523828A (zh) 2009-09-02
JP4898822B2 (ja) 2012-03-21
US20100011270A1 (en) 2010-01-14
JPWO2008044653A1 (ja) 2010-02-12
EP2068510B1 (en) 2018-01-17
US8418016B2 (en) 2013-04-09
EP2068510A4 (en) 2012-11-07
CN101523828B (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
WO2008044653A1 (fr) Système, périphérique et procédé de communication
KR100785293B1 (ko) 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법
CN102006283B (zh) 数据传输的方法和装置
US8462624B2 (en) Congestion management over lossy network connections
EP2109954B1 (en) Ack prioritization in wireless networks
US7808910B2 (en) Communication terminal, congestion control method, and congestion control program
JP4654926B2 (ja) 通信システム、通信装置及びそれらに用いる輻輳制御方法並びにそのプログラム
KR100547749B1 (ko) 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜의혼잡제어 방법과 시스템
US8085669B2 (en) Session relay device and session relay method
CN101369877B (zh) 无线传输控制协议处理方法和设备
CN1423869A (zh) 用于蜂窝电信的链路层确认和重发
WO2002056631A1 (fr) Systeme de communication mobile et procede de transmission radio
WO2016201904A1 (zh) 一种基于tcp的数据传输方法及装置
US7738395B2 (en) Communication system for improving data transmission efficiency of TCP in a wireless network environment and a method thereof
Wong et al. Improving end-to-end performance of TCP using link-layer retransmissions over mobile internetworks
JP3434231B2 (ja) Tcp制御方法
US20140341028A1 (en) Reducing superfluous traffic in a network
Maisuria et al. Overview of techniques for improving QoS of TCP over wireless links
JP2000022744A (ja) パケット通信システム、パケット通信装置及びパケット通信方法
Bestak et al. RLC buffer occupancy when using a TCP connection over UMTS
KR100913897B1 (ko) 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법
CN106100797B (zh) 一种基于ltp异步加速重传策略的深空文件传输方法
GB2576204A (en) Operation of automatic repeat request (ARQ)
CN115766747A (zh) 一种适用于无线信道的可靠高效传输方法
WO2008112456A1 (en) Method and apparatus for handling interconnection transmissions

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780037233.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07829345

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008538714

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007829345

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12444386

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE