WO2005067261A1 - 通信方法 - Google Patents

通信方法 Download PDF

Info

Publication number
WO2005067261A1
WO2005067261A1 PCT/JP2005/000124 JP2005000124W WO2005067261A1 WO 2005067261 A1 WO2005067261 A1 WO 2005067261A1 JP 2005000124 W JP2005000124 W JP 2005000124W WO 2005067261 A1 WO2005067261 A1 WO 2005067261A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
node
flow
path
transmission
Prior art date
Application number
PCT/JP2005/000124
Other languages
English (en)
French (fr)
Inventor
Tsuneo Nakata
Masahiro Ono
Original Assignee
Nec Corporation
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 Corporation filed Critical Nec Corporation
Priority to US10/526,959 priority Critical patent/US20060256803A1/en
Priority to EP20050703389 priority patent/EP1705870B1/en
Priority to JP2005516898A priority patent/JP4497322B2/ja
Publication of WO2005067261A1 publication Critical patent/WO2005067261A1/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/1642Formats specially adapted for sequence numbers
    • 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
    • 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/1887Scheduling and prioritising arrangements

Definitions

  • the present invention relates to packet communication between two nodes where a flow exists, and particularly to retransmission control.
  • Patent Document 1 When two nodes perform packet communication via the Internet, packet loss and packet order errors occur.
  • Patent Document 1 a technique of a packet retransmission method has been proposed (for example, Patent Document 1).
  • the technique of Patent Document 1 performs flow control and sequence control of a transmission packet between a transmission node and a reception node. However, if the reception node has to wait for a sequence due to packet loss, a packet to be sequenced within a certain time period If the packet is not received, it notifies the transmitting node of a request for retransmission of the packet whose order is waiting.
  • FIG. 19 shows detection of packet loss when packets from three flows 1, 2, and 3 are transmitted through one path.
  • packet 1-1, packet 1-2 and packet 1-3 are received from flow 1, and packet 2-1, packet 2-2 and packet 2-3 are received from flow 2.
  • Packet 3-1, packet 3-2, and packet 3-3 are received from flow 3.
  • Each packet is provided with identification information indicating the flow and the order (sequence number) of the packet of each flow. For example, packet 2-1 indicates that it is the second order in flow 2.
  • one packet When transmitting a received packet to one path 4, one packet is selected in order from each flow and transmitted to the path 4. That is, packet 1-1, packet 2-1 , Packets 3-1,..., Packets 1-3, packets 2-3, and packets 3-3 in that order.
  • the receiving side controls the order of reordering the packets received from the route 4 for each flow based on the identification information of the packets, and detects lost packets to request retransmission (reproduction control). I was
  • Patent Document 1 Japanese Patent Application Laid-Open No. 9-46375
  • the present invention has been made in view of the above problems, and an object of the present invention is to solve the above problems, and to detect packet loss earlier than in the conventional retransmission control for each flow. To provide effective technologies.
  • An object of the present invention is to provide identification information for packet loss detection and reproduction control, separately from identification information for order control, to a packet so that order control and packet loss detection and detection can be performed. Performing replay control independently enables early detection of packets and retransmission control To provide technology.
  • a first invention for solving the above problems is a communication method between a transmitting node and a receiving node
  • the packet includes the first identifier, a first sequence number unique within the first flow identified by the first identifier, the second identifier, and the second identifier. With a unique second sequence number within the flow And send,
  • All received packets are classified based on the first identifier, and for each first flow, the packets are arranged in order based on the first sequence number, and the receiving process is performed from the packets in order. It is characterized by performing.
  • the transmitting node and the receiving node are connected by one communication path, and the second flow group of the transmitting node is a single flow. In And transmitting the packet using a single communication path.
  • the transmitting node when there are a plurality of communication paths for transmitting a packet, the transmitting node is based on a third criterion relating to a packet transmission schedule. A communication path for transmitting a packet is selected.
  • the transmission node and the reception node are connected by a plurality of communication paths, and the transmission node performs transmission as a second reference. It is classified into unique flows according to the communication path through which the bucket passes, and the third criterion is to select a communication path at the time of retransmission independently of the first transmission.
  • the transmission node and the reception node are connected by a plurality of communication paths, and the transmission node performs transmission as a second reference.
  • the flow is classified into a smaller number of flows than the communication path through which the bucket passes, and the third criterion is to select a communication path at the time of retransmission independently of the first transmission.
  • a sixth invention for solving the above-mentioned problem is the invention according to any one of the first to third inventions, wherein the transmission node is a transmission-side transmission node for transmitting a packet transmitted by another communication node, Is a receiving-side transfer node that transfers a packet received by another communication node.
  • a seventh invention for solving the above problems is the sixth invention, wherein the transmission node and the reception node are connected by one communication path, and the second flow group of the transmission node is a single flow group. It is composed of flows and transmits packets using a single communication path.
  • the transmission node and the reception node are connected by a plurality of communication paths, and the transmission node transmits the data as a second reference. It is classified into unique flows according to the communication path through which the bucket passes, and the third criterion is to select a communication path at the time of retransmission independently of the first transmission.
  • the transmission node and the reception node are connected by a plurality of communication paths, and the transmission node performs transmission as a second reference.
  • the flow is classified into a smaller number of flows than the communication path through which the bucket passes, and the third criterion is to select a communication path at the time of retransmission independently of the first transmission.
  • a tenth invention for solving the above-mentioned problem is the third invention according to the third invention, wherein For each packet input at the transmitting node, the path status information of each selectable path, the time when the path state information becomes valid or the identification information of the transmitted packet, and the path state information are valid The route selection or the selection priority is performed on the basis of the transmission history after the time or the transmission history after the transmission of the packet specified by the identification information of the transmitted packet.
  • An eleventh invention for solving the above-mentioned problems is characterized in that, in the above-mentioned tenth invention, said route status information includes a delay of a route.
  • a twelfth invention for solving the above-mentioned problems is characterized in that in the above-mentioned tenth or eleventh invention, said route state information includes a communication speed of a route.
  • a thirteenth invention for solving the above-mentioned problems is characterized in that, in any one of the tenth to twelfth inventions, the route state information includes a load on the route.
  • the route state information of each route is updated when the route is selected or the selection priority is updated. And modifying the transmission cost calculation result for the packet transmitted before the update.
  • the latest path state information is effective when correcting the transmission cost calculation result of each path.
  • the history before the first transmitted packet is discarded.
  • a sixteenth invention for solving the above-mentioned problems is characterized in that, in any one of the tenth to fifteenth inventions, the estimated value of the reception completion time at the reception-side node is set as the path for transmitting the packet. It is characterized by selecting an early-relay route.
  • a seventeenth invention for solving the above-mentioned problems is characterized in that, in any one of the above-mentioned tenth to sixteenth inventions, as a path for transmitting a packet, a data amount that can be completely received by a receiving node by a specific time. Is characterized in that a route having the maximum estimated value is selected.
  • transmission of data is interrupted in accordance with an estimated current path state for each path. It is characterized.
  • a nineteenth invention for solving the above-mentioned problems is characterized in that, in the eighteenth invention, the data transmission
  • the interruption criterion is characterized in that the estimated reception completion time is equal to or greater than a specific value.
  • the determination of route selection or transmission interruption is performed by a different policy for each attribute of transmission data. It is characterized.
  • a twenty-first invention for solving the above-mentioned problems is a node comprising a transmitting unit for transmitting a packet and a receiving unit for receiving a packet, and independently performing retransmission control and order control of the packet,
  • the transmitting unit includes:
  • the receiving unit receives
  • All received packets are classified based on the second identifier, and for each second flow, a packet of a second sequence number that has not been received is checked, and the second identifier and the second identifier are checked.
  • All received packets are classified based on the first identifier, and for each first flow, packets are arranged in order based on the first sequence number.
  • the nodes are connected by one communication path, the second flow group is constituted by a single flow, and Communication path The transmission of the packet is performed by using the packet.
  • a twenty-third invention for solving the above-mentioned problems is characterized in that, in the above-mentioned twenty-first invention, when there are a plurality of communication routes for transmitting a packet, a packet is transmitted based on a third criterion relating to a packet transmission schedule. Characterized in that it has means for selecting a communication path for transmitting the.
  • the nodes are connected by a plurality of communication paths, and correspond to a communication path through which a packet to be transmitted passes as a second criterion.
  • the third feature is that, as a third criterion, a communication route is selected at the time of retransmission independently of the first transmission.
  • the nodes are connected by a plurality of communication paths, and as a second criterion, the number is smaller than the number of communication paths through which a packet to be transmitted passes.
  • the third criterion is that the third criterion is to select a communication path at the time of retransmission independently of the time of the first transmission.
  • a twenty-sixth invention for solving the above-mentioned problems is characterized in that, in any one of the above-mentioned twenty-first to twenty-third inventions, the transmission unit of the node transmits a transmission side transmission node transmitting a packet transmitted by another communication node. And the receiving unit of the node is a receiving-side transfer node that transfers a packet received by another communication node.
  • the nodes are connected by one communication path, and the second flow group is composed of a single flow. It is characterized by transmitting packets using the communication path of (1).
  • the nodes are connected by a plurality of communication paths, and correspond to a communication path through which a packet to be transmitted passes as a second criterion.
  • the third feature is that, as a third criterion, a communication route is selected at the time of retransmission independently of the first transmission.
  • the nodes are connected by a plurality of communication paths, and as a second criterion, the number is smaller than the number of communication paths through which a packet to be transmitted passes.
  • the third criterion is that the third criterion is to select a communication path at the time of retransmission independently of the time of the first transmission.
  • the communication path is provided.
  • the selecting means includes, as a third criterion, for each packet input at the node, path state information of each selectable path, time when the path state information becomes valid, or identification information of a transmitted packet, Based on the transmission history after the time when the path state information becomes valid or the transmission history after transmission of the packet specified by the identification information of the transmitted packet, the selection of the path or the selection priority is performed.
  • a thirty-first invention for solving the above-mentioned problems is characterized in that, in the above-mentioned thirtieth invention, said route state information includes a delay of a route.
  • a thirty-second invention for solving the above-mentioned problems is characterized in that, in the thirty-first invention, said route status information includes a communication speed of the route.
  • a thirty-third invention for solving the above-mentioned problems is characterized in that, in any one of the thirty-third to thirty-second inventions, said path state information includes a path load.
  • a thirty-fourth invention for solving the above-mentioned problems is characterized in that, in any one of the thirty-third to thirty-third inventions, the means for selecting the communication path includes: When the route state information of the route is updated, the transmission cost calculation result of the packet transmitted before the update is modified.
  • a thirty-fifth invention for solving the above-mentioned problems is characterized in that, in any one of the above-mentioned thirtieth to thirty-fourth inventions, the means for selecting the communication path includes the latest transmission cost calculation result for each path.
  • the feature is to discard the history before the first transmitted packet for which the path status information becomes valid.
  • a thirty-sixth invention for solving the above-mentioned problems is characterized in that, in any one of the thirty-seventh to thirty-fifth inventions, the means for selecting the communication path includes a receiving node as a path for transmitting a packet. Is characterized in that a route having the earliest estimated value of the reception completion time is selected.
  • a thirty-seventh invention for solving the above-mentioned problems is characterized in that, in any one of the thirty-sixth to thirty-sixth inventions, the means for selecting a communication path includes a receiving node as a path for transmitting a packet. It is characterized by selecting the route with the largest estimated data amount that can be received by a specific time.
  • a thirty-eighth invention for solving the above-mentioned problems is characterized in that, in any one of the thirty-seventh to thirty-seventh inventions, the means for selecting the communication path comprises: The transmission of data is interrupted according to
  • a thirty-ninth aspect of the present invention for solving the above-mentioned problems is characterized in that, in the thirty-eighth aspect of the present invention, a criterion of the data transmission interruption is that an estimated reception completion time is a specific value or more.
  • a fortieth invention for solving the above-mentioned problems is characterized in that in any one of the above-mentioned thirtieth to thirty-ninth inventions, the means for selecting a communication path is configured to determine whether to select a path or to suspend transmission by transmitting data. It is performed by a different policy for each data attribute.
  • a forty-first invention for solving the above-mentioned problems is a control program for a node which independently performs retransmission control and order control of packets,
  • the control program controls the node
  • All received packets are classified based on the second identifier, and for each second flow, a packet of a second sequence number that has not been received is checked, and the second identifier and the second identifier are checked.
  • All received packets are classified based on the first identifier, and for each first flow, packets are arranged in order based on the first sequence number.
  • a forty-second invention for solving the above-mentioned problems
  • the nodes are connected by one communication path
  • the second flow group is constituted by a single flow
  • the It is characterized by transmitting packets using a communication path.
  • a forty-third invention for solving the above-mentioned problems is characterized in that, in the forty-first invention, when there are a plurality of communication paths for transmitting a packet, said control program is a third one relating to a packet transmission schedule. It is further characterized by further functioning as a means for selecting a communication path for transmitting a packet based on a criterion.
  • the nodes are connected by a plurality of communication paths, and correspond to a communication path through which a packet to be transmitted passes as a second criterion.
  • the third feature is that, as a third criterion, a communication route is selected at the time of retransmission independently of the first transmission.
  • a forty-fifth invention for solving the above-mentioned problems is characterized in that, in the forty-third invention, the nodes are connected by a plurality of communication paths, and as a second criterion, the number is smaller than the number of communication paths through which packets to be transmitted pass.
  • the third criterion is that the third criterion is to select a communication path at the time of retransmission independently of the time of the first transmission.
  • a forty-sixth invention for solving the above-mentioned problems is characterized in that in any one of the forty-first to forty-third inventions, the transmitting side of the node transmits a packet transmitted by another communication node. And the receiving side of the node is a receiving side transfer node for transferring a packet received by another communication node.
  • the nodes are connected by one communication path, and the second flow group is composed of a single flow. It is characterized by transmitting packets using the communication path of (1).
  • the nodes are connected by a plurality of communication paths, and correspond to a communication path through which a packet to be transmitted passes as a second criterion.
  • the third feature is that, as a third criterion, a communication route is selected at the time of retransmission independently of the first transmission.
  • a forty-ninth invention for solving the above-mentioned problems is characterized in that, in the above-mentioned forty-sixth invention, nodes are connected by a plurality of communication paths, and as a second criterion, the number is smaller than the number of communication paths through which packets to be transmitted pass.
  • the third criterion is that the third criterion is to select a communication path at the time of retransmission independently of the time of the first transmission.
  • a fiftieth invention for solving the above-mentioned problems is the control program according to the forty-third invention, wherein
  • the means for selecting the communication path includes, for each packet input at the node, path state information of each selectable path, a time at which the path state information becomes valid, or identification information of a transmitted packet, Based on the transmission history after the time when the path status information becomes valid or the transmission history after transmission of the packet specified by the identification information of the transmitted packet, a function is performed so as to select a path or a selection priority. It is characterized by the following.
  • a fifty-first invention for solving the above-mentioned problems is characterized in that, in the above-mentioned fifty-second invention, said route status information includes a delay of a route.
  • a fifty-second invention for solving the above-mentioned problems is characterized in that, in the above-mentioned fifty-first invention or the fifty-first invention, said route state information includes a communication speed of the route.
  • a fifty-third invention for solving the above-mentioned problems is characterized in that, in any of the above-mentioned fifty-second invention to the fifty-second invention, said route state information includes a load of a route.
  • control program further comprises means for selecting the communication path, the path selection or the selection priority.
  • control program further comprises means for selecting the communication path by updating the latest path state information when correcting the transmission cost calculation result of each path. It is characterized in that it functions so as to discard the history before the first transmitted packet for which is valid.
  • control program according to any of the fifty-fifth to fifty-fifth inventions, wherein the control program selects the communication path as a path for transmitting a packet. It is characterized by a function to select the route with the earliest estimated value of the reception completion time at the side node.
  • a fifty-seventh invention for solving the above problems is the control program according to any one of the fifty-sixth to fifty-sixth inventions, wherein the control program selects the communication path as a path for transmitting a packet.
  • the receiving node has a function of selecting a route having the maximum estimated value of the amount of data that can be received by a specific time.
  • the control program is configured such that the means for selecting the communication path is estimated for each path. It is characterized in that it functions to interrupt data transmission according to the current route status.
  • a fifty-ninth invention for solving the above-mentioned problems is characterized in that, in any one of the above-mentioned fifty-eighth inventions, the criterion of data transmission interruption is that an estimated reception completion time is a specific value or more.
  • control program includes means for selecting the communication path, which determines whether to select a path or to suspend transmission. This is characterized in that it is made to function according to a different policy for each attribute of transmission data.
  • a sixty-first invention for solving the above-mentioned problems is a communication method, wherein a transmission packet includes an identifier for identifying a transmission flow, separately from information for order control, and a transmission packet within the transmission flow. A sequence number is assigned, and retransmission control is performed for each transmission flow on the receiving side based on the identifier and the sequence number.
  • a 62nd invention for solving the above-mentioned problem is a communication method, wherein a transmission packet includes an identifier for identifying a transmission flow, separately from information for order control, and A sequence number is provided, and a packet loss is detected for each transmission flow on the receiving side based on the identifier and the sequence number.
  • a sixty-third invention for solving the above problems is a node
  • a first identifier uniquely assigned to each flow of the first flow group based on a first criterion for order control, and a first sequence unique within each flow belonging to the first flow group number and a second identifier that is uniquely assigned to each flow of a second flow group based upon a second criteria for retransmission control, the second unique in each of the the flow belonging to the second flow group Means for adding a sequence number to the packet and transmitting the packet, and means for retransmitting a lost packet detected for each transmission flow based on the second identifier and the second sequence number. It is characterized by the following.
  • a sixty-fourth invention for solving the above problems is a control program for a node, The control program controls the node,
  • a means for adding a sequence number to the packet and transmitting the packet and a means for retransmitting a lost packet detected for each transmission flow based on the second identifier and the second sequence number. It is characterized by the following.
  • a retransmission control identifier is added to a packet to be transmitted separately from the sequence control identifier, the sequence control is performed based on the sequence control identifier, and the packet loss detection and the reproduction control are performed by the retransmission control. Is performed based on the identifier of An identifier for retransmission control is provided for each retransmission flow, and furthermore, identification information such as a sequence number for uniquely identifying a packet in the flow is added. Normally, there is a one-to-one relationship between the retransmission flow and the transmitted / received route.
  • FIG. 15 shows an example in which packets are transmitted and received between the transmitting side and the receiving side via one path a.
  • a packet of each flow on the transmitting side is provided with a first identifier for identifying a flow of order control, and a first sequence number unique within each flow. For example, for the second packet of flow 1, it is "1-2".
  • a second identifier for identifying a flow of retransmission control and a second sequence number unique within each flow are provided apart from this identifier for order control.
  • the identifier for identifying the retransmission flow is “a”, and a packet is uniquely identified within the flow (route a) identified by this “a”.
  • a sequence number is assigned so that it can be identified. Therefore, the identifier of the retransmission control of the first packet in the flow (path a) identified by "a" is "I".
  • the transmitting side attaches the above-described identifier to the packet, selects one packet from each flow in order, and transmits the packet to the path a. That is, packet (1-1, al), packet (2-1, al) a-2),..., and packets (3-3, a-9) (sequence control identifier, retransmission control identifier) are transmitted in this order. On the other hand, the transmitted packet is held as a retransmission queue.
  • packets are received in the order in which they were transmitted, so that packets (1-1, a-1), packets (2-1, a_2), The packet is received in the order of a-4), packet (3-2, a_6), ⁇ , and packet (3_3, a-9).
  • the present invention performs detection of packet loss and retransmission control based on a retransmission control identifier.
  • the retransmission control identifier of the packet received from the route a is checked, it is ⁇ ⁇ ⁇ , “a_4”, “a_6”, ⁇ ⁇ ⁇ , “a_9”. It can be seen that "a-5" is missing when (2, a_6) is received. Therefore, it is understood that the packet (2-2, a-5) having the retransmission control identifier of "a-5" is lost, and the retransmission request of this packet (2-2, a_5) is sent to the transmitting side. Do.
  • the transmitting side Upon receiving the retransmission request for the packet having the retransmission control identifier "a-5", the transmitting side retransmits the packet having the retransmission control identifier "a-5" held in the retransmission queue.
  • order control is performed based on the order control identifier independently of the above-described packet loss detection and retransmission control, and there is no request for retransmission for packet loss.
  • the loss of the packet (2-2, a_5) can be detected. Since packet loss can be detected at the same time, and retransmission control is also performed independently, it is possible to prevent delay in order control due to packet loss.
  • the detection of packet loss in retransmission control is not limited to the case where packet loss detection is performed on the receiving side as described above.
  • the receiving side transmits information on an already arrived packet to the transmitting side.
  • the packet loss may be detected on the transmitting side based on this information.
  • the present invention is associated with the conventional sequence control by independently performing sequence control and retransmission control in packet communication and assigning a retransmission ID to a unit capable of detecting packet loss at the earliest time. Detection of packet loss earlier than retransmission control performed for each flow It works.
  • FIG. 1 is a diagram showing a communication network configuration in the case of S1 path forces between transmitting and receiving nodes.
  • FIG. 2 is a diagram showing a configuration of a transmitting node or a receiving node.
  • FIG. 3 is a diagram showing a configuration of a packet.
  • FIG. 4 is a diagram showing information stored in a storage unit in the first embodiment.
  • FIG. 5 is a diagram showing a communication network configuration when there are M routes between transmitting and receiving nodes.
  • FIG. 6 is a diagram showing a configuration of a transmitting node or a receiving node.
  • FIG. 7 is a diagram showing information stored in a storage unit in the second embodiment.
  • FIG. 8 is a flowchart of a retransmission ID identical communication interface. Group determination algorithm.
  • FIG. 9 is a diagram showing information stored in a storage unit in the third embodiment.
  • FIG. 10 is a diagram showing a communication network configuration when the number of transmission / reception-side transfer nodes is M.
  • FIG. 11 is a diagram showing packet processing timings at the transmitting node and the receiving node in the first operation example of the scheduler.
  • FIG. 12 is an operation flowchart of the scheduling unit in Operation Example 1 of the scheduler.
  • FIG. 13 is a diagram showing packet processing timings at the transmitting node and the receiving node in the second operation example of the scheduler.
  • FIG. 14 is an operation flowchart of the scheduling unit in the operation example 2 of the scheduler. It is.
  • FIG. 15 is a view for explaining the present invention.
  • FIG. 16 is a diagram for explaining a specific operation of the first embodiment of the present invention.
  • FIG. 17 is a diagram for explaining a specific operation of the first embodiment of the present invention.
  • FIG. 18 is a diagram showing a specific example of the packet processing timing of the transmitting node and the receiving node in the first operation example of the scheduler.
  • FIG. 19 is a diagram for explaining a conventional technique.
  • the present invention is characterized in that in packet communication, order control and retransmission control are performed independently.
  • the transmitting node includes a first flow group having one or more flows based on a first criterion for order control and a second flow group having one or more flows based on a second criterion for retransmission control. And a second flow group, a unique first identifier is assigned to each flow belonging to the first flow group, and a unique second identifier is assigned to each flow belonging to the second flow group. I have. Then, the packet to be transmitted is classified into one or more flows belonging to the first flow group based on the first criterion, and is classified into one or more flows belonging to the second flow group based on the second criterion.
  • a first identifier a first sequence number unique within each flow belonging to the first flow group, the second identifier, and a respective sequence belonging to the second flow group.
  • a unique second sequence number is added to the packet to be transmitted, and the packet is transmitted.
  • the receiving node classifies all the received packets based on the second identifier and classifies each packet. For the flow of (2), check the packet of the second sequence number that has not been received, and request retransmission of the packet corresponding to the second sequence number that has not been received. Then, the transmitting node controls retransmission by retransmitting a packet corresponding to the second sequence number of the second flow requested by the receiving node.
  • a receiving node classifies all received packets based on a first identifier, and classifies packets based on a first sequence number for each first flow. This is performed by arranging the packets in order and performing reception processing from the packets in order.
  • Example 1 of the present invention will be described.
  • the first embodiment of the present invention includes a transmitting node 101, a receiving node 102, and a path 110 connecting the nodes.
  • the route 110 is a packet communication network such as the Internet. It should be noted that the communication may be from the transmitting node 101 to the receiving node 102 or from the receiving node 102 to the transmitting node 101.
  • the nodes are named transmit-receive, but they are functionally identical.
  • FIG. 2 is a diagram showing a configuration of the transmitting node 101.
  • a flow is identified by identifying a socket 201 which is an API (Application Process Interface) for an application, an input / output unit 202, a port number to be used and a destination address and a port number.
  • a flow identification unit 211 for distributing a flow to a queue; a flow identification unit 222 for distributing a flow to a queue of each identifier; a per-flow queue 212, 224 for holding a packet for each identified flow;
  • Scheduler 213 for selecting and transmitting packets to be transmitted, retransmission ID attached to packets at the time of packet transmission, retransmission control unit 214 for storing in retransmission queue 215 for each retransmission ID to prepare for retransmission, and retransmission ID for each retransmission ID Retransmission queue 215 that holds packets in
  • a storage unit 216 that records information such as delay dispersion, sequence number information for each flow and each retransmission ID, and a retransmission that checks the retransmission
  • the configuration of the receiving node 102 is the same as that of the transmitting node 101.
  • the transmitting node causes an arbitrary number of applications to generate an arbitrary number of communications using TCP or UDP.
  • the first criterion is a criterion related to packet order control, and each communication of TCP and UDP corresponds to the first flow.
  • the socket 201 When the socket 201 receives a packet from the application, the packet is passed to the flow identification unit 211, and the flow identification unit 211 identifies the flow from the port number of the own node and the port number of the destination address of the packet. The identified packet is stored in the per-flow queue 212 for each flow.
  • Fig. 2 shows an example in which there are 70 queues for each flow.
  • the force is not limited to this number, and may be larger or smaller.
  • the packets stored in the per-flow queue 212 are processed by the scheduler 213 and the retransmission control unit 214 for processing necessary for retransmission in the event of packet loss, and then transmitted to the receiving node 102 via the input / output terminal 202. At the same time, it is held in the retransmission queue 215 for dealing with packet loss.
  • the scheduler 213 determines the transmission timing of the packet to be transmitted, determines the queue for transmitting the packet to the receiving node 102 from the per-flow queue 212 at the transmission timing, and extracts the packet from the corresponding queue.
  • the extracted packet is passed to retransmission control section 214 in order to perform necessary processing for retransmission.
  • Retransmission control section 214 performs retransmission control based on a second criterion that is different from the first criterion that is a criterion regarding packet transmission described above.
  • the second criterion is a criterion for packet retransmission.
  • retransmission control section 214 refers to storage section 216 to add The retransmission ID and the retransmission sequence number to be transmitted are determined, and the packet is stored in a predetermined queue of the retransmission queue 215.
  • the second flow corresponds to a packet group in units of the retransmission ID.
  • the second flow and the route correspond one-to-one.
  • the retransmission control unit 214 notifies the scheduler 213 of the determined retransmission ID and retransmission sequence number. Sequence number), a flow ID uniquely assigned to each flow obtained from the storage unit 216, a flow sequence number unique to the flow (first identifier for sequence control, first sequence number), and Is attached as a unique header, and the packet is transmitted to the receiving node 101 using the input / output unit 202.
  • the storage unit 216 holds and stores information as shown in FIG. 4, for example.
  • the maximum flow sequence number of the transferred packet is “25”.
  • the retransmission ID "1" indicates that the retransmitted packet retransmission sequence numbers are "1 to 200 and 203". Note that, among the resent sequence numbers of the arrived packets, the numbers “201, 202” that are not described are the sequence numbers of the packets whose arrival has been confirmed.
  • the receiving node 102 will be described.
  • the receiving node 102 receives a packet transmitted from the input / output unit 202 of the transmission node 101 via the input / output unit 202.
  • the node that determines that a packet loss has occurred can be applied to both the data receiving side and the transmitting side.
  • the data receiving side sends only the ACK for notifying the arrival confirmation to the transmitting side.
  • the following shows a case where the transmitting side determines that packet loss has occurred on an arbitrary basis.
  • the transmitting node 101 and the receiving node 102 have the same configuration, an operation example of the receiving node 102 will be described with reference to FIG. [0118]
  • the packet received from input / output section 202 is input to retransmission ID order check section 221.
  • retransmission ID order checking section 221 obtains a retransmission ID and a retransmission sequence number from the packet, and obtains the retransmission ID of the received packet and the retransmission sequence number of the received packet. Is passed to the scheduler 213.
  • the scheduler 213 having received the ACK information transmits the ACK packet including the passed ACK information via the input / output unit 202 to notify the transmitting node 101 that the packet has been received. If another transmission data packet exists at the timing of transmitting the ACK packet, it is better to add information to the header of the data packet without generating an independent ACK packet.
  • retransmission ID order check section 221 notifies storage section 216 of the retransmission sequence number information of the retransmission ID of the received packet, and updates retransmission sequence number information stored in storage section 216 to perform retransmission control. The process is completed. After the retransmission control processing is completed, the retransmission ID order check unit 221 supplies the received packet to the flow identification unit 222, and the order control processing is performed.
  • the flow identification unit 222 acquires the flow ID from the packet supplied from the retransmission ID order check unit 221 and sends the packet to the corresponding queue of the per-flow queue 224 according to the flow ID.
  • Figure 2 shows a configuration example with queues for 100 different flows.
  • the flow order check unit reports that a new packet has been received together with the flow ID.
  • the flow order check unit 223 obtains the transmitted maximum flow sequence number from the storage unit 216 by using the corresponding flow ID.
  • the flow order check unit 223 checks a queue corresponding to the input flow ID. As a result of the check, if there is a continuous packet with the transferred maximum flow sequence number, the continuous packet is extracted, and the flow ID, the flow sequence number, the retransmission ID, and the retransmission sequence in the frame format shown in Fig. 3 are extracted. Remove the number and pass it to the application via socket section 201. On the other hand, if there is no packet having a flow sequence number that is continuous with the transferred maximum flow sequence number, the flow order check unit 223 ends the operation. [0125] The subsequent operation is the same as the operation of the transmitting node described above.
  • retransmission ID order checking unit 221 extracts the ACK information. Next, the retransmission ID and the retransmission sequence number received by the receiving node 102 are obtained from the ACK information, the retransmission ID and the retransmission sequence number are stored in the storage unit 216 as a packet whose arrival has been confirmed, and the retransmission ID and The packet corresponding to the retransmission sequence number is deleted from the queue 215 for each retransmission ID.
  • transmitting node 101 periodically checks the stored retransmission ID and retransmission sequence number that have been stored, and detects a missing retransmission sequence number. Then, the packet corresponding to the missing retransmission ID and retransmission sequence number is regarded as lost, and the packet corresponding to the missing retransmission ID and retransmission sequence number is taken out from the retransmission ID queue 215, and the packet is sent to the scheduler 213. Give it and notify that retransmission is necessary.
  • the scheduler 213 retransmits the received packet. At this time, the retransmitted packet is retransmitted with the same retransmission ID and retransmission sequence number as those of the previously transmitted packet.
  • FIG. 16 is a diagram for explaining a specific operation between the transmitting node 101 and the receiving node 102.
  • the configuration shown in FIG. 2 and the transmission information shown in FIG. 4 will be described as an example.
  • the scheduler 213 of the transmitting node 101 extracts packets one by one from the 70 flows of the per-flow queue 212, and the retransmission control unit 214 refers to the storage unit 216 and adds the packet to the transmission packet.
  • the retransmission ID and the retransmission sequence number are assigned. For example, if the retransmission ID is "1" and the sequence number is "200", "1-200" is added.
  • the packet with the retransmission ID and retransmission sequence number is transmitted to the receiving node 102 via the input / output terminal 202, and is also stored in the retransmission queue 215 for coping with packet loss. Is done.
  • packets (11-54, 1-200), packets (14-24, 1-203) ... are input / output units.
  • the retransmission ID sequence check unit 221 obtains a retransmission ID and a retransmission sequence number from the packet, such as “1-200” and “1-203”, and retransmits the retransmission ID of the received packet.
  • the ACK information including the retransmission sequence number and the ACK information is passed to the scheduler 213.
  • the scheduler 213 having received the ACK information transmits the ACK packet including the passed ACK information via the input / output unit 202 to notify the transmitting node 101 that the packet has been received.
  • retransmission ID order check section 221 notifies storage section 216 of the retransmission sequence number of the retransmission ID of the received packet, and updates the received packet retransmission sequence number stored in storage section 216. Thus, the retransmission control processing is completed. Retransmission after completion of retransmission control processing
  • the ID order check unit 221 supplies the received packet to the flow identification unit 222, and performs an order control process.
  • the flow identification unit 222 determines from the packet supplied from the retransmission ID order check unit 221 the flow ID "11", ⁇ ⁇ ⁇ , the flow ID “14”, ⁇ ⁇ ⁇ , the flow ID “1”. And sends the packet to the corresponding queue of the per-flow queue 224 according to the flow ID.
  • FIG. 16 shows that the received packet (14-24) is transmitted to flow 14, the packet (11-54) is transmitted to flow 11, and the packet (1-23) is transmitted to flow 1.
  • retransmission ID order checking section 221 extracts the ACK information.
  • the retransmission ID and the retransmission sequence number received by the receiving node 102 are acquired from the ACK information, and the retransmission ID and the retransmission sequence number are stored in the storage unit 216 as a packet whose arrival has been confirmed.
  • the packet corresponding to the retransmission ID and the retransmission sequence number is deleted from the queue 215 for each retransmission ID.
  • retransmission control section 214 checks the retransmission ID and retransmission sequence number that have arrived at regular intervals, and detects the missing retransmission sequence number.
  • the retransmission sequence numbers “201” and “202” are missing. Therefore, the packets corresponding to the missing retransmission sequence numbers "201” and “202” are regarded as being lost, and the packets corresponding to the retransmission sequence numbers "201” and "202” are taken out from the retransmission ID queue 215 and the scheduler 213 Give the packet to and notify that retransmission is required.
  • the scheduler 213 retransmits the received bucket. At this time, the packet to be retransmitted is retransmitted with the retransmission ID and retransmission sequence number attached to the previously transmitted packet, ie, “1-201” and “1-202”.
  • FIG. 17 is a diagram for explaining a case where packet loss is detected at the receiving node 102.
  • reception information shown in FIG. 4 is used as information used for detecting packet loss at the receiving node 102. Further, the operation from the transmission side node to the reception node is the same as the above-described operation, and therefore a specific description is omitted.
  • retransmission ID order check section 221 obtains a retransmission ID and a retransmission sequence number from the packet, such as "1-100" and "1-102", and obtains the retransmission ID and the retransmission sequence number. By comparing the retransmission ID stored in the reception information of storage section 216 with the received packet retransmission sequence number, it is determined whether a packet expected to be received has been received.
  • ACK information including the retransmission ID of the received packet and the retransmission sequence number of the received packet is passed to the scheduler 213.
  • the ACK information including the retransmission ID of the received packet and the highest retransmission sequence number among the packets received continuously from the beginning with the retransmission ID of the received packet is passed to the scheduler 213.
  • the received packet (11-54, 1-100) is an expected packet
  • the ACK information including the retransmission ID of the received packet and the retransmission sequence number of the received packet, that is, "1-100” is passed to the scheduler 213.
  • the retransmission ID and the retransmission sequence number information “1-100” of the received packet are notified to storage section 216, and the retransmission sequence number information stored in storage section 216 is updated, and the retransmission control processing is performed. Complete.
  • the received packet (13-7, 1-102) is originally a packet (12-87, 1-101) having a retransmission sequence number of 101. Therefore, the largest retransmission sequence number among the packets received continuously from the beginning, that is, “1-100” is passed to scheduler 213 with the retransmission ID of the received packet. Then, the retransmission ID and retransmission sequence number information “1-102” of the received packet are notified to storage section 216, and the retransmission sequence number information stored in storage section 216 is updated to complete the retransmission control processing. I do.
  • the scheduler 213 having received the ACK information transmits an ACK packet including the passed ACK information via the input / output unit 202 to notify the transmitting node 101 that the packet has been received. I believe.
  • retransmitting ID order checking section 221 extracts the ACK information.
  • the retransmission ID and the retransmission sequence number received by the receiving node 102 are obtained from the ACK information, the retransmission ID and the retransmission sequence number are stored in the storage unit 216 as a packet whose arrival has been confirmed, and the retransmission ID and The packet corresponding to the retransmission sequence number is deleted from the queue 215 for each retransmission ID.
  • the packet is stored in the storage unit 216 as a packet whose arrival has been confirmed, and the packet corresponding to the retransmission ID and retransmission sequence number is deleted from the queue 215 for each retransmission ID. Subsequently, when the same content "1-100" is received, the packet corresponding to "1-101", which is the number following the retransmission sequence number, is regarded as lost and retransmitted. That is, when the same retransmission sequence number comes twice consecutively, retransmission is performed on the assumption that the packet corresponding to the number following the retransmission sequence number has been lost. The packet to be retransmitted is retransmitted with the same retransmission ID and retransmission sequence number as the retransmission ID and retransmission sequence number attached to the previously transmitted packet.
  • the present invention is not limited to this example.
  • the receiving node does not receive a packet with a continuous retransmission sequence number, only the missing retransmission sequence number is transmitted to the transmitting node as retransmission request information, and the missing retransmission
  • a method in which the transmitting node transmits a packet corresponding to the sequence number is also conceivable.
  • Example 2 of the present invention will be described.
  • Embodiment 2 describes a case where there are a plurality of routes connecting a transmitting node and a receiving node.
  • FIG. 5 is a configuration diagram in a case where there are a plurality of routes connecting the transmitting node and the receiving node.
  • a transmitting node 301 a transmitting node 301, a receiving node 302, and M paths connecting the nodes.
  • 312—1— 312—M Route 312-1-312-M is a packet communication network such as the Internet.
  • the case where there are a plurality of M routes is a case where both the transmission node 301 and the reception node 302 or one of the nodes has a plurality of communication interfaces.
  • M s Xt.
  • a flow is identified by identifying a socket 401, which is an API for an application, an input / output unit 402-1-1402-M, a port number to be used, and a destination address'port number.
  • a flow identification unit 411 for assigning a flow to a queue a flow identification unit 422 for assigning a flow to each identifier queue from a flow ID, queues 412, 424 for holding a bucket for each identified flow, and queues for each flow.
  • a scheduler 413 that selects and transmits packets to be transmitted from among them, a retransmission control unit 414 that attaches a retransmission ID at the time of packet transmission, holds each retransmission ID in a retransmission queue, and prepares for retransmission, and a retransmission that holds a packet for each retransmission ID
  • a queue 415 a storage unit 416 for storing information such as delay and delay dispersion for each route, and sequence number information for each flow and each retransmission ID;
  • a retransmission ID order check unit 421 that checks the retransmission ID of the packet to check the power of arrival of the packets in order, and a packet for which the order of the packets in the per-flow queue is uniform is transferred. It comprises a flow order check unit 423 for checking a queue for each flow.
  • the input / output units 402-1-402-M are logical ones corresponding to the routes 312-1-1312-M, and the number of physical communication interfaces of the transmission node 301 is M. Is limited Les ,.
  • the receiving node 302 is the same as the transmitting node 301.
  • the operation of the second embodiment is almost the same as the operation of the first embodiment, but the processes of the scheduler and the retransmission control unit are different because there are a plurality of routes.
  • the operation of the different parts is described below.
  • the scheduler 413 determines the transmission timing of the packet to be transmitted, determines the queue for transmitting the packet to the receiving node 302 from the per-flow queue 412 at the transmission timing, and extracts the packet from the corresponding queue. Further, the scheduler 413 determines which of the routes 312-1-312-M is to be used based on the third criterion regarding the route selection.
  • the scheduler 413 passes the extracted packet to the retransmission control unit 414 together with the information on the path to be used, in order to perform processing necessary for retransmission.
  • Retransmission control section 414 determines retransmission ID and retransmission sequence number to be added to the transmission packet with reference to storage section 416, and stores the packet in a predetermined queue of retransmission queue 415.
  • the information of the storage unit 416 that determines the retransmission ID for the transmission packet is, for example, the information shown in the route and retransmission ID table portion of FIG.
  • the number of retransmission IDs has a one-to-one correspondence with the number of input / output units equal to the number of input / output units, M.
  • the second flow indicates a packet group in units of the retransmission ID.
  • the retransmission control unit 414 notifies the scheduler 413 of the determined retransmission ID and retransmission sequence number.
  • the flow ID and the flow sequence number unique to the flow are added as unique headers, and the packet is sent to the receiving node 302 using one of the input / output units 402-1-1402-M according to the selection made earlier. Send.
  • the format of the transmission packet at this time is, for example, as shown in FIG.
  • Scheduler 413 transmits ACK information including the retransmission ID and the retransmission sequence number to transmitting node 301. If a transmission data packet exists at the timing of transmitting the ACK packet, information is added to the header of the data packet without generating an independent ACK packet. You can also burn calories.
  • a packet is transmitted to the transmission node 301 at an appropriate timing using one of the input / output units 402-1-402-M. As a third criterion, for example, there is a method of selecting a route with the least load based on the load status of each route.
  • the scheduler 413 retransmits the passed packet at any timing from any of the input / output units 402-1 402-M. At this time, the scheduler 413 can select a transmission path based on the third criterion independently of the path that previously transmitted the same packet.
  • a plurality of packets belonging to one flow are generally distributed to different routes by the scheduler 413 of the transmission node. If the delay and rate of each path fluctuate independently, there is a limit to the cancellation of the delay difference between paths by the scheduler, and it is difficult to completely cancel the jitter between paths especially when a wireless link with low stability is included. ,.
  • the packet arrival order at the reception node reflects the transmission order at the transmission node. For example, suppose that packet A belonging to a certain flow is transmitted from path 312-1 and then packet B belonging to the same flow and having a sequence number higher than packet A is transmitted from path 312-2. At this time, it is assumed that B is received before A at the receiving node where the delay of path A is larger than expected by the scheduler.
  • Example 3 of the present invention will be described.
  • the arrangement of the nodes and the functional configuration of the nodes are all the same as those in the second embodiment. However, only the process of determining the retransmission ID for the transmission packet in the transmission node is different. explain.
  • the route and the retransmission ID do not correspond one-to-one, and can be changed freely.
  • the order of arrival of packets when the receiving node receives packets may be significantly disrupted, depending on the delay of each route belonging to that retransmission ID.
  • an algorithm is described that determines a plurality of routes belonging to one retransmission ID so that the probability that the arrival order of packets belonging to one retransmission ID is incorrect is below a certain value.
  • Each path between the transmission node 301 and the reception node 302, 312-1-1-312-M, is always measured for one-way or round-trip delay time and delay dispersion. Map the route and retransmission ID. The timing is, for example, at regular time intervals or when the route information is updated. As a mapping method, for example, the retransmission ID is mapped to the route 312-1-312-M by an algorithm as shown in FIG.
  • the delay and delay dispersion of the route (i + j) and the delay dispersion of the route i are obtained (step A004).
  • the route (i + j) is optional until the packet of the route i to arrive first arrives. Check that the probability that a certain number of packets arrive first can be suppressed to a certain level. (Step A005).
  • an arbitrary number of transmitting nodes 501-1 501-L, a transmitting-side transfer node 502, a receiving Tsukuda J-transfer node 503, and an arbitrary number of receiving nodes 504-1-504- N force, ranaru are linked as follows.
  • Each transmitting node is connected to a transmitting-side forwarding node by a path 511-1-1511-L.
  • the transmitting side forwarding node and the receiving side forwarding node are connected by one or more arbitrary number of paths 512-1 to 512-M.
  • Each receiving node is connected to the receiving-side forwarding node via route 513-1-513-N.
  • route 513-1-513-N For example, when the number of routes M between the transmitting-side forwarding node and the receiving-side forwarding node is 1, this is the same as in the first embodiment.
  • the process is the same as in the second embodiment and the third embodiment.
  • the transmitting node in the first, second, and third embodiments is a transmitting-side transfer node
  • the receiving node is a receiving-side transfer node.
  • the socket in the configuration on the transmitting side transfer node is an input unit for packets received from the transmitting node
  • the socket in the configuration on the receiving side transfer node is an output unit for packets transmitted to the receiving node.
  • the first flow performs communication between the transmitting node 501-1-501-L and the receiving node 504-1-504-N of the receiving node as a source, destination address, and port. Refers to a packet group uniquely determined by a number.
  • Example 5 of the present invention will be described.
  • the fifth embodiment is a case where the schedulers 213 and 413 shown in the second, third, and fourth embodiments perform a route selection operation according to the following third criterion.
  • the schedulers 213 and 413 shown in the second, third, and fourth embodiments perform a route selection operation according to the following third criterion.
  • the receiving node has a high probability of receiving the packets in the order expected by the sending node, so that the retransmission frequency due to the incorrect order is increased.
  • the degree can be reduced.
  • the present invention is applied to a configuration in which nodes are connected by a plurality of paths as in the third embodiment and the fourth embodiment which is an application thereof, more communication paths are used as one retransmission unit. Communication performance can be improved because retransmission control can be applied.
  • the third criterion is to select the most appropriate route, for example, the route predicted to be the earliest arrival time, based on the predicted arrival time or reception completion time of the data. .
  • the transmission history of the transmission data (packets) is recorded.
  • the transmission history describes an identifier for identifying transmission data (packet), a transmission start time, and the like.
  • the state information for example, speed and packet delay
  • the path state information includes information for identifying the latest data (packet) to which the path state information is applied, such as the data (packet) identifier described above.
  • the transmitting side receives the status information of the route, and, based on information (for example, an identifier) for identifying the data (packet) included in the route status, the transmitted data (packet) for which the route status is valid. ) Is obtained from the transmission history. Then, for the data after the obtained data (packet), the reception completion time and the like are predicted by applying the status of the received route, and further based on the prediction and the received route status information, Predict the arrival time or reception completion time of the data to be transmitted.
  • information for example, an identifier
  • the reception completion time and the like are predicted by applying the status of the received route, and further based on the prediction and the received route status information, Predict the arrival time or reception completion time of the data to be transmitted.
  • the most appropriate route for example, the route predicted to have the earliest arrival time is selected based on the predicted arrival time or reception completion time of the data.
  • the path state information indicates general information that is an index of communication performance.
  • the speed of the route and the packet delay are used.
  • the path state information is valid, it means when the path state information is updated on the transmitting node side.
  • Various methods have been proposed for the receiving node to measure the speed and delay in order to obtain the path state information. The methods assumed are described below.
  • the transmitting node inserts an identifier and a transmission time into each of the packets to the receiving node and transfers them.
  • the receiving node measures the packet delay by comparing the transmission time inserted by the transmitting node with the time it received.
  • the transmitting node periodically transmits a packet sequence for measurement, and the receiving node can estimate the speed from the variation in the arrival time.
  • the transmitting node transmits two packets simultaneously, and the transmitting side estimates the link speed from the arrival time difference between the two packets. It is the transmission delay that widens the packet arrival interval. Since the transmission delay is related to the link speed, the speed can be estimated from the arrival interval.
  • the receiving node periodically transmits these measured values or estimated values to the transmitting node as path state information. Also, the identifier of the latest packet received up to that time is simultaneously transmitted as the identification information of the packet for which the status information to be transmitted is valid. This information is received at the sending node as a report.
  • the above method is an example, and the practicability of the present invention does not depend on the path state information and the method of determining and transmitting a packet in which the path state information is valid.
  • the scheduler 213 or 413 refers to the report of the route information and the like received up to the present for each transmission route for the packet to be transferred next and the transmission history after transmission of the packet for which the information is valid.
  • the transmission history for estimating the arrival delay at the receiving node is stored in the storage unit 216 or 416.
  • the scheduler 213 or 413 selects the route having the smallest predicted arrival delay as the transmission route of the packet to be transferred next, and after transferring the packet to the selected route, stores the transfer time in the storage unit 216 or 416. Add to transmission history.
  • FIG. 11 shows a scheduler operation example as an example of an arrival delay estimating method for each route operated by the scheduler 213 or 413.
  • 600-1, 600-2, and 600-3 are data packets.
  • the transmission history and prediction at the transmitting node and the reception history and prediction at the receiving node are shown on the time axis. It is shown.
  • the transmission of the data packet 600-1 is started at the transmission node at time T1, and the transmission is completed at time T2.
  • the reception of the same packet 600-1 is started at the receiving node at time T3 and completed at time T4.
  • the difference II between T1 and T3 is the transmission delay.
  • the difference 12 between T4 and T2 is the total delay obtained by adding the packet dispersion caused by the transmission interface II and the speed difference between the transmission path and the transmission delay II.
  • packet 600-3 is to be transmitted at the current time of the TP on the time axis. Then, for this route, upon receipt of the report result notification between T5 and TP, the route status information held by the transmitting node is updated, and the packets for which this route status information is valid are from 600-1. I do. Therefore, based on the transmission history of the packets 600-1 and 600-2 for which the path state information is valid, the reception completion time of the packet 600-3 is estimated in consideration of the packets 600-1 and 600-2.
  • the reception start time and the completion time at the receiving node of the packet 600-2 transmitted after the packet 600-beam are estimated from the speed and the transmission delay included in the currently received path state information.
  • the estimated reception start time is T5 in Fig. 11, and the reception completion time is $ 7.
  • the reception of the packet 600-3 started to be transmitted to the TP should start at time # 6.
  • the estimated reception start time of packet 600-3 is estimated to be the completion of reception of packet 600-2.
  • the estimated reception completion time of packet 600-3 is T8, which is the sum of the packet dispersion estimated from the path speed included in the currently received path state information. Similarly, the reception completion time of the packet 600-3 is estimated for each route, and the packet 600-3 is sent out on the route having the earliest time.
  • the path state information used for estimating the arrival time of the receiving side at the time of the TP in Fig. 11 has been updated between T5 and the TP by receiving the report result notification. Then, the arrival time estimation when transmitting the packet 600-2 is performed based on the older route state information in the TP. Assuming that the old state information is information A and the new information updated between T5 and TP is information B, if the delays and path speeds included in information A and information B differ due to link state fluctuations, information A The arrival time prediction based on the information must have been different from the arrival time prediction based on the information B shown in FIG. Therefore, in order to make a more accurate prediction, the arrival time predictions of the packets 600-1 and 600-2 shown in FIG. Once the route status information is updated, the transmission history before the packet for which the update is valid becomes unnecessary, and is discarded.
  • 500-1, 500-2, and 500-3 are data packets to be transmitted.
  • the packet transmission history (solid line) at the transmitting node and the actual packet reception at the receiving node are shown.
  • the histories (solid lines) are shown on the time axis.
  • the prediction of the arrival and reception completion times of the packet (dotted line) is also shown on the time axis.
  • the curve shown at the top of FIG. 18 shows the speed change of the transmission path.
  • FIG. 18 shows that the transmission speed decreases as time passes.
  • the transmission of the data packet 500-3 is started from the transmitting node at time T9, and the transmission is completed at time T10. Then, on the receiving node side, the reception of the data packet 500-3 is started from the time IJT14, and the reception is completed at the time T16.
  • the transmission of the data packet 500-1 is started at the transmission side node at time T1, together with the information on the transmission time and the packet identifier of the data packet 500-1, and the transmission is completed at time T2. .
  • the transmitting node stores the transmission time and packet identifier of the data packet 500-1 as the transmission history.
  • the transmitting node starts transmission of the data packet 500-2 at time T4 together with the transmission time of the data packet 500-2 and the information of the packet identifier, and completes the transmission at time T8. I have. At this time, the transmitting node stores the transmission time and the packet identifier of the data packet 500-2 as the transmission history, as described above. [0218] On the receiving node side, reception of data packet 500-1 starts at time T3, and has been completed at time T5. At this time, the receiving node transmits information such as the identifier of the data packet 500-1, the reception completion time and the communication speed to the transmitting node as a report.
  • the transmitting node predicts the arrival time and the reception completion time of data packet 500-3 based on the transmission history after time T1.
  • the target data packets are data packet 500-1 and data packet 500-2.
  • the reception completion time of the data bucket 500-1 is known from the report as time T5.
  • the communication speed and reception completion time of the data packet 500-1 in the report are used. You can see the delay time.
  • the transmission delay is the difference II between T1 and T3.
  • the total packet delay is the time obtained by adding the packet dispersion caused by the transmission delay II and the speed difference between the transmission interface and the transfer path, and is the difference 12 between T5 and T2.
  • the arrival time of the data packet 500-2 is obtained from the transmission delay II, and is predicted to be the time T6 obtained by adding the transmission delay II to the transmission time T4 of the data packet 500-2.
  • the reception completion time of the data packet 500-2 can be calculated based on the communication speed of the report, so that the reception completion time of the data packet 500-2 can be predicted to be time T12. Therefore, in this route, the arrival time of the receiving node of the data bucket 500-3 can be predicted to be after time T12.
  • the reception completion time when reception is started from time T12 can be predicted to be time T15 by the above-described packet dispersion prediction. According to the result of such prediction, the difference between the predicted arrival time T12 of the data packet 500-3 and the actual arrival time T14 of the data packet 500-3 is the time ID1.
  • the route state indicated by the report is valid at the arrival time of the report obtained from the reception node, and the data packet 500 For the forecast of -3, the route condition shown in the report is applied as it is. That is, in estimating the arrival time of the data packet 500-3, It is predicted to be the time Ti l at which the transmission delay II is added to the transmission time T9 of the data packet 500-3. According to such a prediction result, the difference between the predicted arrival time T11 of the data packet 500-3 and the actual arrival time T14 of the data packet 500-3 is the time ID2.
  • FIG. 12 shows a procedure of the route selection of the scheduler including the arrival time estimation as described above.
  • the packet is received by the queuing unit 312 (Step 100).
  • Step 101 it is determined whether the route status information has been updated since the last packet was transmitted from that route. If the route status information is updated, the transmission history before the route status information becomes valid is deleted for all the updated routes (Step 102).
  • the arrival time of the packet is predicted (estimated) based on the route state information and the transmission history (Step 103). Then, the packet is transmitted to the route with the earliest predicted (estimated) arrival time (Step 104).
  • the state of the route may be already changed by the time when the transmitting node acquires certain state information, so the information is trusted. It's enough. Therefore, it is impossible to optimally select the route and set the timing at the time of transmitting the packet, and the packet is generally transmitted on a non-optimal route and timing. Correcting the arrival time prediction at the time of updating the status information means that the impact of the already performed non-optimal transmission will take a time equal to the interval of the status information update. It is equivalent to estimating from the beginning. For example, if the previous transmission was performed at a too high rate, the estimated arrival time of the transmitted packet is extended by updating the status information, and the transmission cost of the route is increased.
  • the correction of the prediction of the arrival time of the past transmission packet by updating the state information has the effect of optimizing the route selection.
  • the correction of the prediction of the arrival time is fed back to the transmission timing control as well as the route selection. Then, the congestion control of each route is also optimized in a long term.
  • the reception completion time of a transmission packet is estimated for each route and the route with the highest evaluation value is selected, as in the above-described embodiment. It is also possible to introduce a simple timing control in which the transmitting node controls the transmission timing so that the estimated delay does not exceed that value. The operation of this embodiment will be described with reference to FIG.
  • the permissible estimated delay is denoted by TM.
  • TM the permissible estimated delay
  • the packet must be estimated to have been received by TM + TP.
  • T8 which is later than TM + TP. Therefore, the transmitting node 100 cannot transmit the packet 400-3 from this route until the estimated reception completion time STM + TP is reached. In this case, the transmitting node 100 holds the packet 400-3 until the estimated reception completion time of any of the routes is equal to or less than TM + TP, and transmits this packet from the route that can release the hold first.
  • FIG. 14 shows the scheduling operation in the above embodiment.
  • a packet is received by queuing section 312 (Step 200).
  • Step 201 it is determined whether the route status information has been updated since the last packet was transmitted from that route.
  • the route status information is updated, the transmission history before the route status information becomes valid is deleted in all the updated routes (Step 202).
  • the arrival time of the packet is predicted (estimated) based on the route state information and the transmission history (Step 203). Then, using the predicted (estimated) arrival time, then, for all routes, it is determined whether (predicted (estimated) arrival time)> (current time + allowable estimated delay) (Step 204), and (predicted (estimated) arrival time) ⁇ ( If it is the current time (IJ + allowable estimated delay), the predicted (estimated) arrival time of those routes is the earliest, and the packet is transmitted to the route (Step 205).
  • Step 206 If (predicted (estimated) arrival time)> (current time + allowable estimated delay) for all routes, the current time of one of the routes is (predicted arrival time-allowable estimated delay). ), And if any one of the routes satisfies the condition, the process proceeds to Step 205 (Step 206).
  • the value of the allowable delay TM may be set independently for each path. For example, when the delay of each route or the buffer size of the server to pass through greatly differs, it is considered that the bandwidth of each route can be effectively used by setting the TM setting differently for each route, especially under high load.
  • the route selection may be evaluated with priority given thereto.
  • the method of judgment may differ depending on the attribute of the data to be sent. For example, for voice data, delay is selected, for urgent data, and for file transfer data, selection is made with emphasis on the line usage fee.
  • the feature of the present embodiment is that, in any case, when the transmitting node updates the route state information, the transmitting node simultaneously acquires the transmission packet or time at which the update is valid, and acquires the valid packet or the transmission history after the valid time. It is to estimate the impact on transmission cost more and transmit the next packet on the route with the lowest cost.
  • the flow identification units 211 and 222 of the nodes, the scheduler 213, the retransmission control unit 214, and the retransmission ID are configured as separate units. All or a part of these units may be configured by a CPU or the like operated by a control program.

