WO2008029793A1 - Packet recovery method, communication system, information processing device, and program - Google Patents

Packet recovery method, communication system, information processing device, and program Download PDF

Info

Publication number
WO2008029793A1
WO2008029793A1 PCT/JP2007/067193 JP2007067193W WO2008029793A1 WO 2008029793 A1 WO2008029793 A1 WO 2008029793A1 JP 2007067193 W JP2007067193 W JP 2007067193W WO 2008029793 A1 WO2008029793 A1 WO 2008029793A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
node
sequence number
retransmission
packets
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2007/067193
Other languages
English (en)
French (fr)
Inventor
Tsuneo Nakata
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008533159A priority Critical patent/JP5131194B2/ja
Priority to EP07828186.2A priority patent/EP2061211A4/en
Priority to US12/439,901 priority patent/US9379852B2/en
Publication of WO2008029793A1 publication Critical patent/WO2008029793A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • 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/1867Arrangements specially adapted for the transmitter end
    • H04L1/1896ARQ related signaling
    • 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
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0096Channel splitting in point-to-point links

Definitions

  • the present invention relates to a packet recovery method, a communication system, an information processing apparatus, and a program for causing a computer to execute the method.
  • the technique disclosed in Document 1 performs flow control and sequence control of transmission packets between a transmission node and a reception node. If the packet waiting for the order is not received, the sending node is notified of the retransmission request for the packet waiting for the order.
  • each flow is a unit, for example, using TCP (Transmission Control Protocol (see rfc793 standard)) etc. Re-transmission and order control! /
  • a mopile inverse including means for transmitting a retransmission packet, which is a packet to be retransmitted, through a path with the shortest delay among the plurality of paths.
  • Max multiplexing technology
  • Mopile Inverse Max Nu, ⁇ . Nakata et aij Koyoru iirficient bundling of heterogeneous radio res ources for broadband Internet access from moving vehicles "(in proceedings of Global Mobile Congress 2004, Oct. 11-13 2004, Shanghi, China. ) (Hereinafter referred to as Document 2)
  • Document 2 The technique disclosed in Document 2 uses a single path. The delay due to retransmission can be reduced as compared with the case of performing only retransmission control.
  • FIG. 1 shows a case where three packets with sequence numbers 2, 3, and 4 are lost among nine packets with sequence numbers 1 to 9 transmitted by the transmitting node 101. Indicates retransmission processing.
  • the reception node 102 When receiving the packet 201 having the sequence number 5 from the transmission node 101, the reception node 102 returns an acknowledgment message 301 to the transmission node 101.
  • the receiving node 102 receives up to a packet 401 having a sequence number of 6, the receiving node 102 also sends an acknowledgment message 301 back to the transmitting node 101.
  • the confirmation response message 301 includes an Ack field and a Sack field.
  • the Ack field contains the smallest unreceived packet and the sequence number 2! /.
  • the receiving node 102 has received a packet with a sequence number of 1.
  • the Sack field is used only when there is a packet received after the sequence number inserted in the Ack field.
  • the Sack field includes a Left field and a Right field.
  • the smallest sequence number in the right packet is entered in the Right field.
  • the Sack field indicates an acknowledgment message that is sent when the receiving node 102 has received up to a packet of sequence number 6.
  • the transmitting node 101 Upon receiving the acknowledgment message 301 from the receiving node 102, the transmitting node 101 recognizes that the sequence numbers 1, 5, and 6 have been received from the acknowledgment message 301, and the sequence numbers 2, 3, It is determined that packet 4 is lost, and the lost packet is retransmitted to receiving node 102. As shown in FIG. 1, transmitting node 101 receives an acknowledgment message after transmitting a packet with sequence number 9, and receives the lost packet as receiving node 102. Resend to.
  • FIG. 1 also shows a case where the transmission delay is increased for packets whose sequence number is 7 or later, where the speed of the transmission path fluctuates. Therefore, not only the packets with sequence numbers 7, 8, and 9 but also the retransmitted packets with sequence numbers 2, 3, and 4 that were retransmitted after that are transmitted with a larger transmission delay than during the primary transmission.
  • FIG. 2 shows that two routes of route 1 and route 2 can be used between the transmission node 101 and the reception node 102.
  • route 1 the packets with sequence numbers 2, 3, and 4 are lost as in Fig. 1, and the packets with sequence numbers of 7 and later have an increased transmission delay due to speed reduction compared to the previous packets. is doing.
  • route 2 packet loss and speed reduction occur.
  • the loss of packets with sequence numbers 2, 3, and 4 is entered as 2 in the Ack field and 5 in the Left field for the first Sack block.
  • the transmitting node 101 detects the message.
  • the receiving node 102 since there is no packet loss in the path 2, the receiving node 102 returns an acknowledgment message 302 consisting only of the Ack field to the transmitting node 101. Further, in the path 2, the packet transmission speed from the transmission node 101 to the reception node 102 does not decrease. Therefore, comparing the acknowledgment message 301 of route 1 and the acknowledgment message 302 of route 2 sent simultaneously from the receiving node 102 to the transmitting node 101, the Ack field of route 2 is more than the route 1 route. Also have a large sequence number. Here, the case where the sequence number 9 is inserted in the Ack field of the acknowledgment message 302 is shown.
  • each retransmission packet includes information for identifying from which route the primary packet is transmitted.
  • the sequence numbers assigned to the packets have different sequences for each route.
  • a sequence number sequence can be assigned to any transfer unit, and a different identifier is assigned to each sequence number sequence. This identifier is called retransmission ID (identification) (see Reference 2).
  • retransmission ID identification
  • the retransmission ID becomes a route identifier for identifying the route.
  • a group of a plurality of TCP or UDP (User Datagram Protocol) sessions or a group of wireless lines belonging to the same wireless system can be considered.
  • the session or line can be identified by the retransmission ID, and the retransmission speed can be increased by parallel transfer similar to the example in Fig. 2.
  • the retransmission by Sack shown in FIG. 1 has a problem that the bandwidth utilization efficiency is lowered in communication from the receiving node 102 to the transmitting node 101 because the acknowledgment message increases as the number of Sack blocks increases.
  • the present invention has been made to solve the above-described problems of the technology, and includes a packet recovery method, a communication system, an information processing device, and a packet recovery method that suppress a decrease in bandwidth utilization efficiency in packet transmission. It is intended to provide a program for causing a computer to execute the method.
  • the packet recovery method of the present invention a plurality of packets transmitted in the order of sequence numbers from the first node to the second node via the network are partly lost.
  • the packet recovery method includes the sequence number of the packet that has been acknowledged or detected and the information of the lost packet.
  • the acknowledgment message is transmitted to the first node via the network and the first node receives the acknowledgment message from the second node, a sequence number different from any of the plurality of packets is retransmitted.
  • the first node retransmits a confirmed notification message for notifying that the acknowledgment message has been received.
  • the communication system of the present invention is a communication system having a first node and a second node connected via a network, and the first node has a plurality of second nodes in order of sequence numbers.
  • the second node receives an acknowledgment message from the second node that contains the sequence number of the packet that was acknowledged or detected by the second node and the information about the lost packet,! /
  • a different sequence number is assigned to the retransmission packet that is the packet to be retransmitted, and a confirmation notification message for notifying that the acknowledgment message has been received is attached to the retransmission packet and transmitted to the second node.
  • the second node has a control unit, and when the second node detects a loss of a packet transmitted from the first node, an acknowledgment message is sent to the first node.
  • An information processing apparatus is an information processing apparatus that transmits a packet to another information processing apparatus via a network, and stores a retransmission packet that is a packet to be retransmitted to the other information processing apparatus. And a confirmation response including the sequence number of the packet that has been acknowledged or detected by the other information processing device and the information of the lost packet after transmitting a plurality of packets to the other information processing device in the order of the sequence number.
  • a message is received from another information processing device, a sequence number different from! / Of multiple packets is assigned to the retransmitted packet, and the acknowledged notification message is sent to notify that the acknowledgment message has been received.
  • a control unit that attaches to the packet and transmits the packet to another information processing apparatus.
  • the information processing apparatus of the present invention is an information processing apparatus that receives a packet from another information processing apparatus via a network, and has a sequence number assigned to the other information processing apparatus power packet.
  • a loss of some of the packets sent from other information processing devices and a storage unit for storing packets received in sequence is detected, the sequence number of the packet that has been acknowledged or detected for loss and the number of lost packets
  • reception confirmation or loss detection is performed.
  • the packet is assigned a number before the sequence number of the received packet.
  • a program of the present invention is a program for transmitting a packet to an information processing apparatus via a network.
  • a confirmation response message that includes a packet that is received by the information processing device or has been detected as lost, and information about the lost packet.
  • a confirmed notification message for notifying that the acknowledgment message has been received by assigning a sequence number that is different from the! / Of the multiple packets to the retransmission packet that is the packet to be retransmitted.
  • the program of the present invention is a program for causing a computer that also receives information packets via a network to execute the processing of a plurality of packets sent in order of sequence numbers from the information processing device.
  • an acknowledgment message containing the sequence number of the packet that has been acknowledged or detected to be lost and the information on the lost packet is sent to the information processing device to notify that the acknowledgment message has been received.
  • the computer is caused to execute a process that does not make a retransmission request for a packet with a number before the sequence number of the packet that has been confirmed to be received or has been detected as lost. .
  • FIG. 1 is a diagram for explaining packet retransmission control using Sack.
  • FIG. 2 is a diagram for explaining a case where a plurality of routes can be used between two nodes.
  • FIG. 3 is a block diagram showing an example of a configuration of a communication system in the first embodiment.
  • FIG. 4 is a diagram for explaining an example of an operation procedure of the communication system in the first embodiment.
  • FIG. 5 is a flowchart showing an example of an operation procedure of the communication system in the first embodiment.
  • FIG. 6 is a diagram for explaining an example of an operation procedure of the communication system in the second embodiment.
  • FIG. 7 is a block diagram showing a configuration example of a node that performs packet retransmission control and order control.
  • FIG. 3 is a block diagram showing a configuration example of the communication system in the present embodiment.
  • the transmission node 111 and the reception node 112 shown in FIG. 3 are information processing devices such as computers, PDAs (Personal Digital Assistants), routers, and server devices connected via a network 50 such as the Internet.
  • a network 50 such as the Internet.
  • the network 50 there is a router that forwards the bucket! /!
  • the transmitting node 111 corresponds to the first node of the present invention
  • the receiving node 112 corresponds to the second node of the present invention.
  • Each of the transmission node 111 and the reception node 112 includes a communication unit 115 that transmits / receives a packet via the network 50, a storage unit 800 that stores data to be transmitted / received, and a control that controls packet transmission / reception. Part 1 17. As described above, if one of the transmission node 111 and the reception node 112 is the transmission side, the other is the reception side, and thus the configuration of the apparatus is the same.
  • the control unit 117 includes a CPU (Central Processing Unit) (not shown) that executes processing according to a program, and a memory (not shown) for storing the program.
  • CPU Central Processing Unit
  • the control unit 117 of the transmission node 111 receives an acknowledgment message received from the reception node 112.
  • a sequence number as a new primary transmission packet that is, a number after the last transmitted sequence number is added to the retransmission packet.
  • a confirmed notification message (Ack-to-Ack) is inserted into the retransmitted packet transmitted to the receiving node 112 first.
  • Ack-to-Ack is information of the largest sequence number among the packets whose reception has been confirmed or whose loss has been detected, which is obtained from the confirmation response message from the reception node 112 by the transmission node 111.
  • Ack-to-Ack is a message for notifying that the transmission node 111 has received the confirmation response message from the reception node. Then, the retransmission packet generated in this way is transmitted to the receiving node 112.
  • control unit 117 of receiving node 112 When receiving the retransmission packet, control unit 117 of receiving node 112 reads Ack-to-Ack in the first received retransmission packet. At this time, it is not necessary to return to the transmitting node 111 an acknowledgment regarding the packet having a sequence number indicated by Ack-to-Ack! This is because, from the Ack-to-Ack information, it is possible to grasp the power of the receiving node 112 that has been received by the receiving node 112 or the power of the transmitting node 111 to recognize the state of loss.
  • the Ack field including the smallest sequence number of unreceived packets after the sequence number indicated by Ack-to-Ack is included in the acknowledgment message.
  • FIG. 4 is a diagram for explaining an example of the operation procedure of the communication system in the present embodiment.
  • FIG. 5 is a flowchart showing an example of the operation procedure of the communication system in the present embodiment.
  • the transmitting node 111 When receiving the acknowledgment message 301 from the receiving node 112, the transmitting node 111 detects from the acknowledgment message 301 that the packets with sequence numbers 2, 3, and 4 have been lost. Subsequently, a sequence number as a new primary transmission packet, that is, a number after sequence number 9 transmitted last is added to the retransmission packet (step 1002).
  • a sequence number 2 is assigned, and a new sequence number 10 is given to the retransmission packet 202 of the packet 201 transmitted primarily.
  • the sequence number of a packet whose sequence number was 3 at the time of primary transmission is changed to 11 at the time of retransmission, and the sequence number of a packet whose sequence number was 2 at the time of primary transmission is changed to 12 at the time of retransmission.
  • the transmitting node 111 After receiving the acknowledgment message 301 from the receiving node 112, the transmitting node 111 inserts an Ack-to-Ack 501 into the retransmission packet 202 to be transmitted first (step 1003).
  • the sequence number inserted as the Ack-to-Ack 501 in the retransmission packet 202 is 6. Become.
  • the transmission node 111 transmits the retransmission packet generated in this way to the reception node 112. Send (step 1004).
  • the transmitting node 111 transmits a retransmission packet 202 including a sequence number 10 and an Ack-to-Ack 501, a retransmission packet provided with a sequence number 11, and a retransmission packet provided with a sequence number 12. Is transmitted to the receiving node 11 2.
  • the receiving node 112 When the receiving node 112 receives the retransmission packet 202 including the Ack-to-Ack 501, the receiving node 112 reads the Ack-to-Ack 501 of the retransmission packet 202, and confirms the packet before the sequence number 6 indicated by the Ack-to-Ack 501. Do not return response to sending node 111. Therefore, when the reception node 112 sends the acknowledgment message 302 to the transmission node 111 after arrival of the retransmission packet 202, the reception node 112 does not need to include information on the packets having the sequence numbers 1 to 6 in the message. The information that needs to be included in the acknowledgment message 302 is the Ack field with sequence number 6 or later, the smallest unreceived packet, and the sequence number 7 inserted.
  • V and Sack blocks cannot be omitted !, it can be seen that the present invention has the effect of reducing the amount of data in the acknowledgment message.
  • the receiving node 112 transmits an acknowledgment message 301 to the transmitting node 111 after detecting reception of the packet with the sequence number 6!
  • an acknowledgment message may be sent to the sending node 111.
  • the first embodiment relates to packet retransmission processing when there is one communication path between two nodes
  • this embodiment can use multiple communication paths between two nodes. This relates to packet retransmission processing in such a case.
  • Route 1 there are a plurality of paths in the network 50 as communication paths between the transmission node 111 and the reception node 112.
  • Route 2 There are two possible routes, Route 1 and Route 2.
  • the control unit 117 of the transmission node 111 generates a retransmission packet to which a new sequence number is assigned in the same manner as in the first embodiment, and also transmits a retransmission packet to be transmitted first. Enter Ack-to-Ack. Then, a route is selected from a plurality of routes according to priority such as early arrival of packets and loss risk distribution, and a retransmission packet is transmitted to the receiving node 112 via the selected route.
  • priority such as early arrival of packets and loss risk distribution
  • the control unit 117 of the receiving node 112 When receiving the retransmission packet, the control unit 117 of the receiving node 112 reads the Ack-to-Ack included in the retransmission packet and reads the sequence indicated by the Ack-to-Ack as in the first embodiment.
  • the Ack field containing the smallest sequence number of unreceived packets after the service number is included in the acknowledgment message and sent to the sending node. It is necessary to return to the sending node 111 an acknowledgment regarding the packet before the sequence number indicated by Ack-to-Ack.
  • FIG. 6 is a diagram for explaining an example of the operation procedure of the communication system in the present embodiment.
  • the transmitting node 111 When receiving the acknowledgment message 301 from the receiving node 112, the transmitting node 111 detects from the acknowledgment message 301 that the packets with sequence numbers 2, 3, and 4 have been lost. Next, the sequence number as a new primary transmission packet, that is, the number after the last transmitted sequence number 9 is added to the retransmission packet. In addition, after receiving the acknowledgment message 301 from the receiving node 112, the transmitting node 111 inserts an Ack-to-Ack 501 into the retransmission packet 204 that is first transmitted via the path 1. In the example shown in FIG.
  • the transmission node 111 selects from among a plurality of routes as a retransmission packet route. If priority is given to early arrival, a route is selected based on a state indicator of a route that can be estimated by the transmitting node 111 based on information fed back from the receiving node 112 such as delay and loss rate. Also, if priority is given to dispersing loss risk, for example, if there is packet loss in the route used for primary transmission, a route different from that route is selected.
  • the transmitting node 111 transmits the packet 201 assigned the sequence number 2 to the receiving node 112 via the path 1 at the time of primary transmission. However, when the same packet is retransmitted, a new sequence is transmitted. The packet is transmitted to the receiving node 112 via the route 2 as the retransmission packet 203 to which the number 10 is assigned.
  • a sequence number 3 is assigned at the time of primary transmission, and a packet transmitted via route 1 is assigned a sequence number 11 at the time of retransmission and transmitted via route 2.
  • a packet that was given sequence number 4 at the time of primary transmission and was sent via route 1 was given a sequence number 12 at the time of retransmission and was sent via route 2
  • the receiving node 112 When receiving the retransmission packet 203 including the Ack-to-Ack 501 via the path 2, the receiving node 112 reads the Ack-to-Ack 501 of the retransmission packet 203, and the Ack-to-Ack 501 indicates Do not return an acknowledgment for the packet with sequence number 6 or earlier! Therefore, when the receiving node 112 sends the confirmation response message 302 to the transmission node 111 after the retransmission packet 203 arrives, the information that needs to be included in the confirmation response message 302 is only the Ack field. In the Ack field of the acknowledgment message 302 on route 1, 7 is the smallest sequence number of unreceived packets after sequence number 6. It has been entered.
  • the receiving node 112 when receiving the packet with the sequence number 8 via the path 2, the receiving node 112 transmits an acknowledgment message 302 with 9 inserted in the Ack field to the transmitting node 111. Subsequently, when the packet with the sequence number 9 is received via the path 2, an acknowledgment message 303 in which 10 is inserted into the Ack finale is transmitted to the transmitting node 111. Thereafter, when the retransmission packet 203 is received, an acknowledgment message 303 with 11 inserted in the Ack field is transmitted to the transmission node 111. The same applies to subsequent retransmission packets.
  • This confirmation response message 303 serves as confirmation information that the receiving node 112 has received the retransmission packet transmitted via the route 2.
  • the retransmission packet 203 is transmitted from the transmission node 1 11 via the path 1 and has a power S, which is transmitted later than the packets of sequence numbers 8 and 9.
  • the packet arrives at receiving node 112 earlier than the two packets via route 1.
  • the receiving node 112 receives the retransmission packet 203 with the sequence number 10 earlier than the packets with the sequence numbers 8 and 9.
  • the receiving node 112 processes a packet for each route, even if it receives a retransmission packet of sequence number 10 on route 2, it does not request retransmission of sequence numbers 8 and 9 on route 1.
  • this embodiment has an effect of preventing redundant retransmission caused by inter-path jitter when a primary transmission packet and a retransmission packet are transmitted in parallel using a plurality of paths.
  • the method of retransmitting a packet lost in communication between two nodes has been described. Because of this, the loss of information can be remedied. A new sequence number is issued each time a packet is retransmitted. Therefore, even if the sequence number is used on the receiving side, data cannot be restored in the packet transmission order. . Therefore, the application of the present invention is based on the premise that the data packet to which the sequence number is assigned separately includes information necessary for restoring the data transmission order.
  • FIG. 7 is a block diagram showing an example of the configuration of a node that performs packet retransmission control and order control. Here, each configuration will be described in the case where the node shown in FIG. 7 transfers a packet received from the outside to the destination node as the destination.
  • the control unit 117 illustrated in FIG. 3 includes a retransmission control unit 610, a scheduling unit 620, and an order control unit 630 illustrated in FIG.
  • the retransmission control unit 610, the scheduling unit 620, and the order control unit 630 are virtually configured.
  • control unit 117 is provided with an order control queue 701-1—701-3, a session queue 702— ;! to 702-3, and a retransmission request queue 703 for temporarily storing packets. Yes.
  • Data packet from other nodes other than the counterpart node to which the packet is transmitted is input to external receiving section 604.
  • the external transmission unit 603 transmits a bucket to other nodes including the counterpart node.
  • Order control section 630 divides the input data packet into transfer units for performing order control, and assigns a sequence number for order control to each transfer unit.
  • the transfer unit for performing the order control is called a session, and the sequence number used for restoring the transmission order in the session unit is called the session sequence number.
  • the sequence control unit 630 inserts the packet with the session sequence number into the session queue 702— ;! to 702-3.
  • a sequence number used for packet loss detection in packet retransmission processing is referred to as a retransmission sequence number.
  • Examples of transfer units for performing sequence control include TCP sessions and RTSP (Real Time Streaming Protocol) sessions in which processing by the end host is reduced when sequence control is maintained at intermediate nodes. Etc.
  • Transmitting units 602-1 and 602-2 transmit packets to the partner node, and receiving units 601-1 and 601
  • Figure 7 shows the case where there are two transmitters and two receivers corresponding to the number of transmission paths to the partner node.
  • the scheduling unit 620 obtains a packet from the session queue 702— ;! to 702-3. Then, for each packet, a route to be used when transmitting to the counterpart node is determined.
  • the algorithm for determining the transmission path is arbitrary, and for example, a PAC (Predict-and-Correct) scheduler disclosed in the above-mentioned document 2 can be used.
  • the retransmission control unit 610 When the retransmission control unit 610 receives a packet whose transmission path is determined from the scheduling unit 620 as the initial transmission process, the retransmission control unit 610 assigns a retransmission ID and a retransmission sequence number to the packet, and transmits the transmission units 602-1 and 602. — Send to the other node via one of the two.
  • the retransmission ID is synonymous with the retransmission ID shown in Reference 2, and is an identifier for identifying each arbitrary retransmission control unit.
  • retransmission is distinguished for each transmission path. In other words, there is a one-to-one correspondence between retransmission IDs and routes.
  • the retransmission control unit 610 stores all buckets to be transmitted together with the corresponding retransmission sequence number in the storage unit 800 in preparation for packet retransmission. If the own device is the packet receiver, the packet sent back to the partner node includes an acknowledgment message and Ack-to-Ack as necessary. The retransmission control unit 610 generates these messages and Ack-to-Ack when receiving a packet.
  • the retransmission control unit 610 transmits the received packet to the order control queue 701- according to the session sequence number to which the packet belongs. ;! Enter 701-3. Further, the session sequence number and Ack-to-Ack of the packet are recorded in the storage unit 800. Then, an acknowledgment message is created that refers to the session sequence number of the packet received in the past and that is already stored in the storage unit 800 and notifies the partner node.
  • the content may be notified to the partner node, but by sending it as a single packet separately from the data packet, The partner node may be notified.
  • retransmission control section 610 analyzes the acknowledgment message to check whether there is a packet loss. If the packet loss is detected as a result of the analysis, the packet that needs to be retransmitted is stored in the storage unit 800. Extract from stored transmitted packets. The extracted packets are stored in the retransmission request queue 7003, and these packets are deleted from the storage unit 800. A packet stored in the retransmission request queue 703 is given a session sequence number.
  • Detection of packet loss may be performed by an arbitrary method. For example, the method disclosed in Document 2 can be used. However, even if packet loss is detected, if the sequence number of the packet to be retransmitted is smaller than the sequence number indicated by the received Ack-to-Ack for the corresponding route, the partner node will not receive the packet. Judged as a confirmed packet.
  • Retransmission control unit 610 refers to Ack-to-Ack, and retransmit request queue 703 for packets that have been confirmed to have been received and packets that have been confirmed to be received by the other node from the acknowledgment message.
  • the corresponding transmitted packet is deleted from the storage unit 800 without being stored in.
  • the retransmission sequence number of the packet that was lost or the last packet that was confirmed to be received is entered in Ack-to-Ack. And attach it to the next packet to be sent.
  • Packet retransmission is performed by transmitting a packet stored in retransmission request queue 703. At this time, the retransmission request queue 703 is treated as one of the session queues. The specific procedure is described below.
  • the scheduling unit 602 selects a packet to be transmitted from one of the session queues 702— ;! to 702-3 and the retransmission request queue 703 when transmitting a packet. Regardless of which queue is selected, the route is selected by the above algorithm. Here, since the packet is retransmitted, a packet in the retransmission request queue 703 is selected. Then, when transmitting the packet in the retransmission request queue 703, the retransmission ID and the retransmission sequence number are determined in the same manner as when the packet in the session queue is transmitted primarily.
  • the order control unit 630 refers to the session sequence numbers of the packets temporarily stored in the order control queues 701— ;! to 701-3, and transfers them to the external transmission unit 603 from the ones in order.
  • the external transmission unit 603 synchronizes packets received from the sequence control queue 701 — ;! ⁇ 701-3. Send to hand node.
  • the primary transmission packet and retransmission packet of the same data are transmitted with different retransmission IDs and retransmission sequence numbers, and the session sequence number is kept the same. Order recovery is possible.
  • the receiving node receives a packet attached with a confirmed notification message from the transmitting node, and sends a response confirmation message to the transmitting node for a packet having a sequence number smaller than that message.
  • a receiving node that has received a confirmed notification of sequence number n from a transmitting node does not receive a notification for a packet with a sequence number of less than a! Handled as received when creating an acknowledgment message. Therefore, after receiving the confirmation notification, the number of Sack blocks included in the confirmation response message can be reduced. Therefore, the communication load on the network is reduced and the decrease in bandwidth utilization efficiency is suppressed.
  • the receiving node can know the transmission order even if it receives the retransmission packet in a different order from the transmission order. It becomes.
  • a transmission node assigns different retransmission IDs for each route and uses a plurality of retransmission IDs
  • the retransmission ID is also different from the primary transmission time. Choose a different one. Even if the receiving node receives multiple packets with the same sequence number, the packets can be arranged in the order of transmission from the transmitting node for each route by distinguishing them by retransmission ID.
  • the transmission node may include a confirmed notification message in all packets transmitted to the reception node.
  • a receiving node each time a receiving node receives a packet from the sending node, it sends up to what packet the node received confirmation or loss detection. Node 'Power S Persistently!

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

