WO2005027456A1 - 通信システム、通信装置、およびデータの再送制御方法 - Google Patents

通信システム、通信装置、およびデータの再送制御方法 Download PDF

Info

Publication number
WO2005027456A1
WO2005027456A1 PCT/JP2004/013533 JP2004013533W WO2005027456A1 WO 2005027456 A1 WO2005027456 A1 WO 2005027456A1 JP 2004013533 W JP2004013533 W JP 2004013533W WO 2005027456 A1 WO2005027456 A1 WO 2005027456A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
packet
transmission
data packet
received
Prior art date
Application number
PCT/JP2004/013533
Other languages
English (en)
French (fr)
Inventor
Shuji Tateno
Masaya Teraoka
Tetsuji Tamagawa
Original Assignee
Nomura Research Institute Co., Ltd.
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 Nomura Research Institute Co., Ltd. filed Critical Nomura Research Institute Co., Ltd.
Priority to US10/572,501 priority Critical patent/US7885264B2/en
Priority to JP2005513964A priority patent/JP4495085B2/ja
Priority to EP04816142A priority patent/EP1667395A4/en
Publication of WO2005027456A1 publication Critical patent/WO2005027456A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1832Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Definitions

  • the present invention relates to a technique for retransmitting data when a packet loss occurs, and more particularly to a technique for retransmitting data such that a packet loss rate is high and a transmission speed is not reduced even on a transmission path.
  • a packet loss rate is high and a transmission speed is not reduced even on a transmission path.
  • TCP Transmission
  • IP Internet Protocol
  • Control Protocol has the following two functions for performing retransmission control.
  • the transmitting side performs retransmission immediately (Fast retransmission function).
  • ReACK ReACK
  • SACK Selective ACK option function to include packet reception information in acknowledgment information (ACK).
  • Non-Patent Document 1 TCP: RFC793 (http://www.faqs.org/rfcs/rfc2001.html)
  • Non-Patent Document 2 Fast Retransmit: RFC2001 (http: ⁇ www.faqs.org / rfcs / rfc2001.html)
  • Non-Patent Document 3 SACK: RFC2018 (http://www.faqs.org/rfcs/rfc2018.html)
  • the immediate retransmission function does not perform further retransmission (re-retransmission) even if the retransmitted data does not arrive, so in this case, it is necessary to wait until retransmission due to timeout. Nana! / ,. This is because the transmitting side cannot confirm whether the retransmitted packet has reached the power. If retransmission is performed before confirming that the retransmission packet has arrived, packets that should not be needed may flow through the transmission path, and the transmission efficiency may be further deteriorated, leading to congestion.
  • the SACK option function When the SACK option function is used, the size of the acknowledgment information returned from the receiving side is large. Normally, packet loss occurs when the transmission path is busy, so if large data flows, the transmission efficiency is further deteriorated and congestion is likely to occur. Yes. Also, if the number of lost packets increases, the SACK option deletes all received information.
  • an object of the present invention is to provide a technique for performing data transfer such that the packet loss rate is relatively high and the transmission speed is not reduced even on a transmission path.
  • Another object of the present invention is to provide a technique for retransmitting retransmission data as soon as packet loss is found and at a minimum.
  • Still another object of the present invention is to prevent congestion due to duplicate retransmission.
  • a communication system includes a transmitting device and a receiving device.
  • Means for instructing retransmission of the data Means for instructing retransmission of the data.
  • the receiving device includes: a unit that receives the data packet transmitted from the transmitting device; a transmission serial number of the received data packet; and a reception status of the data that is earlier than the data serial number of the received data packet. Means for transmitting an acknowledgment packet including information indicating the above to the transmitting device.
  • the means for instructing the retransmission is transmitted by the transmitting device based on the information indicating the reception status included in the acknowledgment packet.
  • a data serial number that has not been extracted is obtained, and a transmission serial number of a data packet that has transmitted data relating to the extracted data serial number is obtained from the storage unit, and is included in the obtained transmission serial number and the acknowledgment packet. Based on the transmission sequence number, the data sequence number that needs to be retransmitted may be specified.
  • the information indicating the reception status indicates that the reception is continuously completed.
  • the data reception status of the data sequence number between the maximum value of the data sequence number and the maximum value of the received data sequence number may include a bit string!
  • the receiving apparatus includes a buffer for temporarily storing a data serial number included in the data packet received by the data packet receiving unit, and Means for generating the acknowledgment packet.
  • a communication device includes: means for transmitting a data packet including data, a data serial number indicating an order of the data, and a transmission serial number indicating a transmission order, and receiving the data packet.
  • Storage means for storing the transmission history of the data packet obtained, and a data sequence number requiring retransmission is specified based on the received confirmation response packet with reference to the storage means, and the specified data is transmitted to the transmission means.
  • a communication device is a communication device, comprising: means for receiving a data packet including data, a data serial number indicating an order of the data, and a transmission serial number indicating a transmission order; Means for transmitting, to the transmission source of the data packet, an acknowledgment packet including the transmission serial number of the received data packet and information indicating the reception status of the data in the order preceding the data serial number of the received data packet.
  • a communication system includes a transmitting device and a receiving device.
  • the transmitting device includes a transmitting means for transmitting the divided data obtained by dividing the transmitted data, a storing means for storing a transmission history of the divided data transmitted by the transmitting means, and a reception confirmation of the divided data.
  • Means for receiving an acknowledgment response including information indicating a reception status of the receiving apparatus before the one divided data, and referring to the storage means, based on the received acknowledgment response! Means for specifying data that requires retransmission, and instructing the transmission means to retransmit the specified divided data. Further, the receiving device receives the divided data transmitted from the transmitting device, and when the receiving unit receives the divided data, the receiving device receives the divided data before the received divided data. Acknowledgment transmitting means for generating an acknowledgment including information indicating the communication status and transmitting the acknowledgment to the transmitting device.
  • a communication system includes a transmitting device that transmits a data packet, and a receiving device that returns an acknowledgment packet to the transmitting device when receiving the data packet.
  • the transmitting device includes a transmitting unit that controls transmission of the data packet such that the number of transmitted data packets that have not received the acknowledgment packet is equal to or less than a predetermined number.
  • the receiving device receives the first data packet and measures an elapsed time of power from when the first data packet is received to when the next data packet that arrives next is received. A timer; and means for transmitting, to the transmitting device, information indicating that the data packet has not been received for the predetermined time or more when the time measured by the timer has exceeded the predetermined time.
  • the transmitting unit when the transmitting device receives information indicating that the data packet has not been received for the predetermined time or more, the transmitting unit receives an acknowledgment response packet. Even if the number of data packets is equal to or more than a predetermined number, the next data bucket may be transmitted.
  • a data packet transmitted by the transmission device stores divided data obtained by dividing transmission data. Further, the acknowledgment acknowledgment transmitted by the receiving device includes information indicating a reception status of the divided data.
  • the transmitting device includes a storage unit configured to store a transmission history of the data packet including the divided data transmitted by the transmitting unit, and a transmission history stored in the storage unit and included in the confirmation response packet. Means for specifying the divided data requiring retransmission based on the reception status of the divided data, and instructing the transmitting means to retransmit the specified divided data. Is also good.
  • the transmitting means transmits a dummy packet containing the data serial number and the transmission serial number and not including data after transmitting the data packets for all data.
  • a communication device includes a receiving unit that receives a data packet, and transmits an acknowledgment packet to a communication device that has transmitted the received data packet.
  • a timer for receiving the first data packet and measuring an elapsed time of the power until the receiving means receives the first data packet and receives a second data packet arriving next; Transmitting means for transmitting to the transmission source of the data packet information indicating that the data packet has arrived for the predetermined time or more when the time measured by the timer has exceeded a predetermined time.
  • a communication device includes a counter that counts the number of transmitted data packets that have not received an acknowledgment packet, and a counter that counts the number of data packets so that the value of the counter becomes equal to or less than a predetermined number.
  • FIG. 1 is a diagram showing a configuration of a communication system according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing an example of a format of a data transmission packet 50.
  • FIG. 3 is a diagram showing an example of a format of an acknowledgment packet 60.
  • FIG. 4 is a sequence chart of data transmission and reception performed between a transmission device 1 and a reception device 2
  • FIG. 5 is a diagram showing a correspondence relationship between a data transmission packet and an acknowledgment packet.
  • FIG. 6 is a flowchart showing a processing procedure of a retransmission control unit.
  • FIG. 8 is a diagram showing a configuration of a communication system according to a second exemplary embodiment of the present invention.
  • FIG. 9 is a sequence chart of data transmission / reception performed between a transmission device 1 and a reception device 2
  • FIG. 1 shows an apparatus constituting the present system.
  • This system includes a transmitting device 1 which is a communication device for transmitting data, and a receiving device 2 which is a communication device for receiving data.
  • the transmitting device 1 transmits a data transmission packet 50 (see FIG. 2) to the receiving device 2.
  • the receiving device 2 returns an acknowledgment packet 60.
  • the transmitting device 1 and the receiving device 2 communicate via a wired or wireless network 9.
  • the transmitting device 1 and the receiving device 2 communicate with each other using UDP (User Datagram Protocol).
  • UDP User Datagram Protocol
  • Each of the transmitting device 1 and the receiving device 2 can be configured by, for example, a computer system having a communication function.
  • the individual components or functions in the transmitting device 1 and the receiving device 2 described below are realized, for example, by executing a computer program.
  • the receiving device 2 may be, for example, a mobile phone, a PDA (Personal Data Assistant), a personal computer having a wireless communication function, or the like.
  • the transmission device 1 includes a data transmission unit 11, a retransmission control unit 12, a data storage unit 13, and a transmission history storage unit 14.
  • the data transmission unit 11 acquires data to be transmitted from the data storage unit 13, generates a data transmission packet 50, and outputs it to the network 9.
  • FIG. 2 shows the format of the data transmission packet 50.
  • the data transmission packet 50 includes a header part 51 and a data part 55, and the header part 51 further includes a transmission serial number 52 and a data serial number 53.
  • the transmission sequence number 52 is a number assigned to a packet that the transmitting device 1 sends to the receiving device 2.
  • the transmission serial number 52 is, for example, a serial number (serial number) that continues from 0, and is a number unique to each packet.
  • the transmission sequence number 52 is incremented each time a packet related to the contents of data stored in the data sequence number 53 and the data section 55 is transmitted. As described later, when a packet loss occurs in which the transmitted data does not reach the receiving device 2, the data is retransmitted. At this time, this retransmitted packet includes A different transmission sequence number 52 is assigned to a different retransmission packet.
  • the data serial number 53 is a number assigned to data stored in the data section 55.
  • the data serial number 53 is a serial number starting from 0, for example. Since the data to be transmitted is usually larger than the size of the data section 55, the data is transmitted after being divided into the size of the data section 55. Therefore, a data sequence number 53 is used to indicate the arrangement order of the divided data. Therefore, the data serial number 53 is determined based on the data stored in the data section 55. When a packet loss occurs, the data to be retransmitted is specified by the data sequence number 53.
  • the data transmitting unit 11 receives an acknowledgment packet 60 for the data transmission packet 50.
  • the format of the acknowledgment packet 60 is shown in FIG.
  • the acknowledgment packet 60 includes a next data sequence number 61, a reception status bit string 62, and a received transmission sequence number 63, as shown in FIG.
  • the next data serial number 61 indicates a data serial number to be received next by the receiving device 2.
  • a value is obtained by adding 1 to the maximum value of the consecutive data serial numbers. For example, when the receiving device 2 has already received all data up to a certain data sequence number (N), the next data sequence number 61 is (N + 1).
  • the reception status bit string 62 is a bit string indicating the reception status of the data serial numbers 61 and subsequent data serial numbers. Here, each bit corresponds to one data serial number. Then, the bit corresponding to the received data serial number is set to “1”, and the bit corresponding to the unreceived data serial number is set to “0”.
  • the least significant bit (right end) of the reception status bit string 62 is also associated with a data sequence number from the next data sequence number 61 to the maximum value of the received data sequence number in order. Therefore, the least significant bit is always “0" (received) and the most significant bit is always “1” (not received). For example, when the next data serial number 61 is "2", the data serial number "3" has not been received, the data serial number "4" has been received, and the maximum value of the received data serial number is "4". , The reception status bit string 62 is “100” (corresponding to the data serial numbers “4”, “3”, and “2” from the upper bits). However, when no packet loss has occurred, the next data sequence number 61 is larger than the maximum value of the received data sequence number, and the reception status bit string 62 is represented by “0” (1 bit).
  • the received transmission sequence number 63 is the transmission sequence number received immediately before the acknowledgment packet 60 is output. Indicates the number.
  • Retransmission control section 12 specifies data that requires retransmission based on acknowledgment packet 60, and instructs data transmission section 11 to perform retransmission. The details of how to specify the retransmission data will be described later.
  • the transmission history storage unit 14 stores a transmission log. For example, when the data transmission unit 11 outputs a data transmission packet 50 to the network 9, the header unit 51 of this packet may be stored in the transmission history storage unit 14.
  • receiving apparatus 2 includes a data receiving unit 21 and a data storage unit 22 that stores received data.
  • the data receiving unit 21 further includes a buffer for temporarily storing the received data.
  • Data receiving section 21 receives data transmission packet 50 transmitted from transmitting apparatus 1.
  • the data receiving unit 21 temporarily stores the data serial number 53 of the received data transmission packet 50 and the data stored in the data unit 55 in the buffer 23, assembles them in the order of the data serial number 53, and stores the data for each fixed data amount. Store in part 22. Further, when receiving the data transmission packet 50, the data receiving unit 21 generates an acknowledgment packet 60 for the data transmission packet 50, and outputs it to the network 9.
  • the next data serial number 61 and the reception status bit string 62 of the acknowledgment packet 60 are determined with reference to the buffer 23.
  • the received transmission sequence number 63 is the transmission sequence number 52 of the data transmission packet 50 received immediately before.
  • the acknowledgment packet 60 generated by the receiving device 2 and the retransmission control performed by the transmitting device 1 will be described using the examples shown in FIGS. 4 and 5.
  • FIG. 4 is a sequence chart of data transmission and reception performed between the transmitting device 1 and the receiving device 2.
  • a transmitting device 1 transmits a data transmission packet 50 to a receiving device 2.
  • the transmission serial number and data serial number of each packet are shown.
  • whether or not the receiving device 2 has received each data transmission packet 50 is indicated by ⁇ X of the receiving status on the receiving device 2 side.
  • an acknowledgment packet 60 is returned to the transmission device 1 for the data transmission packet 50 that the reception device 2 has been able to receive.
  • FIG. 5 is a diagram showing the header 51 and the confirmation response packet 60 of the data transmission packet 50 generated in the case of FIG. In this figure, the data with the contents The contents of the acknowledgment packet 60 output from the receiving device 2 are associated with the transmission packet 50.
  • a data transmission packet 50a with a transmission sequence number “0” and a data sequence number “0” is transmitted, and the receiving device 2 succeeds in receiving this packet (reception status “ ⁇ ”).
  • the acknowledgment packet 6 Oa is as follows. That is, since the received data serial number is “0”, the next data serial number 61 which is the data serial number to be received next is “1”. Since there is no packet loss! /, No reception status bit string 62 is "0". Since the transmission sequence number of the data transmission packet 50a is “0”, the received transmission sequence number 63 is “0”.
  • the data transmission packet 50b with the transmission sequence number “1” and the data sequence number “1” is transmitted, and the receiving device 2 succeeds in receiving this packet (reception status “ ⁇ ”). Also at this time, the acknowledgment packet 60b (next data sequence number 61 “2”, reception status bit string 62 “0”, received transmission sequence number 63 “1”) is generated as described above.
  • the reception device 2 fails to receive the data transmission packet 50c having the transmission sequence number “2” and the data sequence number “2” and the data transmission packet 50d having the transmission sequence number “3” and the data sequence number “3”. Therefore, the acknowledgment packet 60 for this is not output.
  • an acknowledgment packet 60c is generated. That is, the data sequence number received here is “4”, and the data sequence numbers “2” and “3” have not been received.
  • the next data sequence number 61 becomes “2”. Since the data sequence numbers “2” and “3” have not been received (“0”) and the data sequence number “4” has been received (“1”), the reception status bit string 62 becomes “100”.
  • the received transmission sequence number of the packet received immediately before is “4”
  • the received transmission sequence number 63 is “4”.
  • acknowledgment packets 60a, 60b, and 60c are transmitted to transmitting apparatus 1 after data transmission packets of data sequence numbers “3”, “4”, and “7” are transmitted, respectively. To reach.
  • an acknowledgment packet 60 is similarly generated and returned to the transmitting device 1.
  • Retransmission control section 12 performs retransmission control based on the content of received acknowledgment packet 60.
  • the data sequence number to be retransmitted is specified, and the data transmission unit 11 is instructed to retransmit.
  • Receiving the retransmission instruction data transmitting section 11 generates a retransmission packet according to the instruction and retransmits the packet.
  • the procedure for specifying the data sequence number to be retransmitted is shown in the flowchart of FIG. Hereinafter, description will be made with reference to FIG.
  • the retransmission control unit 12 Based on the next data sequence number 61 and the reception status bit string 62 of the received acknowledgment packet 60, the retransmission control unit 12 extracts a data sequence number 53 in which a packet loss may have occurred (S11). ). If there is no possibility of packet loss (when the reception status bit string 62 is “0”), the processing ends.
  • the retransmission control unit 12 refers to the transmission history storage unit 14 and transmits the most recent (most recent ⁇ ⁇ ) data sequence having the possibility of a packet loss being transmitted. Identify the transmission sequence number 52. That is, if the data sequence number has already been retransmitted, the transmission sequence number 52 of the transmitted packet (retransmitted) is obtained instead of the previously transmitted packet. Then, the latest transmission sequence number 52 is compared with the received transmission sequence number 63 (S12).
  • the packet loss of the data sequence number 53 is determined, and the retransmission of the packet whose packet loss is determined is instructed (S13). .
  • the latest transmission sequence number 52 is larger than the received transmission sequence number 63, the loss of the data sequence number 53 is not determined, and no retransmission instruction is issued (S14).
  • the reception status bit string 62 is “100”, and the next data serial number 61 is “2”. It can be seen that there is a possibility that packet loss will occur in the case of “3”.
  • step S12 when the processing in step S12 is performed, the most recent transmission sequence number 52 that transmitted the data sequence numbers “2” and “3” with the possibility of packet loss, when referring to the transmission history storage unit 14, It can be seen that they are “2" and "3” respectively. Since the received transmission sequence number 63 of the acknowledgment packet 60c is “4”, the latest transmission sequence number 52 is not larger than “4”. Therefore , Data serial numbers “2” and “3” are both determined to require retransmission. Then, in step S13, the data transmission unit 11 retransmits the data serial numbers “2” and “3”.
  • this acknowledgment packet 60c is performed at the timing A in FIG. Therefore, at time A, it is determined that retransmission is to be performed for data sequence numbers “2” and “3”, and data transmission unit 11 immediately retransmits data transmission packets 50f and 50g immediately thereafter.
  • the retransmission control unit 12 specifies a data sequence number in which a packet loss may have occurred.
  • the acknowledgment packet 60d is received at the timing B in FIG. 4.
  • the next data sequence number 61 is “2” and the transmission status bit string 62 is “10100” (see FIG. 5). "3" and "5" have the possibility of packet loss.
  • the most recently transmitted serial numbers are specified by referring to the transmission history storage unit 14, and the respective latest serial numbers are “8” and “9”. "5". Comparing these with the received transmission sequence number 63 “6” of the acknowledgment packet 60d, the retransmission target is only the data sequence number “5” of the transmission sequence number “5”. Therefore, retransmission control section 12 instructs data transmission section 11 to retransmit for data sequence number “5”.
  • the retransmission control unit 12 refers to the transmission history storage unit 14 and The latest transmission serial numbers of the serial numbers “2” and “5” are specified as “8” and “5”, respectively. This is compared with the received transmission sequence number 63 “9” (see Fig. 5) of the acknowledgment packet 60e, and the data transmission unit 11 is instructed to retransmit even the difference between the data sequence numbers “2” and “5”. do.
  • the loss is also determined for the retransmitted packet with the data sequence number "2". Therefore, the data sequence number “5” is retransmitted, and the data sequence number “2” is retransmitted.
  • reception confirmation of final data and retransmission control will be described with reference to FIG.
  • the reception status of the data transmission packet is confirmed using the acknowledgment packet 60 transmitted from the receiving device 2. Therefore, for example, if a packet loss occurs in the data transmission packet (final data packet) of the final data, no acknowledgment packet is transmitted thereafter. Therefore, the transmitting device 1 cannot detect the packet source of the final data packet. Therefore, after transmitting the final data packet, transmitting apparatus 1 further transmits a dummy packet.
  • the transmission sequence number of the final data packet 50m is “68” and the data sequence number is “36”.
  • the receiving device 2 has already received all data before the data serial number “36” of the final data packet 50m.
  • the transmitting device 1 After transmitting the final data packet 50m, the transmitting device 1 transmits dummy packets 50n and 50p.
  • the number of dummy packets to be transmitted is one or two or more.
  • the dummy packet is a packet in which no data is contained in the data section 55 (the data capacity of the data section 55 is 0), and at least the transmission serial number 52 is set in the header section 51.
  • Data sequence number 53 may also be set.
  • the data sequence number 53 of the dummy packet may be a continuous number of the last data packet 50 m.
  • the receiving apparatus 2 can execute the receiving process in the same manner as a packet in which data is set in the normal data section 55 even if the packet is a dummy packet.
  • the receiving device 2 when the receiving device 2 cannot receive the final data packet 50m and a packet loss occurs, an acknowledgment packet corresponding to the packet loss is not output. However, when the receiving device 2 receives the dummy packet 50 ⁇ transmitted after the final data packet 50m, the receiving device 2 transmits a confirmation response packet 60 ⁇ to the dummy packet 50 ⁇ to the transmitting device 1.
  • This acknowledgment packet 60 ⁇ contains the next data “36” is set in the serial number 61, “10” is set in the received data bit string 62, and “69” is set in the received transmission serial number 63.
  • retransmission control section 12 detects that final data packet 50m has been lost according to the procedure shown in FIG. Then, the data transmitting unit 11 generates and retransmits the retransmission packet 50q having the data sequence number 36. The data transmission 11 further transmits a dummy packet 50r in case another packet loss occurs in the retransmission packet 50q. Then, when transmitting apparatus 1 receives acknowledgment packet 60q for retransmitted final data packet 50q, data transfer is completed.
  • FIG. 8 a data communication system according to a second embodiment of the present invention will be described using FIG. 8 and FIG.
  • differences from the first embodiment will be mainly described. Therefore, the same components as those in the first embodiment are denoted by the same reference numerals, and description thereof may be omitted.
  • the data communication system also includes a transmitting device 1 and a receiving device 2, as in the first embodiment.
  • the transmission device 1 includes a data transmission unit 11A, a retransmission control unit 12, a data storage unit 13, and a transmission history storage unit 14.
  • the receiving device 2 includes a data receiving unit 21A, a data storage unit 22, a buffer 23, and a non-communication timer 24.
  • the non-communication timer 24 is a timer that measures the time during which reception is interrupted by the receiving device 2 (hereinafter, referred to as non-communication time). That is, the non-communication timer 24 measures the elapsed time from when the data receiving unit 21 receives the data transmission packet 50. Then, when the data receiving unit 21 receives the next data transmission packet 50, the time measured so far is cleared and time measurement is started again. Therefore, when the reception of the data transmission packet 50 is interrupted, the time measured by the non-communication timer 24, that is, the non-communication time continues to increase. Therefore, the non-communication timer 24 notifies the data receiving unit 21A when the non-communication time reaches a predetermined time (hereinafter, referred to as a retransmission determination time).
  • a predetermined time hereinafter, referred to as a retransmission determination time
  • the data receiving unit 21A When receiving a notification from the no-communication timer 24A that the no-communication time has reached the retransmission determination time, the data receiving unit 21A sends information indicating that there is no communication to the transmitting apparatus 1 during the retransmission determination time to the transmitting apparatus 1. To send.
  • the acknowledgment packet 60 (the acknowledgment packet corresponding to the data transmission packet 50s in the example of FIG. 9) transmitted last is used to notify the no-communication state. resend.
  • the data transmission unit 11 A transmits the data transmission packet 50 to the receiving device 2 and receives the acknowledgment packet 60 from the receiving device 2.
  • the data transmission packet 50 and the acknowledgment response packet 60 are configured in the same format as in the first embodiment. Therefore, the transmitting device 1 can grasp the reception status of the receiving device 2 by the acknowledgment packet 60.
  • the number of packets to be postponed (the acknowledgment packet 60 is returned, and the number of transmitted data transmission packets 50), which is called the window size, is determined.
  • the data transmitting section 11A includes a counter 11B for counting the number of packets to be postponed. That is, the data transmission unit 11A counts the difference between the number of transmitted data transmission packets 50 and the number of received acknowledgment packets 60 using the counter 11B. Then, packet transmission is controlled so that the value of the counter 11B becomes equal to or smaller than the window size. Therefore, if the window size is 3, for example, the data transmission unit 11A can first transmit three data transmission packets 50 unconditionally. At this time, the counter value is “3”.
  • the data transmission unit 11A cannot transmit the next packet in principle.
  • the data transmitting unit 11A decrements the value of the counter by one, and when transmitting the next data transmission packet 50, adds one again. As a result, the power transmitting unit 11A has transmitted the data transfer packet 50.
  • the acknowledgment packet 60 is returned! / ⁇ , and the number of packets is reduced to 3 or less! /.
  • the window size is 3.
  • the number of packets that the transmitting device 1 can send without waiting for the acknowledgment packet is stopped.
  • the non-communication state in which the data transmission packet 50 is not received continues.
  • the non-communication timer 24 measures the non-communication time. Then, when the non-communication time becomes equal to or longer than the predetermined retransmission determination time, the non-communication timer 24 notifies the data receiving unit 21 of the fact. Upon receiving this notification, the data receiving unit 21 In order to notify that the status has continued for the retransmission determination time or longer, the immediately preceding confirmation response packet 60s is retransmitted to the transmitting device 1. The non-communication timer 24 is cleared when retransmission is performed. Then, the non-communication timer 24 may immediately restart the measurement of the non-communication time, or may restart the measurement of the non-communication time after a predetermined time interval.
  • the acknowledgment packet 60 s retransmitted here reaches the transmitting device 1.
  • the data transmission unit 11A detects that this packet is the same as the acknowledgment packet 60s received immediately before, it is determined that the receiving device 2 is in the non-communication state. Therefore, the data transmission unit 11A temporarily raises the window size by one (here, the window size is set to 4), and transmits the data transmission packet 50w of the subsequent data serial number. If there is no subsequent data sequence number, a dummy packet is sent. That is, even if the acknowledgment packet 60 has not been received for the data transmission packet 50 having the window size or more, the transmission device 1 transmits the subsequent packet.
  • an acknowledgment packet 60 w corresponding thereto is generated according to the procedure described in the first embodiment, and is returned to the transmitting device 1. .
  • retransmission control section 12 specifies a data sequence number to be retransmitted based on this acknowledgment packet 60w, as in the first embodiment. Then, similarly to the first embodiment, the data transmission unit 11 also performs retransmission according to an instruction from the retransmission control unit 12. That is, as shown in the figure, data sequence numbers "2", "3", and "4" are retransmitted, respectively.
  • the receiving device 2 when the non-communication state has continued for a predetermined time or more, the receiving device 2 retransmits the acknowledgment packet 60 in order to resolve this. This is a force that requires a smaller load on the transmission path where the size of the acknowledgment packet 60 is very small compared to the data transmission packet 50. Furthermore, since the load S on the transmission line due to the retransmission of the acknowledgment packet 60 is small, even if the retransmission determination time is shortened, the load on the transmission line does not increase so much.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

  【課題】 パケットロス率が比較的高い伝送路でも、伝送速度を低下させないようにデータ送信をする。   【解決手段】  送信装置1は、データとデータの順序を示すデータ通番と送信順序を示す送信通番とを含むデータパケット50を送信し、次データ通番と受信状況を示すビット列と受信済みの送信通番とを含む確認応答パケット60を受信するデータ送信部11と、データ送信部11が送信したデータパケットの送信履歴を記憶する送信履歴記憶部14と、送信履歴記憶部14を参照して、受信した確認応答パケット60に基づいて再送が必要なデータ通番を特定し、データ送信部11に再送指示をする再送制御部12とを備える。受信装置2は、送信装置1から送信されたデータパケット50を受信し、これに対する確認応答パケット60を生成し、送信装置1へ送信するデータ受信部21を備える。   

Description

明 細 書
通信システム、通信装置、およびデータの再送制御方法
技術分野
[0001] 本発明は、パケットロスが生じたときにデータの再送をするための技術に関し、特 、パケットロス率が高 、伝送路でも伝送速度を低下させな 、ようにデータ再送を行う ための技術に関する。
背景技術
[0002] IP (Internet Protocol)通信技術として最も普及して 、る TCP (Transmission
Control Protocol)では、再送制御を行うための機能として以下の二つを備えている。 それらは、パケットロスに対して受信側から 3回再送要求を受けると、送信側が再送を 行う即時再送する機能 (Fast
Retransmit)、およびパケット受信情報を確認応答情報 (ACK)に含める SACK ( Selective ACK)オプション機能である。
[0003] 非特許文献 1: TCP: RFC793 ( http://www.faqs.org/rfcs/rfc2001.html)
非特許文献 2 : Fast Retransmit: RFC2001 ( http:〃 www.faqs.org/rfcs/rfc2001. html ) 非特許文献 3 : SACK: RFC2018 ( http://www.faqs.org/rfcs/rfc2018.html)
発明の開示
発明が解決しょうとする課題
[0004] し力しながら、即時再送機能では、再送したデータが到達しな力つた場合であって も、さらなる再送 (再々送)は行わないので、この場合はタイムアウトによる再送まで待 たなければならな!/、。これは、再送したパケットが到達した力どうかを送信側で確認す ることができないからである。再送パケットが到達したかを確認しないうちに再々送を すれば、本来必要のないはずのパケットが伝送路を流れることもあり、さらに伝送効 率が悪化し、輻輳を招くおそれがある。
[0005] また、 SACKオプション機能を利用すると、受信側から返送される確認応答情報の サイズが大きい。通常、パケットロスが生じるときは、伝送路が込んでいる場合である から、サイズの大きなデータが流れると、さらに伝送効率が悪化し、輻輳を招きやす い。また、ロスするパケット数が増えると、 SACKオプションではすベての受信情報を
、送信側へ伝えることができなくなる。
[0006] そこで、本発明の目的は、パケットロス率が比較的高 、伝送路でも伝送速度を低下 させな 、ようにデータ転送を行うための技術を提供することである。
[0007] 本発明の他の目的は、パケットロスが判明したとき直ちに、かつ、必要最低限の再 送データを再送するための技術を提供することである。
[0008] 本発明のさらに別の目的は、重複再送による輻輳を防止することである。
課題を解決するための手段
[0009] 本発明の一つの実施態様に従う通信システムは、送信装置と受信装置とを備える。
前記送信装置は、データと、前記データの順序を示すデータ通番と、送信順序を示 す送信通番とを含むデータパケットを送信する手段と、前記データパケットを受信し た受信装置が送信した、前記データパケットの送信通番と、前記データパケットのデ 一タ通番より順序が前のデータの受信状況を示す情報とを含む確認応答パケットを 受信する手段と、前記送信手段が送信したデータパケットの送信履歴を記憶する記 憶手段と、前記記憶手段を参照して、前記受信した確認応答パケットに基づいて再 送が必要なデータ通番を特定し、前記送信手段へ前記特定されたデータ通番に係 るデータの再送指示をする手段と、を備える。前記受信装置は、前記送信装置から 送信された前記データパケットを受信する手段と、前記受信したデータパケットの送 信通番と、前記受信したデータパケットのデータ通番より順序が前のデータの受信状 況を示す情報とを含む確認応答パケットを、前記送信装置へ送信する手段と、を備 える。
[0010] 好適な実施形態では、前記再送を指示する手段は、前記確認応答パケットに含ま れている前記受信状況を示す情報に基づいて、前記送信装置が送信したが、前記 受信装置が受信していないデータ通番を抽出し、前記抽出したデータ通番に係るデ ータを送信したデータパケットの送信通番を前記記憶手段から取得し、前記取得した 送信通番と、前記確認応答パケットに含まれている送信通番とに基づいて、再送が 必要なデータ通番を特定するようにしてもょ 、。
[0011] 好適な実施形態では、前記受信状況を示す情報は、連続して受信が完了している データ通番の最大値と、受信済みデータ通番の最大値との間のデータ通番に係る データの受信状況を、ビット列で示したものを含んでもよ!、。
[0012] 好適な実施形態では、前記受信装置は、前記データパケットの受信手段が受信し たデータパケットに含まれているデータ通番を一時的に格納するノ ッファと、前記バ ッファを参照して、前記確認応答パケットを生成する手段とを、さらに備えるようにして ちょい。
[0013] 本発明の一つの実施態様に従う通信装置は、データと、前記データの順序を示す データ通番と、送信順序を示す送信通番とを含むデータパケットを送信する手段と、 前記データパケットを受信した通信装置が返送した、前記データパケットの送信通番 と、前記データパケットのデータ通番より順序が前のデータの受信状況を示す情報と を含む確認応答パケットを受信する手段と、前記送信手段が送信したデータパケット の送信履歴を記憶する記憶手段と、前記記憶手段を参照して、前記受信した確認応 答パケットに基づいて再送が必要なデータ通番を特定し、前記送信手段へ前記特定 されたデータ通番に係るデータの再送指示をする手段と、を備える。
[0014] 本発明の一つの実施態様に従う通信装置は、データと、前記データの順序を示す データ通番と、送信順序を示す送信通番とを含むデータパケットを受信する手段と、 前記受信したデータパケットの送信通番と、前記受信したデータパケットのデータ通 番より順序が前のデータの受信状況を示す情報とを含む確認応答パケットを、前記 データパケットの送信元へ送信する手段と、を備える。
[0015] 本発明の一つの実施態様に従う通信システムは、送信装置と受信装置とを備える。
そして、前記送信装置は、送信データを分割した分割データごとに送信する送信手 段と、前記送信手段が送信した分割データの送信履歴を記憶する記憶手段と、一の 分割データの受信確認である確認応答であって、前記一の分割データ以前の前記 受信装置における受信状況を示す情報を含む確認応答を受信する手段と、前記記 憶手段を参照して、前記受信した確認応答に基づ!、て再送が必要なデータを特定し 、前記送信手段へ前記特定された分割データの再送指示をする手段と、を備える。 また、前記受信装置は、前記送信装置から送信された分割データを受信する受信手 段と、前記受信手段が分割データを受信すると、当該受信した分割データ以前の受 信状況を示す情報を含む確認応答を生成し、前記送信装置へ送信する確認応答送 信手段と、を備える。
[0016] 本発明の一つの実施態様に従う通信システムは、データパケットを送信する送信装 置と、前記データパケットを受信すると確認応答パケットを前記送信装置へ返送する 受信装置とを備える。そして、前記送信装置は、確認応答パケットを受信していない 送信済みのデータパケット数が所定数以下になるようにデータパケットの送信を制御 する送信手段を備える。また、前記受信装置は、第 1のデータパケットを受信してから 次に到達する第 2のデータパケットを受信するまでの間、前記第 1のデータパケットを 受信して力 の経過時間を計測するタイマと、前記タイマが計測した時間が所定時間 以上になった場合、前記所定時間以上データパケットを受信していないことを示す情 報を前記送信装置へ送信する手段と、を備える。
[0017] 好適な実施形態では、前記送信装置が、前記所定時間以上データパケットを受信 していないことを示す情報を受信すると、前記送信手段は、確認応答パケットを受信 して 、な 、送信済みのデータパケット数が所定数以上であっても、次のデータバケツ トを送信するようにしてもょ 、。
[0018] 好適な実施形態では、前記送信装置が送信するデータパケットには、送信データ を分割した分割データが格納されている。また、前記受信装置が送信する確認応答 ノ ケットには、前記分割データの受信状況を示す情報が含まれている。そして、前記 送信装置は、前記送信手段が送信した、前記分割データを含むデータパケットの送 信履歴を記憶する記憶手段と、前記記憶手段に記憶された送信履歴と前記確認応 答パケットに含まれて 、る分割データの受信状況とに基づ 、て、再送が必要な分割 データを特定し、前記送信手段へ前記特定された分割データの再送指示をする手 段と、をさらに備えるようにしてもよい。
[0019] 好適な実施形態では、前記送信手段は、全データ分のデータパケットの送信後に 、前記データ通番と前記送信通番とを含み、データを含まないダミーパケットを送信 するようにしてちょい。
[0020] 本発明の一つの実施態様に従う通信装置は、データパケットを受信し、前記受信し たデータパケットの送信元の通信装置へ確認応答パケットを送信する受信手段と、 前記受信手段が第 1のデータパケットを受信して力 次に到達する第 2のデータパケ ットを受信するまでの間、前記第 1のデータパケットを受信して力 の経過時間を計測 するタイマと、前記タイマが計測した時間が所定時間以上になった場合、前記所定 時間以上データパケットが到達して 、な 、ことを示す情報を、前記データパケットの 送信元へ送信する送信手段と、を備える。
[0021] 本発明の一つの実施態様に従う通信装置は、確認応答パケットを受信していない 送信済みのデータパケット数を計数するカウンタと、前記カウンタの値が所定数以下 になるようにデータパケットの送信を制御する送信手段とを備える。そして、送信先の 通信装置から、所定時間以上データパケットを受信して!/ヽな ヽことを示す情報を受信 すると、前記送信手段は、前記カウンタの値が所定数以上であっても、次のデータパ ケットを送信する。
図面の簡単な説明
[0022] [図 1]本発明の第 1の実施形態に係る通信システムの構成を示す図である。
[図 2]データ送信パケット 50のフォーマットの一例を示す図である。
[図 3]確認応答パケット 60のフォーマットの一例を示す図である。
[図 4]送信装置 1と受信装置 2との間で行うデータ送受信のシーケンスチャートである
[図 5]データ送信パケットと確認応答パケットとの対応関係を示す図である。
[図 6]再送制御部の処理手順を示すフローチャートである。
[図 7]最終データでパケットロスが起きたときのデータ送受信のシーケンスチャートで める。
[図 8]本発明の第 2の実施形態に係る通信システムの構成を示す図である。
[図 9]送信装置 1と受信装置 2との間で行うデータ送受信のシーケンスチャートである 符号の説明
[0023] 1…送信装置、 2…受信装置、 9· ··ネットワーク、 11· ··データ送信部、 12· ··再送制御 部、 13· ··データ記憶部、 14· ··送信履歴記憶部、 21· ··データ受信部、 22· ··データ 記憶部、 23· "バッファ、 50…データ送信パケット、 60…確認応答パケット。 発明を実施するための最良の形態
[0024] 以下、本発明の第 1の実施形態に係るデータ通信システムついて、図面を用いて 説明する。
[0025] 図 1は、本システムを構成する装置を示す。本システムは、データの送信を行う通信 装置である送信装置 1と、データを受信する通信装置である受信装置 2とを備える。 送信装置 1は、受信装置 2に対してデータ送信パケット 50 (図 2参照)を送信する。受 信装置 2は、データ送信パケット 50を受信すると、確認応答パケット 60を返信する。 送信装置 1と受信装置 2とは、有線または無線のネットワーク 9を介して通信する。本 実施形態では、例えば、送信装置 1と受信装置 2とは UDP (User Datagram Protocol
) ZIPを用いて通信を行う。
[0026] 送信装置 1および受信装置 2は、いずれも例えば通信機能を有するコンピュータシ ステムにより構成することもできる。この場合、以下に説明する送信装置 1および受信 装置 2内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行す ること〖こより実現される。特に、受信装置 2は、例えば、携帯電話機、 PDA (Personal Data Assistant)、無線通信機能を備えたパーソナルコンピュータなどでもよい。
[0027] 送信装置 1は、同図に示すように、データ送信部 11と、再送制御部 12と、データ記 憶部 13と、送信履歴記憶部 14とを備える。
[0028] データ送信部 11は、データ記憶部 13から送信対象のデータを取得し、データ送信 パケット 50を生成して、ネットワーク 9に対して出力する。
[0029] データ送信パケット 50のフォーマットを、図 2に示す。データ送信パケット 50は、同 図に示すように、ヘッダ部 51と、データ部 55とを含み、ヘッダ部 51には送信通番 52 と、データ通番 53とをさらに含む。
[0030] 送信通番 52は、送信装置 1が受信装置 2に対して送り出すパケットに割り当てられ た番号である。送信通番 52は、例えば、 0から連続する通し番号 (通番)であり、各パ ケットに固有な番号である。送信通番 52は、データ通番 53およびデータ部 55に格 納されるデータの内容に関係なぐパケットを送信するたびにインクリメントされていく 。後述するように、送信したデータが受信装置 2に到達しないパケットロスが生じると、 このデータを再送する。このとき、この再送パケットには、到達しな力つたパケットとは 異なる、再送パケットに固有の送信通番 52が付される。
[0031] データ通番 53とは、データ部 55に格納されているデータに割り当てられた番号で ある。データ通番 53は、例えば 0からの通番である。送信対象のデータは、通常、デ ータ部 55のサイズよりも大きいので、データ部 55のサイズに分割して送信する。そこ で、分割されたデータの並び順を示すために、データ通番 53が用いられる。従って、 データ通番 53は、データ部 55に格納されるデータに基づいて定まる。パケットロスが 生じたときに、再送対象となるデータはデータ通番 53で特定される。
[0032] また、データ送信部 11は、データ送信パケット 50に対する確認応答パケット 60を受 信する。確認応答パケット 60のフォーマットを、図 3に示す。確認応答パケット 60は、 同図に示すように、次データ通番 61と、受信状況ビット列 62と、受信済み送信通番 6 3とを含む。
[0033] 次データ通番 61は、受信装置 2が次に受信すべきデータ通番を示す。つまり、受 信が完了して 、るデータ通番のうち、連続して 、るデータ通番の最大値に 1を加えた 値となる。例えば、受信装置 2があるデータ通番 (N)までの全データをすでに受信し ているときは、次データ通番 61は(N+ 1)となる。
[0034] 受信状況ビット列 62は、次データ通番 61以降のデータ通番の受信状況を示すビッ ト列である。ここでは、各ビットが一つのデータ通番に対応する。そして、受信済みの データ通番に対応するビットは「1」、未受信のデータ通番に対応するビットは「0」で める。
[0035] 例えば、受信状況ビット列 62の最下位ビット (右端)力も順に、次データ通番 61から 受信済みのデータ通番の最大値までのデータ通番を対応させる。従って、最下位ビ ットは常に「0」(受信済み)であり、最上位ビットは常に「1」(未受信)である。例えば、 次データ通番 61が「2」であり、データ通番「3」が未受信、データ通番「4」が受信済 みで、かつ、受信済みのデータ通番の最大値が「4」であるとき、受信状況ビット列 62 は「100」(上位ビットからデータ通番「4」「3」「2」に対応する)となる。ただし、パケット ロスが起きていないときは、次データ通番 61が受信済みのデータ通番の最大値より も大きいので、このときは、受信状況ビット列 62は「0」(1ビット)で表される。
[0036] 受信済み送信通番 63は、確認応答パケット 60を出力する直前に受信した送信通 番を示す。
[0037] 再送制御部 12は、確認応答パケット 60に基づいて再送が必要なデータを特定し、 データ送信部 11へ再送を指示する。再送データの特定の仕方の詳細については、 後述する。
[0038] 送信履歴記憶部 14は、送信ログを記憶する。例えば、データ送信部 11がデータ送 信パケット 50をネットワーク 9に対して出力したとき、このパケットのヘッダ部 51を送信 履歴記憶部 14に格納するようにしてもょ 、。
[0039] 再び図 1を参照すると、受信装置 2は、データ受信部 21と、受信したデータを記憶 するデータ記憶部 22とを備える。データ受信部 21は、受信したデータを一時的に記 憶するバッファをさらに備える。
[0040] データ受信部 21は、送信装置 1から送られてくるデータ送信パケット 50を受信する 。データ受信部 21は、受信したデータ送信パケット 50のデータ通番 53およびデータ 部 55に格納されたデータを、バッファ 23に一時格納し、データ通番 53の順に並べて 組立て、一定のデータ量ごとにデータ記憶部 22へ格納する。また、データ受信部 21 は、データ送信パケット 50を受信すると、これに対する確認応答パケット 60を生成し 、ネットワーク 9に対して出力する。この確認応答パケット 60の次データ通番 61およ び受信状況ビット列 62は、ノ ッファ 23を参照して定める。受信済み送信通番 63は、 直前に受信したデータ送信パケット 50の送信通番 52である。
[0041] 次に、図 4および図 5に示す例を用いて、受信装置 2で生成される確認応答パケット 60、および送信装置 1が行う再送制御について説明する。
[0042] 図 4は、送信装置 1と受信装置 2との間で行うデータ送受信についてのシーケンス チャートである。同図では、送信装置 1が受信装置 2へ、データ送信パケット 50を送 信している。送信装置 1側には、各パケットの送信通番およびデータ通番が示してあ る。そして、受信装置 2が各データ送信パケット 50を受信した力どうかを、受信装置 2 側の受信状況の〇Xで示している。そして、受信装置 2が受信できたデータ送信パ ケット 50に対しては、確認応答パケット 60が送信装置 1へ返信される。
[0043] 図 5は、図 4の場合に生成されるデータ送信パケット 50のヘッダ部 51および確認応 答パケット 60について示す図である。この図では、ヘッダ部 51に示す内容のデータ 送信パケット 50に対して、受信装置 2から出力される確認応答パケット 60の内容を対 応付けている。
[0044] まず、送信通番「0」、データ通番「0」のデータ送信パケット 50aが送信され、受信装 置 2がこのパケットの受信に成功する(受信状況「〇」)。このとき、確認応答パケット 6 Oaは以下のようになる。すなわち、受信済みのデータ通番は「0」であるから、次に受 信すべきデータ通番である次データ通番 61は「 1」となる。パケットロスは生じて!/、な いので、受信状況ビット列 62は「0」である。データ送信パケット 50aの送信通番は「0 」であるから、受信済み送信通番 63は「0」である。
[0045] 次に、送信通番「1」、データ通番「1」のデータ送信パケット 50bが送信され、受信 装置 2がこのパケットの受信に成功する (受信状況「〇」)。このときも、上述と同様に 確認応答パケット 60b (次データ通番 61「2」、受信状況ビット列 62「0」、受信済み送 信通番 63「1」)が生成される。
[0046] この後、送信通番「2」、データ通番「2」のデータ送信パケット 50c、および送信通番 「3」、データ通番「3」のデータ送信パケット 50dは、受信装置 2が受信に失敗してい るので、これに対する確認応答パケット 60は出力されない。
[0047] そして、送信通番「4」、データ通番「4」のデータ送信パケット 50eが受信装置 2に受 信されると、確認応答パケット 60cが生成される。すなわち、ここで受信したデータ通 番は「4」である力 データ通番「2」「3」は未受信である。一方、すでにデータ通番「0 」「1」は受信済みであるから、次データ通番 61は「2」となる。そして、データ通番「2」「 3」が未受信(「0」)、かつデータ通番「4」が受信済み(「1」)であるから、受信状況ビッ ト列 62は「100」となる。また、直前で受信したパケットの受信済み送信通番は「4」であ るから、受信済み送信通番 63は「4」となる。
[0048] ここで、図 4を参照すると、確認応答パケット 60a、 60b、 60cは、それぞれ、データ 通番「3」、「4」、「7」のデータ送信パケットが送信された後に送信装置 1へ到達する。
[0049] 以下についても同様に確認応答パケット 60が生成され、送信装置 1へ返信される。
[0050] 送信装置 1が、確認応答パケット 60を受信したときの再送制御部 12の処理につい て説明する。
[0051] 再送制御部 12は、受信した確認応答パケット 60の内容に基づいて、再送制御を行 う。例えば、確認応答パケット 60の内容に基づいて、再送すべきデータ通番を特定し 、データ送信部 11に対して再送を指示する。再送指示を受けたデータ送信部 11は 、その指示に従って再送パケットを生成し、再送する。再送すべきデータ通番を特定 するための手順を、図 6のフローチャートに示す。以下、同図を用いて説明する。
[0052] 再送制御部 12は、受信した確認応答パケット 60の次データ通番 61と受信状況ビッ ト列 62とに基づいて、パケットロスが生じた可能性があるデータ通番 53を抽出する(S 11)。パケットロスの可能性がないとき(受信状況ビット列 62が「0」の場合)は、処理を 終了する。
[0053] パケットロスの可能性があるときは、再送制御部 12が送信履歴記憶部 14を参照し、 パケットロスが生じて ヽる可能性のあるデータ通番を送信した直近 (最も新し ヽ)の送 信通番 52を特定する。つまり、このデータ通番について既に再送されている場合に は、先に送ったパケットではなぐ後で送った (再送した)パケットの送信通番 52を取 得する。そして、この直近の送信通番 52と受信済み送信通番 63とを比較する(S12)
[0054] そして、直近の送信通番 52が受信済み送信通番 63より大きくないときは、そのデ 一タ通番 53のパケットロスが確定するので、パケットロスが確定したパケットの再送を 指示する(S13)。一方、直近の送信通番 52の方が受信済み送信通番 63より大きい ときは、そのデータ通番 53のロスは確定しないので、再送指示を行わない(S 14)。
[0055] 例えば、図 5に示す確認応答パケット 60a、 60bの場合は、受信状況ビット列が「0」 であるから、この時点ではパケットロスが生じた可能性はないので、ステップ S11のみ で終了する。
[0056] 一方、確認応答パケット 60cでは、ステップ S11の処理を行うと、受信状況ビット列 6 2が「100」であり、次データ通番 61が「2」であるから、データ通番「2」および「3」につ V、てパケットロスが生じて 、る可能性があることが分かる。
[0057] そして、ステップ S 12の処理を行うと、パケットロスの可能性があるデータ通番「2」お よび「3」を送信した直近の送信通番 52は、送信履歴記憶部 14を参照すると、それぞ れ「2」および「3」であることがわかる。そして、確認応答パケット 60cの受信済み送信 通番 63は「4」であるから、直近の送信通番 52はいずれも「4」より大きくない。従って 、データ通番「2」および「3」は、いずれも再送が必要であると判定される。そして、ス テツプ S 13でデータ送信部 11がデータ通番「2」および「3」を再送する。
[0058] この確認応答パケット 60cに対する上述の処理は、図 4の Aのタイミングで行われる 。従って、この Aの時点でデータ通番「2」および「3」について再送を行うことが決定さ れたので、データ送信部 11がこの直後にデータ送信パケット 50f、 50gで再送する。
[0059] これにより、本実施形態では、パケットロスの発生を迅速に検出し、直ちにこれに対 応して再送を行うことができる。
[0060] 次に、確認応答パケット 60dを受信したときの処理について説明する。この場合でも 、図 6に示すフローチャートに従って処理が行われる。
[0061] つまり、確認応答パケット 60dを受信すると、再送制御部 12は、パケットロスが生じ た可能性のあるデータ通番を特定する。確認応答パケット 60dを受信するのは、図 4 中 Bのタイミングであり、この場合、次データ通番 61が「2」、送信状況ビット列 62が「 10100」(図 5参照)だから、データ通番「2」「3」「5」がパケットロスの可能性がある。
[0062] 次に、データ通番「2」「3」「5」について、送信履歴記憶部 14を参照して直近に送 つた送信通番を特定すると、それぞれの直近の送信通番は「8」「9」「5」となる。これら と確認応答パケット 60dの受信済み送信通番 63「6」とを比較すると、再送対象は送 信通番「5」のデータ通番「5」だけとなる。そこで、再送制御部 12は、データ通番「5」 につ 1ヽてデータ送信部 11に再送指示をする。
[0063] これは、つまり、データ通番「2」および「3」について再送したデータ送信パケット 50 f、 50gが伝送路中にあり、今後受信装置 2へ到達する可能性があることを示している 。このような場合には再々送のためのパケットを送らず、パケットロスが確定するのを 待つ。これにより、パケットロスが発生したかどうかが未確定の間は、再送が行われな い。従って、伝送路中のパケットが不必要に増加することを防止できる。
[0064] 次に、確認応答パケット 60eを受信したときの処理について説明する。この場合でも 、上述の場合と同様に図 6に示すフローチャートに従って処理が行われる。
[0065] まず、確認応答パケット 60eは、次データ通番 61が「3」、受信状況ビット列 62が「 110110」(図 5参照)であるから、パケットロスの可能性のあるデータ通番は「2」「5」で あることが分かる。ここで、再送制御部 12が送信履歴記憶部 14を参照して、データ 通番「2」および「5」の直近の送信通番をそれぞれ「8」および「5」と特定する。これら と、確認応答パケット 60eの受信済み送信通番 63「9」(図 5参照)とを比較し、データ 通番「2」および「5」の ヽずれも再送を行うよう、データ送信部 11へ指示をする。
[0066] これは、確認応答パケット 60dのときと異なり、再送したデータ通番「2」のパケットに ついてもロスが確定している。従って、データ通番「5」について再送する共に、デー タ通番「2」につ!/、て再々送が行われる。
[0067] 次に、最終データの受信確認及び再送制御について、図 7を用いて説明する。図 4 一図 6に示す再送制御では、受信装置 2から送られる確認応答パケット 60を用いて、 データ送信パケットの受信状況を確認している。従って、例えば最終データのデータ 送信パケット(最終データパケット)においてパケットロスが生じると、これ以降、確認 応答パケットが送信されない。従って、送信装置 1は最終データパケットのパケット口 スを検出できない。そこで、送信装置 1は、最終データパケット送信後に、さらにダミ 一パケットを送信する。
[0068] 例えば、図 7の例では、最終データパケット 50mの送信通番が「68」、データ通番 が「36」である。ここで、受信装置 2は、この最終データパケット 50mのデータ通番「3 6」よりも前のデータをすベて受信済みである。
[0069] 送信装置 1は、最終データパケット 50mを送信した後、ダミーパケット 50n、 50pを 送信する。ここで送信するダミーパケットの数は、 1または 2以上である。なお、ダミー パケットは、データ部 55にデータが何も入っていない(データ部 55のデータ容量が 0 )のパケットであり、ヘッダ部 51には少なくとも送信通番 52がセットされている。データ 通番 53もセットされていてもよい。この場合、ダミーパケットのデータ通番 53は、最終 データパケット 50m力も連続する数字としてもよい。これにより、受信装置 2では、ダミ 一パケットであっても通常のデータ部 55にデータがセットされているパケットと同様に 受信処理を実行できる。
[0070] ここで、受信装置 2が最終データパケット 50mを受信できず、パケットロスになったと き、これに対する確認応答パケットが出力されない。しかし、受信装置 2が最終データ パケット 50mの後に送信されたダミーパケット 50ηを受信すると、これに対する確認応 答パケット 60ηを送信装置 1に対して送信する。この確認応答パケット 60ηには、次デ 一タ通番 61に「36」、受信データビット列 62に「10」、受信済み送信通番 63に「69」 がセットされている。
送信装置 1が確認応答パケット 60ηを受信すると、再送制御部 12が図 6に示す手 順に従って、最終データパケット 50mがロスされていることを検出する。そして、デー タ送信部 11が、データ通番 36の再送パケット 50qを生成して再送する。データ送信 11は、この再送パケット 50qでさらにパケットロスが生じたときのために、さらにダミー パケット 50rを送信する。そして、送信装置 1が、再送した最終データパケット 50qに 対する確認応答パケット 60qを受信すると、データ転送が完了する。
[0071] 次に、本発明の第 2の実施形態に係るデータ通信システムについて、図 8及び図 9 を用いて説明する。以下の説明では、第 1の実施形態と相違する点を中心に説明す る。従って、第 1の実施形態と共通する構成については同一の符号を付して、説明を 省略することがある。
[0072] 本実施形態にかかるデータ通信システムでも、第 1の実施形態と同様に、送信装置 1及び受信装置 2を備える。送信装置 1は、データ送信部 11Aと、再送制御部 12と、 データ記憶部 13と、送信履歴記憶部 14とを備える。受信装置 2は、データ受信部 21 Aと、データ記憶部 22と、バッファ 23と、無通信タイマ 24とを備える。
[0073] 無通信タイマ 24は、受信装置 2で受信が途絶えている時間(以下、無通信時間とい う)を計測するタイマである。つまり、無通信タイマ 24は、データ受信部 21がデータ送 信パケット 50を受信してからの経過時間を計測する。そして、データ受信部 21が次 のデータ送信パケット 50を受信すると、それまで計測した時間をクリアして、再び時 間計測を開始する。従って、データ送信パケット 50の受信が途絶えると、無通信タイ マ 24が計測する時間、つまり無通信時間がそのまま増え続ける。そこで、無通信タイ マ 24は、無通信時間が予め定められた所定の時間(以下、再送判定時間という)に なると、データ受信部 21Aへ通知する。
[0074] データ受信部 21Aは、無通信タイマ 24Aから無通信時間が再送判定時間に達した ことの通知を受けると、再送判定時間の間無通信であることを示す情報を送信装置 1 に対して送信する。ここでは、無通信状態を通知するために、最後に送信した確認応 答パケット 60 (図 9の例では、データ送信パケット 50sに対する確認応答パケット)を 再送する。
[0075] ところで、本実施形態にぉ 、ても、データ送信部 11 Aはデータ送信パケット 50を受 信装置 2に対して送信し、受信装置 2から確認応答パケット 60を受信する。データ送 信パケット 50及び確認応答パケット 60は、第 1の実施形態と同一のフォーマットで構 成されている。従って、送信装置 1は確認応答パケット 60により、受信装置 2での受 信状況を把握できる。
[0076] ここで、データ送信部 11Aでは、ウィンドウサイズと呼ばれる、先送りするパケットの 個数 (確認応答パケット 60が返ってきて 、な 、、送信済みのデータ送信パケット 50の 数)が決められている。そして、データ送信部 11Aは、この先送りするパケットの個数 をカウントするカウンタ 11Bを備える。つまり、データ送信部 11Aは、送信したデータ 送信パケット 50の数と受信した確認応答パケット 60の数との差を、カウンタ 11Bを用 いて計数する。そして、カウンタ 11Bの値がウィンドウサイズ以下になるようにパケット の送信を制御する。従って、例えばウィンドウサイズが 3であれば、データ送信部 11A は、まず 3つのデータ送信パケット 50を無条件に送信できる。このとき、カウンタ値は「 3」である。カウンタ値が「3」のときは、データ送信部 11Aは原則として次のパケットを 送信できない。そして、データ送信部 11Aは、確認応答パケット 60を一つ受信すると 、カウンタの値を 1減らし、次のデータ送信パケット 50を一つ送信すると再び 1加算す る。この結果、データ送信部 11Aが、データ転送パケット 50を送信した力 確認応答 パケット 60が返ってきて!/ヽな 、パケット数が 3以下になるようになって!/、る。
[0077] ここで、図 9を用いて本実施形態に係るデータ通信システムの通信手順を説明する 。本実施形態では、ウィンドウサイズは 3である。上述の通り、ウィンドウサイズにより、 送信装置 1が確認応答パケットを待たずに送り出せるパケット数に制限がある。従つ て、同図に示すように、ウィンドウサイズ以上の数のパケット(50t— 50v)について、 連続してパケットロスが生じると、送信装置 1からのパケットの送信が停止する。この結 果、受信装置 2では、データ送信パケット 50を受信しない無通信の状態が続く。
[0078] このとき、受信装置 2では無通信タイマ 24が無通信時間を計測して 、る。そして、無 通信時間が予め定められた再送判定時間以上になると、無通信タイマ 24がデータ 受信部 21へその旨を通知する。データ受信部 21は、この通知を受けると、無通信状 態が再送判定時間以上継続していることを通知するために、直前に送信した確認応 答パケット 60sを送信装置 1へ再送する。なお、再送が行われたときに無通信タイマ 2 4はクリアされる。そして、無通信タイマ 24は、直ちに無通信時間の計測を再開しても ょ 、し、所定時間のインターバルをお 、て力も無通信時間の計測を再開してもよ 、。
[0079] ここで再送された確認応答パケット 60sが送信装置 1に到達する。ここで、データ送 信部 11Aが、このパケットが直前に受信した確認応答パケット 60sと同一であることを 検出すると、受信装置 2は無通信状態となっていると判定される。そこで、データ送信 部 11Aは、ウィンドウサイズを一時的に一つ繰り上げて (ここではウィンドウサイズを 4 にする)、後続のデータ通番のデータ送信パケット 50wを送信する。後続のデータ通 番のデータがない場合は、ダミーパケットを送信する。つまり、既にウィンドウサイズ以 上のデータ送信パケット 50について確認応答パケット 60を未受信であっても、送信 装置 1は後続のパケットを送信する。
[0080] ここで、受信装置 2が後続のデータ送信パケット 50wを受信すると、第 1の実施形態 で説明した手順に従って、これに対する確認応答パケット 60wが生成されて、送信装 置 1へ返信される。
[0081] 送信装置 1が、確認応答パケット 60wを受信すると、再送制御部 12が第 1の実施形 態と同様にして、この確認応答パケット 60wに基づいて再送すべきデータ通番を特 定する。そして、データ送信部 11も、第 1の実施形態と同様に、再送制御部 12からの 指示により、再送を行う。つまり、同図に示すように、データ通番「2」「3」「4」が、それ ぞれ再送される。
[0082] 本実施形態では、無通信の状態が所定時間以上継続したときに、これを解消する ために、受信装置 2が確認応答パケット 60を再送している。これは、データ送信パケ ット 50に比べ、確認応答パケット 60のサイズが非常に小さぐ伝送路にかける負荷が 小さくて済む力もである。さらに、確認応答パケット 60の再送による伝送路への負荷 力 S小さいので、再送判定時間を短くしても、伝送路への負担はそれほど増大しない。
[0083] 上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲 をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸 脱することなしに、他の様々な態様で本発明を実施することができる。 例えば、上記の実施形態で説明したデータ通信機能は、コンピュータに着脱可能 な拡張カードなどに実装し、コンピュータに機能追加するように実現することもできる

Claims

請求の範囲
[1] 第 1の通信装置が、データと、前記データの順序を示すデータ通番と、送信順序を 示す送信通番とを含むデータパケットを、第 2の通信装置に対して送信し、
第 2の通信装置が前記データパケットを受信すると、前記データパケットの送信通 番と、前記データパケットに含まれて 、るデータ通番よりも前のデータの受信状況を 示す情報とを含む確認応答パケットを第 1の通信装置へ送信し、
第 1の通信装置は、前記確認応答パケットに基づいて、再送が必要なデータ通番 を特定し、再送を行うデータの再送制御方法。
[2] 送信装置と受信装置とを備えた通信システムであって、
前記送信装置は、
データと、前記データの順序を示すデータ通番と、送信順序を示す送信通番とを 含むデータパケットを送信する手段と、
前記データパケットを受信した受信装置が送信した、前記データパケットの送信通 番と、前記データパケットのデータ通番より順序が前のデータの受信状況を示す情 報とを含む確認応答パケットを受信する手段と、
前記送信手段が送信したデータパケットの送信履歴を記憶する記憶手段と、 前記記憶手段を参照して、前記受信した確認応答パケットに基づいて再送が必要 なデータ通番を特定し、前記送信手段へ前記特定されたデータ通番に係るデータの 再送指示をする手段と、を備え、
前記受信装置は、
前記送信装置から送信された前記データパケットを受信する手段と、
前記受信したデータパケットの送信通番と、前記受信したデータパケットのデータ 通番より順序が前のデータの受信状況を示す情報とを含む確認応答パケットを、前 記送信装置へ送信する手段と、を備えた通信システム。
[3] 前記再送を指示する手段は、
前記確認応答パケットに含まれている前記受信状況を示す情報に基づいて、前記 送信装置が送信したが、前記受信装置が受信していないデータ通番を抽出し、 前記抽出したデータ通番に係るデータを送信したデータパケットの送信通番を前 記記憶手段から取得し、
前記取得した送信通番と、前記確認応答パケットに含まれて!/ヽる送信通番とに基づ
V、て、再送が必要なデータ通番を特定する請求項 2記載の通信システム。
[4] 前記受信状況を示す情報は、連続して受信が完了しているデータ通番の最大値と 、受信済みデータ通番の最大値との間のデータ通番に係るデータの受信状況を、ビ ット列で示したものを含む請求項 2または 3記載の通信システム。
[5] 前記受信装置は、
前記データパケットの受信手段が受信したデータパケットに含まれているデータ通 番を一時的に格納するバッファと、
前記バッファを参照して、前記確認応答パケットを生成する手段とを、さらに備える 請求項 2記載の通信システム。
[6] データと、前記データの順序を示すデータ通番と、送信順序を示す送信通番とを 含むデータパケットを送信する手段と、
前記データパケットを受信した通信装置が返送した、前記データパケットの送信通 番と、前記データパケットのデータ通番より順序が前のデータの受信状況を示す情 報とを含む確認応答パケットを受信する手段と、
前記送信手段が送信したデータパケットの送信履歴を記憶する記憶手段と、 前記記憶手段を参照して、前記受信した確認応答パケットに基づいて再送が必要 なデータ通番を特定し、前記送信手段へ前記特定されたデータ通番に係るデータの 再送指示をする手段と、を備えた通信装置。
[7] データと、前記データの順序を示すデータ通番と、送信順序を示す送信通番とを 含むデータパケットを受信する手段と、
前記受信したデータパケットの送信通番と、前記受信したデータパケットのデータ 通番より順序が前のデータの受信状況を示す情報とを含む確認応答パケットを、前 記データパケットの送信元へ送信する手段と、を備えた通信装置。
[8] データと、前記データの順序を示すデータ通番と、送信順序を示す送信通番とを 含むデータパケットを送信し、
前記送信したデータパケットの送信履歴を記憶手段に記憶し、 前記データパケットを受信した通信装置が返送した、前記データパケットの送信通 番と、前記データパケットのデータ通番より順序が前のデータの受信状況を示す情 報とを含む確認応答パケットを受信し、
前記記憶手段を参照して、前記受信した確認応答パケットに基づいて再送が必要 なデータ通番を特定し、前記特定されたデータ通番に係るデータを再送する再送制 御方法。
[9] コンピュータに実行されると、
データと、前記データの順序を示すデータ通番と、送信順序を示す送信通番とを 含むデータパケットを送信し、
前記送信したデータパケットの送信履歴を記憶手段に記憶し、
前記データパケットを受信した通信装置が返送した、前記データパケットの送信通 番と、前記データパケットのデータ通番より順序が前のデータの受信状況を示す情 報とを含む確認応答パケットを受信し、
前記記憶手段を参照して、前記受信した確認応答パケットに基づいて再送が必要 なデータ通番を特定し、前記特定されたデータ通番に係るデータを再送する、再送 制御のためのコンピュータプログラム。
[10] データと、前記データの順序を示すデータ通番と、送信順序を示す送信通番とを 含むデータパケットを受信し、
前記受信したデータパケットの送信通番と、前記受信したデータパケットのデータ 通番より順序が前のデータの受信状況を示す情報とを含む確認応答パケットを、前 記データパケットの送信元へ送信する、データの受信応答方法。
[11] コンピュータに実行されると、
データと、前記データの順序を示すデータ通番と、送信順序を示す送信通番とを 含むデータパケットを受信し、
前記受信したデータパケットの送信通番と、前記受信したデータパケットのデータ 通番より順序が前のデータの受信状況を示す情報とを含む確認応答パケットを、前 記データパケットの送信元へ送信する、データの受信応答のためのコンピュータプロ グラム。
[12] 送信装置と受信装置とを備えた通信システムであって、
前記送信装置は、
送信データを分割した分割データごとに送信する送信手段と、
前記送信手段が送信した分割データの送信履歴を記憶する記憶手段と、 一の分割データの受信確認である確認応答であって、前記一の分割データ以前の 前記受信装置における受信状況を示す情報を含む確認応答を受信する手段と、 前記記憶手段を参照して、前記受信した確認応答に基づ!、て再送が必要なデー タを特定し、前記送信手段へ前記特定された分割データの再送指示をする手段と、 を備え、
前記受信装置は、
前記送信装置から送信された分割データを受信する受信手段と、
前記受信手段が分割データを受信すると、当該受信した分割データ以前の受信状 況を示す情報を含む確認応答を生成し、前記送信装置へ送信する確認応答送信手 段と、を備えた通信システム。
[13] データパケットを送信する送信装置と、前記データパケットを受信すると確認応答パ ケットを前記送信装置へ返送する受信装置とを備えた通信システムであって、 前記送信装置は、
確認応答パケットを受信して 、な 、送信済みのデータパケット数が所定数以下にな るようにデータパケットの送信を制御する送信手段を備え、
前記受信装置は、
第 1のデータパケットを受信して力 次に到達する第 2のデータパケットを受信する までの間、前記第 1のデータパケットを受信してからの経過時間を計測するタイマと、 前記タイマが計測した時間が所定時間以上になった場合、前記所定時間以上デ ータパケットを受信して 、な 、ことを示す情報を前記送信装置へ送信する手段と、を 備える通信システム。
[14] 前記送信装置が、前記所定時間以上データパケットを受信して!/ヽな!ヽことを示す情 報を受信すると、
前記送信手段は、確認応答パケットを受信して 、な 、送信済みのデータパケット数 が所定数以上であっても、次のデータパケットを送信することを特徴とする請求項 13 記載の通信システム。
[15] 前記送信装置が送信するデータパケットには、送信データを分割した分割データ が格納されていて、
前記受信装置が送信する確認応答パケットには、前記分割データの受信状況を示 す情報が含まれていて、
前記送信装置は、
前記送信手段が送信した、前記分割データを含むデータパケットの送信履歴を記 憶する記憶手段と、
前記記憶手段に記憶された送信履歴と前記確認応答パケットに含まれている分割 データの受信状況とに基づいて、再送が必要な分割データを特定し、前記送信手段 へ前記特定された分割データの再送指示をする手段と、をさらに備える請求項 14記 載の通信システム。
[16] 前記送信手段は、全データ分のデータパケットの送信後に、前記データ通番と前 記送信通番とを含み、データを含まな!/ヽダミーパケットを送信することを特徴とする請 求項 2に記載の通信システム。
[17] データパケットを受信し、前記受信したデータパケットの送信元の通信装置へ確認 応答パケットを送信する受信手段と、
前記受信手段が第 1のデータパケットを受信してから次に到達する第 2のデータパ ケットを受信するまでの間、前記第 1のデータパケットを受信して力 の経過時間を計 測するタイマと、
前記タイマが計測した時間が所定時間以上になった場合、前記所定時間以上デ ータパケットが到達して 、な 、ことを示す情報を、前記データパケットの送信元へ送 信する送信手段と、を備える通信装置。
[18] 確認応答パケットを受信して 、な 、送信済みのデータパケット数を計数するカウン タと、
前記カウンタの値が所定数以下になるようにデータパケットの送信を制御する送信 手段とを備え、 送信先の通信装置から、所定時間以上データパケットを受信して 、な 、ことを示す 情報を受信すると、
前記送信手段は、前記カウンタの値が所定数以上であっても、次のデータパケット を送信することを特徴とする通信装置。
[19] データパケットを受信し、
前記データパケットを受信して力 の経過時間を計測し、
次のデータパケットを受信するよりも前に前記経過時間が所定時間を越えると、前 記所定時間以上データパケットを受信して 、な 、ことを示す情報を、前記データパケ ットの送信元の通信装置へ送信する無通信状態の通知方法。
[20] 確認応答パケットを受信して 、な 、送信済みのデータパケット数が所定数以下にな るようにデータパケットを送信する通信装置が、
前記確認応答パケットを受信して 、な 、送信済みのデータパケット数が所定数であ るときに、送信先の通信装置から、所定時間以上データパケットを受信していないこ とを示す情報を受信し、
次に送信すべきデータパケットを送信する通信方法。
PCT/JP2004/013533 2003-09-18 2004-09-16 通信システム、通信装置、およびデータの再送制御方法 WO2005027456A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/572,501 US7885264B2 (en) 2003-09-18 2004-09-16 Communications system, communications device, and data retransmission control method
JP2005513964A JP4495085B2 (ja) 2003-09-18 2004-09-16 通信システム、通信装置、およびデータの再送制御方法
EP04816142A EP1667395A4 (en) 2003-09-18 2004-09-16 COMMUNICATION SYSTEM, COMMUNICATION DEVICE AND DATA TRANSFER CONTROL METHOD

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-325951 2003-09-18
JP2003325951 2003-09-18

Publications (1)

Publication Number Publication Date
WO2005027456A1 true WO2005027456A1 (ja) 2005-03-24

Family

ID=34308726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/013533 WO2005027456A1 (ja) 2003-09-18 2004-09-16 通信システム、通信装置、およびデータの再送制御方法

Country Status (4)

Country Link
US (1) US7885264B2 (ja)
EP (1) EP1667395A4 (ja)
JP (1) JP4495085B2 (ja)
WO (1) WO2005027456A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008029793A1 (fr) * 2006-09-05 2008-03-13 Nec Corporation Procédé de récupération de paquets, système de communication, dispositif de traitement d'informations et programme
JP2009021781A (ja) * 2007-07-11 2009-01-29 Nec Corp データ通信システム、通信機、データ通信方法及び通信制御用プログラム
JP2009177788A (ja) * 2007-12-27 2009-08-06 Ricoh Co Ltd 情報処理装置、情報処理方法及び情報処理プログラム
US7876740B2 (en) * 2005-08-04 2011-01-25 Motorola, Inc. Method and system for synchronization of link layer windows
JP2012015630A (ja) * 2010-06-29 2012-01-19 Fujitsu Ltd 半導体装置、パケット受信方法、およびパケット送信方法
US8276034B2 (en) 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
WO2015064288A1 (ja) * 2013-10-31 2015-05-07 アプリックスIpホールディングス株式会社 無線通信装置、無線通信システム、および、これらにおける無線通信方法
JP2019047162A (ja) * 2017-08-29 2019-03-22 トヨタ自動車株式会社 情報処理システム、情報処理方法、プログラム、及び情報処理装置
CN114257350A (zh) * 2021-12-31 2022-03-29 广东省教育研究院 传输质量优化方法、装置及传输***

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9420072B2 (en) 2003-04-25 2016-08-16 Z124 Smartphone databoost
JP4690857B2 (ja) * 2005-10-28 2011-06-01 マスプロ電工株式会社 バルク伝送システム
JP2008040347A (ja) * 2006-08-09 2008-02-21 Toshiba Corp 画像表示装置、画像表示方法および画像表示プログラム
JP4176122B2 (ja) * 2006-10-24 2008-11-05 株式会社東芝 サーバ端末、画面共有方法およびプログラム
KR100859499B1 (ko) * 2007-01-15 2008-09-22 강릉대학교산학협력단 데이터 송수신 방법 및 그에 따른 통신 시스템
US7864771B2 (en) * 2007-04-20 2011-01-04 Cisco Technology, Inc. Parsing out of order data packets at a content gateway of a network
JP4626775B2 (ja) * 2007-10-16 2011-02-09 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US20100118986A1 (en) * 2008-11-11 2010-05-13 Electronics And Telecommunications Research Institute Acknowledgement method and apparatus of aggregated frame in wideband high frequency wireless system
KR101327677B1 (ko) * 2008-11-11 2013-11-21 한국전자통신연구원 광대역 고주파수 무선 시스템에서 군집 프레임의 응답 방법 및 장치
JPWO2011046056A1 (ja) * 2009-10-14 2013-03-07 日本電気株式会社 パケット通信の伝送制御方法及びパケット通信システム
JP4821904B2 (ja) * 2009-10-23 2011-11-24 エヌイーシーコンピュータテクノ株式会社 データ通信システム及びデータ通信方法
US8788576B2 (en) * 2010-09-27 2014-07-22 Z124 High speed parallel data exchange with receiver side data handling
US8751682B2 (en) 2010-09-27 2014-06-10 Z124 Data transfer using high speed connection, high integrity connection, and descriptor
US8499051B2 (en) 2011-07-21 2013-07-30 Z124 Multiple messaging communication optimization
US20130039192A1 (en) * 2011-08-08 2013-02-14 Renesas Mobile Corporation Methods, Apparatus and Wireless Device for Transmitting and Receiving Data Blocks
US8878794B2 (en) 2011-09-27 2014-11-04 Z124 State of screen info: easel
US9774721B2 (en) 2011-09-27 2017-09-26 Z124 LTE upgrade module
KR101970684B1 (ko) * 2012-02-28 2019-04-19 삼성전자주식회사 무선통신시스템에서 피드백 정보 전송 장치 및 방법
US10009445B2 (en) * 2012-06-14 2018-06-26 Qualcomm Incorporated Avoiding unwanted TCP retransmissions using optimistic window adjustments
KR102025757B1 (ko) * 2013-07-10 2019-09-27 삼성전자주식회사 데이터 전송 방법 및 장치, 데이터 수신 방법 및 장치 및 기록 매체
US10638353B2 (en) * 2014-11-14 2020-04-28 Qualcomm Incorporated Evolved data compression scheme for unreliable transmission modes
WO2016113469A1 (en) * 2015-01-13 2016-07-21 Aalto-Korkeakoulusäätiö A base station and a method thereto
US10524289B2 (en) 2015-12-25 2019-12-31 Kabushiki Kaisha Toshiba Wireless communication device
EP3633896B1 (en) 2017-03-08 2022-10-05 LG Electronics Inc. Method and apparatus for transmitting and receiving radio signals in a wireless communication system
CN113728604B (zh) * 2019-02-05 2023-09-08 卡萨***公司 用于恢复网络关联信息的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09307535A (ja) * 1996-05-15 1997-11-28 Matsushita Electric Ind Co Ltd データ伝送方法
JP2000083013A (ja) * 1998-09-04 2000-03-21 Nippon Telegr & Teleph Corp <Ntt> データ再送方法及びデータ通信システム
US20020167948A1 (en) 2001-05-09 2002-11-14 Dayong Chen Communications methods, apparatus, computer program products and data structures using segment sequence numbers
US20030035420A1 (en) 2000-08-18 2003-02-20 Zhisheng Niu TCP aware local retransmissioner scheme for unreliable transmission network

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62239737A (ja) * 1986-04-11 1987-10-20 Nippon Telegr & Teleph Corp <Ntt> 伝送誤り検出方式
US7936664B2 (en) * 1991-03-26 2011-05-03 Nokia Corporation Multi-carrier radio link protocol supervision in a radio communication system
US5754754A (en) * 1995-07-26 1998-05-19 International Business Machines Corporation Transmission order based selective repeat data transmission error recovery system and method
JP4160642B2 (ja) * 1995-09-08 2008-10-01 株式会社日立製作所 ネットワークデータ転送方法
US5872777A (en) * 1997-09-30 1999-02-16 Motorola, Inc. Method and apparatus for conveying data packets in a packet data communication system
US6128283A (en) * 1997-12-03 2000-10-03 Nortel Networks Corporation Method and apparatus for data transmission using a positive group acknowledgement protocol
US7593408B2 (en) * 1998-05-20 2009-09-22 Qualcomm Incorporated Method and apparatus for resolving ambiguity in reception of multiple retransmitted frames
EP1919117B1 (en) * 1998-11-30 2014-10-15 Panasonic Corporation Packet retransmission control using priority information
KR100539879B1 (ko) * 1999-06-29 2005-12-28 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 데이터 송수신 장치 및 방법
JP3866196B2 (ja) * 2000-06-23 2007-01-10 三菱電機株式会社 パケット再送システムおよびパケット再送方法
FI112150B (fi) * 2000-07-24 2003-10-31 Stonesoft Oyj Tietoliikenteen ohjausmenetelmä
JP3908490B2 (ja) * 2000-08-03 2007-04-25 株式会社エヌ・ティ・ティ・ドコモ マルチキャスト配信サービスにおける再送制御方法及びシステム、再送制御装置、無線基地局及び無線端末
US7200111B2 (en) * 2000-08-31 2007-04-03 The Regents Of The University Of California Method for improving TCP performance over wireless links
US7120172B1 (en) * 2000-09-15 2006-10-10 Lucent Technologies Inc. Radio link protocol framing system for high speed data transfer over digital cellular mobile telecommunication networks
FR2818844B1 (fr) * 2000-12-22 2003-03-07 Mitsubishi Electricite Procede de transmission de donnees entre au moins un emetteur et au moins un recepteur, emetteur, recepteur et systeme de transmission correspondants
US7164654B2 (en) * 2001-03-09 2007-01-16 Denso Corporation ARQ parameter retransmission control for variable data rate channels
JP3476788B2 (ja) * 2001-05-11 2003-12-10 シャープ株式会社 通信方式ならびに送信装置、受信装置およびこれらを備えた通信システム
EP1263160A1 (en) * 2001-06-01 2002-12-04 Telefonaktiebolaget Lm Ericsson Method and transmitter for an efficient packet data transfer in a transmission protocol with repeat requests
US6983410B2 (en) * 2001-07-02 2006-01-03 Qualcomm, Incorporated System and method for a frame re-transmission in a broadcast communication system
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US7298717B2 (en) * 2002-02-15 2007-11-20 Texas Instruments Incorporated Method and apparatus for providing transmit diversity with adaptive basis
FR2841086B1 (fr) * 2002-06-14 2004-08-27 Nortel Networks Ltd Procede de controle de transmission de donnees et unite de controle pour la mise en oeuvre du procede
KR20060100079A (ko) * 2005-03-16 2006-09-20 콸콤 인코포레이티드 Arq 시스템에서 신속하게 재전송 프레임의 상실여부를파악하기 위한 역방향 애크 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09307535A (ja) * 1996-05-15 1997-11-28 Matsushita Electric Ind Co Ltd データ伝送方法
JP2000083013A (ja) * 1998-09-04 2000-03-21 Nippon Telegr & Teleph Corp <Ntt> データ再送方法及びデータ通信システム
US20030035420A1 (en) 2000-08-18 2003-02-20 Zhisheng Niu TCP aware local retransmissioner scheme for unreliable transmission network
US20020167948A1 (en) 2001-05-09 2002-11-14 Dayong Chen Communications methods, apparatus, computer program products and data structures using segment sequence numbers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1667395A4

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7876740B2 (en) * 2005-08-04 2011-01-25 Motorola, Inc. Method and system for synchronization of link layer windows
US9379852B2 (en) 2006-09-05 2016-06-28 Nec Corporation Packet recovery method, communication system, information processing device, and program
JPWO2008029793A1 (ja) * 2006-09-05 2010-01-21 日本電気株式会社 パケット回復方法、通信システム、情報処理装置およびプログラム
WO2008029793A1 (fr) * 2006-09-05 2008-03-13 Nec Corporation Procédé de récupération de paquets, système de communication, dispositif de traitement d'informations et programme
JP5131194B2 (ja) * 2006-09-05 2013-01-30 日本電気株式会社 パケット回復方法、通信システム、情報処理装置およびプログラム
JP2009021781A (ja) * 2007-07-11 2009-01-29 Nec Corp データ通信システム、通信機、データ通信方法及び通信制御用プログラム
JP2009177788A (ja) * 2007-12-27 2009-08-06 Ricoh Co Ltd 情報処理装置、情報処理方法及び情報処理プログラム
JP4554703B2 (ja) * 2007-12-27 2010-09-29 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
US8276034B2 (en) 2007-12-27 2012-09-25 Ricoh Company, Limited Information processing apparatus, information processing method, and computer program product
JP2012015630A (ja) * 2010-06-29 2012-01-19 Fujitsu Ltd 半導体装置、パケット受信方法、およびパケット送信方法
WO2015064288A1 (ja) * 2013-10-31 2015-05-07 アプリックスIpホールディングス株式会社 無線通信装置、無線通信システム、および、これらにおける無線通信方法
JP2019047162A (ja) * 2017-08-29 2019-03-22 トヨタ自動車株式会社 情報処理システム、情報処理方法、プログラム、及び情報処理装置
JP7024259B2 (ja) 2017-08-29 2022-02-24 トヨタ自動車株式会社 情報処理システム、情報処理方法、プログラム、及び情報処理装置
CN114257350A (zh) * 2021-12-31 2022-03-29 广东省教育研究院 传输质量优化方法、装置及传输***

Also Published As

Publication number Publication date
US20070064705A1 (en) 2007-03-22
EP1667395A4 (en) 2010-05-26
EP1667395A1 (en) 2006-06-07
JP4495085B2 (ja) 2010-06-30
US7885264B2 (en) 2011-02-08
JPWO2005027456A1 (ja) 2007-11-15

Similar Documents

Publication Publication Date Title
WO2005027456A1 (ja) 通信システム、通信装置、およびデータの再送制御方法
EP2109954B1 (en) Ack prioritization in wireless networks
EP1871031B1 (en) Retransmission control method and device
EP2759164B1 (en) Dynamic subflow control for a multipath transport connection in a wireless communication network
JP5523350B2 (ja) Tcpフロー制御のための方法及び装置
JP5131194B2 (ja) パケット回復方法、通信システム、情報処理装置およびプログラム
KR101190525B1 (ko) 통합형 기지국들, 및 이동 디바이스들을 위한 통신 시스템에서 데이터 유닛들을 전송하는 방법
JP4354406B2 (ja) データユニット送信機及びこの送信機の制御方法
CN101369877B (zh) 无线传输控制协议处理方法和设备
US20080101290A1 (en) Apparatus for Arq Controlling in Wireless Portable Internet System and Method Thereof
US7496038B2 (en) Method for faster detection and retransmission of lost TCP segments
EP1507370B1 (en) Communication control method and system
JP2008153778A (ja) パケット転送装置
JP2007053588A (ja) パケット再送方式、パケット再送システム、パケット再送プログラム及びプログラム記録媒体
US7334175B2 (en) Method for driving retransmission timer in mobile telecommunications system using radio link protocol
WO2004040861A1 (ja) 通信システム及び方法
JP2008053888A (ja) 通信装置、プログラム、情報記憶媒体および通信制御方法
US10009409B2 (en) Retransmission control network node and related method
EP1427127A2 (en) Communication control method, communication system and communication apparatus that can improve throughput
JP4203400B2 (ja) 受信装置、通信システム及びプログラム
JP4755036B2 (ja) 再送制御方法、再送制御装置および通信装置
JP2000078195A (ja) 再送制御方法
JP2005167352A (ja) 送信装置およびプログラム
JP2005117301A (ja) 通信装置
KR101933175B1 (ko) 서버와 클라이언트간 통신을 중개하는 중개장치

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GE GM HR HU ID IL IN IS JP KE KG KP KZ LC LK LR LS LT LU LV MA MD MK MN MW MX MZ NA NI NO NZ PG PH PL PT RO RU SC SD SE SG SK SY TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SZ TZ UG ZM ZW AM AZ BY KG MD RU TJ TM AT BE BG CH CY DE DK EE ES FI FR GB GR HU IE IT MC NL PL PT RO SE SI SK TR BF CF CG CI CM GA GN GQ GW ML MR SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005513964

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007064705

Country of ref document: US

Ref document number: 10572501

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2004816142

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2004816142

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10572501

Country of ref document: US