Abstract

 順序制御に関する第1のフロー群に属する各々のフローに一意に示す第1の識別子と、第1のフロー群の各々のフロー内で一意の第1のシーケンス番号と、再送制御に関するフローに一意に示す第2の識別子と、第2のフロー群に属する各々のフロー内で一意に示す第2のシーケンス番号とを、送信するパケットに付与して送信する。受信ノードでは、第2の識別子及び第2のシーケンス番号に基づいて再送の要求を行い、送信ノードでそのパケットを再送する。また、パケットの順序制御においては、受信ノードが第1の識別子及び第1のシーケンス番号に基づいてパケットの順序制御を行う。

Description

明 細 書
通信方法
技術分野
[0001] 本発明はフローの存在する 2ノード間のパケット通信に関し、特に再送制御に関す る。
背景技術
[0002] インターネット上を経由して 2ノードがパケット通信する場合には、パケット損失、パ ケット順序ミスが発生する。パケット損失に対処する方法として、パケットの再送方法 の技術が提案されている (例えば、特許文献 1)。特許文献 1の技術は、送信ノードと 受信ノードとの間で送信パケットのフロー制御及び順序制御を行うが、受信ノードで パケット損失による順序待ちが発生した場合、一定時間内に順序待ち対象のパケット を受信しなかった場合、送信ノードに対して順序待ち対象のパケットの再送要求を通 知するものである。
[0003] また、 2ノード間に複数のフローが存在する場合には、フローそれぞれを単位として 、例えば TCP ("Transmission Control Protocol", rfc793)などを利用して、ノ ケットの 再送や順序制御を行ってレ、た。
[0004] 以下に、従来技術による順序制御やパケット損失の検出による再送制御を、図 19 を用いて説明する。
[0005] 図 19は、 3本のフロー 1、フロー 2、フロー 3からのパケットを一つの経路を介して送 信する場合におけるパケット損失の検出を示している。
[0006] 図 19によれば、フロー 1からはパケット 1-1、パケット 1-2及びパケット 1-3を受信し、 フロー 2からはパケット 2-1、パケット 2- 2及びパケット 2- 3を受信し、フロー 3からはパケ ット 3-1、パケット 3-2及びパケット 3-3を受信している。尚、各パケットには、フローと各 フローのパケットの順番(シーケンス番号)とを示す識別情報が付されている。例えば 、パケット 2-1は、フロー 2において 2番目の順番であることを示している。
[0007] 受信したパケットは一つの経路 4に送信するにあたって、各フローより順番にひとつ ずつのパケットを選択し、経路 4に送信している。すなわち、パケット 1-1、パケット 2-1 、パケット 3-1、 · · ·、パケット 1-3、パケット 2-3、パケット 3-3の順番で経路 4に送信され る。受信側では、経路 4から受信されたパケットを、パケットの識別情報に基づいて、 フロー毎に並べなおす順序制御が行われると共に、損失したパケットを検出して再送 の要求(再生制御)が行われてレ、た。
特許文献 1:特開平 9 - 46375号公報
発明の開示
発明が解決しょうとする課題
[0008] し力しながら、従来技術では、多数のパケットを送受信するにも関わらず、順序制御 をしながらパケット損失の検出を行う為、パケット損失の検出が遅れるとレ、う課題があ つた。
[0009] 例えば、図 19で示される従来技術において、経路 4上でパケット 2-2の損失が発生 した場合を考えると、受信側では、パケットが送信された順序で受信するので、バケツ ト 1-1、パケット 2-1、パケット 3-1、■·■、パケット 1-3、パケット 2- 3、パケット 3- 3の順番で パケットを受信することになる。損失したパケットはパケット 2-2であるので、パケット 1-2 の次に受信されるパケットはパケット 3-2である。
[0010] この時点では、パケット 2-2が損失したことを検出することは出来ず、損失したバケツ ト 2-2と同じフローの次のパケット 2-3が受信されて順序制御が行われ、パケット 2-1と 、パケット 2-3とが検出され、初めてパケット 2-2の損失が検出される。すなわち、図 19 の例においては、損失したパケット 2-2の 3パケット先であるパケット 2-3の受信及び順 序制御を待たなければ、パケット 2-2の損失を検出することが出来なかった。
[0011] そこで、本発明は上記課題に鑑みて発明されたものであって、その目的は上記課 題を解決し、従来のフロー毎の再送制御に比較して早期のパケット損失の検出が可 能となる技術を提供することにある。
[0012] また、本発明の目的は上記課題を解決し、従来のパケット損失の検出に比較して 早期のパケット損失の検出が可能となる技術を提供することにある。
[0013] また、本発明の目的は、順序制御の為の識別情報とは別に、パケットの損失検出及 び再生制御の為の識別情報をパケットに付与し、順序制御とパケット損失の検出及 び再生制御とを独立に行うことにより、早期にパケットを検出して再送の制御が行える 技術を提供することにある。
課題を解決するための手段
[0014] 上記課題を解決する第 1の発明は、送信ノードと、受信ノードとの間の通信方法で あって、
送信ノードにおいて、
順序制御に関する第 1の基準に基づいた 1以上のフローを有する第 1のフロー群 と、再送制御に関する第 2の基準に基づいた 1以上のフローを有する第 2のフロー群 とを設け、前記第 1のフロー群に属する各々のフローに一意の第 1の識別子を割り当 て、前記第 2のフロー群に属する各々のフローに一意の第 2の識別子を割り当て、 入力されたパケットを、前記第 1の基準に基づいて前記第 1のフロー群に属する 1 以上のフローに分類し、かつ、前記第 2の基準に基づいて前記第 2のフロー群に属 する 1以上のフローに分類し、前記パケットに、前記第 1の識別子と、前記第 1の識別 子で特定される第 1のフロー内で一意の第 1のシーケンス番号と、前記第 2の識別子 と、前記第 2の識別子で特定されるフロー内で一意の第 2のシーケンス番号とを付与 して送信し、
受信ノードにおいて、
受信した全てのパケットを第 2の識別子に基づいて分類し、各第 2のフローに関し て、受信していない第 2のシーケンス番号のパケットをチェックし、送信ノード対してこ れらの再送を要求し、
送信ノードにおいて、
受信ノードからの要求された第 2のフローの第 2のシーケンス番号のパケットを再 送し、
受信ノードにおいて、
受信した全てのパケットを第 1の識別子に基づいて分類し、各第 1のフローに関し て、第 1のシーケンス番号に基づいてパケットを順番に並べ、順番になっているパケ ットから受信処理を行うことを特徴とする。
[0015] 上記課題を解決する第 2の発明は、上記第 1の発明において、送信ノードと受信ノ ードは一つの通信経路で結ばれ、送信ノードの第 2のフロー群は単一のフローで構 成され、単一の通信経路を利用してパケットを送信することを特徴とする。
[0016] 上記課題を解決する第 3の発明は、上記第 1の発明において、送信ノードは、パ ケットを送信する通信経路が複数ある場合、パケット送信のスケジュールに関する第 3の基準に基づいて、パケットを送信する通信経路を選択することを特徴とする。
[0017] 上記課題を解決する第 4の発明は、上記第 3の発明において、送信ノードと受信ノ 一ドとは複数の通信経路で結ばれ、送信ノードは、第 2の基準として、送信するバケツ トの通過する通信経路に対応して一意のフローに分類し、第 3の基準として、再送時 に初回送信時とは独立に通信経路を選択することを特徴とする。
[0018] 上記課題を解決する第 5の発明は、上記第 3の発明において、送信ノードと受信ノ 一ドとは複数の通信経路で結ばれ、送信ノードは、第 2の基準として、送信するバケツ トの通過する通信経路よりも少ない数のフローに分類し、第 3の基準として、再送時に 初回送信時とは独立に通信経路を選択することを特徴とする。
[0019] 上記課題を解決する第 6の発明は、上記第 1から第 3のいずれかの発明において、 送信ノードは他の通信ノードの送信するパケットを転送する送信側転送ノードであり、 受信ノードは他の通信ノードの受信するパケットを転送する受信側転送ノードである ことを特徴とする。
[0020] 上記課題を解決する第 7の発明は、上記第 6の発明において、送信ノードと受信ノ ードは一つの通信経路で結ばれ、送信ノードの第 2のフロー群は、単一のフローで構 成され、単一の通信経路を利用してパケットを送信することを特徴とする。
[0021] 上記課題を解決する第 8の発明は、上記第 6の発明において、送信ノードと受信ノ 一ドとは複数の通信経路で結ばれ、送信ノードは、第 2の基準として、送信するバケツ トの通過する通信経路に対応して一意のフローに分類し、第 3の基準として、再送時 に初回送信時とは独立に通信経路を選択することを特徴とする。
[0022] 上記課題を解決する第 9の発明は、上記第 6の発明において、送信ノードと受信ノ 一ドとは複数の通信経路で結ばれ、送信ノードは、第 2の基準として、送信するバケツ トの通過する通信経路よりも少ない数のフローに分類し、第 3の基準として、再送時に 初回送信時とは独立に通信経路を選択することを特徴とする。
[0023] 上記課題を解決する第 10の発明は、上記第 3の発明において、送信ノードの第 3 の基準として、送信側ノードにおいて入力されるパケットごとに、選択可能な各経路の 経路状態情報と、前記経路状態情報が有効となる時刻又は送信済みパケットの識別 情報と、前記経路状態情報が有効となる時刻以降の送信履歴又は送信済みパケット の識別情報で特定されるパケットの送信以降の送信履歴とに基づいて、経路の選択 または選択優先度を行うことを特徴とする。
[0024] 上記課題を解決する第 11の発明は、上記第 10の発明において、前記経路状態情 報は、経路の遅延を含むことを特徴とする。
[0025] 上記課題を解決する第 12の発明は、上記第 10又は第 11の発明において、前記 経路状態情報は、経路の通信速度を含むことを特徴とする。
[0026] 上記課題を解決する第 13の発明は、上記第 10から第 12のいずれかの発明にお いて、前記経路状態情報は、経路の負荷を含むことを特徴とする。
[0027] 上記課題を解決する第 14の発明は、上記第 10から第 13のいずれかの発明にお いて、経路の選択又は選択優先度の更新に際し、各経路の経路状態情報が更新さ れると、更新以前に送信されたパケットに関する送信コスト計算結果に修正を加える ことを特徴とする。
[0028] 上記課題を解決する第 15の発明は、上記第 10から第 14のいずれかの発明にお いて、各経路の送信コスト計算結果の修正に際し、最新の経路状態情報が有効とな る最初の送信済パケット以前の履歴を破棄することを特徴とする。
[0029] 上記課題を解決する第 16の発明は、上記第 10から第 15のいずれかの発明にお いて、パケットを送信する経路として、受信側ノードでの受信完了時刻の推定値が最 も早レヽ経路を選択することを特徴とする。
[0030] 上記課題を解決する第 17の発明は、上記第 10から第 16のいずれかの発明にお いて、パケットを送信する経路として、受信側ノードで特定時刻までに受信完了でき るデータ量の推定値が最大の経路を選択することを特徴とする。
[0031] 上記課題を解決する第 18の発明は、上記第 10から第 17のいずれかの発明にお いて、各経路につき、推測される現在の経路状態に応じてデータの送信を中断する ことを特徴とする。
[0032] 上記課題を解決する第 19の発明は、上記第 18の発明において、前記データ送信 中断の基準が、推定受信完了時刻が特定の値以上であることを特徴とする。
[0033] 上記課題を解決する第 20の発明は、上記第 10から第 19のいずれかの発明にお いて、経路選択又は送信中断の判断を、送信データの属性ごとに異なるポリシーに より行うことを特徴とする。
[0034] 上記課題を解決する第 21の発明は、パケットを送信する送信部とパケットを受信す る受信部とから構成され、パケットの再送制御と順序制御とを独立に行うノードであつ て、
前記送信部は、
順序制御に関する第 1の基準に基づいた第 1のフロー群の各フローに一意に割り 当てられた第 1の識別子と、前記第 1のフロー群に属する各々のフロー内で一意の第 1のシーケンス番号と、再送制御に関する第 2の基準に基づいた第 2のフロー群の各 フローに一意に割り当てられた第 2の識別子と、前記第 2のフロー群に属する各々の フロー内で一意の第 2のシーケンス番号とを、送信するパケットに付加して送信する 手段と、
パケットを受信したノードから再送を要求されたパケットを、前記第 2の識別子及び 第 2のシーケンス番号から特定し、そのパケットを再送する手段と
を有し、
前記受信部は、
受信した全てのパケットを前記第 2の識別子に基づいて分類し、各第 2のフローに 関して、受信していない第 2のシーケンス番号のパケットをチェックし、その第 2の識 別子と第 2のシーケンス番号とを、パケットに送信したノードに対して送信して再送を 要求する手段と、
受信した全てのパケットを前記第 1の識別子に基づいて分類し、各第 1のフローに 関して、前記第 1のシーケンス番号に基づいてパケットを順番に並べ、順番になって レ、るパケットから受信処理を行う手段と
を有することを特徴とする。
[0035] 上記課題を解決する第 22の発明は、上記第 21の発明において、ノード間は一つ の通信経路で結ばれ、第 2のフロー群は単一のフローで構成され、単一の通信経路 を利用してパケットを送信することを特徴とする。
[0036] 上記課題を解決する第 23の発明は、上記第 21の発明において、パケットを送信す る通信経路が複数ある場合、パケット送信のスケジュールに関する第 3の基準に基づ レ、て、パケットを送信する通信経路を選択する手段を有することを特徴とする。
[0037] 上記課題を解決する第 24の発明は、上記第 23の発明において、ノード間は複数 の通信経路で結ばれ、第 2の基準として、送信するパケットの通過する通信経路に対 応して一意のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通 信経路を選択することを特徴とする。
[0038] 上記課題を解決する第 25の発明は、上記第 23の発明において、ノード間は複数 の通信経路で結ばれ、第 2の基準として、送信するパケットの通過する通信経路より も少ない数のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通 信経路を選択することを特徴とする。
[0039] 上記課題を解決する第 26の発明は、上記第 21から第 23のいずれかの発明にお いて、ノードの送信部は他の通信ノードの送信するパケットを転送する送信側転送ノ ードであり、ノードの受信部は他の通信ノードの受信するパケットを転送する受信側 転送ノードであることを特徴とする。
[0040] 上記課題を解決する第 27の発明は、上記第 26の発明において、ノード間は一つ の通信経路で結ばれ、第 2のフロー群は、単一のフローで構成され、単一の通信経 路を利用してパケットを送信することを特徴とする。
[0041] 上記課題を解決する第 28の発明は、上記第 26の発明において、ノード間は複数 の通信経路で結ばれ、第 2の基準として、送信するパケットの通過する通信経路に対 応して一意のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通 信経路を選択することを特徴とする。
[0042] 上記課題を解決する第 29の発明は、上記第 26の発明において、ノード間は複数 の通信経路で結ばれ、第 2の基準として、送信するパケットの通過する通信経路より も少ない数のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通 信経路を選択することを特徴とする。
[0043] 上記課題を解決する第 30の発明は、上記第 23の発明において、前記通信経路を 選択する手段は、第 3の基準として、ノードにおいて入力されるパケットごとに、選択 可能な各経路の経路状態情報と、前記経路状態情報が有効となる時刻又は送信済 みパケットの識別情報と、前記経路状態情報が有効となる時刻以降の送信履歴又は 送信済みパケットの識別情報で特定されるパケットの送信以降の送信履歴とに基づ レ、て、経路の選択または選択優先度を行うことを特徴とする。
[0044] 上記課題を解決する第 31の発明は、上記第 30の発明において、前記経路状態情 報は、経路の遅延を含むことを特徴とする。
[0045] 上記課題を解決する第 32の発明は、上記第 31の発明において、前記経路状態情 報は、経路の通信速度を含むことを特徴とする。
[0046] 上記課題を解決する第 33の発明は、上記第 30から第 32のいずれかの発明にお いて、前記経路状態情報は、経路の負荷を含むことを特徴とする。
[0047] 上記課題を解決する第 34の発明は、上記第 30から第 33のいずれかの発明にお いて、前記通信経路を選択する手段は、経路の選択又は選択優先度の更新に際し 、各経路の経路状態情報が更新されると、更新以前に送信されたパケットに関する 送信コスト計算結果に修正を加えることを特徴とする。
[0048] 上記課題を解決する第 35の発明は、上記第 30から第 34のいずれかの発明にお いて、前記通信経路を選択する手段は、各経路の送信コスト計算結果の修正に際し 、最新の経路状態情報が有効となる最初の送信済パケット以前の履歴を破棄するこ とを特徴とする。
[0049] 上記課題を解決する第 36の発明は、上記第 30から第 35のいずれかの発明にお いて、前記通信経路を選択する手段は、パケットを送信する経路として、受信側ノー ドでの受信完了時刻の推定値が最も早い経路を選択することを特徴とする。
[0050] 上記課題を解決する第 37の発明は、上記第 30から第 36のいずれかの発明にお いて、前記通信経路を選択する手段は、パケットを送信する経路として、受信側ノー ドで特定時刻までに受信完了できるデータ量の推定値が最大の経路を選択すること を特徴とする。
[0051] 上記課題を解決する第 38の発明は、上記第 30から第 37のいずれかの発明にお いて、前記通信経路を選択する手段は、各経路につき、推測される現在の経路状態 に応じてデータの送信を中断することを特徴とする。
[0052] 上記課題を解決する第 39の発明は、上記第 38の発明において、前記データ送信 中断の基準が、推定受信完了時刻が特定の値以上であることを特徴とする。
[0053] 上記課題を解決する第 40の発明は、上記第 30から第 39のいずれかの発明にお いて、前記通信経路を選択する手段は、経路選択又は送信中断の判断を、送信デ ータの属性ごとに異なるポリシーにより行うことを特徴とする。
[0054] 上記課題を解決する第 41の発明は、パケットの再送制御と順序制御とを独立に行 うノードの制御プログラムであって、
前記制御プログラムは前記ノードを、
順序制御に関する第 1の基準に基づいた第 1のフロー群の各フローに一意に割り 当てられた第 1の識別子と、前記第 1のフロー群に属する各々のフロー内で一意の第 1のシーケンス番号と、再送制御に関する第 2の基準に基づいた第 2のフロー群の各 フローに一意に割り当てられた第 2の識別子と、前記第 2のフロー群に属する各々の フロー内で一意の第 2のシーケンス番号とを、送信するパケットに付加して送信する 手段と、
パケットを受信したノードから再送を要求されたパケットを、前記第 2の識別子及び 第 2のシーケンス番号から特定し、そのパケットを再送する手段と、
受信した全てのパケットを前記第 2の識別子に基づいて分類し、各第 2のフローに 関して、受信していない第 2のシーケンス番号のパケットをチェックし、その第 2の識 別子と第 2のシーケンス番号とを、パケットに送信したノードに対して送信して再送を 要求する手段と、
受信した全てのパケットを前記第 1の識別子に基づいて分類し、各第 1のフローに 関して、前記第 1のシーケンス番号に基づいてパケットを順番に並べ、順番になって レ、るパケットから受信処理を行う手段と
して機能させることを特徴とする。
[0055] 上記課題を解決する第 42の発明は、上記第 41の発明において、ノード間は一つ の通信経路で結ばれ、第 2のフロー群は単一のフローで構成され、単一の通信経路 を利用してパケットを送信することを特徴とする。 [0056] 上記課題を解決する第 43の発明は、上記第 41の発明において、前記制御プログ ラムは前記ノードを、パケットを送信する通信経路が複数ある場合、パケット送信のス ケジュールに関する第 3の基準に基づレ、て、パケットを送信する通信経路を選択する 手段として更に機能させることを特徴とする。
[0057] 上記課題を解決する第 44の発明は、上記第 43の発明において、ノード間は複数 の通信経路で結ばれ、第 2の基準として、送信するパケットの通過する通信経路に対 応して一意のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通 信経路を選択することを特徴とする。
[0058] 上記課題を解決する第 45の発明は、上記第 43の発明において、ノード間は複数 の通信経路で結ばれ、第 2の基準として、送信するパケットの通過する通信経路より も少ない数のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通 信経路を選択することを特徴とする。
[0059] 上記課題を解決する第 46の発明は、上記第 41から第 43のいずれかの発明にお いて、ノードの送信側は他の通信ノードの送信するパケットを転送する送信側転送ノ ードであり、ノードの受信側は他の通信ノードの受信するパケットを転送する受信側 転送ノードであることを特徴とする。
[0060] 上記課題を解決する第 47の発明は、上記第 46の発明において、ノード間は一つ の通信経路で結ばれ、第 2のフロー群は、単一のフローで構成され、単一の通信経 路を利用してパケットを送信することを特徴とする。
[0061] 上記課題を解決する第 48の発明は、上記第 46の発明において、ノード間は複数 の通信経路で結ばれ、第 2の基準として、送信するパケットの通過する通信経路に対 応して一意のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通 信経路を選択することを特徴とする。
[0062] 上記課題を解決する第 49の発明は、上記第 46の発明において、ノード間は複数 の通信経路で結ばれ、第 2の基準として、送信するパケットの通過する通信経路より も少ない数のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通 信経路を選択することを特徴とする。
[0063] 上記課題を解決する第 50の発明は、上記第 43の発明において、制御プログラム は、前記通信経路を選択する手段を、ノードにおいて入力されるパケットごとに、選択 可能な各経路の経路状態情報と、前記経路状態情報が有効となる時刻又は送信済 みパケットの識別情報と、前記経路状態情報が有効となる時刻以降の送信履歴又は 送信済みパケットの識別情報で特定されるパケットの送信以降の送信履歴とに基づ いて、経路の選択または選択優先度を行うように機能させることを特徴とする。
[0064] 上記課題を解決する第 51の発明は、上記第 50の発明において、前記経路状態情 報は、経路の遅延を含むことを特徴とする。
[0065] 上記課題を解決する第 52の発明は、上記第 50又は第 51の発明において、前記 経路状態情報は、経路の通信速度を含むことを特徴とする。
[0066] 上記課題を解決する第 53の発明は、上記第 50から第 52のいずれかの発明にお いて、前記経路状態情報は、経路の負荷を含むことを特徴とする。
[0067] 上記課題を解決する第 54の発明は、上記第 50から第 53のいずれかの発明にお いて、制御プログラムは、前記通信経路を選択する手段を、経路の選択又は選択優 先度の更新に際し、各経路の経路状態情報が更新されると、更新以前に送信された パケットに関する送信コスト計算結果に修正を加えるように機能させることを特徴とす る。
[0068] 上記課題を解決する第 55の発明は、上記第 54の発明において、制御プログラム は、前記通信経路を選択する手段を、各経路の送信コスト計算結果の修正に際し、 最新の経路状態情報が有効となる最初の送信済パケット以前の履歴を破棄するよう に機能させることを特徴とする。
[0069] 上記課題を解決する第 56の発明は、上記第 50から第 55のいずれかの発明にお いて、制御プログラムは、前記通信経路を選択する手段を、パケットを送信する経路 として、受信側ノードでの受信完了時刻の推定値が最も早い経路を選択するように機 能させることを特徴とする。
[0070] 上記課題を解決する第 57の発明は、上記第 50から第 56のいずれかの発明にお いて、の制御プログラムは、前記通信経路を選択する手段を、パケットを送信する経 路として、受信側ノードで特定時刻までに受信完了できるデータ量の推定値が最大 の経路を選択するように機能させることを特徴とする。 [0071] 上記課題を解決する第 58の発明は、上記第 50から第 57のいずれかの発明にお いて、の制御プログラムは、前記通信経路を選択する手段を、各経路につき、推測さ れる現在の経路状態に応じてデータの送信を中断するように機能させることを特徴と する。
[0072] 上記課題を解決する第 59の発明は、上記第 58のいずれかの発明において、前記 データ送信中断の基準が、推定受信完了時刻が特定の値以上であることを特徴とす る。
[0073] 上記課題を解決する第 60の発明は、上記第 50から第 59のいずれかの発明にお いて、制御プログラムは、前記通信経路を選択する手段を、経路選択又は送信中断 の判断を、送信データの属性ごとに異なるポリシーにより行うように機能させることを 特徴とする。
[0074] 上記課題を解決する第 61の発明は、通信方法であって、送信パケットに、順序制 御のための情報とは別に、送信フローを識別する識別子と、前記送信フロー内にお けるシーケンス番号とを付与し、受信側で前記識別子と前記シーケンス番号とに基づ いて、送信フローごとに再送制御を行うことを特徴とする。
[0075] 上記課題を解決する第 62の発明は、通信方法であって、送信パケットに、順序制 御のための情報とは別に、送信フローを識別する識別子と、前記送信フロー内にお けるシーケンス番号とを付与し、受信側で前記識別子と前記シーケンス番号とに基づ いて、送信フローごとにパケットの損失を検出することを特徴とする。
[0076] 上記課題を解決する第 63の発明は、ノードであって、
順序制御に関する第 1の基準に基づいた第 1のフロー群の各フローに一意に割り 当てられた第 1の識別子と、前記第 1のフロー群に属する各々のフロー内で一意の第 1のシーケンス番号と、再送制御に関する第 2の基準に基づいた第 2のフロー群の各 フローに一意に割り当てられた第 2の識別子と、前記第 2のフロー群に属する各々の フロー内で一意の第 2のシーケンス番号とを、パケットに付加して送信する手段と、 前記第 2の識別子と前記第 2のシーケンス番号とに基づいて、送信フローごとに検 出された損失パケットを再送する手段とを有することを特徴とする。
[0077] 上記課題を解決する第 64の発明は、ノードの制御プログラムであって、 前記制御プログラムは前記ノードを、
順序制御に関する第 1の基準に基づいた第 1のフロー群の各フローに一意に割り 当てられた第 1の識別子と、前記第 1のフロー群に属する各々のフロー内で一意の第 1のシーケンス番号と、再送制御に関する第 2の基準に基づいた第 2のフロー群の各 フローに一意に割り当てられた第 2の識別子と、前記第 2のフロー群に属する各々の フロー内で一意の第 2のシーケンス番号とを、パケットに付加して送信する手段と、 前記第 2の識別子と前記第 2のシーケンス番号とに基づいて、送信フローごとに検 出された損失パケットを再送する手段として機能させることを特徴とする。
[0078] 本発明は、送信するパケットに、順序制御の識別子とは別に再送制御の識別子を 付与し、順序制御は順序制御の識別子に基づいて行い、パケット損失の検出及び再 生制御は再送制御の識別子に基づいて行う。再送制御の為の識別子は再送のフロ 一毎に識別子を設け、更に、そのフロー内で一意にパケットを特定できるシーケンス 番号のような識別情報を付与する。通常、再送のフローと、送受信される経路とは一 対一の関係にある力 これに限る必要もない。
[0079] 上述した本発明の概要を図 15を用いて説明する。
[0080] 図 15では、送信側と受信側との間に一つの経路 aを介してパケットの送受信を行う 例を示している。
[0081] 送信側の各フローのパケットには順序制御のフローを識別する第 1の識別子と、各 々のフロー内で一意の第 1のシーケンス番号とが付与されている。例えば、フロー 1 の 2番目のパケットならば、 " 1-2"である。
[0082] 更に、本発明では、この順序制御の為の識別子とは別に、再送制御のフローを識 別する第 2の識別子と、各々のフロー内で一意の第 2のシーケンス番号とが付与され ている。ここでは、再送フローと経路 aとが一対一の関係にあるので、再送フローを識 別する識別子を" a"とし、この" a"で識別されるフロー(経路 a)内で一意にパケットを特 定できるようにシーケンス番号を付与する。従って、 "a"で識別されるフロー(経路 a) 内における最初のパケットの再送制御の識別子は' I"となる。
[0083] 送信側では上述のような識別子をパケットに付して、各フローより順番にひとつずつ のパケットを選択し、経路 aに送信する。すなわち、パケット(1-1, a-l)、パケット(2-1, a-2)、 · · ·、パケット(3-3, a-9) (順序制御用識別子,再送制御用識別子)の順番で送 信されている。一方、送信したパケットは再送キューとして保持する。
[0084] ここで、経路 a上でパケット(2-2, a_5)の損失が発生したとする。
[0085] 受信側では、パケットが送信された順序で受信するので、パケット(1-1 , a-1)、 パケ ット(2-1, a_2)、 ·■·、パケット(1—2, a— 4)、パケット(3-2, a_6)、■·■、パケット(3_3, a— 9) の順番でパケットを受信することになる。
[0086] ここで、本発明は、パケット損失の検出及び再送制御について、再送制御用識別 子に基づいて行う。本例では、経路 aから受信したパケットの再送制御用識別子を確 認していくと、■·■、 "a_4"、 "a_6"、■·■、 "a_9"であるので、パケット(3-2, a_6)を受信し た時点で" a-5"が欠落していることが解る。従って、 "a-5"の再送制御用識別子を持 つパケット(2-2, a-5)が損失していることが解り、このパケット(2-2, a_5)の再送要求 を送信側に行う。送信側では、再送制御用識別子" a-5"を持つパケットの再送要求 を受けて、再送キューに保持している再送制御用識別子" a-5"を持つパケットを再 送する。
[0087] 一方、順序制御は、上述したパケット損失の検出及び再送制御とは独立に順序制 御用識別子に基づいて行い、パケット損失に対する再送要求はしない。
[0088] このように、本発明ではパケット(3-2, a-6)を受信した時点で、パケット(2-2, a_5)の 損失を検出することができ、従来技術と比較して早期にパケット損失の検出を行うこと ができ、更に、再送制御も独立に行うので、パケット損失に伴う順序制御の遅滞を防 止すること力 Sできる。
[0089] 尚、再送制御のパケット損失の検出であるが、上述のようにパケット損失の検出を受 信側で行う場合だけでなぐ例えば、受信側では到着済みのパケットの情報を送信 側に送信し、この情報に基づいて送信側でパケット損失を検出するようにしても良い 発明の効果
[0090] 本発明は、パケット通信において、順序制御と再送制御とを独立に行い、パケット損 失を最も早期に検出可能な単位に対して再送 IDを割り当てることにより、従来の順序 制御に付随してフロー毎に行う再送制御に比較して早期のパケット損失の検出が可 能となる。
[0091] また、本発明によれば、フロー毎の順序制御においても、あるフローのパケットの損 失による他のフローのパケットの無駄な待ち時間が発生せず、転送されるという効果 を奏する。
[0092] また、本発明は、送信に利用する経路と再送制御は独立であるため、ある経路が通 信不能となった場合にもシステム全体として問題は発生しない。
図面の簡単な説明
[0093] [図 1]図 1は送受信ノード間経路力 S1本の場合の通信ネットワーク構成を示す図である
[図 2]図 2は送信ノード、又は受信ノードの構成を示す図である。
[図 3]図 3はパケットの構成を示す図である。
[図 4]図 4第 1の実施例における記憶部の保持する情報を示す図である。
[図 5]図 5は送受信ノード間経路が M本の場合の通信ネットワーク構成を示す図であ る。
[図 6]図 6は送信ノード、又は受信ノードの構成を示す図である。
[図 7]図 7は第 2の実施例における記憶部の保持する情報を示す図である。
[図 8]図 8再送 ID同一通信インタフェース.グループ決定アルゴリズムのフローチヤ一 トである。
[図 9]図 9は第 3の実施例における記憶部の保持する情報を示す図である。
[図 10]図 10は送受信側転送ノード間経路が M本の場合の通信ネットワーク構成を示 す図である。
[図 11]図 11はスケジューラの動作例 1における送信側ノードおよび受信側ノードでの パケット処理タイミングを示す図である。
[図 12]図 12はスケジューラの動作例 1におけるスケジューリング部の動作フローチヤ ートである。
[図 13]図 13はスケジューラの動作例 2における送信側ノードおよび受信側ノードでの パケット処理タイミングを示す図である。
[図 14]図 14はスケジューラの動作例 2におけるスケジューリング部の動作フローチヤ ートである。
園 15]図 15は本発明を説明する為の図である。
[図 16]図 16は本発明の実施例 1の具体的な動作を説明する為の図である。
[図 17]図 17は本発明の実施例 1の具体的な動作を説明する為の図である。 園 18]図 18はスケジューラの動作例 1における送信側ノードおよび受信側ノ パケット処理タイミングの具体例を示した図である。
園 19]図 19は従来技術を説明する為の図である。
符号の説明
101 送信ノード
102 受信ノード
110 経路
201 ソケット
202 入出力部
211 , 222 フロー識別部
212, 224 フロー毎キュー
213 スケジューラ
214 再送制御部
215 再送キュー
216 曰し fe ρ|5
221 再送 ID順序チェック部
223 フロー順序チェック部
301 送信ノード
302 受信ノード
312-1— M 経路
401 ソケット
402-1— M 入出力部
411 , 422 フロー識別部
412, 424 フロー毎キュー 413 スケジューラ
414 再送制御部
415 再达キユー
416 曰己 Ί思 p¾
421 再送 ID順序チェック部
423 フロー順序チェック部
501- - 一 L 送信ノード
502 送信側転送ノード
503 受信側転送ノード
504- - 一 N 受信ノード
511- - 一 L 経路
512- - 一 M 経路
513- - 一 N 経路
600- -1, 2, 3 データパケット 発明を実施するための最良の形態
[0095] 本発明は、パケット通信において、順序制御と再送制御とを独立に行いことを特徴 とする。
[0096] その為、送信ノードは、順序制御に関する第 1の基準に基づいた 1以上のフローを 有する第 1のフロー群と、再送制御に関する第 2の基準に基づいた 1以上のフローを 有する第 2のフロー群とを設け、第 1のフロー群に属する各々のフローに一意の第 1 の識別子を割り当て、前記第 2のフロー群に属する各々のフローに一意の第 2の識 別子を割り当ている。そして、送信するパケットを、第 1の基準に基づいて第 1のフロ 一群に属する 1以上のフローに分類し、かつ、第 2の基準に基づいて第 2のフロー群 に属する 1以上のフローに分類し、第 1の識別子と、第 1のフロー群に属する各々の フロー内で一意の第 1のシーケンス番号と、前記第 2の識別子と、前記第 2のフロー 群に属する各々のフロー内で一意の第 2のシーケンス番号とを、送信するパケットに 付与して送信する。
[0097] 受信ノードでは、受信した全てのパケットを第 2の識別子に基づレ、て分類し、各第 2 のフローに関して、受信していない第 2のシーケンス番号のパケットをチェックし、受 信していない第 2のシーケンス番号に対応したパケットの再送を要求する。そして、送 信ノードは、受信ノードからの要求された第 2のフローの第 2のシーケンス番号に対応 するパケットを再送することにより、再送の制御を行う。
[0098] また、パケットの順序制御においては、受信ノードが、受信した全てのパケットを第 1 の識別子に基づいて分類し、各第 1のフローに関して、第 1のシーケンス番号に基づ いてパケットを順番に並べ、順番になっているパケットから受信処理を行うことにより 行われる。
[0099] 以下、具体的な実施例について説明する。
実施例 1
[0100] 本発明の実施例 1を説明する。
[0101] 実施例 1では、送信ノードと受信ノードとがひとつの経路で結ばれている場合につ いて説明する。
[0102] 図 1を参照すると、本発明の実施例 1は、送信ノード 101と、受信ノード 102と、ノー ド間を結ぶ経路 110とからなる。経路 110は、インターネットなどのパケット通信網で ある。尚、通信は送信ノード 101から受信ノード 102に対するものと、受信ノード 102 力 送信ノード 101に対するものとどちらも考えられる。説明の便宜上、ノードには送 信-受信と名前をつけているが、機能的には同一である。
[0103] 次に、送信ノード 101の構成を説明する。
[0104] 図 2は送信ノード 101の構成を示す図である。
[0105] 図 2を参照すると、アプリケーションに対する API(Application Process Interface)であ るソケット 201と、入出力部 202と、使用するポート番号と宛先のアドレス 'ポート番号 とからフローを識別してそれぞれのキューに振り分けるフロー識別部 211と、フロー ID 力 フローを識別子それぞれのキューに振り分けるフロー識別部 222と、識別された フロー毎にパケットを保持するフロー毎キュー 212, 224と、フロー毎キュー 212の中 力 送信するパケットを選択して送信するスケジューラ 213と、パケット送信時にパケ ットに再送 IDをつけ、再送 ID毎に再送キュー 215に保持させて再送に備える再送制 御部 214と、再送 ID毎にパケットを保持する再送キュー 215と、経路ごとの遅延や、 遅延分散などの情報、フロー毎や再送 ID毎のシーケンス番号情報を記録しておく記 憶部 216と、パケット受信時にパケットの再送 IDをチェックして順序どおりにパケットが 到着したかをチェックする再送 ID順序チェック部 221と、フロー毎キュー 224のうち順 序がそろっているパケットについては転送を行うためにフロー毎キュー 224をチェック するフロー順序チェック部 223とからなる。
[0106] 尚、受信ノード 102の構成は、送信ノード 101と同一である。
[0107] 以下に、送信ノード 101から受信ノード 102にパケットを送信する場合の動作例を 説明する。
[0108] 送信ノードは、任意の数のアプリケーションによって、任意の数の TCPや UDPを利 用した通信を発生させる。ここで、第 1の基準とはパケットの順序制御に関する基準で あり、 TCPや UDPの各通信が第 1のフローに相当する。
[0109] アプリケーションからソケット 201がパケットを受信すると、フロー識別部 211にパケ ットが渡され、フロー識別部 211は自ノードのポート番号とパケットの宛先のアドレス' ポート番号からフローを識別する。識別されたパケットは、フロー毎キュー 212にフロ 一毎に格納される。
[0110] 図 2では、 70本のフロー毎のキューを持つ例を示している力 この数に限定される ことなく、多くても少なくてもかまわない。フロー毎キュー 212に格納されたパケットは 、スケジューラ 213と再送制御部 214によってパケットロスの際の再送に必要な処理 を施した後、入出力端子 202を介して受信ノード 102に向けて送信されるとともに、パ ケットロスに対処するための再送キュー 215にも保持される。
[0111] 次に、スケジューラ 213と再送制御部 214との動作を説明する。
[0112] スケジューラ 213は、送信するパケットの送信タイミングを定め、送信タイミングでフ ロー毎キュー 212の中から受信ノード 102にパケットを送信するキューを決定し、該 当するキューからパケットを取り出す。取り出されたパケットは、再送に必要な処理を 施すため、再送制御部 214に渡される。
[0113] 再送制御部 214は、上述したパケット送信に関する基準である第 1の基準とは異な る第 2の基準で再送制御を行う。ここで、第 2の基準とはパケットの再送に関する基準 である。具体的には、再送制御部 214は、記憶部 216を参照して送信パケットに付加 する再送 IDと再送シーケンス番号とを決定し、再送キュー 215の所定のキューにパケ ットを格納する。第二のフローは、この再送 IDを単位としたパケット群に相当する。尚 、ここでは、第二のフローと経路とが一対一に対応している。
[0114] 再送制御部 214は、決定した再送 IDと再送シーケンス番号とをスケジューラ 213に 通知し、スケジューラ 213は通知された再送 ID及び再送シーケンス番号 (再送制御 の為の第 2の識別子、第 2のシーケンス番号)と、記憶部 216から取得したフロー毎に 一意に害 ijり当てられるフロー ID及びフローでユニークなフローシーケンス番号(順序 制御の為の第 1の識別子、第 1のシーケンス番号)とを独自ヘッダとして付カ卩し、入出 力部 202を利用して受信ノード 101に対してパケットを送信する。
[0115] 以上の動作を行うために、記憶部 216は、例えば図 4に示されるような情報を保持 してレ、る。図 4では、送信用の情報として、順序制御のためのフロー ID (第 1の識別子 )及び転送済みパケットの最大フローシーケンス番号 (第 1のシーケンス番号)と、再 送制御のための再送 ID (第 2の識別子)及び到着済みパケット再送シーケンス番号( 第 2のシーケンス番号)とが記憶されている様子を示している。例えば、フロー ID"1" では転送済みパケットの最大フローシーケンス番号が" 25"である。また、再送 ID"1" では到着済みパケット再送シーケンス番号が" 1から 200と、 203"であることを示して レ、る。尚、到着済みパケット再送シーケンス番号において、記載されていない番号" 2 01、 202"は到着が確認されてレヽなレ、パケットのシーケンス番号である。
[0116] 以上がスケジューラ 213と再送制御部 214の動作である。このときの送信パケットの フォーマットは、例えば図 3のようになる。
[0117] 続いて、受信ノード 102について説明する。以下の説明では、受信ノード 102が、 送信ノード 101の入出力部 202から送信されたパケットを入出力部 202を介して受信 した場合について説明する。尚、本発明では、パケット損失が発生したと判断するノ ードはデータ受信側 ·送信側のどちらの場合でも適用可能であるが、ここではデータ 受信側は到達確認を伝える ACKのみを送信側に送信し、送信側が任意の基準でパ ケット損失が発生したと判断する場合を示す。また、本発明では、送信ノード 101、受 信ノード 102は同一の構成となるため、図 2を用いて、受信ノード 102の動作例を説 明する。 [0118] 入出力部 202から受信されたパケットは、再送 ID順序チェック部 221に入力される。
[0119] 再送 ID順序チェック部 221は、データパケットであることを確認すると、パケットから 再送 IDと再送シーケンス番号を取得し、受信したパケットの再送 IDと、受信したバケツ トの再送シーケンス番号とからなる ACK情報をスケジューラ 213に渡す。
[0120] ACK情報を渡されたスケジューラ 213は、送信ノード 101にパケットを受信した事を 通知するため、渡された ACK情報を含む ACKパケットを入出力部 202を経由して送 信する。 ACKパケットを送信するタイミングに、他の送信データパケットが存在する場 合には、独立の ACKパケットを生成せずにデータパケットのヘッダ部分に情報を付加 することちでさる。
[0121] また、再送 ID順序チェック部 221は、受信したパケットの再送 IDの再送シーケンス 番号情報を記憶部 216に通知し、記憶部 216に記憶されている再送シーケンス番号 情報を更新して再送制御処理は完了する。再送制御処理の完了後、再送 ID順序チ エック部 221は、受信したパケットをフロー識別部 222に供給し、順序制御処理が行 われる。
[0122] 順序制御処理では、フロー識別部 222は再送 ID順序チェック部 221から供給され たパケットからフロー IDを取得し、フロー IDに従いフロー毎キュー 224の該当キューに パケットを送る。図 2では、 100本の異なるフローに対するキューを持つ構成例を示し ている。
[0123] また、同時に、新規にパケットを受信したことをフロー IDと共にフロー順序チェック部
223に通知する。フロー順序チェック部 223は、記憶部 216から該当するフロー IDに っレ、て送信済みの最大フローシーケンス番号を取得する。
[0124] 次に、フロー順序チェック部 223は、入力されたフロー IDに該当するキューをチヱッ クする。チヱックの結果、転送済み最大フローシーケンス番号に連続するパケットが 存在するならば、この連続するパケットを取り出し、図 3に示されるフレームフォーマツ ト中のフロー ID、フローシーケンス番号、再送 ID、再送シーケンス番号を取り除き、ソ ケット部 201を経由しアプリケーションに渡す。一方、転送済み最大フローシーケンス 番号に連続するフローシーケンス番号のパケットがなければ、フロー順序チェック部 2 23は動作を終了する。 [0125] 以降の動作は、上述した送信ノードの動作と同様である。
[0126] 続いて、受信ノードから ACK情報を受信した送信ノードについて説明する。
[0127] 送信ノード 101は、受信ノード 102からの ACK情報を含むパケットを入出力部 202 から受信すると、再送 ID順序チヱック部 221において ACK情報を取り出す。次に、 ACK情報から受信ノード 102が受信した再送 IDと再送シーケンス番号を取得し、この 再送 IDと再送シーケンス番号とを、到着確認済みのパケットとして記憶部 216に記憶 するとともに、その再送 IDと再送シーケンス番号とに該当するパケットを再送 ID毎キュ 一 215から削除する。
[0128] また、送信ノード 101は、定期的に、記憶されている到着済みの再送 IDと再送シー ケンス番号をチェックし、欠けている再送シーケンス番号を検出する。そして、欠けて レ、る再送 ID及び再送シーケンス番号に該当するパケットは損失したとみなして、欠け ている再送 ID及び再送シーケンス番号に対応するパケットを再送 IDキュー 215から 取り出し、スケジューラ 213にパケットを渡すと共に再送が必要である事を通知する。 スケジューラ 213は渡されたパケット再送を行う。尚、このとき、再送するパケットには 、先に送ったパケットに付された再送 ID及び再送シーケンス番号と同一の再送 ID及 び再送シーケンス番号を付して再送する。
[0129] 次に、上述した動作の具体例を図面を参照して説明する。
[0130] 図 16は送信ノード 101と受信ノード 102との間の具体的な動作を説明する為の図 である。尚、以下の説明において、具体的な動作例を示す為、図 2に示される構成と 、図 4に示した送信用情報とを例にして説明する。
[0131] まず、送信側ノード 101のスケジューラ 213により、フロー毎キュー 212の 70本のフ ローから一つずつパケットが取り出され、再送制御部 214により、記憶部 216が参照 されて送信パケットに付加する再送 IDと再送シーケンス番号とが付される。例えば、 再送 IDが " 1"、シーケンス番号" 200"であるならば、 " 1-200"というように付される。そ して、この再送 IDと再送シーケンス番号が付されたパケットは、入出力端子 202を介 して受信ノード 102に向けて送信されるとともに、パケットロスに対処するための再送 キュー 215にも保持される。
[0132] 図 16の例では、一つのパケットにおいて前半につけられたものがフロー ID、フロー シーケンス番号であり、後半につけられたものが再送 ID及び再送シーケンス番号で ある。図 16では、パケット(11-54, 1-200)、パケット(12-87,ト 201)、パケット(13- 7, 1-202)、パケット(14-24, 1-203)…というように経路上を送信されている。尚、パケット (m-n, x-y)のうち、 mはフロー ID、 nはフローシーケンス番号、 xは再送 ID、 yは再送シ 一ケンス番号を示している。
[0133] このような状態で、パケット(12-87, 1-201)、パケット(13-7, 1-202)が損失した場合 を考える。
[0134] 受信ノード側では、パケット(11-54, 1-200)、パケット(14- 24, 1-203)…が入出力部
202から受信され、再送 ID順序チェック部 221に入力される。再送 ID順序チェック部 221は、データパケットであることを確認すると、パケットから" 1-200"、 " 1-203"という ように再送 IDと再送シーケンス番号を取得し、この受信したパケットの再送 IDと再送シ 一ケンス番号とからなる ACK情報をスケジューラ 213に渡す。
[0135] ACK情報を渡されたスケジューラ 213は、送信ノード 101にパケットを受信した事を 通知するため、渡された ACK情報を含む ACKパケットを入出力部 202を経由して送 信する。
[0136] また、再送 ID順序チェック部 221は、受信したパケットの再送 IDの再送シーケンス 番号を記憶部 216に通知し、記憶部 216に記憶されている受信済みパケット再送シ 一ケンス番号を更新して再送制御処理は完了する。再送制御処理の完了後、再送
ID順序チェック部 221は、受信したパケットをフロー識別部 222に供給し、順序制御 処理が行われる。
[0137] 順序制御処理では、フロー識別部 222は再送 ID順序チェック部 221から供給され たパケットから、フロー ID"11"、 ·■·、フロー ID" 14"、 ·■·、フロー ID" 1"を取得し、フロー IDに従いフロー毎キュー 224の該当キューにパケットを送る。図 16では、受信したパ ケット(14-24)をフロー 14に、パケット(11-54)をフロー 11に、パケット(1-23)をフロー 1に送信した様子を示してレ、る。
[0138] 一方、送信ノード 101では、受信ノード 102からの ACK情報を含むパケットを入出 力部 202から受信すると、再送 ID順序チェック部 221において、 ACK情報を取り出す [0139] 次に、 ACK情報から受信ノード 102が受信した再送 IDと再送シーケンス番号を取得 し、この再送 IDと再送シーケンス番号とを、到着確認済みのパケットとして記憶部 216 に記憶するとともに、その再送 IDと再送シーケンス番号とに該当するパケットを再送 ID毎キュー 215から削除する。
[0140] 例えば、 " 1-200"、 "1-203"という ACK情報を取得した場合、送信用情報の再送 ID " 1"における到着済みパケット再送シーケンス番号に" 200"ど' 203"とをカ卩えるとともに 、再送 ID毎キュー 215から再送シーケンス番号が" 200"、 "203"のパケットを削除する
[0141] また、再送制御部 214は、一定の周期毎に到着済みの再送 IDと再送シーケンス番 号をチヱックし、欠けている再送シーケンス番号を検出する。図 16の例では、再送シ 一ケンス番号 "201"、 "202"が欠落している。そこで、欠けている再送シーケンス番号 "201"、 "202"に該当するパケットは損失したとみなして、再送シーケンス番号" 201"、 "202"に対応するパケットを再送 IDキュー 215から取り出し、スケジューラ 213にパケ ットを渡すと共に再送が必要である事を通知する。スケジューラ 213は渡されたバケツ ト再送を行う。尚、このとき、再送するパケットには、先に送ったパケットに付された再 送 ID及び再送シーケンス番号、すなわち、 "1-201"、 "1-202"を付して再送する。
[0142] 以上の動作により、パケット損失を早期に発見できるため、受信ノード 102と送信ノ ード 101との間でデータ送受信をより短い時間で行う事が可能となる。
[0143] 次に、受信側ノード 102でパケット損失を検出する場合の例について述べる。
[0144] 図 17は受信側ノード 102でパケット損失を検出する場合を説明する為の図である。
尚、受信側ノード 102でパケット損失を検出する為に用いられる情報として、図 4で示 した受信用情報を用いる。また、送信側ノードから受信ノードまで到達するまでの動 作を上述の動作と同様であるので、具体的な説明は省略する。
[0145] 図 17において、経路上で、パケット(11-54,ト 100)、パケット(12- 87, 1-101)、パケ ット(13-7, 1-102)、パケット(14- 24, 1-103)…というように経路上を送信されている。 ここで、パケット(12-87, 1-101)が損失した場合を考える。
[0146] 受信ノード側では、パケット(11-54, 1-100)、パケット(13- 7,ト 102)、パケット (
14-24,ト 103)…が入出力部 202から受信され、再送 ID順序チェック部 221に入力さ れる。再送 ID順序チェック部 221は、データパケットであることを確認すると、パケット から" 1-100"、 "1-102"というように再送 IDと再送シーケンス番号を取得し、この再送 IDと再送シーケンス番号と、記憶部 216の受信用情報に記憶されている再送 ID及び 受信済みパケット再送シーケンス番号とを比較する事により,受信が期待されるパケ ットを受信したかどうかを判断する。
[0147] 判断の結果、期待されるパケットであった場合には、受信したパケットの再送 IDと、 受信したパケットの再送シーケンス番号とからなる ACK情報をスケジューラ 213に渡 す。一方、期待されるパケットでなかった場合には、受信したパケットの再送 IDと、受 信したパケットの再送 IDで最初から連続して受信したパケットのうち最大の再送シー ケンス番号とからなる ACK情報をスケジューラ 213に渡す。
[0148] ここでは、受信したパケット(11-54, 1-100)は期待されるパケットであるので、受信し たパケットの再送 IDと、受信したパケットの再送シーケンス番号とからなる ACK情報、 すなわち" 1-100"をスケジューラ 213に渡す。そして、受信したパケットの再送 ID、再 送シーケンス番号情報である" 1-100"を記憶部 216に通知し、記憶部 216に記憶さ れている再送シーケンス番号情報を更新して再送制御処理は完了する。
[0149] 続いて、受信したパケット(13-7, 1-102)は、本来ならば再送シーケンス番号が 101 のパケット(12-87, 1-101)である。そこで、受信したパケットの再送 IDで最初から連続 して受信したパケットのうち最大の再送シーケンス番号、すなわち、 "1-100"をスケジ ユーラ 213に渡す。そして、受信したパケットの再送 ID、再送シーケンス番号情報で ある" 1-102"を記憶部 216に通知し、記憶部 216に記憶されている再送シーケンス番 号情報を更新して再送制御処理は完了する。
[0150] 次に、受信したパケット (1-23, 1-103)は期待されるパケットであるので、受信したパ ケットの再送 IDと、受信したパケットの再送シーケンス番号とからなる ACK情報、すな わち" 1-103"をスケジューラ 213に渡す。そして、受信したパケットの再送 ID、再送シ 一ケンス番号情報である" 1-103"を記憶部 216に通知し、記憶部 216に記憶されて レ、る再送シーケンス番号情報を更新して再送制御処理は完了する。
[0151] ACK情報を渡されたスケジューラ 213は、送信ノード 101にパケットを受信した事を 通知するため、渡された ACK情報を含む ACKパケットを入出力部 202を経由して送 信する。
[0152] 再送制御処理の完了後の順序制御処理については、上述と同じ動作であるので、 説明を省略する。
[0153] 続いて、受信ノードから ACK情報を受信した送信ノードについて説明する。
[0154] 送信ノード 101は、受信ノード 102からの ACK情報を含むパケットを入出力部 202 から受信すると、再送 ID順序チヱック部 221において ACK情報を取り出す。次に、 ACK情報から受信ノード 102が受信した再送 IDと再送シーケンス番号を取得し、この 再送 IDと再送シーケンス番号とを、到着確認済みのパケットとして記憶部 216に記憶 するとともに、その再送 IDと再送シーケンス番号とに該当するパケットを再送 ID毎キュ 一 215から削除する。
[0155] ここでは、 ACK情報の情報として、まず、 "1-100"、 " 1-100"、 " 1-103"を受信する。
まず、 "ト 100"については、到着確認済みのパケットとして記憶部 216に記憶するとと もに、その再送 IDと再送シーケンス番号とに該当するパケットを再送 ID毎キュー 215 力 削除する。続いて、同じ内容の" 1-100"を受信した場合には、その再送シーケン ス番号の次の番号である" 1-101"に対応するパケットが損失したとみなして再送を行 う。すなわち、 2回連続して同じ番号の再送シーケンス番号がきた場合には、その再 送シーケンス番号の次の番号に対応するパケットが損失したとみなして再送を行うの である。尚、再送するパケットには、先に送ったパケットに付された再送 ID及び再送シ 一ケンス番号と同一の再送 ID及び再送シーケンス番号を付して再送する。
[0156] 以上で、送信側でのパケット損失の検出と受信側でのパケット損失の検出との例を 説明したが、本発明はこの例に限られなレ、。例えば、他の例としては、受信ノードが、 連続した再送シーケンス番号でパケットを受信しなかった場合、その抜けている再送 シーケンス番号だけを再送要求情報として送信ノードに送信し、この抜けている再送 シーケンス番号に対応するパケットを送信ノードが送信する方法も考えられる。
実施例 2
[0157] 本発明の実施例 2を説明する。
[0158] 実施例 2は、送信ノードと受信ノードとを結ぶ経路が複数ある場合について説明す る。 [0159] 図 5は送信ノードと受信ノードとを結ぶ経路が複数ある場合の構成図である。
[0160] 図 5を参照すると、送信ノード 301と、受信ノード 302と、ノード間を結ぶ M本の経路
312—1— 312—M力らなる。経路 312—1— 312—Mは、インターネットなどのパケット 通信網である。 M本の経路が複数存在する場合とは、送信ノード 301と受信ノード 30 2との両ノード、あるいはどちらか一方のノードが複数の通信インタフェースを保持す る場合である。例えば、送信ノード 301と受信ノード 302とのうちどちらかが M本の通 信インタフェースを持つ場合、あるいは送信ノード 301と受信ノード 302とがそれぞれ S個、 t個の通信インタフェースを持ち、 M = s X tとなる場合である。
[0161] 但し、通信は送信ノード 301から受信ノード 302に対するものとする力 受信ノード 3 02から送信ノード 301に対しては、送達確認 (ACK)メッセージが送信される。このよう に、本実施例では、送信ノード 301から受信ノード 302への通信を説明するが、一般 に、双方向の通信を行うためには、送信ノード 301と受信ノード 302は同一機能をも つ必要がある。
[0162] 次に、送信ノード 301の構成を説明する。
[0163] 図 6を参照すると、アプリケーションに対する APIであるソケット 401と、入出力部 402 一 1一 402— Mと、使用するポート番号と宛先のアドレス 'ポート番号とからフローを識 別しそれぞれのキューに振り分けるフロー識別部 411と、フロー IDからフローを識別 子それぞれのキューに振り分けるフロー識別部 422と、識別されたフロー毎にバケツ トを保持するフロー毎キュー 412, 424と、フロー毎キューの中から送信するパケット を選択して送信するスケジューラ 413と、パケット送信時に再送 IDをつけ再送キュー に再送 ID毎に保持し再送に備える再送制御部 414と、再送 ID毎にパケットを保持す る再送キュー 415と、経路ごとの遅延や遅延分散などの情報、フロー毎や再送 ID毎 のシーケンス番号情報を記録しておく記憶部 416と、パケット受信時にパケットの再 送 IDをチェックして順序どおりにパケットが到着した力、をチェックする再送 ID順序チヱ ック部 421と、フロー毎キューのうち順序がそろっているパケットについては転送を行 うためにフロー毎キューをチェックするフロー順序チェック部 423とからなる。
[0164] 尚、入出力部 402—1— 402—Mは、経路 312—1 312—Mに対応した論理的なも のであり、送信ノード 301の持つ物理的な通信インタフェースの数は M本とは限らな レ、。また、受信ノード 302は、送信ノード 301と同一である。
[0165] 次に、上述の構成における実施例 2の動作を説明する。
[0166] 実施例 2の動作は、実施例 1の動作とほぼ同じであるが、経路が複数あることからス ケジユーラと再送制御部の処理が異なる。以下にその異なる部分の動作を説明する
[0167] スケジューラ 413は、送信するパケットの送信タイミングを定め、送信タイミングでフ ロー毎キュー 412の中から受信ノード 302にパケットを送信するキューを決定し、該 当するキューからパケットを取り出す。また、スケジューラ 413は、経路選択に関する 第 3の基準に基づき経路 312— 1一 312— Mのいずれの経路を利用するかを決定す る。
[0168] スケジューラ 413は、再送に必要な処理を施すために、利用する経路の情報と共に 取り出したパケットを再送制御部 414に渡す。再送制御部 414は、記憶部 416を参 照して送信パケットに付加する再送 IDと再送シーケンス番号を決定し、再送キュー 4 15の所定のキューにパケットを格納する。送信パケットに対して再送 IDを決定する記 憶部 416の情報は、たとえば図 7の経路と再送 IDのテーブル部分に示すものである。 再送 IDの数は入出力部の数である M個に等しぐ入出力部と 1対 1で対応している。 第二のフローはこの再送 IDを単位としたパケット群を指す。再送制御部 414は決定し た再送 IDと再送シーケンス番号をスケジューラ 413に通知し、スケジューラ 413は通 知された再送 IDと再送シーケンス番号、記憶部 416から取得したフロー毎に一意に 害 ijり当てられるフロー IDとフローでユニークなフローシーケンス番号とを独自ヘッダと して付加し、先ほどの選択に従い入出力部 402— 1一 402— Mのいずれかを利用し受 信ノード 302に対してパケットを送信する。このときの送信パケットのフォーマットは、 例えば図 3のようになる。
[0169] パケット受信時の受信ノード 302の動作は、 ACK送信の際の動作のみが異なる。以 下にその動作を説明する。
[0170] スケジューラ 413は、再送 IDと再送シーケンス番号を含む ACK情報を送信ノード 30 1に送信する。 ACKパケットを送信するタイミングに、送信データパケットが存在する 場合には、独立の ACKパケットを生成せずにデータパケットのヘッダ部分に情報を付 カロすることもできる。通信経路を選択する第三の基準に従い、適当なタイミングで入 出力部 402—1— 402—Mのいずれかを利用して、送信ノード 301に対してパケットを 送信する。第 3の基準としては、例えば、各経路の負荷状況に基づき、負荷の最も少 ない経路を選択するものがある。
[0171] ACKを受信した際の送信ノード 301の動作もスケジューラ 413の動作が異なる。以 下に説明する。
[0172] スケジューラ 413は渡されたパケットを任意のタイミングで入出力部 402—1 402— Mのいずれ力、から再送を行う。このとき、スケジューラ 413は、第 3の基準に基づき以 前に同一パケットを送信した経路とは独立に送信経路を選択可能である。
[0173] 以上の動作により、パケット損失を早期に発見できるため、受信ノード 301と送信ノ ード 302との間でデータ送受信をより短い時間で行う事が可能となる。
[0174] 尚、図 5、図 6の構成では一つのフローに属する複数のパケットは、送信ノードのス ケジユーラ 413により一般に異なる経路に振り分けられる。各経路の遅延やレートが 独立に揺らぐ場合、スケジューラによる経路間遅延差の相殺には限界があり、特に安 定性が低い無線リンクを含む場合に完全に経路間のジッターを相殺することは難し レ、。
[0175] 従って、フローに注目したとき、受信ノードにおけるパケットの到着順序は送信ノー ドにおける送信順序を反映することが保証されない。例えばあるフローに属するパケ ット Aを経路 312-1より送信し、その後に同じフローに属し、パケット Aより大きいシー ケンス番号を有するパケット Bを経路 312-2より送信したとする。またこのとき経路 Aの 遅延がスケジューラの予想より大きぐ受信ノードにおいては Aより先に Bが受信され たとする。
[0176] このとき、受信ノードがもし、順序制御のフローごとのシーケンス番号に基づく損失 の検出を行っていると、パケット Bの受信時に、よりシーケンス番号の若いパケット Aが 受信されていないため受信ノードはパケット Aの損失を検出する。ところが実際にはパ ケット Aは、遅延の大きい経路 312— 1を通って Bの受信後に受信されるので損失では なぐパケット Aの損出検出は誤検出となる。
[0177] 再送制御を順序制御のフローごとに行わず、経路ごとに行う本実施例においては、 各経路の順序逆転が生じない限りは、再送に用いるシーケンス番号の受信ノードに おける不連続は必ずパケット損失を反映するため、上記に説明したような誤検出は回 避される。また経路間のジッターによるフロー内の順序逆転に比べ各経路の順序逆 転が生じる確率が低ければ、本発明による誤検出の低下が期待できる。
実施例 3
[0178] 本発明の実施例 3を説明する。
[0179] 実施例 3は、ノードの配置、ノードの機能構成は、すべ実施例 2と同じであるが、送 信ノードにおいて送信パケットに対して再送 IDを決定する処理のみが異なるので以 下に説明する。
[0180] 実施例 3では、経路と再送 IDとが 1対 1に対応せず、自由に変更できる。通常、複数 の経路を一つの再送 IDにまとめた場合、その再送 IDに属するそれぞれの経路の遅 延ゃ遅延分散によっては、受信ノードがパケットを受信する際のパケットの到着順序 が著しく乱れる可能性がある。そのため、一つの再送 IDに属するパケットの到着順序 が正しくない確率が一定以下となるように、一つの再送 IDに属する複数の経路を決 定するアルゴリズムを説明する。
[0181] 送信ノード 301と受信ノード 302との各経路 312—1— 312—Mにつレ、て、片方向、 または往復の遅延時間と遅延分散とを常に測定しており、任意のタイミングで経路と 再送 IDのマッピングを行う。タイミングは、例えば、一定時間間隔ごとや、経路情報が 更新されたタイミングなどである。マッピングの方法は、例えば、図 8のようなアルゴリ ズムによって経路 312-1— 312—Mに再送 IDをマッピングする。
[0182] 図 8を参照すると、現在時刻における経路 312—1— 312—Mを遅延時間の大きい 順に並べ替え、また一次的な変数 i=lにセットする(ステップ A001)。次に、 i==Mであ るかどうかをチェックする(ステップ A002)。最初は i==Mでないので(ステップ A003) に進み、一時的な変数 j=lにセットする。次に経路 (i+j)の遅延と遅延分散、経路 iの遅 延分散を取得する (ステップ A004)。
[0183] 送信側が到着時間を見計らって受信側で順序どおりにパケットを受信できるように 送信した場合に、最初に到着すべき経路 iのパケットが到着するまでに、経路 (i+j)の 任意の数のパケットが先に到着してしまう確率をある一定に抑えられるかどうかのチェ ックを行う(ステップ A005)。図 8の例は、経路 (i+j)の 3個のパケットが経路 iのパケット より先に到着してしまう確率が 1.5%以下であることを条件としたものである。条件を満 たしているならば、 jをインクリメントし、 i+j==Mである力どう力チェックし、全ての経路に ついて処理を完了したかチェックする(ステップ A006)。全ての経路についての処理 力 Sまだ完了していなければ (ステップ A004)に戻り、次に遅延の大きな経路について も同様のチェックを行う。
[0184] ステップ A006において、 i+j==Mの場合には(ステップ A007)に進む。 (ステップ AO 04)と(ステップ A005)を繰り返すうちに、 (ステップ A005)の条件を満たせない経路 が出現すると(ステップ A007)に進む。 (ステップ A007)では、経路 iから経路 (i+j-1)を 同一の再送 IDに設定し、 (ステップ A002)に戻る。
[0185] 以上の処理を繰り返し、全ての経路についての再送 IDを設定し終えると、つまりス テツプ A002において i==Mとなると終了し、次回のマッピング処理が起動されるまでス リーブする。
[0186] 以上の処理によって、例えば図 9のテーブルに示される経路と再送 IDとをマツピン グするテーブル部分が完成する。これに従い、スケジューラは再送 IDを決定すること になる。
[0187] また、他にフローと再送 IDを固定的にマッピングする方法や、遅延や遅延分散など の情報に無関係に経路ごとに一つ再送 IDをマッピングする方法なども考えられる。 実施例 4
[0188] 上述した実施例 1、実施例 2及び実施例 3では、 End-to_Endの送受信ノード間の通 信を仮定していた力 多数の End_to-End通信が必ず経由する二ノード間についても 、本発明を適用することができる。
[0189] 図 10を参照すると、任意の数の送信ノード 501—1 501—Lと、送信側転送ノード 502と、受信佃 J転送ノード 503と、任意の数の受信ノード 504—1— 504—N力、らなり、 次のようにリンクされている。各送信ノードは送信側転送ノードと、それぞれ経路 511 -1一 511 - Lで結ばれている。送信側転送ノードと受信側転送ノードとは 1以上の任 意の数の経路 512-1— 512 - Mの複数経路で結ばれている。各受信ノードは受信 側転送ノードと、それぞれ経路 513-1-513— Nで結ばれてレ、る。 [0190] 例えば、送信側転送ノードと受信側転送ノード間の経路数 Mが 1の場合は、実施例 1の形態と同様である。
[0191] また、送信側転送ノードと受信側転送ノード間の経路数 Mが 2以上の場合は、実施 例 2実施例 3と同様である。
[0192] 但し、上述の場合、それぞれ実施例 1、実施例 2、実施例 3における送信ノードは送 信側転送ノード、同様に受信ノードは受信側転送ノードとなる。また、送信側転送ノー ド内構成におけるソケットは、送信ノードから受信するパケットの入力部、受信側転送 ノード内構成におけるソケットは受信ノードに送信するパケットの出力部となる。
[0193] また、この場合、第 1のフローは送信ノード 501—1— 501—Lと、受信ノード受信ノー ド 504—1— 504—Nとの間の通信を送信元.宛先のアドレス.ポート番号で一意に決 まるパケット群を指す。
[0194] 以上の動作により、パケット損失を早期に発見できるため、送信ノード 501— 1一 50 1一 Lと受信ノード 504-1— 504— Nとの間でデータ送受信を、より短い時間で行う事 が可能となる。
実施例 5
[0195] 本発明の実施例 5を説明する。
[0196] 実施例 5は、実施例 2、実施例 3、実施例 4に示すスケジューラ 213, 413が、以下 のような第 3の基準に従う経路選択動作を行う場合である。この動作により、送信ノー ドと受信ノードとの間に複数の経路がある場合、受信ノードでは送信ノードが期待し た順番通りにパケットを受信する確率が高くなるため、順序間違いに起因する再送頻 度を減らすことができる。また、特に実施例 3や、その応用である実施例 4のように複 数の経路でノード間が結ばれている構成に適用した場合には、より多くの通信経路 を一つの再送単位として上記の再送制御を適用可能となるため通信性能向上が期 待できる。
[0197] ここで、第 3の基準とは、予測されたデータの到着時刻又は受信完了時刻に基づい て、最も適切な経路、例えば到着時刻が最も早いと予測される経路を選択するもの である。
[0198] 例えば、データ(パケット)送信時において、送信データ(パケット)の送信履歴を記 憶する。この送信履歴には、送信データ (パケット)を識別する識別子や、送信開始 時刻等を記述する。一方、受信側では、データ (パケット)が通る経路の状態情報 (例 えば、速度やパケット遅延)を送信側に送信する。この経路状態情報には、上述した データ (パケット)の識別子のような、経路状態情報が適用される最新のデータ (パケ ット)を識別する情報を含める。送信側では、経路の状態情報を受信し、この経路状 態に含まれているデータ(パケット)を識別する情報 (例えば、識別子)により、この経 路状態が有効となる送信済みのデータ(パケット)を、送信履歴から求める。そして、 求めたデータ(パケット)以降のデータについて、受信した経路の状態を適用して受 信完了時刻等を予測し、更に、この予測と受信した経路の状態情報とに基づいて、 各経路におけるこれから送信しょうとするデータの到着時刻又は受信完了時刻を予 測する。
[0199] 経路選択においては、予測されたデータの到着時刻又は受信完了時刻に基づい て、最も適切な経路、例えば到着時刻が最も早いと予測される経路を選択する。
[0200] ここで経路状態情報とは、通信性能の指標となる情報一般を指す。本実施の形態 では、そのうち経路の速度とパケット遅延を用いる。また、経路状態情報の有効時と は、送信ノード側における経路状態情報の更新時を意味するものでなぐ経路状態 情報で示される経路状態となった時間、その経路状態において伝送されたパケットで 特定される時刻等である。従って、経路状態情報の有効時以降の送信履歴とは、経 路状態情報の有効時以降に送信されたパケットの送信履歴等をいう。尚、この時刻 は、その測定の元になつたパケット情報 (パケットを識別する識別子)や、受信ノード 側から送信される受信時等から得られる力 多少のずれはかまわない。また、経路状 態情報を得る為、受信ノードが速度や遅延を測定する方法は各種提案されているが 、想定している方法を以下に述べる。
[0201] 送信ノードは、受信ノードへのパケットの各々に識別子と送信時刻を揷入して転送 するものとする。受信ノードはパケット遅延を、送信ノードが挿入した送信時刻と自身 が受信した時刻を比較することで測定する。また、送信ノードは定期的に測定用のパ ケット列を送信し、受信ノードはその到着時間のばらつきから速度を推定できる。推 定の方法の詳細は例えば文献「Dovrolis, Ramanathan, and Moore, "What DoPacket Dispersion Techniques Measuere?," IEEE INFOCOM 2001」で紹介されている。前 記 Dovrolisらの文献においては、送信側ノードが 2つのパケットを同時に送信し、送信 側でこの 2つのパケットの到着時刻差からリンク速度を推定する。パケットの到着間隔 を広げるのは伝送遅延であり、伝送遅延はリンク速度と関係があることから、到着間 隔より速度を推定可能である。
[0202] 受信ノードは、定期的にこれらの測定値または推定値を経路状態情報として送信ノ ードに送信する。また、そのときまでに受信した最新のパケットの識別子を、送信する 状態情報が有効となるパケットの識別情報として同時に送信する。これらの情報が、 レポートとして送信ノードで受信される。尚、以上の方式は一例であり、本発明の実施 可能性は経路状態情報及びこれが有効となるパケットの決定及び伝達の方法には 依存しない。
[0203] 以下に、具体的な動作を説明する。
[0204] スケジューラ 213もしくは 413は、次に転送すべきパケットにっき、送信経路毎に現 在までに受信している経路情報等のレポートおよびその情報が有効となるパケットの 送信以降の送信履歴を参照し、受信側ノードでの到着遅延を予測する、送信履歴は 記憶部 216もしくは 416に記憶されている。スケジューラ 213もしくは 413は、予測し た到着遅延が最小となる経路を次に転送すべきパケットの送信経路として選択し、選 択した経路へのパケット転送後、その転送時刻を記憶部 216もしくは 416上の送信 履歴に加える。
[0205] スケジューラ 213もしくは 413で動作する経路ごとの到着遅延推定方法の一例とし てスケジューラ動作例を図 11に示す。
[0206] 図 11中 600-1, 600-2, 600-3はデータパケットであり、その送信側ノードでの送信履 歴および予測と受信側ノードでの受信履歴および予測がそれぞれ時間軸上で示さ れている。例えばデータパケット 600-1は送信側ノードで時刻 T1に送信が開始され、 時刻 T2に送信が完了している。また同じパケット 600-1は受信側ノードで時刻 T3より 受信が開始され、時刻 T4に受信が完了している。ここで T1と T3との差 IIが伝送遅延 である。また、 T4と T2との差 12が、伝送遅延 IIに送信インタフェースと転送経路の速 度差とにより生じるパケットの分散を加えた総遅延となる。 [0207] ここで、時間軸上 TPの現在時刻において、パケット 600-3を送信しょうとしているもの とする。そして、この経路につき、 T5と TPの間でレポート結果通知の受信により、送信 側ノードが有している経路状態情報が更新され、この経路状態情報が有効となるパ ケットは 600-1からとする。そこで、経路状態情報が有効となるパケット 600-1、 600-2 の送信履歴に基づいて、パケット 600-1、パケット 600-2を考慮したパケット 600-3の受 信完了時刻の推定を行う。
[0208] すると、パケット 600-はり後に送信されたパケット 600-2の受信側ノードでの受信開 始時刻及び完了時刻は現在受信している経路状態情報に含まれる速度及び伝送遅 延から推定される。推定された受信開始時刻は図 11中 T5、受信完了時刻は Τ7であ る。ここで、この推定を行わず、経路状態情報が示す伝送遅延が IIと等しいとすると、 TPに送信開始したパケット 600-3は時刻 Τ6に受信開始されるはずである。しかし、 T6 では、レ、まだ受信側ノードでは、パケット 600-2の受信が完了していないと推定される ので、パケット 600-3の推定受信開始時刻はパケット 600-2の受信が完了すると推定 される T7以降となり、パケット 600-3の推定受信完了時刻は現在受信している経路状 態情報に含まれる経路速度から推定されるパケット分散を加えた T8となる。同様にパ ケット 600-3の受信完了時刻の推定を各経路につき行い、それが最も早い時刻となる 経路にパケット 600-3は送出される。
[0209] なお、図 11における TPの時点での受信側の到着時刻推定に用いている経路状態 情報は、 T5と TPの間でレポート結果通知の受信により更新されたものである。すると 、パケット 600-2を送信した際の到着時刻推定は TPにおけるより古い経路状態情報 に基づいて行われたことになる。この古い状態情報を情報 A、 T5と TPとの間で更新さ れた新しい情報を情報 Bとすると、リンク状態の変動により情報 Aと情報 Bに含まれる 遅延や経路速度が異なれば、 Aに基づく到着時刻予測は、図 1 1に示される情報 Bに 基づく到着時刻予測と異なっていたはずである。したがって、より正確な予測を行うた めに、図 11に示したパケット 600-1および 600-2の到着時刻予測は情報 Bを得た結果 の修正を反映している。ひとたび経路状態情報の更新が行われると、その更新が有 効となるパケット以前の送信履歴は参照不要となるのでこれを破棄する。
[0210] 更に、本発明を適用した場合のパケット到着時刻推定及び受信完了時刻と、従来 のパケット到着時刻推定及び受信完了時刻との差を、図 18を用いて具体的に説明 する。
[0211] 図 18中 500-1, 500-2, 500-3は送出されるデータパケットであり、その送信側ノード でのパケットの送信履歴(実線)と受信側ノードでの実際のパケットの受信履歴(実線 )がそれぞれ時間軸上で示されている。また、パケットの到着及び受信完了時刻の予 測(点線)もそれぞれ時間軸上で示されている。また、図 18の上部に記した曲線は、 伝送経路の速度変化を示すものである。図 18では、時間が経過するとともに伝送速 度が遅くなつてレ、る旨を示してレ、る。
[0212] まず、実際のパケットの送受信であるが、送信側ノード側から時刻 T1にデータパケ ット 500-1の送信が開始され、時刻 T2に送信が完了している。そして、受信側ノードで 、パケット 500-1は、時刻 T3より受信が開始され、時刻 T5に受信が完了している。
[0213] その後、送信側ノード側から時刻 T4にデータパケット 500-2の送信が開始され、時 刻 T8に送信が完了している。そして、受信側ノード側では、通信速度の低下により、 データパケット 500-2は、時刻 T7より受信が開始され、時刻 T13に受信が完了している
[0214] 更に、送信側ノード側から時刻 T9にデータパケット 500-3の送信が開始され、時刻 T10に送信が完了している。そして、受信側ノード側では、データパケット 500-3が、時 亥 IJT14より受信が開始され、時刻 T16に受信が完了している。
[0215] 次に、上述のような実際のパケットの送受信において、本発明を適用した場合のパ ケットの到着時刻及び受信完了時刻の予測について説明する。
[0216] 上述の如ぐデータパケット 500-1は、時刻 T1に、データパケット 500-1の送信時刻 及びパケット識別子の情報と共に送信側ノードで送信が開始され、時刻 T2に送信が 完了している。このとき、送信側ノードでは、送信履歴としてデータパケット 500-1の送 信時刻及びパケット識別子を記憶している。
[0217] 続いて、送信側ノードより、データパケット 500-2が、データパケット 500-2の送信時 刻及びパケット識別子の情報と共に時刻 T4に送信が開始され、時刻 T8に送信が完 了している。このとき、送信側ノードでは、上述と同様に、送信履歴としてデータパケ ット 500-2の送信時刻及びパケット識別子を記憶している。 [0218] 受信ノード側では、データパケット 500-1が、時刻 T3より受信が開始され、時刻 T5に 受信が完了している。このとき、受信ノード側は、データパケット 500-1の識別子、受 信完了時刻及び通信速度等の情報をレポートとして、送信ノードに送信する。
[0219] 送信ノード側では、時亥 1JTXに受信ノードからレポートを受信したとする。そして、レ ポートに含まれるデータパケット 500-1の識別子により、レポートの経路状態情報の有 効時は、データパケット 500-1の送信時刻 T1と判断する。
[0220] そこで、送信ノードは、時刻 T1以降の送信履歴に基づいて、データパケット 500-3の 到着時刻及び受信完了時刻の予測を行う。時刻 T1以降の送信履歴によると、対象と なるデータパケットはデータパケット 500-1、データパケット 500-2である。データバケツ ト 500-1の受信完了時刻は、レポートにより、時刻 T5とわかる。データパケット 500-2の 到着時刻及び受信完了時刻の予測には、レポートのデータパケット 500-1の通信速 度や、受信完了時刻が用レ、られ、これらの情報により、伝送遅延やパケットの総遅延 の時間がわかる。尚、伝送遅延は T1と T3との差 IIである。また、パケットの総遅延は、 伝送遅延 IIに送信インターフェースと転送経路の速度差とにより生じるパケットの分 散を加えた時間であり、 T5と T2との差 12である。データパケット 500-2の到着時刻は、 伝送遅延 IIにより求められ、データパケット 500-2の送信時刻 T4に伝送遅延 IIを加え た時刻 T6と予測される。また、データパケット 500-2の受信完了時刻は、レポートの通 信速度によりパケット遅延を求めることができるので、データパケット 500-2の受信完 了時刻は時刻 T12と予測することができる。従って、この経路において、データバケツ ト 500-3の受信ノードの到着時刻は、時刻 T12以降と予測することができる。また、この 時刻 T12から受信が開始された場合の受信完了時刻は、上述したパケット分散の予 測により、時刻 T15と予測することができる。このような予測の結果によれば、予測した データパケット 500-3の到着時刻 T12と、実際のデータパケット 500-3の到着時刻 T14 との差は、時間 ID1である。
[0221] 一方、従来技術によるパケットの到着時刻及び受信完了時刻の予測では、受信ノ ードより得られたレポートの到着時刻において、レポートで示される経路状態を有効と しており、データパケット 500-3の予測にあたっても、レポートで示される経路状態をそ のまま適用している。すなわち、データパケット 500-3の到着時刻の予測にあたって、 データパケット 500-3の送信時刻 T9に伝送遅延 IIをカ卩えた時刻 Ti lと予測している。 このような予測の結果によれば、予測したデータパケット 500-3の到着時刻 T11と、実 際のデータパケット 500-3の到着時刻 T14との差は、時間 ID2である。
[0222] 従って、実際の到着時間との誤差時間 ID1と誤差時間 ID2とでは、本発明による予 測による誤差時間 ID1の方が、誤差時間 ID2よりも誤差が少ないことは、図面からも明 らかである。
[0223] 次に、以上説明したような到着時刻推定を含む、スケジューラの経路選択の手順を 図 12に示す。
[0224] まず、キューイング部 312により、パケットが受信される(Step 100)。
[0225] 次に、いずれかの経路で、その経路から最後のパケットを送信した後に経路状態情 報が更新された力 ^判断する(Step 101)。経路状態情報が更新された場合には、 更新された全ての経路で、経路状態情報が有効となる以前の送信履歴を削除する( Step 102)。
[0226] 続いて、各経路において、経路状態情報と送信履歴とに基づいて、パケットの到着 時刻を予測 (推定)する(Step 103)。そして、予測 (推定)到着時刻が最も早い経 路にパケットを送信する(Step 104)。
[0227] 最後に、パケット送信に用いた経路の送信履歴を更新する(Step 105)。
[0228] 以上の如ぐ経路状態情報更新の際にはそれ以前に送信済みのパケットの到着時 刻予測が修正され、それ以降のパケット送信の際の判断に反映されるので、結果的 に過去の送信実績の補償が可能になる。この補償の効果は各経路の往復遅延が大 きぐ経路の状態変動の周期に対して無視できない場合に顕著になる。以下にその 理由を述べる。
[0229] 経路の状態変動が往復遅延程度の時間で起こる場合、ある状態情報を送信側ノー ドが取得したころには既に当該経路の状態は変わっている力もしれないのでその情 報は信頼するに足らなレ、。したがってパケットを送信する時点で経路選択およびタイ ミング設定を最適に行うことは不可能であり、一般には非最適な経路およびタイミング でパケットが送信されることになる。状態情報更新の際に到着時刻予測を修正するこ とは、既に行われた非最適な送信のインパクトを、状態情報更新間隔分の時間が経 つてから推定することに等しい。例えば、以前に高すぎるレートで送信していた場合、 状態情報の更新により送信済みパケットの到着予測時刻は延長されてその経路の送 信コストは引き上げられる。
[0230] 以上のような、状態情報更新による過去の送信パケットの到着時刻予測の修正は 経路選択の最適化の効果があるが、経路選択のみならず送信タイミング制御に到着 時刻予測の修正をフィードバックすると各経路の輻輳制御も長期的に最適化される。
[0231] 次に、実施するための他の形態について説明する。
[0232] 以下の形態では簡単なタイミング制御を実装した場合の動作を説明する。
[0233] 次に示す他の形態では、上述した形態と同様に送出パケットの受信完了時刻を経 路ごとに推定し、最も評価値の高い経路を選択するが、新たに経路ごとに許容推定 遅延を定義し、推定遅延がその値を超えないよう送信側ノードが送信タイミングを制 御する簡単なタイミング制御を導入することもできる。図 13を用いて本形態の動作を 説明する。
[0234] 図 13中、許容推定遅延を TMとしている。この意味は、 TPの時点でパケットを送出 するにはそのパケットは TM+TPまでに受信完了すると推定されなければならないとい うことである。ところが上述した形態と同様な手段でパケット 400-3の受信完了時刻を 推定すると T8となり、これは TM+TPよりも未来である。したがって推定受信完了時刻 力 STM+TPとなるまでの間、送信側ノード 100はこの経路からパケット 400-3を送出でき なレ、。この場合送信側ノード 100はいずれかの経路の推定受信完了時刻が TM+TP以 下となるまでパケット 400-3を保留し、最も早く保留が解ける経路よりこのパケットを送 信する。以上の形態でのスケジューリングの動作を図 14に示す。
[0235] まず、キューイング部 312により、パケットが受信される(Step 200)。
[0236] 次に、いずれかの経路で、その経路から最後のパケットを送信した後に経路状態情 報が更新された力 ^判断する(Step 201)。経路状態情報が更新された場合には、 更新された全ての経路で、経路状態情報が有効となる以前の送信履歴を削除する( Step 202)。
[0237] 続いて、各経路において、経路状態情報と送信履歴とに基づいて、パケットの到着 時刻を予測 (推定)する(Step 203)。そして、予測 (推定)された到着時刻を用いて 、全ての経路について、(予測 (推定)到着時刻) > (現在時刻 +許容推定遅延)であ るかを判断し (Step 204)、いずれかの経路で(予測(推定)到着時刻)≤ (現在時 亥 IJ +許容推定遅延)である場合には、それらの経路のうち予測 (推定)到着時刻が最 も早レ、経路にパケットを送信する(Step 205)。
[0238] 一方、全ての経路で、(予測 (推定)到着時刻) > (現在時刻 +許容推定遅延)であ る場合には、いずれかの経路で現在時刻が(予測到着時刻一許容推定遅延)となる まで待機し、いずれかの経路で条件を満たした場合には Step 205に進む(Step 206)。
[0239] 最後に、パケット送信に用いた経路の送信履歴を更新する(Step 207)。
[0240] 尚、許容遅延 TMの値は経路ごとに独立に設定してよい。例えば各経路の遅延や 経由するサーバのバッファ量等が大きく異なる場合、特に高負荷下では TMの設定値 を各経路で異なる設定とすることで各経路の帯域の有効活用が図れると考えられる。
[0241] また、経路選択の判断は推定受信完了時刻の他に、例えばパケット欠落率や回線 使用料金などが監視可能であればそれらを優先して評価してもよい。また判断の方 法は送られるデータの属性により異なってもよい。例えば音声データであれば遅延を 、緊急ではなレ、ファイル転送データであれば回線使用料金を重視した選択を行うな どである。本実施例の特徴は、いずれの場合においても、送信ノードが経路状態情 報を更新する際に同時にその更新が有効となる送信パケットまたは時刻を取得し、有 効パケットまたは有効時刻以降の送信履歴より送信コストへのインパクトを推定し、コ スト最小の経路に次のパケットを送信することである。その結果、遅延が大きく経路の 状態変動の時定数に比べ無視できないほど大きい場合にも、過去の非最適な送信 により既に与えてしまったコスト基準へのインパクトをその後の送信タイミングの調整 に反映させることで補償することができ、経路の利用効率を向上させる効果がある。
[0242] 尚、上述した実施例 1、実施例 2、実施例 3、実施例 4及び実施例 5において、ノー ドのフロー識別部 211 , 222と、スケジューラ 213と、再送制御部 214と再送 ID順序チ エック部 221と、フロー順序チェック部 223等をそれぞれ別の部として構成した力 こ れらの全部又は一部を、制御プログラムで動作する CPU等で構成しても良い。