明 細 書
パケット回復方法、通信システム、情報処理装置およびプログラム 技術分野
[0001] 本発明は、パケット回復方法、通信システム、情報処理装置、およびその方法をコ ンピュータに実行させるためのプログラムに関する。
背景技術
[0002] インターネットなどのネットワークを介して 2つのノードがパケット通信する際、バケツ ト損失が発生することがある。パケット損失に対処する方法として、パケットの再送方 法の技術が提案されている。特開平 9— 46375号公報(以下では、文献 1と称する) にその一例が開示されている。
[0003] 文献 1に開示された技術は、送信ノードと受信ノードとの間で送信パケットのフロー 制御及び順序制御を行うが、受信ノードでパケット損失による順序待ちが発生した場 合、一定時間内に順序待ち対象のパケットを受信しなかった場合、送信ノードに対し て順序待ち対象のパケットの再送要求を通知するものである。
[0004] また、 2つのノード間に複数のフローが存在する場合には、フローそれぞれを単位と して、例えば、 TCP (Transmission Control Protocol (規格書 rfc793参照))などを利 用して、パケットの再送や順序制御を行って!/、た。
[0005] さらに、多重損失が生じた場合には、受信ノードが複数のパケットの欠落情報を同 時に送信ノードに伝える Sack (TCP Selective Acknowledgment Options (規格書 rfc 2018参照))により、冗長な再送の防止と、再送による遅延の抑制を行っていた。
[0006] また、 2つのノード間で複数の経路が使用可能であるときには、再送対象のパケット である再送パケットを複数の経路中最も遅延の短い経路を介して送信する手段を含 むモパイルインバースマックス(多重化技術)が知られている。モパイルインバースマ ックス (ュ、 Ί . Nakata et aijこよる iirficient bundling of heterogeneous radio res ources for broadband Internet access from moving vehicles" (in proceedings of Global Mobile Congress 2004, Oct. 11-13 2004, Shanghi, China.) (以下 では、文献 2と称する)に開示されている。文献 2に開示された技術では、単一経路の みに閉じた再送制御を行う場合に比べ再送による遅延の低減が可能である。
[0007] 以下に、 Sackを用いたパケット再送制御を、図 1を用いて説明する。
[0008] 図 1は、送信ノード 101が送信した、シーケンス番号が 1から 9まで付与されている 9 個のパケットのうち、シーケンス番号が 2, 3, 4の 3個のパケットが損失した場合の再 送処理を示している。
[0009] 受信ノード 102は、送信ノード 101からのシーケンス番号が 5のパケット 201を受信 すると、確認応答メッセージ 301を送信ノード 101に返送する。図 1では、シーケンス 番号が 6であるパケット 401まで受信ノード 102が受信したところで、受信ノード 102 力も送信ノード 101に確認応答メッセージ 301が返信されるところが示されている。確 認応答メッセージ 301は、 Ackフィールドと Sackフィールドとを含む。 Ackフィールドに は未受信のパケットで最も小さレ、シーケンス番号である 2が揷入されて!/、る。図 1の例 では、受信ノード 102は、シーケンス番号が 1のパケットを受信済みだからである。
[0010] Sackフィールドは、 Ackフィールドに揷入されたシーケンス番号以降に受信されたパ ケットがある場合にのみ用いられる。 Sackフィールドは、 Leftフィールドと Rightフィール ドとを含む。受信されたパケットのうちシーケンス番号が連続して!/、る部分を Block (ブ ロック)として、各ブロックにっき、その最初のパケットのシーケンス番号力 Leftフィール ドに揷入され、ブロック後の未受信のパケットで最も小さいシーケンス番号が Rightフィ 一ルドに揷入される。
[0011] 図 1の例では、 Sackフィールドは受信ノード 102がシーケンス番号 6のパケットまで 受信した時点で送出される確認応答メッセージを示している。この場合、シーケンス 番号 5および 6のパケットからなる 1つのブロックしかない。そのため、図 1に示すように 、この第一の Sackブロックについて、 Leftフィールドには 5が揷入され、 Rightフィール ドには 7が揷入されている。
[0012] 送信ノード 101は、受信ノード 102から確認応答メッセージ 301を受信すると、確認 応答メッセージ 301からシーケンス番号 1 , 5および 6が受信済みであることを認識す るとともに、シーケンス番号 2, 3, 4のパケットが損失したと判断し、損失したパケットを 受信ノード 102に再送する。図 1に示すように、送信ノード 101がシーケンス番号 9の パケットの送信後に確認応答メッセージを受信し、損失したパケットを受信ノード 102 に再送する。
[0013] また、図 1は、伝送路の速度が変動し、シーケンス番号が 7以降のパケットについて 伝送遅延が拡大した場合も示している。そのためシーケンス番号 7, 8, 9のパケットの みならず、その後に再送されたシーケンス番号が 2, 3, 4の再送パケットも一次送信 時に比べて大きな伝送遅延をもって伝送される。
[0014] 2つのノード間に複数の経路が使用可能であり、その 1つについてこのような速度の 低下が生じた場合には、文献 2に開示されたモパイルインバースマックスを用いて再 送パケットの遅延を低下させることができる。以下に、その技術を、図 2を用いて説明 する。
[0015] 図 2では、送信ノード 101と受信ノード 102との間で経路 1と経路 2との 2つの経路が 使用可能であることを示している。経路 1においては、図 1と同様にシーケンス番号が 2, 3, 4であるパケットが損失し、またシーケンス番号が 7以降であるパケットはそれ以 前のパケットに比べて速度低下により伝送遅延が増大している。経路 2においてはパ ケット損失も速度低下も生じてレ、なレ、。
[0016] シーケンス番号 2, 3, 4のパケットの損失は、図 1の例と同様に、 Ackフィールドに 2 が揷入され、第一の Sackブロックに関する Leftフィールドに 5が揷入され、 Rightフィー ルドに 7が揷入された確認応答メッセージ 301を送信ノード 101が受信することにより 、送信ノード 101に検出される。
[0017] 一方、経路 2ではパケット損失が生じないので、受信ノード 102は Ackフィールドの みからなる確認応答メッセージ 302を送信ノード 101に返送する。また、経路 2では送 信ノード 101から受信ノード 102へのパケット送信の速度低下も生じていない。その ため、受信ノード 102から送信ノード 101に同時に送られた経路 1の確認応答メッセ ージ 301と経路 2の確認応答メッセージ 302とを比較すると、経路 2の Ackフィールド の方が経路 1の場合よりもシーケンス番号が大きい。ここでは、確認応答メッセージ 3 02の Ackフィールドにシーケンス番号の 9が揷入された場合を示す。
[0018] 送信ノード 101は、確認応答メッセージ 301 , 302の Ackフィールドから、経路 2の遅 延が経路 1より小さいことを予測し、経路 1のシーケンス番号 2, 3, 4を持つパケットを 経路 2を介して受信ノード 102に送信する。このようにして経路 2を介して再送された パケットのシーケンス番号を、受信ノード 102が経路 1のシーケンス番号と正しく認識 する必要がある。そのため、この方式では各再送パケットに、一次送信時にいずれの 経路から送出されたものであるかを識別するための情報を含めるようにしている。
[0019] なお、図 2の例ではパケットに付与されるシーケンス番号は経路毎に系列が異なつ ている。モパイルインバースマックスにおいては任意の転送単位にシーケンス番号の 系列を割り当てることが可能であり、シーケンス番号系列毎に異なる識別子を付与し ている。その識別子を再送 ID (identification)と称している(文献 2を参照)。図 2の例 では、経路毎に異なる再送 IDを付与すれば、再送 IDは経路を特定するための経路 識別子となる。
[0020] 再送 IDの付与の仕方の他の例として、複数の TCPまたは UDP (User Datagram Pr otocol)セッションの組や、同一無線システムに属する無線回線の組などが考えられ る。これらの場合、セッションや回線に対応して再送 IDを付与すれば、再送 IDでセッ シヨンや回線を識別でき、図 2の例と同様な並列転送による再送の高速化が可能で ある。
発明の開示
[0021] 図 1に示した Sackによる再送は、 Sackブロックの数が増えると確認応答メッセージが 大きくなるため、受信ノード 102から送信ノード 101への通信において帯域利用効率 が低下する問題があった。
[0022] また、 TCPのように確認応答メッセージがデータパケットのヘッダに含まれる場合に は、 Sackブロック数が増大すると、パケットの損失やフラグメント化が起こりやすくなる 問題があった。
[0023] これらの問題は、 Sackブロックの数を制限することで影響を低減できる力 S、その場合 、大量のパケット損失が生じた場合に全ての損失情報を確認応答メッセージに含め ることができない。その結果、再送の必要なパケットの検出が遅れ、パケット再送の遅 延が増大するという問題があった。
[0024] モパイルインバースマックスにおける再送は、再送パケットの送達を高速化する効 果があるものの、図 2に示した例では、経路 1で損失後に再送された、シーケンス番 号が 2, 3, 4であるパケットは、それ以前に、送信ノード 101が経路 1を介して送信済 みであるシーケンス番号が 8, 9であるパケットより早く受信ノード 102に受信される。
[0025] このため順序逆転が検出され、本来損失していないシーケンス番号 8, 9のパケット の損失が誤検出され、再送が生じるおそれがある。このように損失していないパケット が冗長に再送されると、帯域利用効率が低下する問題があった。
[0026] また、異なる経路から送信した再送パケットが、それ以降に送信したパケットより遅く 受信ノードに受信される場合は、再送パケットの再損失が誤検出され、冗長な再々送 力 S生じる。このような転送中の順序逆転は、 FIFO (First-In First-Out)制御されてい る経路内では起こらないが、各々力 FIFO制御されていても、モパイルインバースマツ タスにおける再送のように、同じシーケンス番号系列に属するパケットを複数の経路 力も並列に送信する場合には、経路間ジッタにより順序逆転が生じうる。
[0027] また、このジッタによる冗長な再送を避けようとすると、一次送信に用いた経路と同 程度の遅延を持つ経路を再送時にも用いる必要があるため、遅延はより大きいが損 失が少なく信頼性の高!/、経路などを選択できなくなり、状況に応じた送信経路の選 択に制限が生じる問題があった。
[0028] 本発明は、上述の技術が有する問題点を解決するためになされたものであり、パケ ット送信における帯域の利用効率の低下を抑制したパケット回復方法、通信システム 、情報処理装置、およびその方法をコンピュータに実効させるためのプログラムを提 供することを目的とする。
[0029] 本発明のパケット回復方法は、第 1のノードからネットワークを介して第 2のノードに シーケンス番号の順に送信された複数のパケットにつ!/、て、その一部のパケットが損 失したときのパケット回復方法であって、第 2のノードは、第 1のノードから送信される パケットの損失を検出すると、受信確認または損失検出したパケットのシーケンス番 号および損失したパケットの情報を含む確認応答メッセージを第 1のノードにネットヮ ークを介して送信し、第 1のノードは、第 2のノードから確認応答メッセージを受信する と、複数のパケットのいずれとも異なるシーケンス番号を再送対象のパケットである再 送パケットに付与し、第 1のノードは、確認応答メッセージを受信したことを通知する ための確認済み通知メッセージを再送パケットに添付して第 2のノードにネットワーク を介して送信するものである。 [0030] 本発明の通信システムは、ネットワークを介して接続される第 1のノードおよび第 2の ノードを有する通信システムであって、第 1のノードは、第 2のノードにシーケンス番号 の順に複数のパケットを送信した後、第 2のノードが受信確認または損失検出したパ ケットのシーケンス番号および損失したパケットの情報を含む確認応答メッセージを 第 2のノードから受信すると、複数のパケットの!/、ずれとも異なるシーケンス番号を再 送対象のパケットである再送パケットに付与し、確認応答メッセージを受信したことを 通知するための確認済み通知メッセージを再送パケットに添付して第 2のノードに送 信する制御部を有し、第 2のノードは、第 1のノードから送信されるパケットの損失を検 出すると、確認応答メッセージを第 1のノードに送信する制御部を有する構成である。
[0031] 本発明の情報処理装置は、ネットワークを介して他の情報処理装置にパケットを送 信する情報処理装置であって、他の情報処理装置に再送するパケットである再送パ ケットを保存するための記憶部と、他の情報処理装置にシーケンス番号の順に複数 のパケットを送信した後、他の情報処理装置が受信確認または損失検出したパケット のシーケンス番号および損失したパケットの情報を含む確認応答メッセージを他の情 報処理装置から受信すると、複数のパケットの!/、ずれとも異なるシーケンス番号を再 送パケットに付与し、確認応答メッセージを受信したことを通知するための確認済み 通知メッセージを再送パケットに添付して他の情報処理装置に送信する制御部と、を 有する構成である。
[0032] また、本発明の情報処理装置は、ネットワークを介して他の情報処理装置からパケ ットを受信する情報処理装置であって、他の情報処理装置力 パケットに付与された シーケンス番号の順に受信するパケットを保存するための記憶部と、他の情報処理 装置から送信される複数のパケットのうち一部の損失を検出すると、受信確認または 損失検出したパケットのシーケンス番号および損失したパケットの情報を含む確認応 答メッセージを他の情報処理装置に送信し、確認応答メッセージを受信したことを通 知するための確認済み通知メッセージを他の情報処理装置から受信すると、受信確 認または損失検出したパケットのシーケンス番号以前の番号が付与されたパケットに 関しては再送要求を行わな!/、制御部と、を有する構成である。
[0033] 本発明のプログラムは、ネットワークを介して情報処理装置にパケットを送信するコ ンピュータに実行させるためのプログラムであって、情報処理装置にシーケンス番号 の順に複数のパケットを送信し、情報処理装置が受信確認または損失検出したパケ ットおよび損失したパケットの情報を含む確認応答メッセージを情報処理装置から受 信すると、複数のパケットの!/、ずれとも異なるシーケンス番号を再送対象のパケットで ある再送パケットに付与し、確認応答メッセージを受信したことを通知するための確認 済み通知メッセージを再送パケットに添付して情報処理装置に送信する処理をコン ピュータに実行させるものである。
[0034] また、本発明のプログラムは、ネットワークを介して情報処理装置力もパケットを受信 するコンピュータに実行させるためのプログラムであって、情報処理装置からシーケ ンス番号の順に送出された複数のパケットのうち一部のパケットの損失を検出すると、 受信確認または損失検出したパケットのシーケンス番号および損失したパケットの情 報を含む確認応答メッセージを情報処理装置に送信し、確認応答メッセージを受信 したことを通知するための確認済み通知メッセージを情報処理装置から受信すると、 受信確認または損失検出したパケットのシーケンス番号以前の番号が付与されたパ ケットに関しては再送要求を行わない処理をコンピュータに実行させるものである。
[0035] 本発明によれば、確認応答メッセージのデータ量を低減することができ、帯域の利 用効率の低下を抑制できる。また、複数の経路を用いて、一次送信パケットと再送パ ケットとを並列に送信する際、経路間ジッタにより生じる冗長な再送を防げる。
図面の簡単な説明
[0036] [図 1]図 1は Sackを用いたパケット再送制御を説明するための図である。
[図 2]図 2は 2つのノード間に複数の経路が使用可能な場合を説明するための図であ
[図 3]図 3は第 1の実施例における通信システムの一構成例を示すブロック図である。
[図 4]図 4は第 1の実施例における通信システムの動作手順の一例を説明するための 図である。
[図 5]図 5は第 1の実施例における通信システムの動作手順の一例を示すフローチヤ ートである。
[図 6]図 6は第 2の実施例における通信システムの動作手順の一例を説明するための 図である。
園 7]図 7はパケットの再送制御と順序制御を行うノードの一構成例を示すブロック図 である。
符号の説明
皿、 111 送信ノード
102、 112 受信 ード
601- _1、 601-2 受信部
602- _1、 602-2 送信部
603 外部送信部
604 外部受信部
610 再送制御部
620 スケジューリングき
630 順序制御部
701- -1— 701-3 順序制御キ
702- -1— 702-3 セッションキ
703 再送要求キコ
発明を実施するための最良の形態
[0038] (第 1の実施例)
本実施例の通信システムの構成を説明する。図 3は本実施例における通信システ ムのー構成例を示すブロック図である。
[0039] 図 3に示す送信ノード 111および受信ノード 112は、インターネットなどのネットヮー ク 50を介して接続されるコンピュータ、 PDA (Personal Digital Assistants)、ルータ およびサーバ装置などの情報処理装置である。なお、ネットワーク 50内には、バケツ トを転送するルータが設けられて!/、てもよ!/、。送信ノード 111は本発明の第 1のノード に相当し、受信ノード 112は本発明の第 2のノードに相当する。
[0040] ネットワーク 50を介して 2つのノード間でパケットを送受信する際、いずれか一方か ら他方にパケットを送信する場合に限らず、その逆の場合もあるが、ここでは、説明を 簡単にするためにパケットの送信側を送信ノード 111とし、受信側を受信ノード 112と している。
[0041] 送信ノード 111および受信ノード 112のそれぞれは、ネットワーク 50を介してバケツ トを送受信する通信部 115と、送受信するデータを格納するための記憶部 800と、パ ケットの送受信を制御する制御部 1 17とを有する。送信ノード 111および受信ノード 1 12は、上述したように、いずれか一方が送信側であれば他方が受信側になるため、 装置の構成は同様になる。制御部 117は、プログラムにしたがって処理を実行する C PU (Central Processing Unit) (不図示)と、プログラムを格納するためのメモリ(不図 示)とを備えている。
[0042] ただし、パケットの送信側になるか受信側になるかによつて、 CPUが実行するプロ グラムが異なる。そのため、送信側として実行する場合のプログラムと、受信側として 実行する場合のプログラムの両方が各ノードに格納されている。
[0043] 送信ノード 111の制御部 117は、受信ノード 112から受信する確認応答メッセージ
301で損失パケットを特定すると、新たな一次送信パケットとしてのシーケンス番号、 つまり最後に送信したシーケンス番号以降の番号を再送パケットに付与する。また、 最初に受信ノード 112宛に送信する再送パケットに確認済み通知メッセージ (Ack-to -Ack)を揷入する。 Ack-to-Ackとは、送信ノード 111が受信ノード 112からの確認応 答メッセージより得た、受信確認済みまたは損失検出済みのパケットのうち最も大き いシーケンス番号の情報である。 Ack-to-Ackは、送信ノード 111が受信ノードから確 認応答メッセージを受信したことを通知するためのメッセージとなる。そして、このよう にして生成した再送パケットを受信ノード 112に送信する。
[0044] 受信ノード 112の制御部 117は、再送パケットを受信すると、最初に受信した再送 パケット内の Ack-to-Ackを読み出す。この際、 Ack-to-Ackが示すシーケンス番号以 前のパケットに関する確認応答を送信ノード 111に返す必要がな!/、。 Ack-to-Ackの 情報から、どのパケットまで受信ノード 112が受信している力、、または損失しているか の状況を送信ノード 111が認識してレ、る力、を把握できるからである。確認応答メッセ ージを送信ノード 111に送信する場合、 Ack-to-Ackが示すシーケンス番号以降で、 未受信のパケットで最も小さいシーケンス番号を揷入した Ackフィールドを確認応答メ ッセージに含める。 [0045] 次に、本実施例における通信システムのパケットの再送処理の動作を説明する。
[0046] 図 4は本実施例における通信システムの動作手順の一例を説明するための図であ る。図 5は本実施例における通信システムの動作手順の一例を示すフローチャートで ある。
[0047] 送信ノード 111が受信ノード 112に送信したパケットのうちシーケンス番号が 2, 3, 4であるパケットが損失したとする。受信ノード 112は、シーケンス番号が 2, 3, 4であ るパケットが損失したことを認識すると、図 1で示した例と同様にして、 Ackフィールド に 2を揷入し、第一の Sackブロックに関する Leftフィールドに 5を揷入し、 Rightフィー ルドに 7を揷入した確認応答メッセージ 301を生成する。そして、生成した確認応答メ ッセージ 301を送信ノード 111に送信する(ステップ 1001)。
[0048] なお、図 4に示す例では、送信ノード 111が確認応答メッセージ 301を受信ノード 1 12から受信したとき、シーケンス番号が 9のパケットまで送信ノード 111から受信ノー ド 112に対して送信が済んでいるものとする。
[0049] 送信ノード 111は、受信ノード 112から確認応答メッセージ 301を受信すると、確認 応答メッセージ 301からシーケンス番号 2, 3, 4のパケットが損失したことを検出する 。続いて、新たな一次送信パケットとしてのシーケンス番号、つまり最後に送信したシ 一ケンス番号 9以降の番号を再送パケットに付与する(ステップ 1002)。
[0050] 図 4に示す例では、シーケンス番号 2が付与され、一次送信されたパケット 201の再 送パケット 202には、新たなシーケンス番号 10が与えられている。同様に、一次送信 時にシーケンス番号が 3だったパケットのシーケンス番号は再送時には 11に変更さ れ、一次送信時にシーケンス番号が 2だったパケットのシーケンス番号は再送時には 12に変更されている。
[0051] また、送信ノード 111は、受信ノード 112から確認応答メッセージ 301を受信した後 、最初に送信する再送パケット 202に Ack-to-Ack 501を揷入する(ステップ 1003) 。図 4の例では、確認応答メッセージ 301からシーケンス番号 6までのパケットは受信 済み、または損失検出済みと判定できるため、再送パケット 202に Ack-to-Ack 501 として揷入されるシーケンス番号は 6となる。
[0052] 続いて、送信ノード 111は、このようにして生成した再送パケットを受信ノード 112に 送信する(ステップ 1004)。図 4に示す例では、送信ノード 111は、シーケンス番号 1 0および Ack-to-Ack 501を含む再送ノ ケット 202、シーケンス番号 11が付与された 再送パケット、ならびにシーケンス番号 12が付与された再送パケットを受信ノード 11 2に送信する。
受信ノード 112は、 Ack-to-Ack 501を含む再送パケット 202を受信すると、再送 パケット 202の Ack-to-Ack 501を読み出し、 Ack-to-Ack 501が示すシーケンス番 号 6以前のパケットに関する確認応答を送信ノード 111に返さない。そのため、受信ノ ード 112は、再送パケット 202の到着後に送信ノード 111に確認応答メッセージ 302 を送る場合、シーケンス番号 1から 6のパケットに関する情報をメッセージに含める必 要がない。確認応答メッセージ 302に含める必要のある情報は、シーケンス番号 6以 降で、未受信のパケットで最も小さレ、シーケンス番号である 7が揷入された Ackフィー
Figure imgf000013_0001
[0054] 通常の Sackでは、シーケンス番号 2, 3, 4に対する再送パケット全てが受信されな
V、と Sackブロックは省略できな!/、が、本発明では確認応答メッセージのデータ量を低 減する効果があることがわかる。
[0055] なお、本実施例では、図 4に示すように、受信ノード 112は、シーケンス番号 6のパ ケットの受信を検出した後で確認応答メッセージ 301を送信ノード 111に送信して!/ヽ る力 シーケンス番号 2のパケットの損失を検出した時点で、確認応答メッセージを送 信ノード 111に送信してもよレ、。
[0056] (第 2の実施例)
第 1の実施例が 2つのノード間の通信経路が 1つである場合のパケット再送処理に 関するものであるのに対し、本実施例は、 2つのノード間に複数の通信経路が利用可 能な場合におけるパケット再送処理に関するものである。
[0057] 本実施例の通信システムの構成を説明する。なお、本実施例の情報処理装置は、 第 1の実施例と同様であるため、第 1の実施例と異なる点について、図 3を参照して 詳細に説明する。
[0058] 本実施例では、送信ノード 111および受信ノード 112間の通信経路として、ネットヮ ーク 50内に複数の経路があるものとする。以下では、説明を簡単にするために、選 択可能な経路が経路 1と経路 2の 2つとする。
[0059] 本実施例では、送信ノード 111の制御部 117は、第 1の実施例と同様にして、新た なシーケンス番号を付与した再送パケットを生成し、また、最初に送信する再送パケ ットに Ack-to-Ackを揷入する。そして、パケットの早期到着や損失リスク分散などの優 先度に応じて複数の経路から経路を選択し、選択した経路を介して受信ノード 112 に再送パケットを送信する。種々の選択方法が考えられる力 複数の経路からどのよ うにして 1つの経路を選択するかは予めプログラムに記述されている。
[0060] 受信ノード 112の制御部 117は、再送パケットを受信すると、第 1の実施例と同様に して、再送パケットに含まれる Ack-to-Ackを読み出し、 Ack-to-Ackが示すシーケン ス番号以降で、未受信のパケットで最も小さいシーケンス番号を揷入した Ackフィー ルドを確認応答メッセージに含めて送信ノードに送信する。 Ack-to-Ackが示すシー ケンス番号以前のパケットに関する確認応答を送信ノード 111に返す必要がなレ、。
[0061] 次に、本実施例における通信システムのパケットの再送処理の動作を説明する。
[0062] 図 6は本実施例における通信システムの動作手順の一例を説明するための図であ
[0063] 送信ノード 111が受信ノード 112に送信したパケットのうちシーケンス番号が 2, 3, 4であるパケットが損失したとする。受信ノード 112は、シーケンス番号が 2, 3, 4であ るパケットが損失したことを認識すると、図 2で示した例と同様にして、 Ackフィールド に 2を揷入し、第一の Sackブロックに関する Leftフィールドに 5を揷入し、 Rightフィー ルドに 7を揷入した確認応答メッセージ 301を生成する。そして、生成した確認応答メ ッセージ 301を送信ノード 111に送信する。
[0064] 図 6に示す例では、送信ノード 111が確認応答メッセージ 301を受信ノード 112か ら受信したとき、経路 1、経路 2ともにシーケンス番号が 9のパケットまで送信ノード 11 1から受信ノード 112に対して送信が済んで!/、るものとする。
[0065] 送信ノード 111は、受信ノード 112から確認応答メッセージ 301を受信すると、確認 応答メッセージ 301からシーケンス番号 2, 3, 4のパケットが損失したことを検出する 。続いて、新たな一次送信パケットとしてのシーケンス番号、つまり最後に送信したシ 一ケンス番号 9以降の番号を再送パケットに付与する。 [0066] また、送信ノード 111は、受信ノード 112から確認応答メッセージ 301を受信した後 、最初に経路 1を介して送信する再送パケット 204に Ack-to-Ack 501を揷入する。 図 6の例では、確認応答メッセージ 301の情報から、経路 1を介して送信ノード 111か ら受信ノード 112に送信されたパケットのうちシーケンス番号 6までのパケットは受信 済み、または損失検出済みと判定できるため、再送パケット 204に Ack-to-Ack 501 として揷入されるシーケンス番号は 6となる。
[0067] 送信ノード 111は、このようにして生成した再送パケットを受信ノード 1 12に送信す る際、再送パケットの経路として複数の経路から選択する。早期到着を優先すれば、 例えば、遅延や損失率などの、受信ノード 112からフィードバックされる情報をもとに 送信ノード 111が推定可能な経路の状態指標に基づいて経路を選択する。また、単 純に損失リスクを分散することを優先すれば、例えば、一次送信に用いた経路でパケ ットの損失があれば、その経路とは異なる経路を選択する。
[0068] 図 6に示す例では、送信ノード 111は、シーケンス番号 2を付与したパケット 201を 一次送信時に経路 1を介して受信ノード 112に送信したが、同じパケットを再送する 際、新たなシーケンス番号 10を付与した再送パケット 203として経路 2を介して受信 ノード 112に送信する。
[0069] これと同様にして、一次送信時にシーケンス番号 3が付与され、経路 1を介して送信 されたパケットは、再送時にシーケンス番号 11が付与され、経路 2を介して送信され ている。また、一次送信時にシーケンス番号 4を付与され、経路 1を介して送信された パケットは、再送時にシーケンス番号 12が付与され、経路 2を介して送信されている
[0070] 受信ノード 112は、 Ack-to-Ack 501を含む再送パケット 203を経路 2を介して受 信すると、再送パケット 203の Ack-to-Ack 501を読み出し、 Ack-to-Ack 501が示 すシーケンス番号 6以前のパケットに関する確認応答を送信ノード 11 1に返さな!/、。 そのため、受信ノード 112は、再送パケット 203の到着後に送信ノード 1 11に確認応 答メッセージ 302を送る場合、確認応答メッセージ 302に含む必要のある情報は Ack フィールドのみとなる。経路 1における確認応答メッセージ 302の Ackフィールドに、シ 一ケンス番号 6以降で、未受信のパケットで最も小さいシーケンス番号である 7が揷 入されている。
[0071] 一方、受信ノード 112は、経路 2を介してシーケンス番号 8のパケットを受信すると、 Ackフィールドに 9を揷入した確認応答メッセージ 302を送信ノード 111に送信する。 続いて、経路 2を介してシーケンス番号 9のパケットを受信すると、 Ackフィーノレドに 10 を揷入した確認応答メッセージ 303を送信ノード 111に送信する。その後、上述の再 送パケット 203を受信すると、 Ackフィールドに 11を揷入した確認応答メッセージ 303 を送信ノード 111に送信する。これ以降の再送パケットについても同様である。この確 認応答メッセージ 303が、経路 2を経由して送出された再送パケットを受信ノード 112 が受信したことの確認情報となる。
[0072] 本実施例では、図 6に示すように、再送パケット 203は、経路 1を介して送信ノード 1 11から送信された、シーケンス番号 8, 9のパケットよりも遅く送信される力 S、経路 2を 介して送信されたことで、経路 1を経由する 2つのパケットよりも先に受信ノード 112に 到着する。これにより、受信ノード 112は、シーケンス番号 8, 9のパケットよりもシーケ ンス番号 10の再送パケット 203を先に受信することになる。しかし、受信ノード 112は 、経路毎にパケットの処理を行うため、経路 2でシーケンス番号 10の再送パケットを 受信しても、経路 1でのシーケンス番号 8, 9の再送を要求することはない。
[0073] このように、本実施例では、複数の経路を用いて一次送信パケットおよび再送パケ ットを並列に送信する際に、経路間ジッタにより生じる冗長な再送を防ぐ効果がある。
[0074] 上述の第 1および第 2の実施例では、 2つのノード間の通信で損失したパケットを再 送する方法について説明した。これらにより情報の損失は救済される力 パケットの 再送の度に新たなシーケンス番号が発行されるため、受信側では、シーケンス番号 を利用しても、パケットの送信順序にデータを復元することはできない。したがって本 発明の適用にあたっては、シーケンス番号を付与されるデータパケットが、データ送 信順序の復元に必要な情報を別個に含んでいることが前提となる。
[0075] 以下では、受信するパケットの順序を制御する方法の一例を説明する。
[0076] 上述したパケット再送機能とパケットの順序制御機能の両方をノードで実現するに は、パケットの再送制御と順序制御とに、それぞれ異なるシーケンス番号系列(例え ば、文献 2を参照)を適用すればよい。 [0077] 図 7はパケットの再送制御と順序制御を行うノードの一構成例を示すブロック図であ る。ここでは、図 7に示すノードが、外部から受信するパケットをその宛先となる相手ノ ードに転送する場合で各構成を説明する。
[0078] 図 3に示した制御部 117は、図 7に示す再送制御部 610、スケジューリング部 620 および順序制御部 630を有する。 CPUがプログラムを実行することで、再送制御部 6 10、スケジューリング部 620および順序制御部 630が仮想的に構成される。図 3に示 した通信き 115ίま、図 7ίこ示す受信き 1 , 601— 2、送信き 1 , 602— 2 、外部送信部 603および外部受信部 604を含む構成である。
[0079] また、制御部 117には、パケットを一時的に保存するための順序制御キュー 701— 1— 701 - 3,セッションキュー 702—;!〜 702— 3および再送要求キュー 703カ設け られている。
[0080] 外部受信部 604には、パケットの送信先となる相手ノードを除く他のノードからのデ ータパケットが入力される。外部送信部 603は、相手ノードを含む他のノードにバケツ トを送信する。
[0081] 順序制御部 630は、入力されるデータパケットを、順序制御を行うための転送単位 に分割し、それぞれの転送単位に順序制御用のシーケンス番号を付与する。順序制 御を行うための転送単位をセッションと称し、セッション単位での送信順序の復元に 用いるシーケンス番号をセッションシーケンス番号と称する。順序制御部 630は、セッ シヨンシーケンス番号を付与したパケットをセッションキュー 702— ;!〜 702— 3に揷 入する。なお、パケットの再送処理でパケット損失検出に用いるシーケンス番号を再 送シーケンス番号と称する。
[0082] 順序制御を行うための転送単位の例としては、中間ノードにぉレ、て順序制御が保 たれるとエンドホストの処理が軽減される TCPセッションや RTSP (Real Time Streami ng Protocol)セッションなどが挙げられる。
[0083] 送信部 602— 1 , 602— 2は相手ノードにパケットを送信し、受信部 601— 1 , 601
2は相手ノードからのパケットを受信する。図 7は、相手ノードとの送信経路の数に 対応して送信部と受信部がそれぞれ 2つある場合を示している。
[0084] スケジューリング部 620は、セッションキュー 702—;!〜 702— 3からパケットを取得 すると、各パケットについて、相手ノードに送信する際に用いる経路を決定する。送信 経路決定のアルゴリズムは任意であるカ、例えば、上述の文献 2に開示されている PA C (Predict-and-Correct)スケジューラを用いることが可能である。
[0085] 再送制御部 610は、初回送信処理として、送信経路が決定されたパケットをスケジ ユーリング部 620より受け取ると、再送 IDと再送シーケンス番号をパケットに付与して 送信部 602— 1 , 602— 2のいずれかを介して相手ノードに送出する。再送 IDとは、 文献 2に示される再送 IDと同義で、任意の再送制御単位の各々を識別するための識 別子である。
[0086] ここでは、送信経路毎に再送を区別している。つまり、再送 IDと経路とが一対一に 対応している。再送制御部 610は、パケットの再送に備え、全ての送信対象のバケツ トを、対応する再送シーケンス番号とともに記憶部 800に格納する。 自装置がパケット の受信側であれば、相手ノードに返信するパケットには、必要に応じて確認応答メッ セージおよび Ack-to-Ackを含める。これらのメッセージや Ack-to-Ackの作成を、再 送制御部 610はパケットを受信した際に行う。
[0087] 次に、図 7に示したノードが相手ノードからパケットを受信したときのパケット受信処 理について説明する。
[0088] 相手ノードから受信部 601— 1 , 601— 2を介してデータパケットを受信すると、再送 制御部 610は、受信したパケットを、そのパケットが属するセッションシーケンス番号 に応じて順序制御キュー 701—;!〜 701—3に揷入する。また、パケットのセッション シーケンス番号と Ack-to-Ackとを記憶部 800に記録する。そして、記憶部 800に既 に格納されている、過去に受信したパケットのセッションシーケンス番号を参照して相 手ノードに通知する確認応答メッセージを作成する。
[0089] 相手ノードに送信する任意のデータパケットに確認応答メッセージを添付することで 、その内容を相手ノードに通知してもよいが、データパケットとは別に単独のパケットと して送信することで、相手ノードに通知してもよい。
[0090] 相手ノードから受信したパケットに確認応答メッセージが含まれていると、再送制御 部 610は、パケット損失があるか否かを調べるために、確認応答メッセージを解析す る。解析の結果、パケットの損失を検出すると、再送の必要なパケットを記憶部 800に 格納されている送信済みパケットから抽出する。抽出したパケットを再送要求キュー 7 03に格納し、これらのパケットを記憶部 800から削除する。再送要求キュー 703に格 納されるパケットには、セッションシーケンス番号が付与されている。
[0091] パケット損失の検出は任意の方法でよぐ例えば、文献 2に開示されている方法を 用いることが可能である。ただし、パケット損失を検出しても、対応する経路について 受信済みの Ack-to-Ackが示すシーケンス番号よりも再送しょうとするパケットのシー ケンス番号が小さレ、場合には、相手ノードが受信を確認したパケットと判断する。
[0092] 再送制御部 610は、 Ack-to-Ackを参照することで受信確認済みと判断したパケット と、確認応答メッセージから相手ノードでの受信を確認できたパケットについては、再 送要求キュー 703への格納は行わず、対応する送信済みのパケットを記憶部 800か ら削除する。
[0093] なお、相手ノードから受信するデータパケットについて、損失があつたとき、損失し たパケットか、受信確認したパケットのうち最後に受信したパケットの再送シーケンス 番号を Ack-to-Ackに揷入し、次に送信するパケットに添付する。
[0094] 次に、図 7に示したノードが相手ノードにパケットを再送する際のパケット再送処理 について説明する。
[0095] パケットの再送は、再送要求キュー 703に保存されたパケットを送信することにより 行われる。このとき再送要求キュー 703はセッションキューの 1つとして扱われる。以 下に、具体的な手順を説明する。
[0096] スケジューリング部 602は、パケット送信の際、セッションキュー 702—;!〜 702— 3 と再送要求キュー 703のうちいずれ力、から送信対象のパケットを選択する。選択結果 がいずれのキューであっても、上述のアルゴリズムにより経路の選択を行う。ここでは 、パケットの再送なので、再送要求キュー 703のパケットを選択する。そして、再送要 求キュー 703のパケットを送信する際、再送 IDおよび再送シーケンス番号を、セッショ ンキュー内のパケットを一次送信する場合と同様にして決定する。
[0097] 順序制御部 630は、順序制御キュー 701—;!〜 701—3に一時保存されるパケット のセッションシーケンス番号を参照し、順番のそろったものから外部送信部 603に渡 す。外部送信部 603は順序制御キュー 701—;!〜 701—3から受け取るパケットを相 手ノードに送信する。
[0098] 本実施例では、同じデータの一次送信パケットと再送パケットは、異なる再送 IDおよ び再送シーケンス番号で送信される力、セッションシーケンス番号は同一に保たれる ため、受信側では、送信順序の回復が可能となる。
[0099] 本発明によれば、受信ノードは、送信ノードから確認済み通知メッセージが添付さ れているパケットを受け取ることで、そのメッセージそれよりも小さいシーケンス番号の パケットについて応答確認メッセージを送信ノードに通知する必要がない。具体的に 説明すると、シーケンス番号 nの確認済み通知を送信ノードから受信した受信ノード は、シーケンス番号力 ¾未満のパケットにつ!/、ての通知を送信ノードから受信しなくて も、以降の確認応答メッセージ作成の際には受信済みとして扱う。そのため、確認済 み通知を受信した以降は、確認応答メッセージに含まれる Sackブロック数を低減する こと力 Sできる。よって、ネットワークの通信負荷を低減し、帯域利用効率の低下が抑制 される。
[0100] また、シーケンス番号系列に基づいて決められた番号を再送パケットに付与するこ とで、受信ノードは、再送パケットを送信順と異なる順序で受信しても、送信順を知る ことが可能となる。
[0101] また、複数のシーケンス番号系列を利用可能である場合、一次送信に用いるシー ケンス番号系列よりも他のシーケンス番号系列の方がパケットの送信速度が速けれ ば、再送パケットを送信する際に、送信速度の速いシーケンス番号系列の番号を付 与して送信することが可能となる。
[0102] また、送信ノードが経路毎に異なる再送 IDを付与して複数の再送 IDを用いる場合、 一次送信のときと異なる経路を用いて再送パケットを送信する際、再送 IDも一次送信 時と異なるものを選択する。受信ノードは、同じシーケンス番号のパケットを複数受信 しても、再送 IDで区別することにより、経路毎に送信ノードから送信された順にバケツ トを並べることが可能となる。
[0103] また、送信ノードが、受信ノード宛に送信するパケットの全てに確認済み通知メッセ ージを含めるようにしてもよい。この場合、受信ノードは、送信ノードからパケットを受 信する度に、 自ノードがどのパケットまで受信確認または損失検出しているかを送信 ノード'力 S確言忍して!/ヽることを失口ること力 Sでさる。
[0104] さらに、再送パケットは新たな再送 IDおよびシーケンス番号が付与されることから、 モパイルインバースマックスで生じる、再送 ID間のジッタの影響で生じる冗長な再送 を防ぐこと力できる。
[0105] なお、本発明は上記実施例に限定されることなぐ発明の範囲内で種々の変形が 可能であり、それらも本発明の範囲内に含まれることはいうまでもない。
[0106] この出願 (ま、 2006年 9月 5曰 ίこ出願された曰本出願の特願 2006— 239793の内 容が全て取り込まれており、この日本出願を基礎として優先権を主張するものである

Claims

請求の範囲
[1] 第 1のノードからネットワークを介して第 2のノードにシーケンス番号の順に送信され た複数のパケットにつレ、て、その一部のパケットが損失したときのパケット回復方法で あってゝ
前記第 2のノードは、前記第 1のノードから送信されるパケットの損失を検出すると、 受信確認または損失検出したパケットのシーケンス番号および損失したパケットの情 報を含む確認応答メッセージを前記第 1のノードに前記ネットワークを介して送信し、 前記第 1のノードは、前記第 2のノードから前記確認応答メッセージを受信すると、 前記複数のパケットのいずれとも異なるシーケンス番号を再送対象のパケットである 再送パケットに付与し、
前記第 1のノードは、前記確認応答メッセージを受信したことを通知するための確 認済み通知メッセージを前記再送パケットに添付して前記第 2のノードに前記ネットヮ ークを介して送信する、パケット回復方法。
[2] 前記第 1のノードは、
前記再送パケットのシーケンス番号として、前記複数のパケットのうち最後のバケツ トに続く初回送信パケットに該当する番号を付与する、請求の範囲 1記載のパケット 回復方法。
[3] 前記第 1のノードおよび前記第 2のノード間のパケット通信において複数のシーケン ス番号系列が利用可能であり、
前記第 1のノードは、
前記複数のパケットを前記第 2のノードに送信する際、前記複数のシーケンス番号 系列のうち第 1のシーケンス番号系列に基づき決められた番号を付与し、
前記第 1のノードは、
前記再送パケットを前記第 2のノードに送信する際、前記第 1のシーケンス番号系 歹 IJとは異なる第 2のシーケンス番号系列で最後に送出したパケットに続く初回送信パ ケットに該当する番号を前記再送パケットに付与する、請求の範囲 1または 2記載の パケット回復方法。
[4] 前記第 1のノードは、 前記再送パケットのシーケンス番号が他のいかなるシーケンス番号とも同じになら ないように前記再送パケットに前記シーケンス番号を付与する、請求の範囲 1から 3 のいずれ力、 1項に記載のパケット回復方法。
[5] 前記第 2のノードは、
前記確認済み通知メッセージを受信すると、通知されたシーケンス番号以前のシー ケンス番号が付与されたパケットに関しての再送要求を行わない、請求の範囲 1から 4のいずれ力、 1項に記載のパケット回復方法。
[6] 前記第 1のノードは、
前記確認済み通知メッセージに、前記受信確認または損失検出したパケットのシー ケンス番号の情報を含める、請求の範囲 1から 5のいずれか 1項に記載のパケット回 復方法。
[7] 前記第 1のノードは、
前記第 2のノード宛に送信するパケットの全てに前記確認済み通知メッセージを含 める、請求の範囲 1から 6のいずれ力、 1項に記載のパケット回復方法。
[8] ネットワークを介して接続される第 1のノードおよび第 2のノードを有する通信システ ムであって、
前記第 1のノードは、
前記第 2のノードにシーケンス番号の順に複数のパケットを送信した後、前記第 2の ノードが受信確認または損失検出したパケットのシーケンス番号および損失したパケ ットの情報を含む確認応答メッセージを前記第 2のノードから受信すると、前記複数 のパケットのいずれとも異なるシーケンス番号を再送対象のパケットである再送バケツ トに付与し、前記確認応答メッセージを受信したことを通知するための確認済み通知 メッセージを前記再送パケットに添付して前記第 2のノードに送信する制御部を有し、 前記第 2のノードは、
前記第 1のノードから送信されるパケットの損失を検出すると、前記確認応答メッセ ージを前記第 1のノードに送信する制御部を有する、通信システム。
[9] 前記第 1のノードの制御部は、
前記再送パケットのシーケンス番号として、前記複数のパケットのうち最後のバケツ トに続く初回送信パケットに該当する番号を付与する、請求の範囲 8記載の通信シス テム。
[10] 前記第 1のノードおよび前記第 2のノード間のパケット通信において複数のシーケン ス番号系列が利用可能であり、
前記第 1のノードの制御部は、
前記複数のパケットを前記第 2のノードに送信する際、前記複数のシーケンス番号 系列のうち第 1のシーケンス番号系列に基づき決められた番号を付与し、前記再送 パケットを前記第 2のノードに送信する際、前記第 1のシーケンス番号系列とは異なる 第 2のシーケンス番号系列で最後に送出したパケットに続く初回送信パケットに該当 する番号を前記再送パケットに付与する、請求の範囲 8または 9記載の通信システム
[11] 前記第 1のノードの制御部は、
前記再送パケットのシーケンス番号が他のいかなるシーケンス番号とも同じになら ないように前記再送パケットに前記シーケンス番号を付与する、請求の範囲 8から 10 のいずれか 1項に記載の通信システム。
[12] 前記第 1のノードの制御部は、
前記第 2のノード宛に送信するパケットの全てに前記確認済み通知メッセージを含 める、請求の範囲 8から 11のいずれ力、 1項に記載の通信システム。
[13] ネットワークを介して他の情報処理装置にパケットを送信する情報処理装置であつ て、
前記他の情報処理装置に再送するパケットである再送パケットを保存するための記 憶部と、
前記他の情報処理装置にシーケンス番号の順に複数のパケットを送信した後、前 記他の情報処理装置が受信確認または損失検出したパケットのシーケンス番号およ び損失したパケットの情報を含む確認応答メッセージを前記他の情報処理装置から 受信すると、前記複数のパケットの!/、ずれとも異なるシーケンス番号を前記再送パケ ットに付与し、前記確認応答メッセージを受信したことを通知するための確認済み通 知メッセージを前記再送パケットに添付して前記他の情報処理装置に送信する制御 部と、
を有する情報処理装置。
[14] ネットワークを介して他の情報処理装置からパケットを受信する情報処理装置であ つて、
前記他の情報処理装置力 前記パケットに付与されたシーケンス番号の順に受信 するパケットを保存するための記憶部と、
前記他の情報処理装置から送信される複数のパケットのうち一部の損失を検出す ると、受信確認または損失検出したパケットのシーケンス番号および損失したパケット の情報を含む確認応答メッセージを前記他の情報処理装置に送信し、該確認応答メ ッセージを受信したことを通知するための確認済み通知メッセージを前記他の情報 処理装置から受信すると、前記受信確認または損失検出したパケットのシーケンス番 号以前の番号が付与されたパケットに関しては再送要求を行わない制御部と、 を有する情報処理装置。
[15] ネットワークを介して情報処理装置にパケットを送信するコンピュータに実行させる ためのプログラムであって、
前記情報処理装置にシーケンス番号の順に複数のパケットを送信し、
前記情報処理装置が受信確認または損失検出したパケットおよび損失したパケット の情報を含む確認応答メッセージを前記情報処理装置から受信すると、前記複数の パケットのいずれとも異なるシーケンス番号を再送対象のパケットである再送パケット に付与し、
前記確認応答メッセージを受信したことを通知するための確認済み通知メッセージ を前記再送パケットに添付して前記情報処理装置に送信する処理を前記コンビユー タに実行させるためのプログラム。
[16] ネットワークを介して情報処理装置からパケットを受信するコンピュータに実行させ るためのプログラムであって、
前記情報処理装置からシーケンス番号の順に送出された複数のパケットのうち一 部のパケットの損失を検出すると、受信確認または損失検出したパケットのシーケン ス番号および損失したパケットの情報を含む確認応答メッセージを前記情報処理装 置に送信し、
前記確認応答メッセージを受信したことを通知するための確認済み通知メッセージ を前記情報処理装置から受信すると、前記受信確認または損失検出したパケットの シーケンス番号以前の番号が付与されたパケットに関しては再送要求を行わない処 理を前記コンピュータに実行させるためのプログラム。
PCT/JP2007/067193 2006-09-05 2007-09-04 Packet recovery method, communication system, information processing device, and program Ceased WO2008029793A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008533159A JP5131194B2 (ja) 2006-09-05 2007-09-04 パケット回復方法、通信システム、情報処理装置およびプログラム
EP07828186.2A EP2061211A4 (en) 2006-09-05 2007-09-04 PACKET RECOVERY METHOD, COMMUNICATION SYSTEM, INFORMATION PROCESSING DEVICE, AND PROGRAM
US12/439,901 US9379852B2 (en) 2006-09-05 2007-09-04 Packet recovery method, communication system, information processing device, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-239793 2006-09-05
JP2006239793 2006-09-05

Publications (1)

Publication Number Publication Date
WO2008029793A1 true WO2008029793A1 (en) 2008-03-13

Family

ID=39157220

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/067193 Ceased WO2008029793A1 (en) 2006-09-05 2007-09-04 Packet recovery method, communication system, information processing device, and program

Country Status (4)

Country Link
US (1) US9379852B2 (ja)
EP (1) EP2061211A4 (ja)
JP (1) JP5131194B2 (ja)
WO (1) WO2008029793A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010022653A1 (zh) * 2008-08-26 2010-03-04 华为技术有限公司 一种传输文件的检测方法及终端
JP2010166401A (ja) * 2009-01-16 2010-07-29 Toshiba Corp 無線端末および無線通信方法
WO2011072422A1 (en) * 2009-12-17 2011-06-23 Intel Corporation Method and system for facilitating one-to-many data transmissions with reduced network overhead
JP2015181276A (ja) * 2011-09-22 2015-10-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated ワイヤレス通信ネットワークにおけるマルチパストランスポート接続のための動的なサブフロー制御
JP2016103698A (ja) * 2014-11-27 2016-06-02 株式会社東芝 パケット送信装置、及びパケット送信方法
JPWO2022079802A1 (ja) * 2020-10-13 2022-04-21

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0810773B2 (ja) 1989-06-19 1996-01-31 三洋電機株式会社 ホールicおよびホール効果素子
JP5308802B2 (ja) * 2008-12-16 2013-10-09 ルネサスエレクトロニクス株式会社 Canノード
WO2011130316A1 (en) * 2010-04-12 2011-10-20 Qualcomm Atheros, Inc. Repeating for low-overhead communication in a network
DE102011007766A1 (de) * 2011-04-20 2012-10-25 Robert Bosch Gmbh Verfahren und Vorrichtung zur seriellen Datenübertragung mit umschaltbarer Datencodierung
US8520529B2 (en) * 2011-09-15 2013-08-27 Ixia Reordering network traffic
US9461777B2 (en) * 2011-11-21 2016-10-04 Qualcomm Incorporated Hybrid networking system with seamless path switching of streams
US9065749B2 (en) * 2011-11-21 2015-06-23 Qualcomm Incorporated Hybrid networking path selection and load balancing
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
US9722943B2 (en) 2012-12-17 2017-08-01 Qualcomm Incorporated Seamless switching for multihop hybrid networks
US9432251B2 (en) * 2013-03-08 2016-08-30 Qualcomm Incorporated Enhanced acknowledgement and retransmission mechanism
FR3022094B1 (fr) * 2014-06-06 2017-12-08 Bull Sas Methode et systeme de controle de flux
US10079762B1 (en) * 2017-04-24 2018-09-18 Teradyne, Inc. Test communication protocol
US11502932B2 (en) 2019-05-17 2022-11-15 Keysight Technologies, Inc. Indirect testing using impairment rules
FR3113349B1 (fr) * 2020-08-06 2023-04-28 Thales Sa Methode de transmission robuste d'echantillons de signaux numerises dans un systeme de communications rf

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946375A (ja) 1995-07-26 1997-02-14 Hitachi Ltd パケット交換網のパケット再送方法
JPH10154085A (ja) * 1996-11-21 1998-06-09 Fujitsu Ltd 二重化された監視/制御プロセッサによるシステム監視・制御方法および二重化監視/制御プロセッサ・システム
WO2005027456A1 (ja) * 2003-09-18 2005-03-24 Nomura Research Institute Co., Ltd. 通信システム、通信装置、およびデータの再送制御方法
JP2006239793A (ja) 2005-03-02 2006-09-14 Seiko Instruments Inc ドレス装置、研削装置、ドレス方法、数値制御プログラム、及びドレッサ

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3395414B2 (ja) 1994-12-07 2003-04-14 株式会社明電舎 ブロードキャスト伝送の送達確認方式
JP2626622B2 (ja) 1995-04-27 1997-07-02 日本電気株式会社 Osi通信システム
US5722051A (en) * 1996-02-13 1998-02-24 Lucent Technologies Inc. Adaptive power control and coding scheme for mobile radio systems
US5974028A (en) 1997-02-24 1999-10-26 At&T Corp. System and method for improving transport protocol performance in communication networks having lossy links
US6519731B1 (en) * 1999-10-22 2003-02-11 Ericsson Inc. Assuring sequence number availability in an adaptive hybrid-ARQ coding system
JP2001168907A (ja) 1999-12-06 2001-06-22 Nippon Telegr & Teleph Corp <Ntt> 通信装置
JP3866196B2 (ja) 2000-06-23 2007-01-10 三菱電機株式会社 パケット再送システムおよびパケット再送方法
JP3893247B2 (ja) 2001-01-12 2007-03-14 三菱電機株式会社 データ配信管理装置
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
WO2005067261A1 (ja) 2004-01-09 2005-07-21 Nec Corporation 通信方法
US20050286527A1 (en) * 2004-06-28 2005-12-29 Ivivity, Inc. TCP segment re-ordering in a high-speed TOE device
US7483943B2 (en) * 2004-09-21 2009-01-27 Microsoft Corporation Reliable messaging using clocks with synchronized rates
JP4331088B2 (ja) * 2004-11-01 2009-09-16 株式会社東芝 通信装置および通信方法
EP1989852B1 (en) * 2006-02-27 2017-05-24 Telefonaktiebolaget LM Ericsson (publ) Flow control mechanism using local and global acknowledgements

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946375A (ja) 1995-07-26 1997-02-14 Hitachi Ltd パケット交換網のパケット再送方法
JPH10154085A (ja) * 1996-11-21 1998-06-09 Fujitsu Ltd 二重化された監視/制御プロセッサによるシステム監視・制御方法および二重化監視/制御プロセッサ・システム
WO2005027456A1 (ja) * 2003-09-18 2005-03-24 Nomura Research Institute Co., Ltd. 通信システム、通信装置、およびデータの再送制御方法
JP2006239793A (ja) 2005-03-02 2006-09-14 Seiko Instruments Inc ドレス装置、研削装置、ドレス方法、数値制御プログラム、及びドレッサ

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP2061211A4 *
T. NAKATA ET AL.: "Efficient bundling of heterogeneous radio resources for broadband Internet Access from moving vehicles", PROCEEDINGS OF GLOBAL MOBILE CONGRESS, 11 October 2004 (2004-10-11)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010022653A1 (zh) * 2008-08-26 2010-03-04 华为技术有限公司 一种传输文件的检测方法及终端
CN101662418B (zh) * 2008-08-26 2012-12-12 华为技术有限公司 一种传输文件的检测方法及终端
JP2010166401A (ja) * 2009-01-16 2010-07-29 Toshiba Corp 無線端末および無線通信方法
WO2011072422A1 (en) * 2009-12-17 2011-06-23 Intel Corporation Method and system for facilitating one-to-many data transmissions with reduced network overhead
US8977772B2 (en) 2009-12-17 2015-03-10 Intel Corporation Method and system for facilitating one-to-many data transmissions with reduced network overhead
US10503599B2 (en) 2009-12-17 2019-12-10 Intel Corporation Method and system for facilitating one-to-many data transmissions with reduced network overhead
JP2015181276A (ja) * 2011-09-22 2015-10-15 クゥアルコム・インコーポレイテッドQualcomm Incorporated ワイヤレス通信ネットワークにおけるマルチパストランスポート接続のための動的なサブフロー制御
JP2016103698A (ja) * 2014-11-27 2016-06-02 株式会社東芝 パケット送信装置、及びパケット送信方法
JPWO2022079802A1 (ja) * 2020-10-13 2022-04-21
JP7559828B2 (ja) 2020-10-13 2024-10-02 日本電信電話株式会社 送信局及び受信局

Also Published As

Publication number Publication date
US9379852B2 (en) 2016-06-28
JPWO2008029793A1 (ja) 2010-01-21
EP2061211A4 (en) 2014-01-29
EP2061211A1 (en) 2009-05-20
US20100046520A1 (en) 2010-02-25
JP5131194B2 (ja) 2013-01-30

Similar Documents

Publication Publication Date Title
JP5131194B2 (ja) パケット回復方法、通信システム、情報処理装置およびプログラム
KR101696776B1 (ko) 향상된 확인응답 및 재송신 메커니즘
US9178665B2 (en) Communication apparatus, communication system, absent packet detecting method and absent packet detecting program
KR102046792B1 (ko) 송신 노드로부터 목적지 노드로의 데이터 전송 방법
CN101510816B (zh) 基于路径关联化的多路径并行传输方法
CN107104902B (zh) 一种rdma数据传输的方法、相关装置与系统
CN113765626B (zh) 一种移动通信系统的数据传输方法和装置
US10461886B2 (en) Transport layer identifying failure cause and mitigation for deterministic transport across multiple deterministic data links
Natarajan et al. Non-renegable selective acknowledgments (NR-SACKs) for SCTP
CN102480762A (zh) 接收器、接收方法以及通信系统
CN101369879B (zh) 一种请求数据重传的方法及装置
CN117136532A (zh) 用于具有高效可调整可靠性的多径传输的系统和方法
JP2005244897A (ja) 信頼性のある通信方法及びその装置
JP2017092692A (ja) データ伝送制御システム及び方法、並びに、データ伝送制御プログラム
CN100388660C (zh) Nack协议的方法与设备
KR100919056B1 (ko) 차세대 이동통신 시스템에서의 상태보고 시점 최적화 장치및 그 방법
US20060259845A1 (en) Method and apparatus for acknowledging a bitwise data chunk in wireline and wireless communication systems
EP4144010B1 (en) Methods and apparatus for efficient packet transmission
JPH09233124A (ja) パケット通信方式
JP5761193B2 (ja) 通信装置、通信システム、パケット再送制御方法およびパケット再送制御プログラム
CN103078722B (zh) 一种请求数据重传的方法及装置
JP2008199431A (ja) 通信装置
WO2007090325A1 (en) A method and device for transmitting data
EP3432500A1 (en) Point-to-point transmitting method based on the use of an erasure coding scheme and a tcp/ip protocol
JP2006237968A (ja) 通信システムおよび通信方法

Legal Events

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

Ref document number: 07828186

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12439901

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2008533159

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007828186

Country of ref document: EP