Claims

請求の範囲
[1] 送信ノードと、受信ノードとの間の通信方法であって、
送信ノードにおいて、
順序制御に関する第 1の基準に基づいた 1以上のフローを有する第 1のフロー群 と、再送制御に関する第 2の基準に基づいた 1以上のフローを有する第 2のフロー群 とを設け、前記第 1のフロー群に属する各々のフローに一意の第 1の識別子を割り当 て、前記第 2のフロー群に属する各々のフローに一意の第 2の識別子を割り当て、 入力されたパケットを、前記第 1の基準に基づいて前記第 1のフロー群に属する 1 以上のフローに分類し、かつ、前記第 2の基準に基づいて前記第 2のフロー群に属 する 1以上のフローに分類し、前記パケットに、前記第 1の識別子と、前記第 1の識別 子で特定される第 1のフロー内で一意の第 1のシーケンス番号と、前記第 2の識別子 と、前記第 2の識別子で特定されるフロー内で一意の第 2のシーケンス番号とを付与 して送信し、
受信ノードにおいて、
受信した全てのパケットを第 2の識別子に基づいて分類し、各第 2のフローに関し て、受信していない第 2のシーケンス番号のパケットをチェックし、送信ノード対してこ れらの再送を要求し、
送信ノードにおいて、
受信ノードからの要求された第 2のフローの第 2のシーケンス番号のパケットを再 送し、
受信ノードにおいて、
受信した全てのパケットを第 1の識別子に基づいて分類し、各第 1のフローに関し て、第 1のシーケンス番号に基づいてパケットを順番に並べ、順番になっているパケ ットから受信処理を行うことを特徴とする通信方法。
[2] 送信ノードと受信ノードは一つの通信経路で結ばれ、送信ノードの第 2のフロー群 は単一のフローで構成され、単一の通信経路を利用してパケットを送信することを特 徴とする請求項 1に記載の通信方法。
[3] 送信ノードは、パケットを送信する通信経路が複数ある場合、パケット送信のスケジ ユールに関する第 3の基準に基づレ、て、パケットを送信する通信経路を選択すること を特徴とする請求項 1に記載の通信方法。
[4] 送信ノードと受信ノードとは複数の通信経路で結ばれ、
送信ノードは、第 2の基準として、送信するパケットの通過する通信経路に対応して 一意のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通信経 路を選択することを特徴とする請求項 3に記載の通信方法。
[5] 送信ノードと受信ノードとは複数の通信経路で結ばれ、
送信ノードは、第 2の基準として、送信するパケットの通過する通信経路よりも少な い数のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通信経 路を選択することを特徴とする請求項 3に記載の通信方法。
[6] 送信ノードは他の通信ノードの送信するパケットを転送する送信側転送ノードであり 受信ノードは他の通信ノードの受信するパケットを転送する受信側転送ノードであ ることを特徴とする請求項 1に記載の通信方法。
[7] 送信ノードと受信ノードは一つの通信経路で結ばれ、
送信ノードの第 2のフロー群は、単一のフローで構成され、単一の通信経路を利用 してパケットを送信することを特徴とする請求項 6に記載の通信方法。
[8] 送信ノードと受信ノードとは複数の通信経路で結ばれ、
送信ノードは、第 2の基準として、送信するパケットの通過する通信経路に対応して 一意のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通信経 路を選択することを特徴とする請求項 6に記載の通信方法。
[9] 送信ノードと受信ノードとは複数の通信経路で結ばれ、
送信ノードは、第 2の基準として、送信するパケットの通過する通信経路よりも少な い数のフローに分類し、第 3の基準として、再送時に初回送信時とは独立に通信経 路を選択することを特徴とする請求項 6に記載の通信方法。
[10] 送信ノードの第 3の基準として、送信側ノードにおいて入力されるパケットごとに、選 択可能な各経路の経路状態情報と、前記経路状態情報が有効となる時刻又は送信 済みパケットの識別情報と、前記経路状態情報が有効となる時刻以降の送信履歴又 は送信済みパケットの識別情報で特定されるパケットの送信以降の送信履歴とに基 づいて、経路の選択または選択優先度を行うことを特徴とする請求項 3に記載の通 信方法。
[11] 前記経路状態情報は、経路の遅延を含むことを特徴とする請求項 10に記載の通 信方法。
[12] 前記経路状態情報は、経路の通信速度を含むことを特徴とする請求項 10に記載 の通信方法。
[13] 前記経路状態情報は、経路の負荷を含むことを特徴とする請求項 10に記載の通 信方法。
[14] 経路の選択又は選択優先度の更新に際し、各経路の経路状態情報が更新される と、更新以前に送信されたパケットに関する送信コスト計算結果に修正を加えることを 特徴とする請求項 10に記載の通信方法。
[15] 各経路の送信コスト計算結果の修正に際し、最新の経路状態情報が有効となる最 初の送信済パケット以前の履歴を破棄することを特徴とする請求項 14に記載の通信 方法。
[16] パケットを送信する経路として、受信側ノードでの受信完了時刻の推定値が最も早 い経路を選択することを特徴とする請求項 10に記載の通信方法。
[17] パケットを送信する経路として、受信側ノードで特定時刻までに受信完了できるデ ータ量の推定値が最大の経路を選択することを特徴とする請求項 10に記載の通信 方法。
[18] 各経路につき、推測される現在の経路状態に応じてデータの送信を中断することを 特徴とする請求項 10に記載の通信方法。
[19] 前記データ送信中断の基準が、推定受信完了時刻が特定の値以上であることを特 徴とする請求項 18に記載の通信方法。
[20] 経路選択又は送信中断の判断を、送信データの属性ごとに異なるポリシーにより行 うことを特徴とする請求項 10に記載の通信方法。
[21] パケットを送信する送信部とパケットを受信する受信部とから構成され、パケットの 再送制御と順序制御とを独立に行うノードであって、 前記送信部は、
順序制御に関する第 1の基準に基づいた第 1のフロー群の各フローに一意に割り 当てられた第 1の識別子と、前記第 1のフロー群に属する各々のフロー内で一意の第 1のシーケンス番号と、再送制御に関する第 2の基準に基づいた第 2のフロー群の各 フローに一意に割り当てられた第 2の識別子と、前記第 2のフロー群に属する各々の フロー内で一意の第 2のシーケンス番号とを、送信するパケットに付加して送信する 手段と、
パケットを受信したノードから再送を要求されたパケットを、前記第 2の識別子及び 第 2のシーケンス番号から特定し、そのパケットを再送する手段と
を有し、
前記受信部は、
受信した全てのパケットを前記第 2の識別子に基づいて分類し、各第 2のフローに 関して、受信していない第 2のシーケンス番号のパケットをチェックし、その第 2の識 別子と第 2のシーケンス番号とを、パケットに送信したノードに対して送信して再送を 要求する手段と、
受信した全てのパケットを前記第 1の識別子に基づいて分類し、各第 1のフローに 関して、前記第 1のシーケンス番号に基づいてパケットを順番に並べ、順番になって レ、るパケットから受信処理を行う手段と
を有することを特徴とするノード。
[22] ノード間は一つの通信経路で結ばれ、第 2のフロー群は単一のフローで構成され、 単一の通信経路を利用してパケットを送信することを特徴とする請求項 21に記載のノ ード。
[23] パケットを送信する通信経路が複数ある場合、パケット送信のスケジュールに関す る第 3の基準に基づレ、て、パケットを送信する通信経路を選択する手段を有すること を特徴とする請求項 21に記載のノード。
[24] ノード間は複数の通信経路で結ばれ、
第 2の基準として、送信するパケットの通過する通信経路に対応して一意のフロー に分類し、第 3の基準として、再送時に初回送信時とは独立に通信経路を選択する ことを特徴とする請求項 23に記載のノード。
[25] ノード間は複数の通信経路で結ばれ、
第 2の基準として、送信するパケットの通過する通信経路よりも少ない数のフローに 分類し、第 3の基準として、再送時に初回送信時とは独立に通信経路を選択すること を特徴とする請求項 23に記載のノード。
[26] ノードの送信部は他の通信ノードの送信するパケットを転送する送信側転送ノード であり、
ノードの受信部は他の通信ノードの受信するパケットを転送する受信側転送ノード であることを特徴とする請求項 21に記載のノード。
[27] ノード間は一つの通信経路で結ばれ、
第 2のフロー群は、単一のフローで構成され、単一の通信経路を利用してパケットを 送信することを特徴とする請求項 26に記載のノード。
[28] ノード間は複数の通信経路で結ばれ、
第 2の基準として、送信するパケットの通過する通信経路に対応して一意のフロー に分類し、第 3の基準として、再送時に初回送信時とは独立に通信経路を選択する ことを特徴とする請求項 26に記載のノード。
[29] ノード間は複数の通信経路で結ばれ、
第 2の基準として、送信するパケットの通過する通信経路よりも少ない数のフローに 分類し、第 3の基準として、再送時に初回送信時とは独立に通信経路を選択すること を特徴とする請求項 26に記載のノード。
[30] 前記通信経路を選択する手段は、第 3の基準として、ノードにおいて入力されるパ ケットごとに、選択可能な各経路の経路状態情報と、前記経路状態情報が有効となる 時刻又は送信済みパケットの識別情報と、前記経路状態情報が有効となる時刻以降 の送信履歴又は送信済みパケットの識別情報で特定されるパケットの送信以降の送 信履歴とに基づいて、経路の選択または選択優先度を行うことを特徴とする請求項 2 3に記載のノード。
[31] 前記経路状態情報は、経路の遅延を含むことを特徴とする請求項 30に記載のノー ド'。
[32] 前記経路状態情報は、経路の通信速度を含むことを特徴とする請求項 30に記載 のノード。
[33] 前記経路状態情報は、経路の負荷を含むことを特徴とする請求項 30に記載のノー ド'。
[34] 前記通信経路を選択する手段は、経路の選択又は選択優先度の更新に際し、各 経路の経路状態情報が更新されると、更新以前に送信されたパケットに関する送信 コスト計算結果に修正を加えることを特徴とする請求項 30に記載のノード。
[35] 前記通信経路を選択する手段は、各経路の送信コスト計算結果の修正に際し、最 新の経路状態情報が有効となる最初の送信済パケット以前の履歴を破棄することを 特徴とする請求項 34に記載のノード。
[36] 前記通信経路を選択する手段は、パケットを送信する経路として、受信側ノードで の受信完了時刻の推定値が最も早い経路を選択することを特徴とする請求項 30に 記載のノード。
[37] 前記通信経路を選択する手段は、パケットを送信する経路として、受信側ノードで 特定時刻までに受信完了できるデータ量の推定値が最大の経路を選択することを特 徴とする請求項 30に記載のノード。
[38] 前記通信経路を選択する手段は、各経路につき、推測される現在の経路状態に応 じてデータの送信を中断することを特徴とする請求項 30に記載のノード。
[39] 前記データ送信中断の基準が、推定受信完了時刻が特定の値以上であることを特 徴とする請求項 38に記載のノード。
[40] 前記通信経路を選択する手段は、経路選択又は送信中断の判断を、送信データ の属性ごとに異なるポリシーにより行うことを特徴とする請求項 30に記載のノード。
[41] パケットの再送制御と順序制御とを独立に行うノードの制御プログラムであって、 前記制御プログラムは前記ノードを、
順序制御に関する第 1の基準に基づいた第 1のフロー群の各フローに一意に割り 当てられた第 1の識別子と、前記第 1のフロー群に属する各々のフロー内で一意の第 1のシーケンス番号と、再送制御に関する第 2の基準に基づいた第 2のフロー群の各 フローに一意に割り当てられた第 2の識別子と、前記第 2のフロー群に属する各々の フロー内で一意の第 2のシーケンス番号とを、送信するパケットに付加して送信する 手段と、
パケットを受信したノードから再送を要求されたパケットを、前記第 2の識別子及び 第 2のシーケンス番号から特定し、そのパケットを再送する手段と、
受信した全てのパケットを前記第 2の識別子に基づいて分類し、各第 2のフローに 関して、受信していない第 2のシーケンス番号のパケットをチェックし、その第 2の識 別子と第 2のシーケンス番号とを、パケットに送信したノードに対して送信して再送を 要求する手段と、
受信した全てのパケットを前記第 1の識別子に基づいて分類し、各第 1のフローに 関して、前記第 1のシーケンス番号に基づいてパケットを順番に並べ、順番になって レ、るパケットから受信処理を行う手段と
して機能させることを特徴とするノードの制御プログラム。
[42] ノード間は一つの通信経路で結ばれ、第 2のフロー群は単一のフローで構成され、 単一の通信経路を利用してパケットを送信することを特徴とする請求項 41に記載のノ ードの制御プログラム。
[43] 前記制御プログラムは前記ノードを、パケットを送信する通信経路が複数ある場合、 パケット送信のスケジュールに関する第 3の基準に基づいて、パケットを送信する通 信経路を選択する手段として更に機能させることを特徴とする請求項 41に記載のノ ードの制御プログラム。
[44] ノード間は複数の通信経路で結ばれ、
第 2の基準として、送信するパケットの通過する通信経路に対応して一意のフロー に分類し、第 3の基準として、再送時に初回送信時とは独立に通信経路を選択する ことを特徴とする請求項 43に記載のノードの制御プログラム。
[45] ノード間は複数の通信経路で結ばれ、
第 2の基準として、送信するパケットの通過する通信経路よりも少ない数のフローに 分類し、第 3の基準として、再送時に初回送信時とは独立に通信経路を選択すること を特徴とする請求項 43に記載のノードの制御プログラム。
[46] ノードの送信側は他の通信ノードの送信するパケットを転送する送信側転送ノード であり、
ノードの受信側は他の通信ノードの受信するパケットを転送する受信側転送ノード であることを特徴とする請求項 41に記載のノードの制御プログラム。
[47] ノード間は一つの通信経路で結ばれ、
第 2のフロー群は、単一のフローで構成され、単一の通信経路を利用してパケットを 送信することを特徴とする請求項 46に記載のノードの制御プログラム。
[48] ノード間は複数の通信経路で結ばれ、
第 2の基準として、送信するパケットの通過する通信経路に対応して一意のフロー に分類し、第 3の基準として、再送時に初回送信時とは独立に通信経路を選択する ことを特徴とする請求項 46に記載のノードの制御プログラム。
[49] ノード間は複数の通信経路で結ばれ、
第 2の基準として、送信するパケットの通過する通信経路よりも少ない数のフローに 分類し、第 3の基準として、再送時に初回送信時とは独立に通信経路を選択すること を特徴とする請求項 46に記載のノードの制御プログラム。
[50] 制御プログラムは、前記通信経路を選択する手段を、ノードにおいて入力されるパ ケットごとに、選択可能な各経路の経路状態情報と、前記経路状態情報が有効となる 時刻又は送信済みパケットの識別情報と、前記経路状態情報が有効となる時刻以降 の送信履歴又は送信済みパケットの識別情報で特定されるパケットの送信以降の送 信履歴とに基づいて、経路の選択または選択優先度を行うように機能させることを特 徴とする請求項 43に記載のノードの制御プログラム。
[51] 前記経路状態情報は、経路の遅延を含むことを特徴とする請求項 50に記載のノー ドの制御プログラム。
[52] 前記経路状態情報は、経路の通信速度を含むことを特徴とする請求項 50に記載 のノードの制御プログラム。
[53] 前記経路状態情報は、経路の負荷を含むことを特徴とする請求項 50に記載のノー ドの制御プログラム。
[54] 制御プログラムは、前記通信経路を選択する手段を、経路の選択又は選択優先度 の更新に際し、各経路の経路状態情報が更新されると、更新以前に送信されたパケ ットに関する送信コスト計算結果に修正を加えるように機能させることを特徴とする請 求項 50に記載のノードの制御プログラム。
[55] 制御プログラムは、前記通信経路を選択する手段を、各経路の送信コスト計算結果 の修正に際し、最新の経路状態情報が有効となる最初の送信済パケット以前の履歴 を破棄するように機能させることを特徴とする請求項 54に記載のノードの制御プログ ラム。
[56] 制御プログラムは、前記通信経路を選択する手段を、パケットを送信する経路として 、受信側ノードでの受信完了時刻の推定値が最も早い経路を選択するように機能さ せることを特徴とする請求項 50に記載のノードの制御プログラム。
[57] の制御プログラムは、前記通信経路を選択する手段を、パケットを送信する経路とし て、受信側ノードで特定時刻までに受信完了できるデータ量の推定値が最大の経路 を選択するように機能させることを特徴とする請求項 50に記載のノードの制御プログ ラム。
[58] の制御プログラムは、前記通信経路を選択する手段を、各経路につき、推測される 現在の経路状態に応じてデータの送信を中断するように機能させることを特徴とする 請求項 50に記載のノードの制御プログラム。
[59] 前記データ送信中断の基準が、推定受信完了時刻が特定の値以上であることを特 徴とする請求項 58に記載のノードの制御プログラム。
[60] 制御プログラムは、前記通信経路を選択する手段を、経路選択又は送信中断の判 断を、送信データの属性ごとに異なるポリシーにより行うように機能させることを特徴と する請求項 50に記載のノードの制御プログラム。
[61] 通信方法であって、
送信パケットに、順序制御のための情報とは別に、送信フローを識別する識別子と
、前記送信フロー内におけるシーケンス番号とを付与し、受信側で前記識別子と前 記シーケンス番号とに基づいて、送信フローごとに再送制御を行うことを特徴とする 通信方法。
[62] 通信方法であって、
送信パケットに、順序制御のための情報とは別に、送信フローを識別する識別子と 、前記送信フロー内におけるシーケンス番号とを付与し、受信側で前記識別子と前 記シーケンス番号とに基づいて、送信フローごとにパケットの損失を検出することを特 徴とする通信方法。
[63] ノードであって、
順序制御に関する第 1の基準に基づいた第 1のフロー群の各フローに一意に割り 当てられた第 1の識別子と、前記第 1のフロー群に属する各々のフロー内で一意の第 1のシーケンス番号と、再送制御に関する第 2の基準に基づいた第 2のフロー群の各 フローに一意に割り当てられた第 2の識別子と、前記第 2のフロー群に属する各々の フロー内で一意の第 2のシーケンス番号とを、パケットに付加して送信する手段と、 前記第 2の識別子と前記第 2のシーケンス番号とに基づいて、送信フローごとに検 出された損失パケットを再送する手段と
を有することを特徴とするノード。
[64] ノードの制御プログラムであって、
前記制御プログラムは前記ノードを、
順序制御に関する第 1の基準に基づいた第 1のフロー群の各フローに一意に割り 当てられた第 1の識別子と、前記第 1のフロー群に属する各々のフロー内で一意の第 1のシーケンス番号と、再送制御に関する第 2の基準に基づいた第 2のフロー群の各 フローに一意に割り当てられた第 2の識別子と、前記第 2のフロー群に属する各々の フロー内で一意の第 2のシーケンス番号とを、パケットに付加して送信する手段と、 前記第 2の識別子と前記第 2のシーケンス番号とに基づいて、送信フローごとに検 出された損失パケットを再送する手段と
して機能させることを特徴とするノードの制御プログラム。
PCT/JP2005/000124 2004-01-09 2005-01-07 通信方法 WO2005067261A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/526,959 US20060256803A1 (en) 2004-01-09 2005-01-07 Communication method
EP20050703389 EP1705870B1 (en) 2004-01-09 2005-01-07 Communication method
JP2005516898A JP4497322B2 (ja) 2004-01-09 2005-01-07 通信方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004-004795 2004-01-09
JP2004004795 2004-01-09
JP2004-260332 2004-09-07
JP2004260332 2004-09-07

Publications (1)

Publication Number Publication Date
WO2005067261A1 true WO2005067261A1 (ja) 2005-07-21

Family

ID=34752104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/000124 WO2005067261A1 (ja) 2004-01-09 2005-01-07 通信方法

Country Status (5)

Country Link
US (1) US20060256803A1 (ja)
EP (1) EP1705870B1 (ja)
JP (1) JP4497322B2 (ja)
KR (1) KR100863539B1 (ja)
WO (1) WO2005067261A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083687A1 (ja) * 2006-01-23 2007-07-26 Nec Corporation 通信方法、通信システム、ノードおよびプログラム
WO2008088145A1 (en) * 2007-01-15 2008-07-24 Kangnung National University Industrial Academy Corporation Group Data transmitting and receiving method and communication system thereof
JPWO2008029793A1 (ja) * 2006-09-05 2010-01-21 日本電気株式会社 パケット回復方法、通信システム、情報処理装置およびプログラム
WO2011046056A1 (ja) * 2009-10-14 2011-04-21 日本電気株式会社 パケット通信の伝送制御方法及びパケット通信システム
JP2011517384A (ja) * 2008-02-26 2011-06-02 クゥアルコム・インコーポレイテッド 無線通信システムにおけるリンク制御のための方法および装置
WO2011108480A1 (ja) * 2010-03-03 2011-09-09 日本電気株式会社 パケット再送制御システム、方法、及びプログラム
JP2011182234A (ja) * 2010-03-02 2011-09-15 Oki Electric Industry Co Ltd 通信装置及び通信制御方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070070895A1 (en) * 2005-09-26 2007-03-29 Paolo Narvaez Scaleable channel scheduler system and method
US7551579B2 (en) 2006-05-08 2009-06-23 Skyhook Wireless, Inc. Calculation of quality of wlan access point characterization for use in a wlan positioning system
US8014788B2 (en) * 2006-05-08 2011-09-06 Skyhook Wireless, Inc. Estimation of speed of travel using the dynamic signal strength variation of multiple WLAN access points
US7835754B2 (en) 2006-05-08 2010-11-16 Skyhook Wireless, Inc. Estimation of speed and direction of travel in a WLAN positioning system
US7551929B2 (en) * 2006-05-08 2009-06-23 Skyhook Wireless, Inc. Estimation of speed and direction of travel in a WLAN positioning system using multiple position estimations
US8144673B2 (en) 2006-07-07 2012-03-27 Skyhook Wireless, Inc. Method and system for employing a dedicated device for position estimation by a WLAN positioning system
JP2008098798A (ja) * 2006-10-10 2008-04-24 Nec Corp 通信システムにおけるデータ伝送状況判定方法および通信装置
US8923141B2 (en) * 2007-03-16 2014-12-30 Cisco Technology, Inc. Providing clock synchronization in a network
US9686045B2 (en) * 2007-04-04 2017-06-20 Lantiq Beteiligungs-GmbH & Co. KG Data transmission and retransmission
US20080248741A1 (en) * 2007-04-05 2008-10-09 Farshid Alizadeh-Shabdiz Time difference of arrival based estimation of direction of travel in a wlan positioning system
US20080248808A1 (en) * 2007-04-05 2008-10-09 Farshid Alizadeh-Shabdiz Estimation of position, speed and bearing using time difference of arrival and received signal strength in a wlan positioning system
JP5205819B2 (ja) * 2007-06-06 2013-06-05 日本電気株式会社 通信システムおよびそのパケットスケジューリング方法ならびに送信ノード
EP2066101B1 (en) * 2007-11-28 2012-10-17 Alcatel Lucent System and method for an improved high availability component implementation
KR101039550B1 (ko) 2008-06-10 2011-06-09 (주)씨디네트웍스 데이터 전송률 계산 방법 및 이를 이용한 대역폭 설정 방법
JP2010033188A (ja) * 2008-07-25 2010-02-12 Fujitsu Ltd 送信経路選択装置、データ送信システム、コンピュータ装置および送信経路選択方法
JP5308802B2 (ja) * 2008-12-16 2013-10-09 ルネサスエレクトロニクス株式会社 Canノード
ES2359522B1 (es) * 2008-12-18 2012-04-02 Vodafone España, S.A.U. Procedimiento y estación base de radio para planificar tr�?fico en redes telefónicas celulares de �?rea amplia.
US20100306442A1 (en) * 2009-06-02 2010-12-02 International Business Machines Corporation Detecting lost and out of order posted write packets in a peripheral component interconnect (pci) express network
US9276870B2 (en) * 2010-07-09 2016-03-01 Telefonaktiebolaget L M Ericsson (Publ) Switching node with load balancing of bursts of packets
CN102404166B (zh) * 2011-10-27 2015-04-08 华为技术有限公司 丢包检测方法和系统、发送设备及接收设备
US9614646B2 (en) * 2015-03-20 2017-04-04 Vmware, Inc. Method and system for robust message retransmission
EP3703336A4 (en) * 2017-11-17 2020-10-21 Ntt Docomo, Inc. COMMUNICATION DEVICE AND PROCESS
US10785271B1 (en) * 2019-06-04 2020-09-22 Microsoft Technology Licensing, Llc Multipoint conferencing sessions multiplexed through port

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08288949A (ja) * 1995-04-12 1996-11-01 Nippon Telegr & Teleph Corp <Ntt> 情報転送システム
JPH10243050A (ja) * 1997-02-28 1998-09-11 Mitsubishi Electric Corp データ通信システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594490A (en) * 1994-05-23 1997-01-14 Cable Services Technologies, Inc. System for distributing video/audio files from central location to a plurality of cable headends
US6512761B1 (en) * 1999-02-02 2003-01-28 3Com Corporation System for adjusting billing for real-time media transmissions based on delay
US7024222B2 (en) * 1999-09-21 2006-04-04 Ipr Licensing, Inc. Dual mode unit for short range, high rate and long range, lower rate data communications
US7327683B2 (en) * 2000-03-16 2008-02-05 Sri International Method and apparatus for disseminating topology information and for discovering new neighboring nodes
JP4475835B2 (ja) * 2001-03-05 2010-06-09 富士通株式会社 入力回線インタフェース装置及びパケット通信装置
US20030103459A1 (en) * 2001-11-16 2003-06-05 Connors Dennis P. Method and implementation for a flow specific modified selective-repeat ARQ communication system
US7239608B2 (en) * 2002-04-26 2007-07-03 Samsung Electronics Co., Ltd. Router using measurement-based adaptable load traffic balancing system and method of operation
DE60230436D1 (de) * 2002-12-23 2009-01-29 Alcatel Lucent Überlastkontrolle in einem optischen Netzwerk mit Burstschaltung
DE60311155T2 (de) * 2003-08-19 2007-10-18 Ntt Docomo Inc. Genaue steuerung von informationsübertragungen in ad-hoc netzwerken
US6826123B1 (en) * 2003-10-14 2004-11-30 International Business Machines Corporation Global recovery for time of day synchronization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08288949A (ja) * 1995-04-12 1996-11-01 Nippon Telegr & Teleph Corp <Ntt> 情報転送システム
JPH10243050A (ja) * 1997-02-28 1998-09-11 Mitsubishi Electric Corp データ通信システム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4780343B2 (ja) * 2006-01-23 2011-09-28 日本電気株式会社 通信方法、通信システム、ノードおよびプログラム
WO2007083687A1 (ja) * 2006-01-23 2007-07-26 Nec Corporation 通信方法、通信システム、ノードおよびプログラム
JPWO2007083687A1 (ja) * 2006-01-23 2009-06-11 日本電気株式会社 通信方法、通信システム、ノードおよびプログラム
JP5131194B2 (ja) * 2006-09-05 2013-01-30 日本電気株式会社 パケット回復方法、通信システム、情報処理装置およびプログラム
JPWO2008029793A1 (ja) * 2006-09-05 2010-01-21 日本電気株式会社 パケット回復方法、通信システム、情報処理装置およびプログラム
US9379852B2 (en) 2006-09-05 2016-06-28 Nec Corporation Packet recovery method, communication system, information processing device, and program
WO2008088145A1 (en) * 2007-01-15 2008-07-24 Kangnung National University Industrial Academy Corporation Group Data transmitting and receiving method and communication system thereof
JP2011517384A (ja) * 2008-02-26 2011-06-02 クゥアルコム・インコーポレイテッド 無線通信システムにおけるリンク制御のための方法および装置
WO2011046056A1 (ja) * 2009-10-14 2011-04-21 日本電気株式会社 パケット通信の伝送制御方法及びパケット通信システム
JP2011182234A (ja) * 2010-03-02 2011-09-15 Oki Electric Industry Co Ltd 通信装置及び通信制御方法
WO2011108480A1 (ja) * 2010-03-03 2011-09-09 日本電気株式会社 パケット再送制御システム、方法、及びプログラム
US8717871B2 (en) 2010-03-03 2014-05-06 Nec Corporation Packet retransmission control system, method and program
JP5682618B2 (ja) * 2010-03-03 2015-03-11 日本電気株式会社 パケット再送制御システム、方法、及びプログラム

Also Published As

Publication number Publication date
JP4497322B2 (ja) 2010-07-07
US20060256803A1 (en) 2006-11-16
JPWO2005067261A1 (ja) 2007-12-27
EP1705870B1 (en) 2012-08-29
KR20060116217A (ko) 2006-11-14
KR100863539B1 (ko) 2008-10-15
EP1705870A1 (en) 2006-09-27
EP1705870A4 (en) 2010-10-06

Similar Documents

Publication Publication Date Title
JP4497322B2 (ja) 通信方法
US8098648B2 (en) Load distributing method
JP6275751B2 (ja) 改善された確認応答および再送機構
WO2018210117A1 (zh) 一种拥塞控制方法、网络设备及其网络接口控制器
CN107113204B (zh) 用于在网络中路由数据包的节点、网络控制器和相关方法
JP4632874B2 (ja) 通信端末
US8717871B2 (en) Packet retransmission control system, method and program
JPWO2005067227A6 (ja) 負荷分散方法、ノード及び制御プログラム
US20130194923A1 (en) Converged enhanced ethernet network
EP2978171B1 (en) Communication method, communication device, and communication program
CN102859950A (zh) 估计拥塞的方法
WO2008029793A1 (fr) Procédé de récupération de paquets, système de communication, dispositif de traitement d&#39;informations et programme
JP4924285B2 (ja) 通信装置、通信システム、転送効率向上方法及び転送効率向上プログラム
US20100008350A1 (en) Method and device of transmitting and parsing data in wireless communication network
CN101009649A (zh) 网络处理器中的队列管理
CN102801606A (zh) 一种sctp主路径自动切换方法
JPWO2011046056A1 (ja) パケット通信の伝送制御方法及びパケット通信システム
WO2005086436A1 (ja) パケット転送装置、パケット転送ネットワークシステム、および、端末装置
JP5738324B2 (ja) 送信装置、通信装置、通信システムおよび送信方法
US20120106344A1 (en) Data communication acknowledgement in a network
JP2017092692A (ja) データ伝送制御システム及び方法、並びに、データ伝送制御プログラム
CN109450606A (zh) 数据传输管控方法及装置
JP4930275B2 (ja) 通信システム、通信方法、送信機、受信機、レート計算方法およびプログラム
JP2010206608A (ja) 送信装置、送信レート算出方法及び送信レート算出プログラム
Santhi et al. Active Queue Management Algorithm for TCP Networks Congestion Control

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2005526959

Country of ref document: US

Kind code of ref document: A

AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE 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: 2006256803

Country of ref document: US

Ref document number: 10526959

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2005516898

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 200580001934.6

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020067013548

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2005703389

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 2005703389

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067013548

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 10526959

Country of ref document: US