WO2011048740A1 - Data transmission system, transmission rate controlling method, receiving terminal and transmitting terminal - Google Patents

Data transmission system, transmission rate controlling method, receiving terminal and transmitting terminal Download PDF

Info

Publication number
WO2011048740A1
WO2011048740A1 PCT/JP2010/005462 JP2010005462W WO2011048740A1 WO 2011048740 A1 WO2011048740 A1 WO 2011048740A1 JP 2010005462 W JP2010005462 W JP 2010005462W WO 2011048740 A1 WO2011048740 A1 WO 2011048740A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
data
transmission rate
network
data packet
Prior art date
Application number
PCT/JP2010/005462
Other languages
French (fr)
Japanese (ja)
Inventor
光樹 祐成
藤山 健一郎
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2011537105A priority Critical patent/JPWO2011048740A1/en
Publication of WO2011048740A1 publication Critical patent/WO2011048740A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Definitions

  • the present invention relates to a data transmission technique between terminals connected via a network.
  • the data center needs to provide various services to users without interruption.
  • the operation management server installed in the data center can constantly monitor the operating status of thousands of data center components, and can quickly detect failures and malfunctions in data center components. Operation management is performed. Specifically, for example, the operation management server collects operation status log files generated by the data center constituent devices via an operation management network in the data center. The operation management server analyzes the collected operation status log file to grasp the operation status of the data center constituent devices.
  • Patent Document 1 transmission of an acknowledgment packet that is returned from a terminal that receives the data packet (hereinafter referred to as a receiving terminal) to a terminal that transmits the data packet (hereinafter referred to as a transmitting terminal) according to the reception speed of the data packet.
  • a technique for setting a speed and a transmission speed of a data packet to be subsequently transmitted from the transmitting terminal to the receiving terminal is disclosed.
  • the receiving terminal when the receiving terminal receives the data packet, it measures the receiving speed and generates an acknowledgment packet including the measured receiving speed and returns it to the transmitting terminal. At this time, the receiving terminal sets the transmission rate of the acknowledgment packet according to the reception rate. The transmission terminal acquires the reception speed included in the acknowledgment packet from the reception terminal, and sets the subsequent data packet transmission speed according to the reception speed.
  • this technique uses the reception speed of the data packet at the reception terminal as an index of the degree of network congestion, and accordingly, the transmission speed of the acknowledgment packet from the reception terminal and the transmission terminal performed after reception of the data packet.
  • the data packet transmission speed from is adjusted.
  • Patent Document 1 sets the transmission rate of the acknowledgment packet currently transmitted by the receiving terminal and the transmission rate of the data packet currently transmitted by the transmitting terminal based on the past receiving rate of the data packet at the receiving terminal. is doing.
  • the receiving speed of the data packet at the receiving terminal can be an indicator of the degree of network congestion when the data packet is received, when the receiving terminal transmits an acknowledgment packet, the transmitting terminal transmits subsequent data packets. It may not be an index of the degree of network congestion.
  • a network in which the network congestion level changes in a short cycle such as the operation management network in the data center described above.
  • the network congestion level at the time of receiving a data packet at the receiving terminal, the network congestion level when the receiving terminal receives the data packet and sets the transmission speed for the data packet, and the transmitting terminal may differ greatly.
  • the technique disclosed in Patent Document 1 cannot transmit data packets at an appropriate transmission rate that follows the current network congestion level.
  • the present invention has been made in view of the above circumstances, and provides a data packet transmission technique that can reliably follow the degree of network congestion.
  • One aspect of the present invention is a method for controlling a transmission rate in a data transmission system.
  • a transmission terminal and a reception terminal are connected by a network.
  • the transmitting terminal transmits a data packet to the receiving terminal via the network, and the receiving terminal returns an acknowledgment packet to the transmitting terminal in response to reception of the data packet from the transmitting terminal.
  • the network data capable of predicting the congestion degree of the network is measured by the receiving terminal, and the data is transmitted every predetermined period.
  • a network congestion degree is predicted using the measured network data, and a transmission rate of an acknowledgment packet transmitted from the receiving terminal is determined according to the predicted congestion degree.
  • data transmission can be performed at an appropriate speed that reliably follows the degree of network congestion.
  • FIG. 3 is a diagram for explaining an example of a control packet used when determining a data packet transmission rate in the data transmission system shown in FIG. 1 (part 1);
  • FIG. 3 is a diagram for explaining an example of a control packet used when determining a data packet transmission rate in the data transmission system shown in FIG.
  • FIG. 3 is a diagram for explaining a method for determining a data packet transmission rate in the data transmission system shown in FIG. 1 (part 1);
  • FIG. 3 is a diagram for explaining a technique for determining a data packet transmission rate in the data transmission system shown in FIG. 1 (part 2);
  • It is a figure for demonstrating another method at the time of determining a data packet transmission rate in the data transmission system shown in FIG.
  • It is a figure which shows the data transmission system concerning the 2nd Embodiment of this invention.
  • It is a flowchart which shows the flow of a process by the data transmission system shown in FIG.
  • It is a figure for demonstrating the data packet shaping part in the transmission terminal of the data transmission system shown in FIG.
  • It is a figure which shows the structure of the control packet which the receiving terminal of the data transmission system shown in FIG. 1 produced.
  • FIG. 1 shows a data transmission system 100 according to a first embodiment of the present invention.
  • the data transmission system 100 includes a receiving terminal 1 and a transmitting terminal 2.
  • the receiving terminal 1 and the transmitting terminal 2 are a computer or a workstation having a data communication function, a data processing function by program control, an information storage function, and the like, and are connected by a network 3 so as to be able to perform data communication with each other.
  • the receiving terminal 1 receives a data packet from the transmitting terminal 2 and returns a control packet to be described later to the transmitting terminal 2.
  • the receiving terminal 1 includes a network data measurement unit 11, a control packet transmission rate determination unit 12, a network congestion level model storage unit 13, a control packet creation unit 14, and a control packet transmission rate control unit 15.
  • the network data measuring unit 11 measures network data for predicting the future network congestion. These network data are data indicating, for example, the presence / absence of a lost packet, the reception time of the data packet, and the like. The network data measuring unit 11 measures the network data by confirming the sequence number of the received data packet.
  • the control packet creation unit 14 creates an acknowledgment packet to be sent back to the transmission terminal 2.
  • the acknowledgment packet is also referred to as a control packet.
  • the network congestion degree model storage unit 13 is a network congestion degree model indicating the relationship between the packet loss rate calculated from network data, the data packet reception interval jitter (dispersion value of the data packet reception interval), and the network congestion degree at a future time. Is remembered.
  • the control packet transmission rate determination unit 12 determines the transmission rate of the control packet. Specifically, first, the control packet transmission rate determination unit 12 calculates a packet loss rate, a data packet reception interval jitter, and the like using the network data measured by the network data measurement unit 11. Then, the control packet transmission rate determination unit 12 refers to the network congestion model stored in advance in the network congestion model storage unit 13 and determines the future time based on the calculation result of the packet loss rate and the data packet reception interval jitter. Predict network congestion. Thereafter, the control packet transmission rate determination unit 12 determines the optimal transmission rate of the control packet based on the prediction result of the network congestion degree at the future time.
  • the control packet transmission rate determining unit 12 includes a first congestion degree predicting unit (not shown) in the claims.
  • the control packet transmission rate determination unit 12 performs, for example, as follows. Since the data packet transmission rate needs to be finely controlled in the congestion state, the control packet transmission rate determination unit 12 increases the control packet transmission rate. On the other hand, in the normal state, since there is a margin in the network bandwidth, the transmission efficiency is not greatly affected even if the data packet transmission rate is not strictly controlled. Therefore, the control packet transmission rate determination unit 12 reduces the control packet transmission rate. .
  • the control packet transmission rate control unit 15 transmits the control packet created by the control packet creation unit 14 to the transmission terminal 2 via the network 3 at the transmission rate decided by the control packet transmission rate decision unit 12.
  • the transmission terminal 2 transmits a data packet to the reception terminal 1, and includes a data packet transmission rate control unit 21, a loss packet retransmission unit 22, a data packet storage unit 23, a control packet analysis unit 24, and a data packet transmission rate determination unit. 25.
  • the data packet storage unit 23 stores data packets transmitted from the transmission terminal 2 to the reception terminal 1.
  • the control packet analysis unit 24 analyzes the control packet received from the receiving terminal 1 and extracts the sequence number and packet loss time of the lost packet.
  • the loss packet is a data packet that cannot be normally received by the receiving terminal 1 among all data packets transmitted from the transmitting terminal 2 to the receiving terminal 1.
  • the packet loss time is an estimated reception time of a lost packet. Further, the control packet analysis unit 24 deletes all data packets transmitted before the first loss packet from the data packet storage unit 23 based on the analysis result.
  • the data packet transmission rate determining unit 25 determines the transmission rate of the data packet to be transmitted to the receiving terminal 1.
  • the data packet transmission rate determination unit 25 determines not only the transmission rate of the data packet transmitted to the receiving terminal 1 for the first time, but also the transmission rate when resending the lost packet. Although details will be described later, the data packet transmission rate determination unit 25 predicts the congestion level of the network and determines the transmission rate of the data packet according to the predicted congestion level. That is, in the present embodiment, the data packet transmission rate determining unit 25 includes a second congestion degree predicting unit (not shown) in the claims.
  • the data packet transmission rate control unit 21 transmits data packets (including data packets corresponding to loss packets) to the receiving terminal 1 at the transmission rate determined by the data packet transmission rate determination unit 25.
  • the loss packet retransmission unit 22 refers to the analysis result by the control packet analysis unit 24 and erases the data packet that has been confirmed to have been normally transmitted to the receiving terminal 1 from the data packet storage unit 23. On the other hand, for the lost packet, the lost packet retransmission unit 22 reads the data packet corresponding to the sequence number of the lost packet from the control packet analysis unit 24 from the data packet storage unit 23 and outputs it to the data packet transmission rate control unit 21. And have them resend.
  • step D1 in FIG. 2 a program responsible for data packet reception processing
  • the sending terminal 2 starts data transmission when, for example, a data packet generated from a log file is stored in the data packet storage unit 23 in a certain amount or more (step S1).
  • the transmission terminal 2 reads the data packet from the data packet storage unit 23 and starts data packet transmission to the reception terminal 1 (step S11). Further, the transmitting terminal 2 starts receiving control packets in order to receive the control packet transmitted by the receiving terminal 1 (step S21).
  • the receiving terminal 1 measures the network data (step D2) while receiving the data packet transmitted from the transmitting terminal 2 over a certain period (step S12, D1). Next, the receiving terminal 1 calculates a packet loss rate, a data packet reception interval jitter, and the like from the measured network data, and refers to the network congestion model stored in the network congestion model storage unit 13 at a future time. Predict network congestion. Then, the receiving terminal 1 determines the control packet transmission rate based on the predicted network congestion at the future time (step D3). Thereafter, the control packet creation unit 14 creates a control packet that describes the sequence number of the lost packet, the packet loss time, and the like (step D4). The control packet transmission rate control unit 15 transmits the control packet created by the control packet creation unit 14 to the transmission terminal 2 in accordance with the control packet transmission rate determined in step D3 (step D5).
  • control packet analysis unit 24 analyzes the control packet received from the reception terminal 1, extracts the sequence number of the lost packet, the packet loss time, and the like (steps S22 and S23), and the control packet will be described later.
  • the data packet corresponding to the sequence number before the sequence number described in the last received packet field is deleted from the data packet storage unit 23.
  • the lost packet retransmission unit 22 reads out a data packet corresponding to the sequence number of the lost packet notified from the control packet analysis unit 24 from the data packet storage unit 23, and outputs the data packet to the data packet transmission rate control unit 21 for retransmission ( Step S12).
  • the data packet transmission rate determination unit 25 determines the data packet transmission rate based on the sequence number of the lost packet extracted by the control packet analysis unit 24, the packet loss time, and the packet size of the lost packet (step S13). ).
  • the data packet transmission rate control unit 21 sequentially transmits all data packets including the loss packet to the receiving terminal 1 according to the data packet transmission rate determined in step S13, and all the data packets stored in the data packet storage unit 23 are normal. The process ends when the data is transmitted (steps S14 and S2).
  • the reception terminal 1 and the transmission terminal 2 are realized by a computer, a workstation, a dedicated terminal, or the like that includes an arithmetic processing unit such as a CPU (Central Processing Unit), an input / output interface, and a storage unit.
  • the storage unit is, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), an HDD (Hard Disk Drive), or the like.
  • the receiving terminal 1 and the transmitting terminal 2 include a network communication unit that supports Ethernet (registered trademark), a wireless LAN, and the like for transmitting data packets and control packets.
  • the receiving terminal 1 and the transmitting terminal 2 use a UDP (User Datagram Protocol) transport protocol for data packet transmission.
  • UDP User Datagram Protocol
  • the UDP transport protocol does not guarantee the arrival order of packets, retransmission of lost packets, etc., but can transmit data at high speed.
  • all data packets are transmitted without packet loss when the data transmission is completed (step S2 in FIG. 2). For example, changing the order of arrival of data packets in the transmission process is not a problem.
  • the receiving terminal 1 and the transmitting terminal 2 use a TCP (Transmission Control Protocol) transport protocol for control packet transmission.
  • TCP Transmission Control Protocol
  • the control packet transmitted by the receiving terminal 1 arrives at the transmitting terminal 2 without changing the arrival order.
  • the network data described in the control packet used by the transmitting terminal 2 to determine the data packet transmission rate is time-series data based on the packet loss time, and when the control packet arrival order is changed, This is because the data packet transmission rate cannot be determined.
  • the transmission terminal 2 When the data transmission is started, the transmission terminal 2 extracts the data packet stored in the data packet storage unit 23 and starts transmission to the reception terminal 1. In the data packet, at least a sequence number indicating the transmission order of the data packet is described. However, since the data packet needs to be retransmitted when the data packet is lost, the data packet is stored in the data packet storage unit even after the transmission terminal 2 extracts the data packet from the data packet storage unit 23. 23 remains stored.
  • the network data measuring unit 11 confirms the sequence number of the data packet received from the transmitting terminal 2 and measures network data such as the occurrence / non-occurrence of a loss packet and the reception time of the data packet. Then, the control packet transmission rate determination unit 12 determines the control packet transmission rate using the network data measured by the network data measurement unit 11 over a certain period.
  • the network data measurement period is set, for example, in units of time or the number of received data packets.
  • control packet transmission rate determination unit 12 The determination of the control packet transmission rate by the control packet transmission rate determination unit 12 will be described in detail.
  • the situation shown in FIG. 3 will be described as an example.
  • the solid line frame indicates a data packet that can be normally received
  • the dotted line frame indicates a data packet (loss packet) that cannot be normally received.
  • the number in each frame indicates the sequence number of the data packet, and indicates the past time as the subscript of time T becomes smaller.
  • data packets with sequence numbers 1, 3, 6, 7, and 8 are time T1, T3, T6, T7,
  • the data packets are normally received at T8, and the data packets 2, 4, and 5 are loss packets that cannot be normally received.
  • the time T8 is the current time, and the reception times of the data packets 2, 4, and 5 that are lost packets are unknown due to reception failure.
  • the network data measurement unit 11 uses the sequence number (2, 4, 5) of each lost packet and the reception time (T1, T3, T6, T7, T8) are acquired.
  • the control packet transmission rate determination unit 12 calculates a packet loss rate and a data packet reception interval jitter from the network data acquired by the network data measurement unit 11. In the present embodiment, the control packet transmission rate determination unit 12 calculates the ratio of the number of lost packets to the total number of data packets as the packet loss rate. Further, according to the equation (1), the control packet transmission rate determination unit 12 calculates the dispersion value V of the reception interval of the data packets that can be normally received as the data packet reception interval jitter.
  • the packet loss rate is 37.5%.
  • the dispersion value V of the reception intervals T3-T1, T6-T3, T7-T6, and T8-T7 of the five data packets 1, 3, 6, 7, and 8 that can be normally received is the data packet reception interval jitter. Is calculated as
  • the control packet transmission rate determination unit 12 refers to the network congestion level model storage unit 13 in order to determine the control packet transmission rate.
  • the network congestion level model storage unit 13 stores a state transition model of the network congestion level according to the packet loss rate and the data packet reception interval jitter.
  • FIG. 4 shows an example of a network congestion model.
  • the network congestion level is roughly divided into “normal state” and “congestion state”.
  • the initial state at the start of data transmission is the normal state.
  • the normal state is a state where the available network bandwidth is sufficiently left, and the congestion state is a state where the available network bandwidth is not left.
  • the packet loss rate a [%] is lower than the packet loss rate threshold value ath [%], and the data packet reception interval jitter b is equal to or greater than the data packet reception interval jitter threshold value bth. If the condition (condition 1 in FIG. 4) is satisfied, it is determined that network congestion has occurred and the state has changed to a congestion state. When the above condition 1 is not satisfied, it is determined that the normal state continues.
  • the packet loss rate a [%] is not less than the packet loss threshold ath [%] and the data packet reception interval jitter b is shorter than the data packet reception interval jitter threshold bth (condition 2 in FIG. 4).
  • the packet loss rate a [%] is not less than the packet loss threshold ath [%] and the data packet reception interval jitter b is shorter than the data packet reception interval jitter threshold bth (condition 2 in FIG. 4).
  • the control packet transmission rate determination unit 12 changes the transmission timing of the control packet to a short cycle when the network congestion degree transitions from the normal state to the congestion state because the condition 1 is satisfied in the normal state. That is, the control packet transmission rate determination unit 12 increases the transmission rate of the control packet.
  • the control packet transmission rate determination unit 12 changes the transmission timing of the control packet to a long cycle. That is, the control packet transmission rate determination unit 12 reduces the control packet transmission rate.
  • control packet transmission rate at high speed and the control packet transmission rate at low speed may be set in advance for the receiving terminal 1.
  • FIG. 5 shows an example of the control packet.
  • the control packet includes at least a final received packet field and a lost packet list field.
  • the control packet creation unit 14 describes the maximum value of the sequence number of the data packet that can be normally received by the receiving terminal and the reception time.
  • the control packet creation unit 14 describes the sequence numbers and packet loss times of all data packets (loss packets) that the receiving terminal 1 has failed to receive. Since the reception time of the lost packet is unknown, the control packet creation unit 14 estimates the reception time of each lost packet from the time of the data packet that has been successfully received before and after the lost packet, and sets the loss as the packet loss time. Describe in the packet list field.
  • the sequence number 1 and the reception time T1 of the data packet T1 are described in the final reception packet field, and the data packets 2, 4 are stored in the loss packet list field. 5 sequence numbers (2, 4, 5) and their packet loss times are described.
  • the packet loss time of the data packet 2 is estimated from the reception times T1 and T3 of the data packets 1 and 3, and the packet loss time of the data packets 4 and 5 is estimated from the reception times T3 and T6 of the data packets 3 and 6. Is done.
  • the control packet creation unit 14 interpolates at the reception times T1 and T3 according to the equation (2) to calculate the packet loss time T2 of the data packet 2.
  • T2 T1 + (T3-T1) / 2 (2)
  • the control packet transmitted from the receiving terminal 1 to the transmitting terminal 2 is analyzed by the control packet analyzing unit 24 of the transmitting terminal 2.
  • the control packet analyzer 24 first extracts the last received packet field and the lost packet list field of the control packet. Then, the control packet analysis unit 24 deletes the data packet corresponding to the sequence number included in the last received packet field and each data packet corresponding to the sequence number before the data packet from the data packet storage unit 23. As a result, the data packet transmitted before the first packet loss occurs is deleted from the data packet storage unit 23. These data packets can be normally received by the receiving terminal 1.
  • control packet analysis unit 24 notifies the loss packet retransmission unit 22 of the sequence number of the lost packet described in the lost packet list field, and transmits the description contents of the last received packet field and the lost packet list field to the data packet. It outputs to the speed determination part 25.
  • the lost packet retransmission unit 22 reads out the data packet corresponding to the sequence number of each lost packet notified from the control packet analysis unit 24 from the data packet storage unit 23 and outputs the data packet to the data packet transmission rate control unit 21 for retransmission. .
  • the data packet transmission rate determining unit 25 determines the data packet transmission rate based on the contents of the last received packet field and the lost packet list field received from the control packet analyzing unit 24.
  • the data packet transmission rate determination unit 25 determines the data packet transmission rate based on a plurality of final received packet fields and a lost packet list field. That is, when the control packet analysis unit 24 receives a predetermined number of control packets set in advance and passes the last received packet field and the lost packet list field of the predetermined number of control packets to the data packet transmission rate determination unit 25.
  • the data packet transmission rate determination unit 25 preferably determines the data packet transmission rate.
  • FIG. 6 shows that when the predetermined number of control packets set for the control packet analysis unit 24 is 3, when the control packet analysis unit 24 receives three control packets, the data packet transmission rate determination unit 25 Specific examples of the last received packet field and the lost packet list field that are output are shown. Note that a control packet with a smaller number is received earlier.
  • sequence packet number and the reception time T1 of the data packet 1 are described in the last received packet field of the control packet 1, and the data packets 2, 4 to be lost packets are stored in the lost packet list field. 5 sequence number and packet loss time.
  • sequence packet number and the reception time T4 of the data packet 4 are described in the last received packet field of the control packet 2, and the data packets 5, 6, 10, 11, 15 sequence numbers and packet loss times are described.
  • the last received packet field of the control packet 3 describes the sequence number of the data packet 15 and the reception time T15, and the lost packet list field contains data packets 16, 18, 20, 24 that are lost packets. , 25, 30 sequence numbers and packet loss times are described.
  • the data packet transmission rate determining unit 25 determines the data packet transmission rate by predicting the network congestion degree at a future time based on the time variation of the number of lost packets. A process in which the data packet transmission rate determination unit 25 calculates the time variation of the number of lost packets will be described.
  • the data packet transmission rate determination unit 25 first identifies a loss packet (hereinafter referred to as a duplicate loss packet) that is duplicated in the loss packet list of the three control packets.
  • a loss packet hereinafter referred to as a duplicate loss packet
  • the lost packet 5 described in the lost packet list of the control packet 1 and the control packet 2 corresponds.
  • the data packet transmission rate determination unit 25 excludes the duplicate loss packet from the entire loss packet list excluding the “loss packet list in which the duplicate loss packet is listed last”.
  • the lost packet 5 is deleted from the lost packet list of the control packet 1.
  • FIG. 7 among the three lost packet lists, the lost packet 5 is described only in the lost packet list of the control packet 2.
  • the data packet transmission rate determination unit 25 refers to the sequence numbers of the respective loss packets described in the three loss packet lists shown in FIG. 7, and stores each loss packet stored in the data packet storage unit 23. The data size of a data packet having the same sequence number as the sequence number is acquired. Then, the data packet transmission rate determining unit 25 sets the reception time described in the three last received packet fields and the packet loss time described in the lost packet list field shown in FIG. The two-dimensional graph of FIG. The lost packet cumulative value is a total data size of lost packets described in the lost packet list at a time before the packet loss time.
  • the total lost packet size value at the packet loss time T10 is the lost packets 5, 6, 10 (Since control packet 2 is referred to, the sequence number of the last received packet is 4, the size of lost packets 2 and 4 described in control packet 1 is not included).
  • the data packet transmission rate determination unit 25 approximates the straight line graph composed of the packet loss time and the total lost packet size value shown in FIG. 8 using an approximation algorithm such as a least square method for each control packet.
  • the result of linear approximation of the straight line graph for each of the control packets 1, 2, and 3 in FIG. 8 is shown as straight lines 1, 2, and 3 in FIG.
  • the straight line 1 corresponds to the packet loss traffic (loss packet traffic) in the data packet traffic transmitted from the transmitting terminal 2 to the receiving terminal 1 in T1 to T4).
  • the data packet transmission rate determination unit 25 determines the transmission rate of the data packet by obtaining the dispersion values of the inclinations 1, 2, and 3 of the three straight lines shown in FIG. Specifically, for example, when the variance value is smaller than a preset threshold value, it is determined that “the packet loss has occurred but the network congestion is low”, and the data packet transmission rate is increased by a predetermined amount. Turn into. This predetermined amount may be set in advance. On the other hand, if the variance values of the slopes 1, 2, and 3 are greater than or equal to a preset threshold value, it is determined that the network congestion level is increasing and corresponds to the maximum value of the slopes 1, 2, and 3. Decrease the data packet transmission rate by as much.
  • the data packet transmission rate determination unit 25 may determine the data packet transmission rate using a method other than the above. For example, the data packet transmission rate determination unit 25 linearly approximates the slopes of the three straight lines 1, 2, and 3 shown in FIG. 9 that are lost packet traffic using an approximation algorithm such as the least square method, and creates the straight line shown in FIG. To do. Thereafter, the data packet transmission rate determination unit 25 predicts the loss packet traffic of the control packet (in this case, the control packet 4) received by the transmitting terminal 2 that is not currently received and at a future time using the straight line in FIG. To do.
  • the control packet in this case, the control packet 4
  • the data packet transmission rate determination unit 25 determines that the network congestion is high, and reduces the data packet transmission rate by an amount corresponding to the lost packet traffic 4. On the other hand, when the slope of the straight line is negative, the data packet transmission rate determination unit 25 determines that the network congestion level is low and corresponds to the minimum value of the lost packet traffic 1, 2, 3, 4 The data packet transmission speed is increased by the amount of data.
  • the data packet transmission rate control unit 21 transmits all data packets including the lost packet to be retransmitted at the data packet transmission rate set by the data packet transmission rate control unit 21.
  • the data transmission system 100 measures the network data by the receiving terminal, predicts the network congestion degree at the future time based on the network data measured by the receiving terminal, and predicts the network congestion.
  • the control packet transmission rate of the receiving terminal and the data packet transmission rate of the transmitting terminal are determined according to the degree. By doing so, it is possible to set the transmission speed of the control packet and the data packet by following the degree of congestion of the network, and to prevent transmission delay, packet loss and the like due to network congestion. Therefore, data transmission can be efficiently performed even in a network in which the network congestion degree changes in a short period.
  • FIG. 11 shows a data transmission system 200 according to the second embodiment of the present invention.
  • the data transmission system 200 includes a receiving terminal 5 and a transmitting terminal 6 connected by a network 3.
  • the same reference numerals are given to components having the same configuration or function as those of the data transmission system 100 of the first embodiment shown in FIG. In the description of, detailed description of these components is omitted.
  • the receiving terminal 5 includes a network data measurement unit 11, a data packet transmission rate determination unit 55, a control packet transmission rate determination unit 52, a control packet creation unit 54, and a control packet transmission rate control unit 15.
  • the data packet transmission rate determination unit 55 is not provided in the receiving terminal 1 of the data transmission system 100.
  • the control packet transmission rate determination unit 52 determines the transmission rate of the control packet by a method different from that of the control packet transmission rate determination unit 12 of the receiving terminal 1, and the control packet creation unit 54 14 creates a control packet that is different from the control packet created by 14. Further, the receiving terminal 5 is not provided with the control packet transmission rate determining unit 12 provided in the receiving terminal 1.
  • the data packet transmission rate determination unit 55 uses the network data measured by the network data measurement unit 11 to determine the transmission rate of the data packet transmitted by the transmission terminal 6 at a future time.
  • the determination method is the same as that by the data packet transmission rate determination unit 25 in the transmission terminal 2 of the data transmission system 100, and detailed description thereof is omitted here.
  • the control packet transmission rate determination unit 52 transmits the data packet transmission rate determination unit 55 from the reception terminal 5 to the transmission terminal 6 according to the network congestion level obtained when the transmission rate of the data packet by the transmission terminal 6 is determined. Determine the transmission rate of control packets.
  • the control packet created by the control packet creation unit 54 is further transmitted in addition to the last received packet field and the lost packet list field that are the same as the control packet created by the control packet analysis unit 24 in the receiving terminal 1 of the data transmission system 100. Contains a velocity field.
  • the control packet creation unit 54 describes the data packet transmission rate determined by the data packet transmission rate determination unit 55 in the data packet transmission rate field.
  • control packet created by the control packet creation unit 54 is transmitted to the transmission terminal 6 by the control packet transmission rate control unit 15 at the transmission rate determined by the network data measurement unit 11.
  • the transmission terminal 6 includes a data packet transmission rate control unit 21, a data packet shaping unit 66, a lost packet retransmission unit 22, a data packet storage unit 23, and a control packet analysis unit 64.
  • the data packet shaping unit 66 is not provided in the transmission terminal 2 of the data transmission system 100.
  • the control packet transmitted from the receiving terminal 5 to the transmitting terminal 6 is different from the control packet transmitted from the receiving terminal 1 to the transmitting terminal 2 in the data transmission system 100.
  • the processing target of the control packet analysis unit 64 is a control packet different from the analysis target of the control packet analysis unit 24 in the transmission terminal 2.
  • the transmission terminal 6 is not provided with the data packet transmission rate determination unit 25 provided in the transmission terminal 2.
  • the control packet analysis unit 64 further extracts the data packet transmission rate described in the data packet transmission rate field of the control packet, in addition to the processing performed by the control packet analysis unit 24 in the transmission terminal 2 of the data transmission system 100.
  • the control packet analysis unit 64 outputs the extracted data packet transmission rate to the data packet transmission rate control unit 21.
  • the data packet shaping unit 66 shapes all data packets to be transmitted (including lost packets to be retransmitted) so as to have a preset packet size.
  • the data packet transmission rate control unit 21 transmits the data packet shaped by the data packet shaping unit 66 to the receiving terminal 5 at the data packet transmission rate output from the control packet analysis unit 64.
  • the size of the data packet transmitted from the transmitting terminal 2 to the receiving terminal 1 is different for each data packet, and the data packet size is not uniform.
  • the data packet shaping unit 66 of the transmission terminal 6 performs shaping so that the size of the data packet read from the data packet storage unit 23 becomes a predetermined size set in advance. (Step S15). Specifically, when the size of the data packet is smaller than the predetermined size, the data packet shaping unit 66 sets the size to a predetermined size by padding dummy data and then controls the data packet transmission rate control. The data is output to the unit 21 and transmitted to the receiving terminal 5.
  • the data packet shaping unit 66 divides the data packet into a plurality of packets having a predetermined size or less.
  • the data packet shaping unit 66 sets the size to a predetermined size by padding or the like.
  • the transmission rate of the control packet is determined by the control packet transmission rate determination unit 12 of the receiving terminal 1 using the network congestion model stored in the network congestion model storage unit 13. Further, the data packet transmission rate is determined based on the analysis result of the control packet by the data packet transmission rate determination unit 25 of the transmission terminal 2. In the data transmission system 200 of the present embodiment, both the control packet transmission rate and the data packet transmission rate are determined on the receiving terminal 5 side. Specifically, the data packet transmission rate determining unit 55 of the receiving terminal 5 determines the data packet transmission rate (step D6), and the control packet transmission rate determining unit 52 determines the control packet transmission rate. Further, the network congestion model is not used when determining either the control packet transmission rate or the data packet transmission rate.
  • the data transmission system 100 when determining the data packet transmission speed (S13 in FIG. 2), it is necessary to acquire the size of the lost packet to be retransmitted.
  • all data packets are shaped to the same predetermined size before being transmitted to the receiving terminal 5, so when determining the data packet transmission rate in step D6 of FIG.
  • the data packet transmission rate may be determined using a predetermined size set in advance.
  • control packet transmission rate determining unit 52 determines the control packet transmission rate (step D3 in FIG. 12)
  • the control packet transmission rate determining unit 52 determines the network determined by the data packet transmission rate determining unit 55 in step D6.
  • the control packet transmission rate is determined based on the degree of congestion. Specifically, for example, when the data packet transmission rate determination unit 55 determines that the network congestion level is a congestion state, the control packet transmission rate determination unit 52 increases the control packet transmission rate. On the other hand, when the data packet transmission rate determining unit 55 determines that the network congestion level is the normal state, the control packet transmission rate determining unit 52 decreases the control packet transmission rate.
  • the control packet creation unit 54 describes the description contents in the last received packet field and the lost packet list field. At the same time, in order to notify the transmission terminal 6 of the data packet transmission rate determined by the data packet transmission rate determination unit 55, the control packet creation unit 54 further describes the control packet by describing the data packet transmission rate in the transmission rate field. Create (step D4).
  • the control packet transmission rate control unit 15 transmits the control packet created by the control packet creation unit 54 in Step D4 to the transmission terminal 6 at the control packet transmission rate decided by the control packet transmission rate decision unit 52 in Step D3 (Step S4). D5).
  • control packet analysis unit 64 of the transmission terminal 6 further receives the data packet transmission rate from the data packet transmission rate field in the received control packet. Is extracted and set in the data packet transmission rate control unit 21 (step S23).
  • a predetermined data packet size is set for the receiving terminal 5 and the transmitting terminal 6 in order to unify the data packet size.
  • the transmission terminal 6 shapes the data packet so that the data packet to be transmitted to the reception terminal 5 has the predetermined size.
  • FIG. 13 an example of a data packet shaping process by the transmission terminal 6 will be described.
  • FIG. 13 shows an example in which the transmission terminal 6 shapes the data packet 1 smaller than the set predetermined size and the data packet 2 larger than the predetermined size into data packets of a predetermined size.
  • the transmission terminal 6 first divides the data packet 2 into two data packets 2a and 2b. At this time, the sum of the sizes of the data packet 2a and the data packet 1 is set to a predetermined size. Then, the transmission terminal 6 connects the data packet 1 and the data packet 2a to create the shaped data packet 1. For the other data packet 2b obtained by dividing the data packet 2, the transmitting terminal 6 sets the size to a predetermined size by padding dummy data, and obtains the shaped data packet 2.
  • the size of the data packet 2b obtained by the division is smaller than the predetermined size. If the size of the data packet 2b is larger than the predetermined size, the data packet 2b may be further shaped, for example, by dividing it into a data packet of a predetermined size and another data packet.
  • FIG. 14 shows the configuration of the control packet created by the control packet creation unit 54 in the receiving terminal 5 of the data transmission system 200.
  • the control packet in the data transmission system 200 has a data packet transmission rate field in which the data packet transmission rate determined on the receiving terminal 5 side is described.
  • the receiving terminal 5 side determines the data packet transmission rate and notifies the transmitting terminal 6 and the transmitting terminal 6 side transmits at the notified data packet transmission rate.
  • the last received packet field of the control packet in the data transmission system 200 only the maximum value of the sequence number of the data packet successfully received by the receiving terminal is described, and the reception time of the data packet is described as unnecessary. It has not been.
  • the lost packet list field only the sequence number of each lost packet is described, and the packet loss time is not described as unnecessary.
  • the data transmission system 200 of the present embodiment has the following advantages in addition to the effects obtained by the data transmission system 100.
  • the transmission terminal 6 when the transmission terminal 6 transmits a data packet (including a loss packet to be retransmitted) to the reception terminal 5, the transmission terminal 6 shapes the data packet so as to have the same size. Thereby, it is not necessary to describe the reception time and the packet loss time of the last received packet in the control packet returned from the receiving terminal 5 to the transmitting terminal 6, and the size of the control packet can be reduced. Further, since the control packet transmission rate determination unit 52 and the data packet transmission rate determination unit 55 determine the control packet transmission rate and the data packet transmission rate by the same method, the control packet transmission rate determination unit 52 determines the data packet transmission rate determination. Part of the calculation results obtained by the unit 55 can be used, and the process for determining the transmission rate of the control packet can be speeded up. These have an advantageous feature that high-speed data transmission can be realized even when the number of transmitting terminals is increased.
  • the receiving terminal 5 determines the control packet transmission rate and the data packet transmission rate without using the network congestion model, the storage capacity can be saved by the size of the network congestion model.
  • a model in which the network congestion level is roughly divided into a normal state and a congestion state as illustrated in FIG. 4 is used, but other states of the network congestion level are used.
  • a model to which state transition conditions are added may be used.
  • the network congestion model is used for determining the control packet transmission rate, and the network congestion model is not used for determining the data packet transmission rate.
  • the control packet transmission rate determination unit determines the control packet transmission rate without using the network congestion degree model, and the data packet transmission rate determination unit determines the data packet transmission rate using the network congestion degree model. Also good.
  • the network congestion model may be used when determining either the control packet transmission rate or the data packet transmission rate.
  • the method for determining the data packet transmission rate is not limited to the above-described methods.
  • the technology according to the present invention can be used in a data transmission system that collects log files for data center operation management, a content distribution system such as video and audio, and a data communication system in a thin client service.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Provided is a data transmission system (100) wherein: a transmitting terminal (2) and a receiving terminal (1) are connected to each other by a network (3); the transmitting terminal (2) transmits data packets to the receiving terminal (1) via the network (3); and the receiving terminal (1) transmits back a control packet to the transmitting terminal (2) upon receiving the data packets from the transmitting terminal (2). A network data measuring unit (11) of the receiving terminal (1) measures network data on the basis of which the congestion level of the network can be predicted. A control packet transmission rate determining means predicts, in each period having a predetermined length, the congestion level of the network by using the network data that has been measured over the period by the network data measuring unit (11), and determines, in accordance with the congestion level thus predicted, the transmission rate of a control packet to be transmitted from the receiving terminal (1). This configuration makes it possible to reliably follow the congestion level of the network.

Description

データ伝送システム、送信速度制御方法、受信端末、送信端末Data transmission system, transmission speed control method, receiving terminal, transmitting terminal
 本発明は、ネットワークで接続された端末間のデータ伝送技術に関する。 The present invention relates to a data transmission technique between terminals connected via a network.
 近年、WWW(World Wide Web)検索、データ通信、コンテンツ配信、サーバホスティング、シンクライアント(Thin Client)等の各種サービスを提供するデータセンタの大規模化が進んでいる。例えば、WWW検索サービス、データ通信サービス、コンテンツ配信サービスを中核事業とする一般的なインターネットサービスプロバイダが保有するデータセンタは、数千台規模のデータセンタ構成機器(サーバ、ストレージ、ルータおよびスイッチなどのネットワーク機器)で構成されている。 In recent years, the scale of data centers that provide various services such as WWW (World Wide Web) search, data communication, content distribution, server hosting, and thin client (Thin Client) has been increasing. For example, a data center owned by a general Internet service provider whose core business is a WWW search service, a data communication service, and a content distribution service has thousands of data center components (servers, storage, routers, switches, etc.) Network equipment).
 データセンタは、各種サービスをユーザに無停止で提供する必要がある。これを実現するために、データセンタ内に設置する運用管理サーバが、数千台規模のデータセンタ構成機器の稼働状況を常時監視し、データセンタ構成機器の故障や不具合を迅速に検出できるように運用管理を行っている。具体的には、例えば、運用管理サーバは、データセンタ構成機器が生成する稼働状況ログファイルを、データセンタ内の運用管理ネットワークを経由して収集する。上記運用管理サーバは、収集した稼働状況ログファイルを解析してデータセンタ構成機器の稼働状況を把握する。 The data center needs to provide various services to users without interruption. To achieve this, the operation management server installed in the data center can constantly monitor the operating status of thousands of data center components, and can quickly detect failures and malfunctions in data center components. Operation management is performed. Specifically, for example, the operation management server collects operation status log files generated by the data center constituent devices via an operation management network in the data center. The operation management server analyzes the collected operation status log file to grasp the operation status of the data center constituent devices.
 運用管理ネットワークでは、数千台規模のデータセンタ構成機器により生成される様々なサイズの稼働状況ログファイルの伝送がランダムに発生するため、通信トラヒック、ひいてはネットワーク混雑度(例えば「ネットワーク帯域-通信トラヒック」)は、短周期に変化する。ネットワーク混雑度が高い状態(輻輳状態)で、大量のデータパケットを送信しても、ネットワーク輻輳により、伝送遅延やパケットロスが頻発し、高速なデータ伝送はできない。一方、ネットワーク混雑度が低い状態(通常状態)で高速にデータ伝送するには、伝送遅延やパケットロスが発生しない範囲で送信可能なデータパケット量を見極める必要がある。 In an operation management network, transmission of operation status log files of various sizes generated by thousands of data center components occurs randomly, so communication traffic and network congestion (for example, “network bandwidth-communication traffic”). ") Changes in a short period. Even if a large amount of data packets are transmitted in a state where the network congestion is high (congestion state), transmission delay and packet loss frequently occur due to network congestion, and high-speed data transmission cannot be performed. On the other hand, in order to transmit data at high speed in a state where the network congestion is low (normal state), it is necessary to determine the amount of data packets that can be transmitted within a range where transmission delay and packet loss do not occur.
 このようなことから、高速なデータ伝送を実現するために、時々刻々と変化するネットワーク混雑度に追従して適切な速度でデータパケットを送信することが要求されている。 For this reason, in order to realize high-speed data transmission, it is required to transmit data packets at an appropriate speed following the ever-changing network congestion.
 特許文献1には、データパケットの受信速度に応じて、該データパケットを受信した端末(以下受信端末という)から、データパケットを送信した端末(以下送信端末という)に返送する確認応答パケットの送信速度と、上記送信端末から上記受信端末に以降に送信するデータパケットの送信速度とを設定する技術が開示されている。 In Patent Document 1, transmission of an acknowledgment packet that is returned from a terminal that receives the data packet (hereinafter referred to as a receiving terminal) to a terminal that transmits the data packet (hereinafter referred to as a transmitting terminal) according to the reception speed of the data packet. A technique for setting a speed and a transmission speed of a data packet to be subsequently transmitted from the transmitting terminal to the receiving terminal is disclosed.
 具体的には、受信端末は、データパケットを受信すると、その受信速度を測定すると共に、測定した受信速度が含まれる確認応答パケットを生成して送信端末に返送する。この際、受信端末は、上記受信速度に応じて確認応答パケットの送信速度を設定する。送信端末は、受信端末からの確認応答パケットに含まれる受信速度を取得し、該受信速度に応じて以降のデータパケットの送信速度を設定する。 Specifically, when the receiving terminal receives the data packet, it measures the receiving speed and generates an acknowledgment packet including the measured receiving speed and returns it to the transmitting terminal. At this time, the receiving terminal sets the transmission rate of the acknowledgment packet according to the reception rate. The transmission terminal acquires the reception speed included in the acknowledgment packet from the reception terminal, and sets the subsequent data packet transmission speed according to the reception speed.
 すなわち、この技術は、受信端末におけるデータパケットの受信速度をネットワーク混雑度の指標として利用し、それに応じて上記データパケットの受信後に行われる、受信端末からの確認応答パケットの送信の速度と送信端末からのデータパケットの送信の速度を調整している。 That is, this technique uses the reception speed of the data packet at the reception terminal as an index of the degree of network congestion, and accordingly, the transmission speed of the acknowledgment packet from the reception terminal and the transmission terminal performed after reception of the data packet. The data packet transmission speed from is adjusted.
特開2004-80070号公報Japanese Patent Laid-Open No. 2004-80070
 しかしながら、特許文献1の技術は、受信端末におけるデータパケットの過去の受信速度に基づいて、受信端末が現在送信する確認応答パケットの送信速度と、送信端末が現在送信するデータパケットの送信速度を設定している。受信端末におけるデータパケットの受信速度は、そのデータパケットが受信されたときのネットワーク混雑度の指標になり得るものの、受信端末が確認応答パケットを送信する際と、送信端末が以降のデータパケットを送信する際のネットワーク混雑度の指標になり得るとは限らない。 However, the technique of Patent Document 1 sets the transmission rate of the acknowledgment packet currently transmitted by the receiving terminal and the transmission rate of the data packet currently transmitted by the transmitting terminal based on the past receiving rate of the data packet at the receiving terminal. is doing. Although the receiving speed of the data packet at the receiving terminal can be an indicator of the degree of network congestion when the data packet is received, when the receiving terminal transmits an acknowledgment packet, the transmitting terminal transmits subsequent data packets. It may not be an index of the degree of network congestion.
 例えば、前述したデータセンタ内の運用管理ネットワークのような、ネットワーク混雑度が短周期に変化するネットワークを想定してみる。該ネットワークでは、受信端末におけるデータパケットの受信時のネットワーク混雑度と、受信端末が上記データパケットを受信し該データパケットに対して送信速度を設定する際のネットワーク混雑度および送信端末が上記データパケットに対する応答確認パケットを受信した後にデータパケットの送信速度を設定する際のネットワーク混雑度とは、大きく異なる場合がある。このような場合、特許文献1に開示された技術では、現在のネットワーク混雑度に追従した適切な送信速度によるデータパケットの送信ができない。 Suppose, for example, a network in which the network congestion level changes in a short cycle, such as the operation management network in the data center described above. In the network, the network congestion level at the time of receiving a data packet at the receiving terminal, the network congestion level when the receiving terminal receives the data packet and sets the transmission speed for the data packet, and the transmitting terminal The network congestion level when setting the transmission rate of the data packet after receiving the response confirmation packet may differ greatly. In such a case, the technique disclosed in Patent Document 1 cannot transmit data packets at an appropriate transmission rate that follows the current network congestion level.
 本発明は、上記事情に鑑みてなされたものであり、ネットワーク混雑度に確実に追従することができるデータパケットの送信技術を提供する。 The present invention has been made in view of the above circumstances, and provides a data packet transmission technique that can reliably follow the degree of network congestion.
 本発明の1つの態様は、データ伝送システムにおける送信速度の制御方法である。データ伝送システムは、送信端末と受信端末がネットワークにより接続されている。送信端末は、ネットワークを介してデータパケットを受信端末に送信し、受信端末は、送信端末からのデータパケットの受信に応じて送信端末に確認応答パケットを返送する。
 本発明の態様にかかる該制御方法は、上記のようなデータ伝送システムにおいて、受信端末により、ネットワークの混雑度を予測可能なネットワークデータを測定し、所定長の期間毎に、該期間に亘って測定したネットワークデータを用いてネットワークの混雑度を予測し予測した混雑度に応じて受信端末から送信する確認応答パケットの送信速度を決定する。
One aspect of the present invention is a method for controlling a transmission rate in a data transmission system. In a data transmission system, a transmission terminal and a reception terminal are connected by a network. The transmitting terminal transmits a data packet to the receiving terminal via the network, and the receiving terminal returns an acknowledgment packet to the transmitting terminal in response to reception of the data packet from the transmitting terminal.
In the control method according to the aspect of the present invention, in the data transmission system as described above, the network data capable of predicting the congestion degree of the network is measured by the receiving terminal, and the data is transmitted every predetermined period. A network congestion degree is predicted using the measured network data, and a transmission rate of an acknowledgment packet transmitted from the receiving terminal is determined according to the predicted congestion degree.
 なお、上記態様の方法をデータ伝送システムに置き換えて表現したもの、該データ伝送システムにおける受信端末または送信端末、該方法の一部をコンピュータに実行せしめるプログラムも、本発明の態様としては有効である。 Note that a method in which the method of the above aspect is replaced with a data transmission system, a reception terminal or a transmission terminal in the data transmission system, and a program that causes a computer to execute a part of the method are also effective as an aspect of the present invention. .
 本発明にかかる技術によれば、ネットワーク混雑度に確実に追従した適切な速度でデータ伝送ができる。 According to the technology of the present invention, data transmission can be performed at an appropriate speed that reliably follows the degree of network congestion.
本発明の第1の実施の形態にかかるデータ伝送システムを示す図である。It is a figure which shows the data transmission system concerning the 1st Embodiment of this invention. 図1に示すデータ伝送システムによる処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by the data transmission system shown in FIG. 受信端末側におけるデータパケットの受信状況の一例を示す図である。It is a figure which shows an example of the reception condition of the data packet in the receiving terminal side. ネットワーク混雑度モデルの一例を示す図である。It is a figure which shows an example of a network congestion degree model. 図1に示すデータ伝送システムにおける受信端末が作成した制御パケットの構成例を示す図である。It is a figure which shows the structural example of the control packet which the receiving terminal produced in the data transmission system shown in FIG. 図1に示すデータ伝送システムにおいてデータパケット送信速度を決定する際に用いる制御パケットの例を説明するための図である(その1)。FIG. 3 is a diagram for explaining an example of a control packet used when determining a data packet transmission rate in the data transmission system shown in FIG. 1 (part 1); 図1に示すデータ伝送システムにおいてデータパケット送信速度を決定する際に用いる制御パケットの例を説明するための図である(その2)。FIG. 3 is a diagram for explaining an example of a control packet used when determining a data packet transmission rate in the data transmission system shown in FIG. 1 (part 2); 図1に示すデータ伝送システムにおいてデータパケット送信速度を決定する際の手法を説明するための図である(その1)。FIG. 3 is a diagram for explaining a method for determining a data packet transmission rate in the data transmission system shown in FIG. 1 (part 1); 図1に示すデータ伝送システムにおいてデータパケット送信速度を決定する際の手法を説明するための図である(その2)。FIG. 3 is a diagram for explaining a technique for determining a data packet transmission rate in the data transmission system shown in FIG. 1 (part 2); 図1に示すデータ伝送システムにおいてデータパケット送信速度を決定する際の別の手法を説明するための図である。It is a figure for demonstrating another method at the time of determining a data packet transmission rate in the data transmission system shown in FIG. 本発明の第2の実施の形態にかかるデータ伝送システムを示す図である。It is a figure which shows the data transmission system concerning the 2nd Embodiment of this invention. 図11に示すデータ伝送システムによる処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process by the data transmission system shown in FIG. 図11に示すデータ伝送システムの送信端末におけるデータパケット整形部を説明するための図である。It is a figure for demonstrating the data packet shaping part in the transmission terminal of the data transmission system shown in FIG. 図1に示すデータ伝送システムの受信端末が作成した制御パケットの構成を示す図である。It is a figure which shows the structure of the control packet which the receiving terminal of the data transmission system shown in FIG. 1 produced.
 説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
<第1の実施の形態>
For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. Each element described in the drawings as a functional block for performing various processes can be configured by a CPU, a memory, and other circuits in terms of hardware, and a program loaded in the memory in terms of software. Etc. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one.
<First Embodiment>
 図1は、本発明の第1の実施の形態にかかるデータ伝送システム100を示す。データ伝送システム100は、受信端末1と送信端末2を備える。受信端末1と送信端末2は、データ通信機能、プログラム制御によるデータ処理機能、情報記憶機能等を具備するコンピュータやワークステーションであり、相互にデータ通信ができるようにネットワーク3で接続されている。 FIG. 1 shows a data transmission system 100 according to a first embodiment of the present invention. The data transmission system 100 includes a receiving terminal 1 and a transmitting terminal 2. The receiving terminal 1 and the transmitting terminal 2 are a computer or a workstation having a data communication function, a data processing function by program control, an information storage function, and the like, and are connected by a network 3 so as to be able to perform data communication with each other.
 受信端末1は、送信端末2からのデータパケットを受信すると共に、後述する制御パケットを送信端末2に返送する。受信端末1は、ネットワークデータ測定部11、制御パケット送信速度決定部12、ネットワーク混雑度モデル記憶部13、制御パケット作成部14、制御パケット送信速度制御部15を備える。 The receiving terminal 1 receives a data packet from the transmitting terminal 2 and returns a control packet to be described later to the transmitting terminal 2. The receiving terminal 1 includes a network data measurement unit 11, a control packet transmission rate determination unit 12, a network congestion level model storage unit 13, a control packet creation unit 14, and a control packet transmission rate control unit 15.
 受信端末1が送信端末2からデータパケットを受信すると、ネットワークデータ測定部11は、今後のネットワーク混雑度を予測するためのネットワークデータを測定する。これらのネットワークデータは、たとえばロスパケットの有無、データパケットの受信時刻等を示すデータである。ネットワークデータ測定部11は、受信したデータパケットのシーケンス番号を確認することにより、上記ネットワークデータを測定する。 When the receiving terminal 1 receives a data packet from the transmitting terminal 2, the network data measuring unit 11 measures network data for predicting the future network congestion. These network data are data indicating, for example, the presence / absence of a lost packet, the reception time of the data packet, and the like. The network data measuring unit 11 measures the network data by confirming the sequence number of the received data packet.
 制御パケット作成部14は、送信端末2に返送する確認応答パケットを作成する。以下の説明において、確認応答パケットを制御パケットともいう。 The control packet creation unit 14 creates an acknowledgment packet to be sent back to the transmission terminal 2. In the following description, the acknowledgment packet is also referred to as a control packet.
 ネットワーク混雑度モデル記憶部13は、ネットワークデータから計算するパケットロス率やデータパケット受信間隔ジッタ(データパケット受信間隔の分散値)等と、将来時刻におけるネットワーク混雑度との関係を示すネットワーク混雑度モデルを記憶している。 The network congestion degree model storage unit 13 is a network congestion degree model indicating the relationship between the packet loss rate calculated from network data, the data packet reception interval jitter (dispersion value of the data packet reception interval), and the network congestion degree at a future time. Is remembered.
 制御パケット送信速度決定部12は、制御パケットの送信速度を決定するものである。具体的には、まず、制御パケット送信速度決定部12は、ネットワークデータ測定部11が測定したネットワークデータを用いて、パケットロス率、データパケット受信間隔ジッタ等を計算する。そして、制御パケット送信速度決定部12は、ネットワーク混雑度モデル記憶部13に予め記憶されたネットワーク混雑度モデルを参照して、上記パケットロス率、データパケット受信間隔ジッタの計算結果に基づき将来時刻のネットワーク混雑度を予測する。その後、制御パケット送信速度決定部12は、将来時刻のネットワーク混雑度の予測結果に基づき制御パケットの最適な送信速度を決定する。すなわち、本実施の形態において、制御パケット送信速度決定部12は、請求項でいう第1の混雑度予測部(図示せず)を含む。なお、制御パケットの送信速度の決定に関しては、制御パケット送信速度決定部12は、例えば次のようにする。輻輳状態では、データパケット送信速度をきめ細かく制御する必要があるため、制御パケット送信速度決定部12は、制御パケット送信速度を高速化する。一方、通常状態では、ネットワーク帯域に余裕があるためデータパケット送信速度を厳密に制御しなくとも伝送効率に大きな影響がないので、制御パケット送信速度決定部12は、制御パケット送信速度を低速化する。 The control packet transmission rate determination unit 12 determines the transmission rate of the control packet. Specifically, first, the control packet transmission rate determination unit 12 calculates a packet loss rate, a data packet reception interval jitter, and the like using the network data measured by the network data measurement unit 11. Then, the control packet transmission rate determination unit 12 refers to the network congestion model stored in advance in the network congestion model storage unit 13 and determines the future time based on the calculation result of the packet loss rate and the data packet reception interval jitter. Predict network congestion. Thereafter, the control packet transmission rate determination unit 12 determines the optimal transmission rate of the control packet based on the prediction result of the network congestion degree at the future time. That is, in the present embodiment, the control packet transmission rate determining unit 12 includes a first congestion degree predicting unit (not shown) in the claims. Regarding the determination of the transmission rate of the control packet, the control packet transmission rate determination unit 12 performs, for example, as follows. Since the data packet transmission rate needs to be finely controlled in the congestion state, the control packet transmission rate determination unit 12 increases the control packet transmission rate. On the other hand, in the normal state, since there is a margin in the network bandwidth, the transmission efficiency is not greatly affected even if the data packet transmission rate is not strictly controlled. Therefore, the control packet transmission rate determination unit 12 reduces the control packet transmission rate. .
 制御パケット送信速度制御部15は、ネットワーク3を介して、制御パケット送信速度決定部12が決定した送信速度で、制御パケット作成部14が作成した制御パケットを送信端末2に送信する。 The control packet transmission rate control unit 15 transmits the control packet created by the control packet creation unit 14 to the transmission terminal 2 via the network 3 at the transmission rate decided by the control packet transmission rate decision unit 12.
 送信端末2は、受信端末1にデータパケットを送信するものであり、データパケット送信速度制御部21、ロスパケット再送部22、データパケット記憶部23、制御パケット解析部24およびデータパケット送信速度決定部25を備える。 The transmission terminal 2 transmits a data packet to the reception terminal 1, and includes a data packet transmission rate control unit 21, a loss packet retransmission unit 22, a data packet storage unit 23, a control packet analysis unit 24, and a data packet transmission rate determination unit. 25.
 データパケット記憶部23は、送信端末2が受信端末1に伝送するデータパケットを記憶する。 The data packet storage unit 23 stores data packets transmitted from the transmission terminal 2 to the reception terminal 1.
 制御パケット解析部24は、受信端末1から受信した制御パケットを解析して、ロスパケットのシーケンス番号およびパケットロス時刻を抽出する。なお、ロスパケットは、送信端末2から受信端末1に伝送する全データパケットの内、受信端末1が正常に受信できなかったデータパケットである。パケットロス時刻は、ロスパケットの推定受信時刻である。また、制御パケット解析部24は、解析結果に基づき、1つ目のロスパケットの前に送信したすべてのデータパケットをデータパケット記憶部23から削除する。 The control packet analysis unit 24 analyzes the control packet received from the receiving terminal 1 and extracts the sequence number and packet loss time of the lost packet. Note that the loss packet is a data packet that cannot be normally received by the receiving terminal 1 among all data packets transmitted from the transmitting terminal 2 to the receiving terminal 1. The packet loss time is an estimated reception time of a lost packet. Further, the control packet analysis unit 24 deletes all data packets transmitted before the first loss packet from the data packet storage unit 23 based on the analysis result.
 データパケット送信速度決定部25は、受信端末1に送信するデータパケットの送信速度を決定する。なお、データパケット送信速度決定部25は、初めて受信端末1に送信するデータパケットの送信速度のみならず、ロスパケットを再送する際の送信速度も決定する。また、詳細については後述するが、データパケット送信速度決定部25は、ネットワークの混雑度を予測すると共に、予測した混雑度に応じてデータパケットの送信速度を決定するものである。すなわち、本実施の形態において、データパケット送信速度決定部25は、請求項でいう第2の混雑度予測部(図示せず)を含む。 The data packet transmission rate determining unit 25 determines the transmission rate of the data packet to be transmitted to the receiving terminal 1. The data packet transmission rate determination unit 25 determines not only the transmission rate of the data packet transmitted to the receiving terminal 1 for the first time, but also the transmission rate when resending the lost packet. Although details will be described later, the data packet transmission rate determination unit 25 predicts the congestion level of the network and determines the transmission rate of the data packet according to the predicted congestion level. That is, in the present embodiment, the data packet transmission rate determining unit 25 includes a second congestion degree predicting unit (not shown) in the claims.
 データパケット送信速度制御部21は、データパケット送信速度決定部25が決定した送信速度でデータパケット(ロスパケットに対応するデータパケットを含む)を受信端末1に送信する。 The data packet transmission rate control unit 21 transmits data packets (including data packets corresponding to loss packets) to the receiving terminal 1 at the transmission rate determined by the data packet transmission rate determination unit 25.
 ロスパケット再送部22は、制御パケット解析部24による解析結果を参照して、受信端末1に正常送信できたと確認できたデータパケットをデータパケット記憶部23から消去する。一方、ロスパケットについては、ロスパケット再送部22は、制御パケット解析部24からのロスパケットのシーケンス番号に対応するデータパケットをデータパケット記憶部23から読み出して、データパケット送信速度制御部21に出力して再送させる。 The loss packet retransmission unit 22 refers to the analysis result by the control packet analysis unit 24 and erases the data packet that has been confirmed to have been normally transmitted to the receiving terminal 1 from the data packet storage unit 23. On the other hand, for the lost packet, the lost packet retransmission unit 22 reads the data packet corresponding to the sequence number of the lost packet from the control packet analysis unit 24 from the data packet storage unit 23 and outputs it to the data packet transmission rate control unit 21. And have them resend.
 次いで、図2のフローチャートを参照して本実施の形態のデータ伝送システム100による処理の流れを説明する。
 送信端末2によるデータ伝送開始時に、受信端末1がデータパケット受信可能な状態にあると仮定して動作を説明する。本仮定は、例えば、受信端末1がデータパケットを常時受信できるようにデータパケット受信処理(図2におけるステップD1)を担うプログラムをサーバプログラムとして受信端末1に常時起動しておく等の方法により成立する。
Next, the flow of processing by the data transmission system 100 of this embodiment will be described with reference to the flowchart of FIG.
The operation will be described on the assumption that the receiving terminal 1 is ready to receive data packets at the start of data transmission by the transmitting terminal 2. This assumption is established by, for example, a method in which a program responsible for data packet reception processing (step D1 in FIG. 2) is always started as a server program in the receiving terminal 1 so that the receiving terminal 1 can always receive data packets. To do.
 送信端末2は、例えばログファイルから生成されるデータパケットがデータパケット記憶部23に一定量以上記憶された場合、データ伝送を開始する(ステップS1)。送信端末2は、データパケット記憶部23から、データパケットを読み込んで、受信端末1にデータパケット送信を開始する(ステップS11)。さらに、送信端末2は、受信端末1が送信する制御パケットを受信するために、制御パケット受信を開始する(ステップS21)。 The sending terminal 2 starts data transmission when, for example, a data packet generated from a log file is stored in the data packet storage unit 23 in a certain amount or more (step S1). The transmission terminal 2 reads the data packet from the data packet storage unit 23 and starts data packet transmission to the reception terminal 1 (step S11). Further, the transmitting terminal 2 starts receiving control packets in order to receive the control packet transmitted by the receiving terminal 1 (step S21).
 受信端末1は、送信端末2が送信するデータパケットを一定期間に渡って受信しながら(ステップS12、D1)、ネットワークデータを測定する(ステップD2)。次に、受信端末1は、測定したネットワークデータからパケットロス率、データパケット受信間隔ジッタ等を算出すると共に、ネットワーク混雑度モデル記憶部13に記憶されたネットワーク混雑度モデルを参照して将来時刻でのネットワーク混雑度を予測する。そして、受信端末1は、予測した将来時刻でのネットワーク混雑度に基づき制御パケット送信速度を決定する(ステップD3)。その後、制御パケット作成部14は、ロスパケットのシーケンス番号およびパケットロス時刻等を記載した制御パケットを作成する(ステップD4)。制御パケット送信速度制御部15は、ステップD3で決定された制御パケット送信速度に従って、制御パケット作成部14が作成した制御パケットを送信端末2に送信する(ステップD5)。 The receiving terminal 1 measures the network data (step D2) while receiving the data packet transmitted from the transmitting terminal 2 over a certain period (step S12, D1). Next, the receiving terminal 1 calculates a packet loss rate, a data packet reception interval jitter, and the like from the measured network data, and refers to the network congestion model stored in the network congestion model storage unit 13 at a future time. Predict network congestion. Then, the receiving terminal 1 determines the control packet transmission rate based on the predicted network congestion at the future time (step D3). Thereafter, the control packet creation unit 14 creates a control packet that describes the sequence number of the lost packet, the packet loss time, and the like (step D4). The control packet transmission rate control unit 15 transmits the control packet created by the control packet creation unit 14 to the transmission terminal 2 in accordance with the control packet transmission rate determined in step D3 (step D5).
 送信端末2において、制御パケット解析部24は、受信端末1から受信した制御パケットを解析し、ロスパケットのシーケンス番号およびパケットロス時刻等を抽出する(ステップS22、S23)と共に、制御パケットの後述する最終受信パケットフィールドに記載されたシーケンス番号以前のシーケンス番号に対応するデータパケットをデータパケット記憶部23から削除する。 In the transmission terminal 2, the control packet analysis unit 24 analyzes the control packet received from the reception terminal 1, extracts the sequence number of the lost packet, the packet loss time, and the like (steps S22 and S23), and the control packet will be described later. The data packet corresponding to the sequence number before the sequence number described in the last received packet field is deleted from the data packet storage unit 23.
 ロスパケット再送部22は、制御パケット解析部24から通知されたロスパケットのシーケンス番号に対応するデータパケットをデータパケット記憶部23から読み出して、データパケット送信速度制御部21に出力して再送させる(ステップS12)。並行して、データパケット送信速度決定部25は、制御パケット解析部24が抽出したロスパケットのシーケンス番号、パケットロス時刻、および該ロスパケットのパケットサイズに基づきデータパケット送信速度を決定する(ステップS13)。 The lost packet retransmission unit 22 reads out a data packet corresponding to the sequence number of the lost packet notified from the control packet analysis unit 24 from the data packet storage unit 23, and outputs the data packet to the data packet transmission rate control unit 21 for retransmission ( Step S12). In parallel, the data packet transmission rate determination unit 25 determines the data packet transmission rate based on the sequence number of the lost packet extracted by the control packet analysis unit 24, the packet loss time, and the packet size of the lost packet (step S13). ).
 データパケット送信速度制御部21は、ロスパケットを含む全データパケットを、ステップS13で決定したデータパケット送信速度に従って受信端末1に順次送信し、データパケット記憶部23に記憶される全データパケットが正常伝送された時点で処理を終了する(ステップS14、S2)。 The data packet transmission rate control unit 21 sequentially transmits all data packets including the loss packet to the receiving terminal 1 according to the data packet transmission rate determined in step S13, and all the data packets stored in the data packet storage unit 23 are normal. The process ends when the data is transmitted (steps S14 and S2).
 次に、具体例を挙げながらデータ伝送システム100をより詳細に説明する。
 受信端末1および送信端末2は、CPU(Central Processing Unit)等の演算処理部、入出力インターフェイス、記憶部等を備えたコンピュータ、ワークステーション、専用端末等により実現される。記憶部は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)、HDD(Hard Disk Drive)等である。また、受信端末1および送信端末2は、データパケットおよび制御パケットを伝送するための、イーサネット(登録商標)や無線LAN等に対応したネットワーク通信部を備えている。
Next, the data transmission system 100 will be described in more detail with specific examples.
The reception terminal 1 and the transmission terminal 2 are realized by a computer, a workstation, a dedicated terminal, or the like that includes an arithmetic processing unit such as a CPU (Central Processing Unit), an input / output interface, and a storage unit. The storage unit is, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), an HDD (Hard Disk Drive), or the like. The receiving terminal 1 and the transmitting terminal 2 include a network communication unit that supports Ethernet (registered trademark), a wireless LAN, and the like for transmitting data packets and control packets.
 受信端末1と送信端末2は、データパケット伝送のためにUDP(User Datagram Protocol)トランスポートプロトコルを使用することが望ましい。その理由は、UDPトランスポートプロトコルは、パケットの到着順序、ロスパケット再送等が保証されないが、高速にデータ伝送できるからである。本第1の実施の形態で想定するデータセンタ構成機器の稼働状況ログファイルから生成されるデータパケットは、データ伝送完了時(図2のステップS2)に全データパケットがパケットロスなく伝送されていれば、伝送過程のデータパケット到着順序の入れ替わりは問題にならない。 It is desirable that the receiving terminal 1 and the transmitting terminal 2 use a UDP (User Datagram Protocol) transport protocol for data packet transmission. This is because the UDP transport protocol does not guarantee the arrival order of packets, retransmission of lost packets, etc., but can transmit data at high speed. In the data packet generated from the operation status log file of the data center component device assumed in the first embodiment, all data packets are transmitted without packet loss when the data transmission is completed (step S2 in FIG. 2). For example, changing the order of arrival of data packets in the transmission process is not a problem.
 一方、受信端末1と送信端末2は、制御パケット伝送のためにTCP(Transmission Control Protocol)トランスポートプロトコルを使用することが望ましい。その理由は、本第1の実施の形態では、受信端末1が送信する制御パケットが、到着順序が入れ替わることなく送信端末2に到着することが望ましいからである。なぜならば、送信端末2がデータパケット送信速度を決定するために使用する制御パケットに記載されたネットワークデータは、パケットロス時刻に基づく時系列データであり、制御パケット到着順序が入れ替わった場合、適切にデータパケット送信速度を決定できないからである。 Meanwhile, it is desirable that the receiving terminal 1 and the transmitting terminal 2 use a TCP (Transmission Control Protocol) transport protocol for control packet transmission. This is because, in the first embodiment, it is desirable that the control packet transmitted by the receiving terminal 1 arrives at the transmitting terminal 2 without changing the arrival order. This is because the network data described in the control packet used by the transmitting terminal 2 to determine the data packet transmission rate is time-series data based on the packet loss time, and when the control packet arrival order is changed, This is because the data packet transmission rate cannot be determined.
 データ伝送が開始されると、送信端末2はデータパケット記憶部23に記憶されているデータパケットを抽出して、受信端末1に送信を開始する。上記データパケットには、データパケットの送信順序を示すシーケンス番号が少なくとも記載される。但し、当該データパケットのロスが起きた場合に当該データパケットは再送される必要があるため、送信端末2がデータパケット記憶部23からデータパケットを抽出した後も、当該データパケットはデータパケット記憶部23に記憶されたままである。 When the data transmission is started, the transmission terminal 2 extracts the data packet stored in the data packet storage unit 23 and starts transmission to the reception terminal 1. In the data packet, at least a sequence number indicating the transmission order of the data packet is described. However, since the data packet needs to be retransmitted when the data packet is lost, the data packet is stored in the data packet storage unit even after the transmission terminal 2 extracts the data packet from the data packet storage unit 23. 23 remains stored.
 受信端末1において、ネットワークデータ測定部11は、送信端末2から受信したデータパケットのシーケンス番号を確認して、ロスパケットの発生有無、データパケットの受信時刻等のネットワークデータを測定する。そして、制御パケット送信速度決定部12は、ネットワークデータ測定部11により一定期間に渡って測定したネットワークデータを用いて制御パケット送信速度を決定する。ネットワークデータの測定期間は、例えば時間単位または受信データパケット数単位等で設定される。 In the receiving terminal 1, the network data measuring unit 11 confirms the sequence number of the data packet received from the transmitting terminal 2 and measures network data such as the occurrence / non-occurrence of a loss packet and the reception time of the data packet. Then, the control packet transmission rate determination unit 12 determines the control packet transmission rate using the network data measured by the network data measurement unit 11 over a certain period. The network data measurement period is set, for example, in units of time or the number of received data packets.
 制御パケット送信速度決定部12による、制御パケット送信速度の決定を詳細に説明する。図3に示す状況を例に説明する。なお、図3において、実線枠は正常に受信できたデータパケットを示し、点線枠は、正常に受信できなかったデータパケット(ロスパケット)を示す。また、各枠中における数字は、該データパケットのシーケンス番号を示し、時刻Tの添え字が小さくなるほど過去時刻を示す。 The determination of the control packet transmission rate by the control packet transmission rate determination unit 12 will be described in detail. The situation shown in FIG. 3 will be described as an example. In FIG. 3, the solid line frame indicates a data packet that can be normally received, and the dotted line frame indicates a data packet (loss packet) that cannot be normally received. The number in each frame indicates the sequence number of the data packet, and indicates the past time as the subscript of time T becomes smaller.
 図3に示す例では、シーケンス番号1、3、6、7、8のデータパケット(以降ではデータパケット1、3、6、7、8と示す)は、それぞれ時刻T1、T3、T6、T7、T8に正常に受信されたデータパケットであり、データパケット2、4、5は、正常に受信できなかったロスパケットである。なお、時刻T8は、現在の時刻であり、ロスパケットとなるデータパケット2、4、5は、受信の失敗により、それらの受信時刻は不明である。 In the example shown in FIG. 3, data packets with sequence numbers 1, 3, 6, 7, and 8 (hereinafter referred to as data packets 1, 3, 6, 7, and 8) are time T1, T3, T6, T7, The data packets are normally received at T8, and the data packets 2, 4, and 5 are loss packets that cannot be normally received. Note that the time T8 is the current time, and the reception times of the data packets 2, 4, and 5 that are lost packets are unknown due to reception failure.
 図3に示す状況では、ネットワークデータ測定部11は、ネットワークデータとして、各ロスパケットのシーケンス番号(2、4、5)と、正常に受信できたデータパケットの受信時刻(T1、T3、T6、T7、T8)を取得する。 In the situation shown in FIG. 3, the network data measurement unit 11 uses the sequence number (2, 4, 5) of each lost packet and the reception time (T1, T3, T6, T7, T8) are acquired.
 制御パケット送信速度決定部12は、ネットワークデータ測定部11が取得したネットワークデータからパケットロス率、データパケット受信間隔ジッタを計算する。本実施の形態において、制御パケット送信速度決定部12は、ロスパケット数がデータパケットの総数に占める割合をパケットロス率として算出する。また、式(1)に従って、制御パケット送信速度決定部12は、正常に受信できたデータパケットの受信間隔の分散値Vをデータパケット受信間隔ジッタとして算出する。
Figure JPOXMLDOC01-appb-M000001
The control packet transmission rate determination unit 12 calculates a packet loss rate and a data packet reception interval jitter from the network data acquired by the network data measurement unit 11. In the present embodiment, the control packet transmission rate determination unit 12 calculates the ratio of the number of lost packets to the total number of data packets as the packet loss rate. Further, according to the equation (1), the control packet transmission rate determination unit 12 calculates the dispersion value V of the reception interval of the data packets that can be normally received as the data packet reception interval jitter.
Figure JPOXMLDOC01-appb-M000001
 図3に示す例では、8個のデータパケットのうちに3個のロスパケットが生じたため、パケットロス率は37.5%になる。また、正常に受信できた5個のデータパケット1、3、6、7、8の受信間隔T3-T1、T6-T3、T7-T6、T8-T7の分散値Vは、データパケット受信間隔ジッタとして算出される。 In the example shown in FIG. 3, since 3 lost packets occur among 8 data packets, the packet loss rate is 37.5%. In addition, the dispersion value V of the reception intervals T3-T1, T6-T3, T7-T6, and T8-T7 of the five data packets 1, 3, 6, 7, and 8 that can be normally received is the data packet reception interval jitter. Is calculated as
 制御パケット送信速度決定部12は、制御パケット送信速度を決定するために、ネットワーク混雑度モデル記憶部13を参照する。ネットワーク混雑度モデル記憶部13には、パケットロス率およびデータパケット受信間隔ジッタに応じたネットワーク混雑度の状態遷移モデルが記憶されている。図4は、ネットワーク混雑度モデルの一例を示す。 The control packet transmission rate determination unit 12 refers to the network congestion level model storage unit 13 in order to determine the control packet transmission rate. The network congestion level model storage unit 13 stores a state transition model of the network congestion level according to the packet loss rate and the data packet reception interval jitter. FIG. 4 shows an example of a network congestion model.
 図4に示すモデルでは、ネットワーク混雑度が「通常状態」および「輻輳状態」に大別されている。また、データ伝送開始時の初期状態は通常状態とされている。通常状態とは、利用可能ネットワーク帯域が十分に残されている状態であり、輻輳状態とは、利用可能ネットワーク帯域が残されていない状態である。 In the model shown in FIG. 4, the network congestion level is roughly divided into “normal state” and “congestion state”. The initial state at the start of data transmission is the normal state. The normal state is a state where the available network bandwidth is sufficiently left, and the congestion state is a state where the available network bandwidth is not left.
 図4に示すように、該モデルでは、通常状態において、パケットロス率a[%]がパケットロス率閾値ath[%]より低く、且つデータパケット受信間隔ジッタbがデータパケット受信間隔ジッタ閾値bth以上である条件(図4における条件1)が成立した場合、ネットワーク輻輳が発生し、輻輳状態に遷移したと判定される。上記条件1が成立する以外の場合には、通常状態が継続していると判定される。 As shown in FIG. 4, in the model, in the normal state, the packet loss rate a [%] is lower than the packet loss rate threshold value ath [%], and the data packet reception interval jitter b is equal to or greater than the data packet reception interval jitter threshold value bth. If the condition (condition 1 in FIG. 4) is satisfied, it is determined that network congestion has occurred and the state has changed to a congestion state. When the above condition 1 is not satisfied, it is determined that the normal state continues.
 一方、輻輳状態において、パケットロス率a[%]がパケットロス閾値ath[%]以上であり、且つデータパケット受信間隔ジッタbがデータパケット受信間隔ジッタ閾値bthより短い条件(図4における条件2)が成立した場合、ネットワーク輻輳が解消され、通常状態に遷移したと判定される。上記条件2が成立する以外の場合には、輻輳状態が継続していると判定される。 On the other hand, in the congestion state, the packet loss rate a [%] is not less than the packet loss threshold ath [%] and the data packet reception interval jitter b is shorter than the data packet reception interval jitter threshold bth (condition 2 in FIG. 4). When is established, it is determined that the network congestion has been resolved and the transition to the normal state has occurred. When the above condition 2 is not satisfied, it is determined that the congestion state continues.
 制御パケット送信速度決定部12は、通常状態にて条件1が成立したことにより、ネットワーク混雑度が通常状態から輻輳状態に遷移した場合、制御パケットの送信タイミングを短周期に変更する。すなわち、制御パケット送信速度決定部12は、制御パケットの送信速度を高速にする。 The control packet transmission rate determination unit 12 changes the transmission timing of the control packet to a short cycle when the network congestion degree transitions from the normal state to the congestion state because the condition 1 is satisfied in the normal state. That is, the control packet transmission rate determination unit 12 increases the transmission rate of the control packet.
 一方、輻輳状態にて条件2が成立したことにより、ネットワーク混雑度が輻輳状態から通常状態に遷移した場合、制御パケット送信速度決定部12は、制御パケットの送信タイミングを長周期に変更する。すなわち、制御パケット送信速度決定部12は、制御パケット送信速度を低速にする。 On the other hand, when the condition 2 is established in the congestion state, and the network congestion level changes from the congestion state to the normal state, the control packet transmission rate determination unit 12 changes the transmission timing of the control packet to a long cycle. That is, the control packet transmission rate determination unit 12 reduces the control packet transmission rate.
 なお、高速時の制御パケット送信速度と低速時の制御パケット送信速度は、予め受信端末1に対して設定しておけばよい。 It should be noted that the control packet transmission rate at high speed and the control packet transmission rate at low speed may be set in advance for the receiving terminal 1.
 次に制御パケット作成部14による制御パケットの作成を詳細に説明する。
 図5は、制御パケットの一例を示す。制御パケットは、少なくとも最終受信パケットフィールドおよびロスパケットリストフィールドを含む。最終受信パケットフィールドには、制御パケット作成部14は、受信端末が正常に受信できたデータパケットのシーケンス番号の最大値と受信時刻を記載する。ロスパケットリストフィールドには、制御パケット作成部14は、受信端末1が受信失敗した全データパケット(ロスパケット)のシーケンス番号およびパケットロス時刻を記載する。ロスパケットの受信時刻が不明であるため、制御パケット作成部14は、各ロスパケットについて、当該ロスパケットの前後に受信成功したデータパケットの時刻から、その受信時刻を推定してパケットロス時刻としてロスパケットリストフィールドに記載する。
Next, the creation of the control packet by the control packet creation unit 14 will be described in detail.
FIG. 5 shows an example of the control packet. The control packet includes at least a final received packet field and a lost packet list field. In the final received packet field, the control packet creation unit 14 describes the maximum value of the sequence number of the data packet that can be normally received by the receiving terminal and the reception time. In the loss packet list field, the control packet creation unit 14 describes the sequence numbers and packet loss times of all data packets (loss packets) that the receiving terminal 1 has failed to receive. Since the reception time of the lost packet is unknown, the control packet creation unit 14 estimates the reception time of each lost packet from the time of the data packet that has been successfully received before and after the lost packet, and sets the loss as the packet loss time. Describe in the packet list field.
 例えば、図3に示す状況に対応する制御パケットの場合、その最終受信パケットフィールドには、データパケットT1のシーケンス番号1と受信時刻T1が記載され、ロスパケットリストフィールドには、データパケット2、4、5のシーケンス番号(2、4、5)とこれらのパケットロス時刻が記載される。なお、データパケット2のパケットロス時刻は、データパケット1、3の受信時刻T1とT3から推定され、データパケット4、5のパケットロス時刻は、データパケット3、6の受信時刻T3とT6から推定される。具体的には、たとえば、制御パケット作成部14は、式(2)に従い受信時刻T1、T3で内挿して、データパケット2のパケットロス時刻T2を算出する。
   T2=T1+(T3-T1)/2      (2)
For example, in the case of the control packet corresponding to the situation shown in FIG. 3, the sequence number 1 and the reception time T1 of the data packet T1 are described in the final reception packet field, and the data packets 2, 4 are stored in the loss packet list field. 5 sequence numbers (2, 4, 5) and their packet loss times are described. The packet loss time of the data packet 2 is estimated from the reception times T1 and T3 of the data packets 1 and 3, and the packet loss time of the data packets 4 and 5 is estimated from the reception times T3 and T6 of the data packets 3 and 6. Is done. Specifically, for example, the control packet creation unit 14 interpolates at the reception times T1 and T3 according to the equation (2) to calculate the packet loss time T2 of the data packet 2.
T2 = T1 + (T3-T1) / 2 (2)
 受信端末1から送信端末2に送信された制御パケットは、送信端末2の制御パケット解析部24により解析される。 The control packet transmitted from the receiving terminal 1 to the transmitting terminal 2 is analyzed by the control packet analyzing unit 24 of the transmitting terminal 2.
 制御パケット解析部24は、まず、制御パケットの最終受信パケットフィールドおよびロスパケットリストフィールドを抽出する。そして、制御パケット解析部24は、最終受信パケットフィールドに含まれるシーケンス番号に対応するデータパケット、および該データパケット以前のシーケンス番号に対応する各データパケットをデータパケット記憶部23から削除する。これにより、1回目のパケットロスが生じる前に送信したデータパケットは、データパケット記憶部23から削除される。これらのデータパケットは、受信端末1で正常に受信できている。 The control packet analyzer 24 first extracts the last received packet field and the lost packet list field of the control packet. Then, the control packet analysis unit 24 deletes the data packet corresponding to the sequence number included in the last received packet field and each data packet corresponding to the sequence number before the data packet from the data packet storage unit 23. As a result, the data packet transmitted before the first packet loss occurs is deleted from the data packet storage unit 23. These data packets can be normally received by the receiving terminal 1.
 さらに、制御パケット解析部24は、ロスパケットリストフィールドに記載されているロスパケットのシーケンス番号をロスパケット再送部22に通知すると共に、最終受信パケットフィールドおよびロスパケットリストフィールドの記載内容をデータパケット送信速度決定部25に出力する。 Further, the control packet analysis unit 24 notifies the loss packet retransmission unit 22 of the sequence number of the lost packet described in the lost packet list field, and transmits the description contents of the last received packet field and the lost packet list field to the data packet. It outputs to the speed determination part 25.
 ロスパケット再送部22は、制御パケット解析部24から通知された各ロスパケットのシーケンス番号に対応するデータパケットをデータパケット記憶部23から読み出して、データパケット送信速度制御部21に出力して再送させる。 The lost packet retransmission unit 22 reads out the data packet corresponding to the sequence number of each lost packet notified from the control packet analysis unit 24 from the data packet storage unit 23 and outputs the data packet to the data packet transmission rate control unit 21 for retransmission. .
 データパケット送信速度決定部25は、制御パケット解析部24から受け取る最終受信パケットフィールドおよびロスパケットリストフィールドの記載内容に基づきデータパケット送信速度を決定する。ここで、データパケット送信速度決定部25は、複数の最終受信パケットフィールドおよびロスパケットリストフィールドに基づきデータパケット送信速度を決定することが望ましい。つまり、制御パケット解析部24が予め設定された所定数の制御パケットを受信し、該所定数の制御パケットの最終受信パケットフィールドおよびロスパケットリストフィールドをデータパケット送信速度決定部25に受け渡した時点で、データパケット送信速度決定部25はデータパケット送信速度を決定することが好ましい。 The data packet transmission rate determining unit 25 determines the data packet transmission rate based on the contents of the last received packet field and the lost packet list field received from the control packet analyzing unit 24. Here, it is desirable that the data packet transmission rate determination unit 25 determines the data packet transmission rate based on a plurality of final received packet fields and a lost packet list field. That is, when the control packet analysis unit 24 receives a predetermined number of control packets set in advance and passes the last received packet field and the lost packet list field of the predetermined number of control packets to the data packet transmission rate determination unit 25. The data packet transmission rate determination unit 25 preferably determines the data packet transmission rate.
 図6は、制御パケット解析部24に対して設定された制御パケットの所定数が3である場合に、制御パケット解析部24が3つの制御パケットを受信した際にデータパケット送信速度決定部25に出力した最終受信パケットフィールドおよびロスパケットリストフィールドの具体例を示す。なお、小さい番号の制御パケットほど先に受信されたものである。 FIG. 6 shows that when the predetermined number of control packets set for the control packet analysis unit 24 is 3, when the control packet analysis unit 24 receives three control packets, the data packet transmission rate determination unit 25 Specific examples of the last received packet field and the lost packet list field that are output are shown. Note that a control packet with a smaller number is received earlier.
 図6に示すように、制御パケット1の最終受信パケットフィールドには、データパケット1のシーケンス番号と受信時刻T1が記載されており、ロスパケットリストフィールドには、ロスパケットとなるデータパケット2、4、5のシーケンス番号とパケットロス時刻が記載されている。 As shown in FIG. 6, the sequence packet number and the reception time T1 of the data packet 1 are described in the last received packet field of the control packet 1, and the data packets 2, 4 to be lost packets are stored in the lost packet list field. 5 sequence number and packet loss time.
 また、制御パケット2の最終受信パケットフィールドには、データパケット4のシーケンス番号と受信時刻T4が記載されており、ロスパケットリストフィールドには、ロスパケットとなるデータパケット5、6、10、11、15のシーケンス番号とパケットロス時刻が記載されている。 Further, the sequence packet number and the reception time T4 of the data packet 4 are described in the last received packet field of the control packet 2, and the data packets 5, 6, 10, 11, 15 sequence numbers and packet loss times are described.
 同様に、制御パケット3の最終受信パケットフィールドには、データパケット15のシーケンス番号と受信時刻T15が記載されており、ロスパケットリストフィールドには、ロスパケットとなるデータパケット16、18、20、24、25、30のシーケンス番号とパケットロス時刻が記載されている。 Similarly, the last received packet field of the control packet 3 describes the sequence number of the data packet 15 and the reception time T15, and the lost packet list field contains data packets 16, 18, 20, 24 that are lost packets. , 25, 30 sequence numbers and packet loss times are described.
 データパケット送信速度決定部25は、ロスパケット数の時間変動に基づき、将来時刻のネットワーク混雑度を予測してデータパケット送信速度を決定する。データパケット送信速度決定部25がロスパケット数の時間変動を算出する過程を説明する。 The data packet transmission rate determining unit 25 determines the data packet transmission rate by predicting the network congestion degree at a future time based on the time variation of the number of lost packets. A process in which the data packet transmission rate determination unit 25 calculates the time variation of the number of lost packets will be described.
 データパケット送信速度決定部25は、まず、3つの制御パケットのロスパケットリストの中で重複して記載されているロスパケット(以下重複ロスパケットという)を特定する。図6の場合、制御パケット1および制御パケット2のロスパケットリストに記載されているロスパケット5が該当する。そして、データパケット送信速度決定部25は、「該重複ロスパケットが最後に記載されたロスパケットリスト」を除く全ロスパケットリストから当該重複ロスパケットを除外する。図6の例の場合、制御パケット1のロスパケットリストからロスパケット5が削除される。その結果、図7に示すように、3つのロスパケットリストの中で、ロスパケット5は、制御パケット2のロスパケットリストにのみ記載されるようになる。 The data packet transmission rate determination unit 25 first identifies a loss packet (hereinafter referred to as a duplicate loss packet) that is duplicated in the loss packet list of the three control packets. In the case of FIG. 6, the lost packet 5 described in the lost packet list of the control packet 1 and the control packet 2 corresponds. Then, the data packet transmission rate determination unit 25 excludes the duplicate loss packet from the entire loss packet list excluding the “loss packet list in which the duplicate loss packet is listed last”. In the example of FIG. 6, the lost packet 5 is deleted from the lost packet list of the control packet 1. As a result, as shown in FIG. 7, among the three lost packet lists, the lost packet 5 is described only in the lost packet list of the control packet 2.
 次に、データパケット送信速度決定部25は、図7に示す3つのロスパケットリストに記載されている各ロスパケットのシーケンス番号を参照し、データパケット記憶部23に記憶された、各ロスパケットのシーケンス番号と同一のシーケンス番号を有するデータパケットのデータサイズを取得する。そして、データパケット送信速度決定部25は、図7に示す3つの最終受信パケットフィールドに記載された受信時刻およびロスパケットリストフィールドに記載のパケットロス時刻を横軸に設定し、ロスパケットサイズ累計値を縦軸に設定した図8の二次元グラフを生成する。ロスパケット累計値とは、当該パケットロス時刻以前の時刻で、ロスパケットリストに記載されているロスパケットの合計データサイズである。 Next, the data packet transmission rate determination unit 25 refers to the sequence numbers of the respective loss packets described in the three loss packet lists shown in FIG. 7, and stores each loss packet stored in the data packet storage unit 23. The data size of a data packet having the same sequence number as the sequence number is acquired. Then, the data packet transmission rate determining unit 25 sets the reception time described in the three last received packet fields and the packet loss time described in the lost packet list field shown in FIG. The two-dimensional graph of FIG. The lost packet cumulative value is a total data size of lost packets described in the lost packet list at a time before the packet loss time.
 例えば、図7に示すように、ロスパケット10のパケットロス時刻T10以前には、ロスパケット5、6が存在するので、パケットロス時刻T10におけるロスパケットサイズ累計値は、ロスパケット5、6、10のデータサイズ合計値となる(制御パケット2を参照すると最終受信パケットのシーケンス番号が4であるため、制御パケット1記載のロスパケット2、4のサイズは含まれない)。 For example, as shown in FIG. 7, since the lost packets 5 and 6 exist before the packet loss time T10 of the lost packet 10, the total lost packet size value at the packet loss time T10 is the lost packets 5, 6, 10 (Since control packet 2 is referred to, the sequence number of the last received packet is 4, the size of lost packets 2 and 4 described in control packet 1 is not included).
 次に、データパケット送信速度決定部25は、図8に示すパケットロス時刻とロスパケットサイズ累計値から成る直線グラフを、制御パケット毎に最小二乗法等の近似アルゴリズムを用いて近似する。図8の制御パケット1、2、3毎の直線グラフを線形近似した結果を、図9に直線1、2、3として示す。直線1、2、3それぞれの傾き1(=Sz1/(T4-T1))、2(=Sz2/(T15-T4))、3(=Sz3/(T30-T15))は、各時刻幅(直線1の場合、T1~T4)における、送信端末2が受信端末1に伝送したデータパケットトラヒックの内の、パケットロスしているトラヒック(ロスパケットトラヒック)に該当する。 Next, the data packet transmission rate determination unit 25 approximates the straight line graph composed of the packet loss time and the total lost packet size value shown in FIG. 8 using an approximation algorithm such as a least square method for each control packet. The result of linear approximation of the straight line graph for each of the control packets 1, 2, and 3 in FIG. 8 is shown as straight lines 1, 2, and 3 in FIG. The slopes 1 (= Sz1 / (T4-T1)), 2 (= Sz2 / (T15-T4)), and 3 (= Sz3 / (T30-T15)) of each of the straight lines 1, 2, and 3 are the time widths ( The straight line 1 corresponds to the packet loss traffic (loss packet traffic) in the data packet traffic transmitted from the transmitting terminal 2 to the receiving terminal 1 in T1 to T4).
 そして、データパケット送信速度決定部25は、図9に示す3つの直線の傾き1、2、3の分散値を求めてデータパケットの送信速度を決定する。具体的には、例えば、上記分散値が予め設定された閾値より小さい場合、「パケットロスが発生しているが、ネットワーク混雑度が低い」と判定して、データパケット送信速度を所定分だけ高速化する。この所定分は、予め設定しておけばよい。一方、傾き1、2、3の分散値が予め設定された閾値以上である場合には、ネットワーク混雑度が高まりつつあると判定して、傾き1、2、3の内の最大値に相当する分だけ、データパケット送信速度を低速化する。 Then, the data packet transmission rate determination unit 25 determines the transmission rate of the data packet by obtaining the dispersion values of the inclinations 1, 2, and 3 of the three straight lines shown in FIG. Specifically, for example, when the variance value is smaller than a preset threshold value, it is determined that “the packet loss has occurred but the network congestion is low”, and the data packet transmission rate is increased by a predetermined amount. Turn into. This predetermined amount may be set in advance. On the other hand, if the variance values of the slopes 1, 2, and 3 are greater than or equal to a preset threshold value, it is determined that the network congestion level is increasing and corresponds to the maximum value of the slopes 1, 2, and 3. Decrease the data packet transmission rate by as much.
 データパケット送信速度決定部25は、上記以外の方法を用いてデータパケット送信速度を決定してもよい。例えば、データパケット送信速度決定部25は、ロスパケットトラヒックである図9に示す3つの直線1、2、3の傾きを最小二乗法等の近似アルゴリズムで線形近似し、図10に示す直線を作成する。その後、データパケット送信速度決定部25は、送信端末2が現在未受信で、将来時刻に受信する制御パケット(この場合制御パケット4になる)のロスパケットトラヒックを、図10における直線を用いて予測する。該直線の傾きが正の場合、データパケット送信速度決定部25は、ネットワーク混雑度が高いと判定して、ロスパケットトラヒック4に相当する分だけ、データパケット送信速度を低速化する。一方、該直線の傾きが負である場合には、データパケット送信速度決定部25は、ネットワーク混雑度が低いと判定して、ロスパケットトラヒック1、2、3、4の内の最小値に相当する分だけ、データパケット送信速度を高速化する。 The data packet transmission rate determination unit 25 may determine the data packet transmission rate using a method other than the above. For example, the data packet transmission rate determination unit 25 linearly approximates the slopes of the three straight lines 1, 2, and 3 shown in FIG. 9 that are lost packet traffic using an approximation algorithm such as the least square method, and creates the straight line shown in FIG. To do. Thereafter, the data packet transmission rate determination unit 25 predicts the loss packet traffic of the control packet (in this case, the control packet 4) received by the transmitting terminal 2 that is not currently received and at a future time using the straight line in FIG. To do. If the slope of the straight line is positive, the data packet transmission rate determination unit 25 determines that the network congestion is high, and reduces the data packet transmission rate by an amount corresponding to the lost packet traffic 4. On the other hand, when the slope of the straight line is negative, the data packet transmission rate determination unit 25 determines that the network congestion level is low and corresponds to the minimum value of the lost packet traffic 1, 2, 3, 4 The data packet transmission speed is increased by the amount of data.
 データパケット送信速度制御部21は、再送するロスパケットを含むすべてのデータパケットに対して、データパケット送信速度制御部21により設定されたデータパケットの送信速度で送信する。 The data packet transmission rate control unit 21 transmits all data packets including the lost packet to be retransmitted at the data packet transmission rate set by the data packet transmission rate control unit 21.
 このように、本実施の形態のデータ伝送システム100は、受信端末によりネットワークデータを測定すると共に、受信端末が測定したネットワークデータに基づいて、将来時刻のネットワーク混雑度を予測し、予測したネットワーク混雑度に応じて受信端末の制御パケット送信速度と送信端末のデータパケット送信速度を決定する。こうすることにより、ネットワークの混雑度に確実に追従して制御パケットとデータパケットの送信速度を設定することができ、ひいてはネットワーク輻輳による伝送遅延、パケットロス等を未然に防止できる。従って、ネットワーク混雑度が短周期に変化するネットワークにおいても、データ伝送を効率良くできる。
<第2の実施の形態>
As described above, the data transmission system 100 according to the present embodiment measures the network data by the receiving terminal, predicts the network congestion degree at the future time based on the network data measured by the receiving terminal, and predicts the network congestion. The control packet transmission rate of the receiving terminal and the data packet transmission rate of the transmitting terminal are determined according to the degree. By doing so, it is possible to set the transmission speed of the control packet and the data packet by following the degree of congestion of the network, and to prevent transmission delay, packet loss and the like due to network congestion. Therefore, data transmission can be efficiently performed even in a network in which the network congestion degree changes in a short period.
<Second Embodiment>
 図11は、本発明の第2の実施の形態にかかるデータ伝送システム200を示す。データ伝送システム200は、ネットワーク3により接続された受信端末5と送信端末6を備える。図11のデータ伝送システム200においては、図1に示す第1の実施の形態のデータ伝送システム100のものと同様の構成または機能を有する構成要素に対して同一の符号を付与しており、以下の説明において、これらの構成要素の詳細な説明を省略する。 FIG. 11 shows a data transmission system 200 according to the second embodiment of the present invention. The data transmission system 200 includes a receiving terminal 5 and a transmitting terminal 6 connected by a network 3. In the data transmission system 200 of FIG. 11, the same reference numerals are given to components having the same configuration or function as those of the data transmission system 100 of the first embodiment shown in FIG. In the description of, detailed description of these components is omitted.
 受信端末5は、ネットワークデータ測定部11、データパケット送信速度決定部55、制御パケット送信速度決定部52、制御パケット作成部54、制御パケット送信速度制御部15を有する。データパケット送信速度決定部55は、データ伝送システム100の受信端末1に備えられていないものである。また、制御パケット送信速度決定部52は、受信端末1の制御パケット送信速度決定部12と異なる手法で制御パケットの送信速度を決定し、制御パケット作成部54は、受信端末1の制御パケット作成部14が作成する制御パケットと異なる制御パケットを作成する。また、受信端末5には、受信端末1に備えられていた制御パケット送信速度決定部12が設けられていない。 The receiving terminal 5 includes a network data measurement unit 11, a data packet transmission rate determination unit 55, a control packet transmission rate determination unit 52, a control packet creation unit 54, and a control packet transmission rate control unit 15. The data packet transmission rate determination unit 55 is not provided in the receiving terminal 1 of the data transmission system 100. Further, the control packet transmission rate determination unit 52 determines the transmission rate of the control packet by a method different from that of the control packet transmission rate determination unit 12 of the receiving terminal 1, and the control packet creation unit 54 14 creates a control packet that is different from the control packet created by 14. Further, the receiving terminal 5 is not provided with the control packet transmission rate determining unit 12 provided in the receiving terminal 1.
 データパケット送信速度決定部55は、ネットワークデータ測定部11により測定されたネットワークデータを用いて、将来時刻において送信端末6が送信するデータパケットの送信速度を決定する。その決定の手法は、データ伝送システム100の送信端末2におけるデータパケット送信速度決定部25によるものと同一であり、ここでは詳細な説明を省略する。 The data packet transmission rate determination unit 55 uses the network data measured by the network data measurement unit 11 to determine the transmission rate of the data packet transmitted by the transmission terminal 6 at a future time. The determination method is the same as that by the data packet transmission rate determination unit 25 in the transmission terminal 2 of the data transmission system 100, and detailed description thereof is omitted here.
 制御パケット送信速度決定部52は、データパケット送信速度決定部55が送信端末6によるデータパケットの送信速度を決定する際に得たネットワーク混雑度に応じて、受信端末5から送信端末6に送信する制御パケットの送信速度を決定する。 The control packet transmission rate determination unit 52 transmits the data packet transmission rate determination unit 55 from the reception terminal 5 to the transmission terminal 6 according to the network congestion level obtained when the transmission rate of the data packet by the transmission terminal 6 is determined. Determine the transmission rate of control packets.
 制御パケット作成部54が作成する制御パケットは、データ伝送システム100の受信端末1における制御パケット解析部24が作成する制御パケットと同一の最終受信パケットフィールドおよびロスパケットリストフィールド以外に、さらにデータパケット送信速度フィールドが含まれる。制御パケット作成部54は、このデータパケット送信速度フィールドに、データパケット送信速度決定部55により決定されたデータパケットの送信速度を記載する。 The control packet created by the control packet creation unit 54 is further transmitted in addition to the last received packet field and the lost packet list field that are the same as the control packet created by the control packet analysis unit 24 in the receiving terminal 1 of the data transmission system 100. Contains a velocity field. The control packet creation unit 54 describes the data packet transmission rate determined by the data packet transmission rate determination unit 55 in the data packet transmission rate field.
 制御パケット作成部54により作成された制御パケットは、制御パケット送信速度制御部15により、ネットワークデータ測定部11が決定した送信速度で送信端末6に送信される。 The control packet created by the control packet creation unit 54 is transmitted to the transmission terminal 6 by the control packet transmission rate control unit 15 at the transmission rate determined by the network data measurement unit 11.
 送信端末6は、データパケット送信速度制御部21、データパケット整形部66、ロスパケット再送部22、データパケット記憶部23、制御パケット解析部64を有する。データパケット整形部66は、データ伝送システム100の送信端末2に備えられていないものである。また、本実施の形態において、受信端末5から送信端末6に送信する制御パケットは、データ伝送システム100における受信端末1から送信端末2に送信する制御パケットと異なる。このため、制御パケット解析部64の処理対象は、送信端末2における制御パケット解析部24の解析対象とは異なる制御パケットである。また、送信端末6には、送信端末2に備えられていたデータパケット送信速度決定部25が設けられていない。 The transmission terminal 6 includes a data packet transmission rate control unit 21, a data packet shaping unit 66, a lost packet retransmission unit 22, a data packet storage unit 23, and a control packet analysis unit 64. The data packet shaping unit 66 is not provided in the transmission terminal 2 of the data transmission system 100. In the present embodiment, the control packet transmitted from the receiving terminal 5 to the transmitting terminal 6 is different from the control packet transmitted from the receiving terminal 1 to the transmitting terminal 2 in the data transmission system 100. For this reason, the processing target of the control packet analysis unit 64 is a control packet different from the analysis target of the control packet analysis unit 24 in the transmission terminal 2. Further, the transmission terminal 6 is not provided with the data packet transmission rate determination unit 25 provided in the transmission terminal 2.
 制御パケット解析部64は、データ伝送システム100の送信端末2における制御パケット解析部24が行う処理以外に、制御パケットのデータパケット送信速度フィールドに記載されたデータパケット送信速度の抽出をさらに行う。制御パケット解析部64は、抽出したデータパケット送信速度をデータパケット送信速度制御部21に出力する。 The control packet analysis unit 64 further extracts the data packet transmission rate described in the data packet transmission rate field of the control packet, in addition to the processing performed by the control packet analysis unit 24 in the transmission terminal 2 of the data transmission system 100. The control packet analysis unit 64 outputs the extracted data packet transmission rate to the data packet transmission rate control unit 21.
 データパケット整形部66は、送信する全てのデータパケット(再送するロスパケットを含む)を、予め設定されたパケットサイズになるように整形する。 The data packet shaping unit 66 shapes all data packets to be transmitted (including lost packets to be retransmitted) so as to have a preset packet size.
 データパケット送信速度制御部21は、データパケット整形部66により整形されたデータパケットを、制御パケット解析部64から出力されたデータパケット送信速度で受信端末5に送信する。 The data packet transmission rate control unit 21 transmits the data packet shaped by the data packet shaping unit 66 to the receiving terminal 5 at the data packet transmission rate output from the control packet analysis unit 64.
 次いで、図12のフローチャートを参照して本実施の形態のデータ伝送システム200による処理の流れを説明する。
 図12のステップS1、S11、S12、S14、S21、S22、S2で示されるデータ伝送システム200の送信端末6におけるデータパケット送信速度制御部21、ロスパケット再送部22の動作は、データ伝送システム100の送信端末2におけるデータパケット送信速度制御部21、ロスパケット再送部22の動作と同一であるため、説明を省略する。
Next, the flow of processing by the data transmission system 200 of this embodiment will be described with reference to the flowchart of FIG.
The operations of the data packet transmission rate control unit 21 and the loss packet retransmission unit 22 in the transmission terminal 6 of the data transmission system 200 indicated by steps S1, S11, S12, S14, S21, S22, and S2 in FIG. Since the operations of the data packet transmission rate control unit 21 and the loss packet retransmission unit 22 in the transmission terminal 2 are the same, the description thereof is omitted.
 また、図12のステップD1、D2、D5で示されるデータ伝送システム200の受信端末5におけるネットワークデータ測定部11、制御パケット送信速度制御部15の動作は、データ伝送システム100の受信端末1におけるネットワークデータ測定部11、制御パケット送信速度制御部15の動作と同一であるため、説明を省略する。 The operations of the network data measuring unit 11 and the control packet transmission rate control unit 15 in the receiving terminal 5 of the data transmission system 200 shown in steps D1, D2, and D5 of FIG. Since the operations of the data measuring unit 11 and the control packet transmission rate control unit 15 are the same, the description thereof is omitted.
 データ伝送システム100では、送信端末2が受信端末1に送信するデータパケットのサイズはデータパケット毎に異なっており、データパケットサイズは統一されていなかった。本実施の形態のデータ伝送システム200では、送信端末6のデータパケット整形部66は、データパケット記憶部23から読み出されたデータパケットのサイズが予め設定された所定サイズになるように整形を行う(ステップS15)。具体的には、データパケットのサイズが上記所定サイズより小さい場合に、データパケット整形部66は、ダミーデータをパディングすることによりそのサイズを所定サイズにしてから、該データパケットをデータパケット送信速度制御部21に出力して受信端末5に送信させる。一方、データパケットのサイズが上記所定サイズより大きい場合に、データパケット整形部66は、該データパケットを所定サイズ以下の複数のパケットに分割する。そして、分割後のデータパケットのサイズが所定サイズより小さい場合には、データパケット整形部66は、パディングなどによりそれらのサイズを所定サイズにする。 In the data transmission system 100, the size of the data packet transmitted from the transmitting terminal 2 to the receiving terminal 1 is different for each data packet, and the data packet size is not uniform. In the data transmission system 200 of the present embodiment, the data packet shaping unit 66 of the transmission terminal 6 performs shaping so that the size of the data packet read from the data packet storage unit 23 becomes a predetermined size set in advance. (Step S15). Specifically, when the size of the data packet is smaller than the predetermined size, the data packet shaping unit 66 sets the size to a predetermined size by padding dummy data and then controls the data packet transmission rate control. The data is output to the unit 21 and transmitted to the receiving terminal 5. On the other hand, when the size of the data packet is larger than the predetermined size, the data packet shaping unit 66 divides the data packet into a plurality of packets having a predetermined size or less. When the size of the divided data packet is smaller than the predetermined size, the data packet shaping unit 66 sets the size to a predetermined size by padding or the like.
 データ伝送システム100では、制御パケットの送信速度は、受信端末1の制御パケット送信速度決定部12により、ネットワーク混雑度モデル記憶部13に記憶されたネットワーク混雑度モデルを用いて決定されていた。また、データパケット送信速度は、送信端末2のデータパケット送信速度決定部25により制御パケットの解析結果に基づいて決定されていた。本実施の形態のデータ伝送システム200では、制御パケット送信速度とデータパケット送信速度のいずれも、受信端末5側で決定される。具体的には、受信端末5のデータパケット送信速度決定部55によりデータパケット送信速度が決定され(ステップD6)、制御パケット送信速度決定部52により制御パケットの送信速度が決定される。また、制御パケット送信速度とデータパケットの送信速度のいずれを決定する際にも、ネットワーク混雑度モデルが用いられていない。 In the data transmission system 100, the transmission rate of the control packet is determined by the control packet transmission rate determination unit 12 of the receiving terminal 1 using the network congestion model stored in the network congestion model storage unit 13. Further, the data packet transmission rate is determined based on the analysis result of the control packet by the data packet transmission rate determination unit 25 of the transmission terminal 2. In the data transmission system 200 of the present embodiment, both the control packet transmission rate and the data packet transmission rate are determined on the receiving terminal 5 side. Specifically, the data packet transmission rate determining unit 55 of the receiving terminal 5 determines the data packet transmission rate (step D6), and the control packet transmission rate determining unit 52 determines the control packet transmission rate. Further, the network congestion model is not used when determining either the control packet transmission rate or the data packet transmission rate.
 また、データ伝送システム100では、データパケット送信速度を決定する際に(図2におけるS13)、再送するロスパケットのサイズを取得する必要があった。本実施の形態のデータ伝送システム200では、全てのデータパケットは、同一の所定サイズに整形されてから受信端末5に送信されるので、図12のステップD6でデータパケット送信速度を決定する際に、予め設定された所定サイズを用いてデータパケット送信速度を決定すればよい。 In the data transmission system 100, when determining the data packet transmission speed (S13 in FIG. 2), it is necessary to acquire the size of the lost packet to be retransmitted. In the data transmission system 200 of the present embodiment, all data packets are shaped to the same predetermined size before being transmitted to the receiving terminal 5, so when determining the data packet transmission rate in step D6 of FIG. The data packet transmission rate may be determined using a predetermined size set in advance.
 また、制御パケット送信速度決定部52により制御パケット送信速度を決定する際に(図12のステップD3)、制御パケット送信速度決定部52は、ステップD6においてデータパケット送信速度決定部55が判定したネットワーク混雑度に基づき制御パケット送信速度を決定する。具体的には、例えば、データパケット送信速度決定部55がネットワーク混雑度を輻輳状態と判定した場合、制御パケット送信速度決定部52は、制御パケット送信速度を高速化する。一方、データパケット送信速度決定部55がネットワーク混雑度を通常状態と判定した場合、制御パケット送信速度決定部52は、制御パケット送信速度を低速化する。 When the control packet transmission rate determining unit 52 determines the control packet transmission rate (step D3 in FIG. 12), the control packet transmission rate determining unit 52 determines the network determined by the data packet transmission rate determining unit 55 in step D6. The control packet transmission rate is determined based on the degree of congestion. Specifically, for example, when the data packet transmission rate determination unit 55 determines that the network congestion level is a congestion state, the control packet transmission rate determination unit 52 increases the control packet transmission rate. On the other hand, when the data packet transmission rate determining unit 55 determines that the network congestion level is the normal state, the control packet transmission rate determining unit 52 decreases the control packet transmission rate.
 制御パケット作成部54は、最終受信パケットフィールドおよびロスパケットリストフィールドに夫々の記載内容を記載する。それと共に、データパケット送信速度決定部55が決定したデータパケット送信速度を送信端末6に通知するために、制御パケット作成部54は、さらに送信速度フィールドにデータパケット送信速度を記載して制御パケットを作成する(ステップD4)。 The control packet creation unit 54 describes the description contents in the last received packet field and the lost packet list field. At the same time, in order to notify the transmission terminal 6 of the data packet transmission rate determined by the data packet transmission rate determination unit 55, the control packet creation unit 54 further describes the control packet by describing the data packet transmission rate in the transmission rate field. Create (step D4).
 制御パケット送信速度制御部15は、ステップD4で制御パケット作成部54が作成した制御パケットを、ステップD3で制御パケット送信速度決定部52が決定した制御パケット送信速度で送信端末6に送信する(ステップD5)。 The control packet transmission rate control unit 15 transmits the control packet created by the control packet creation unit 54 in Step D4 to the transmission terminal 6 at the control packet transmission rate decided by the control packet transmission rate decision unit 52 in Step D3 (Step S4). D5).
 送信端末6の制御パケット解析部64は、データ伝送システム100の送信端末2における制御パケット解析部24が行う各処理以外に、さらに、受信した制御パケット内のデータパケット送信速度フィールドからデータパケット送信速度を抽出してデータパケット送信速度制御部21に設定する(ステップS23)。 In addition to the processes performed by the control packet analysis unit 24 in the transmission terminal 2 of the data transmission system 100, the control packet analysis unit 64 of the transmission terminal 6 further receives the data packet transmission rate from the data packet transmission rate field in the received control packet. Is extracted and set in the data packet transmission rate control unit 21 (step S23).
 次に、データ伝送システム200における、データ伝送システム100と異なる点について、具体例を挙げながらより詳細に説明する。
 データ伝送システム200において、データパケットのサイズを統一するために、受信端末5と送信端末6に対してデータパケットの所定サイズが設定される。送信端末6は、受信端末5に送信するデータパケットが上記所定サイズになるように、データパケットを整形する。図13を参照して、送信端末6によるデータパケットの整形過程の一例を説明する。
Next, differences in the data transmission system 200 from the data transmission system 100 will be described in more detail with specific examples.
In the data transmission system 200, a predetermined data packet size is set for the receiving terminal 5 and the transmitting terminal 6 in order to unify the data packet size. The transmission terminal 6 shapes the data packet so that the data packet to be transmitted to the reception terminal 5 has the predetermined size. With reference to FIG. 13, an example of a data packet shaping process by the transmission terminal 6 will be described.
 図13は、送信端末6が、設定された所定サイズより小さいデータパケット1と、上記所定サイズより大きいデータパケット2を所定サイズのデータパケットになるように整形する場合の例である。送信端末6は、まず、データパケット2を2つのデータパケット2aと2bに分割する。その際、データパケット2aとデータパケット1のサイズの和が所定サイズになるようにする。そして、送信端末6は、データパケット1とデータパケット2aを連結して、整形後のデータパケット1を作成する。データパケット2を分割して得た他方のデータパケット2bに対しては、送信端末6は、ダミーデータをパディングすることによりそのサイズを所定サイズにして、整形後のデータパケット2を得る。 FIG. 13 shows an example in which the transmission terminal 6 shapes the data packet 1 smaller than the set predetermined size and the data packet 2 larger than the predetermined size into data packets of a predetermined size. The transmission terminal 6 first divides the data packet 2 into two data packets 2a and 2b. At this time, the sum of the sizes of the data packet 2a and the data packet 1 is set to a predetermined size. Then, the transmission terminal 6 connects the data packet 1 and the data packet 2a to create the shaped data packet 1. For the other data packet 2b obtained by dividing the data packet 2, the transmitting terminal 6 sets the size to a predetermined size by padding dummy data, and obtains the shaped data packet 2.
 なお、図13に示す例では、分割によって得たデータパケット2bのサイズが所定サイズより小さい。データパケット2bのサイズが所定サイズよりも大きい場合には、さらにデータパケット2bを、例えば所定サイズのデータパケットと別のデータパケットに分割したりすることで整形すればよい。 In the example shown in FIG. 13, the size of the data packet 2b obtained by the division is smaller than the predetermined size. If the size of the data packet 2b is larger than the predetermined size, the data packet 2b may be further shaped, for example, by dividing it into a data packet of a predetermined size and another data packet.
 図14は、データ伝送システム200の受信端末5における制御パケット作成部54が作成した制御パケットの構成を示す。データ伝送システム100における制御パケットの構成(図5)と比較すると分かるように、データ伝送システム200における制御パケットは、受信端末5側で決定されたデータパケット送信速度が記載されたデータパケット送信速度フィールドを有する。また、データ伝送システム200では、受信端末5側でデータパケット送信速度を決定して送信端末6に通知し、送信端末6側は通知された該データパケット送信速度で送信する。このため、データ伝送システム200における制御パケットの最終受信パケットフィールドには、受信端末が正常に受信できたデータパケットのシーケンス番号の最大値のみが記載され、該データパケットの受信時刻は必要なしとして記載されていない。同様に、ロスパケットリストフィールドにも、各ロスパケットのシーケンス番号のみが記載され、パケットロス時刻は必要なしとして記載されていない。 FIG. 14 shows the configuration of the control packet created by the control packet creation unit 54 in the receiving terminal 5 of the data transmission system 200. As can be seen from comparison with the configuration of the control packet in the data transmission system 100 (FIG. 5), the control packet in the data transmission system 200 has a data packet transmission rate field in which the data packet transmission rate determined on the receiving terminal 5 side is described. Have Further, in the data transmission system 200, the receiving terminal 5 side determines the data packet transmission rate and notifies the transmitting terminal 6 and the transmitting terminal 6 side transmits at the notified data packet transmission rate. For this reason, in the last received packet field of the control packet in the data transmission system 200, only the maximum value of the sequence number of the data packet successfully received by the receiving terminal is described, and the reception time of the data packet is described as unnecessary. It has not been. Similarly, in the lost packet list field, only the sequence number of each lost packet is described, and the packet loss time is not described as unnecessary.
 本実施の形態のデータ伝送システム200は、データ伝送システム100が得られる効果以外に、さらに以下の利点を有する。 The data transmission system 200 of the present embodiment has the following advantages in addition to the effects obtained by the data transmission system 100.
 データ伝送システム200において、送信端末6は、受信端末5にデータパケット(再送するロスパケットを含む)を送信する際に、サイズが同一になるようにデータパケットを整形する。これにより、受信端末5から送信端末6に返送する制御パケットには、最終受信パケットの受信時刻及びパケットロス時刻を記載する必要がなくなり、制御パケットのサイズを削減することができる。また、制御パケット送信速度決定部52とデータパケット送信速度決定部55が同一の手法で制御パケット送信速度とデータパケット送信速度を決定するため、制御パケット送信速度決定部52は、データパケット送信速度決定部55により得られた一部の計算結果を利用することができ、制御パケットの送信速度の決定処理を高速にできる。これらは、特に送信端末の数が増えた場合でも高速なデータ伝送を実現することができるという、有利な特徴がある。 In the data transmission system 200, when the transmission terminal 6 transmits a data packet (including a loss packet to be retransmitted) to the reception terminal 5, the transmission terminal 6 shapes the data packet so as to have the same size. Thereby, it is not necessary to describe the reception time and the packet loss time of the last received packet in the control packet returned from the receiving terminal 5 to the transmitting terminal 6, and the size of the control packet can be reduced. Further, since the control packet transmission rate determination unit 52 and the data packet transmission rate determination unit 55 determine the control packet transmission rate and the data packet transmission rate by the same method, the control packet transmission rate determination unit 52 determines the data packet transmission rate determination. Part of the calculation results obtained by the unit 55 can be used, and the process for determining the transmission rate of the control packet can be speeded up. These have an advantageous feature that high-speed data transmission can be realized even when the number of transmitting terminals is increased.
 また、受信端末5は、ネットワーク混雑度モデルを用いずに制御パケット送信速度とデータパケット送信速度を決定するので、ネットワーク混雑度モデルのサイズ分、記憶容量の節約ができる。 Further, since the receiving terminal 5 determines the control packet transmission rate and the data packet transmission rate without using the network congestion model, the storage capacity can be saved by the size of the network congestion model.
 以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、さまざまな変更や増減、第1と第2の実施の形態の組合せなどをしてもよい。これらの変更、増減、組合せが加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described above based on the embodiments. The embodiment is an exemplification, and various modifications, increases / decreases, combinations of the first and second embodiments, and the like may be made without departing from the gist of the present invention. It will be understood by those skilled in the art that modifications to which these changes, increases / decreases, and combinations are also within the scope of the present invention.
 例えば、第1の実施の形態のデータ伝送システム100では、図4に示すような、ネットワーク混雑度が通常状態および輻輳状態に大別されたモデルが用いられたが、ネットワーク混雑度の他の状態および状態遷移条件を追加したモデルを用いてもよい。 For example, in the data transmission system 100 according to the first embodiment, a model in which the network congestion level is roughly divided into a normal state and a congestion state as illustrated in FIG. 4 is used, but other states of the network congestion level are used. Alternatively, a model to which state transition conditions are added may be used.
 また、データ伝送システム100においては、制御パケット送信速度の決定にネットワーク混雑度モデルが用いられ、データパケット送信速度の決定にネットワーク混雑度モデルが用いられないようになっている。逆に、ネットワーク混雑度モデルを用いずに制御パケット送信速度決定部が制御パケット送信速度を決定し、ネットワーク混雑度モデルを用いてデータパケット送信速度決定部がデータパケット送信速度を決定するようにしてもよい。 Further, in the data transmission system 100, the network congestion model is used for determining the control packet transmission rate, and the network congestion model is not used for determining the data packet transmission rate. Conversely, the control packet transmission rate determination unit determines the control packet transmission rate without using the network congestion degree model, and the data packet transmission rate determination unit determines the data packet transmission rate using the network congestion degree model. Also good.
 勿論、制御パケット送信速度とデータパケット送信速度のいずれを決定する際にも、ネットワーク混雑度モデルを用いるようにしてもよい。 Of course, the network congestion model may be used when determining either the control packet transmission rate or the data packet transmission rate.
 また、データパケット送信速度の決定の手法について、上述した各手法に限られることが無い。 Further, the method for determining the data packet transmission rate is not limited to the above-described methods.
 この出願は、2009年10月19日に出願された日本出願特願2009-240226を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2009-240226 filed on October 19, 2009, the entire disclosure of which is incorporated herein.
 本発明にかかる技術は、データセンタ運用管理のためのログファイルを収集するデータ伝送システム、映像や音声等のコンテンツ配信システム、シンクライアントサービスにおけるデータ通信システムなどに利用できる。 The technology according to the present invention can be used in a data transmission system that collects log files for data center operation management, a content distribution system such as video and audio, and a data communication system in a thin client service.
 100 データ伝送システム 1 受信端末
 2 送信端末 3 ネットワーク
 5 受信端末 6 送信端末
 11 ネットワークデータ測定部 12 制御パケット送信速度決定部
 13 ネットワーク混雑度モデル記憶部 14 制御パケット作成部
 15 制御パケット送信速度制御部 21 データパケット送信速度制御部
 22 ロスパケット再送部 23 データパケット記憶部
 24 制御パケット解析部 25 データパケット送信速度決定部
 200 データ伝送システム 52 制御パケット送信速度決定部
 54 制御パケット作成部 55 データパケット送信速度決定部
 64 制御パケット解析部 66 データパケット整形部
DESCRIPTION OF SYMBOLS 100 Data transmission system 1 Reception terminal 2 Transmission terminal 3 Network 5 Reception terminal 6 Transmission terminal 11 Network data measurement part 12 Control packet transmission rate determination part 13 Network congestion degree model memory | storage part 14 Control packet creation part 15 Control packet transmission rate control part 21 Data packet transmission rate control unit 22 Loss packet retransmission unit 23 Data packet storage unit 24 Control packet analysis unit 25 Data packet transmission rate determination unit 200 Data transmission system 52 Control packet transmission rate determination unit 54 Control packet creation unit 55 Data packet transmission rate determination 64 Control packet analysis unit 66 Data packet shaping unit

Claims (13)

  1.  送信端末と受信端末がネットワークにより接続され、前記送信端末が前記ネットワークを介してデータパケットを受信端末に送信し、前記受信端末が前記送信端末からのデータパケットの受信に応じて前記送信端末に確認応答パケットを返送するデータ伝送システムにおける送信速度制御方法であって、
     前記受信端末により、前記ネットワークの混雑度を予測可能なネットワークデータを測定し、
     所定長の期間毎に、該期間に亘って測定した前記ネットワークデータを用いてネットワークの混雑度を予測し、
     予測した前記混雑度に応じて前記受信端末から送信する確認応答パケットの送信速度を決定することを特徴とする送信速度制御方法。
    A transmitting terminal and a receiving terminal are connected by a network, the transmitting terminal transmits a data packet to the receiving terminal via the network, and the receiving terminal confirms with the transmitting terminal in response to reception of the data packet from the transmitting terminal A transmission rate control method in a data transmission system for returning a response packet,
    The receiving terminal measures network data that can predict the degree of congestion of the network,
    For each period of a predetermined length, the network data measured over the period is used to predict the degree of network congestion,
    A transmission rate control method, comprising: determining a transmission rate of an acknowledgment packet transmitted from the receiving terminal according to the predicted degree of congestion.
  2.  さらに、予測した前記ネットワークの混雑度に応じて前記送信端末から送信するデータパケットの送信速度を決定することを特徴とする請求項1に記載の送信速度制御方法。 The transmission rate control method according to claim 1, further comprising: determining a transmission rate of a data packet to be transmitted from the transmission terminal according to the predicted congestion level of the network.
  3.  送信端末と受信端末がネットワークにより接続され、前記送信端末が前記ネットワークを介してデータパケットを受信端末に送信し、前記受信端末が前記送信端末からのデータパケットの受信に応じて前記送信端末に確認応答パケットを返送するデータ伝送システムであって、
     前記受信端末は、
     前記ネットワークの混雑度を予測可能なネットワークデータを測定するネットワークデータ測定手段と、
     所定長の期間毎に、該期間に亘って前記ネットワークデータ測定手段が測定した前記ネットワークデータを用いて前記ネットワークの混雑度を予測する第1の混雑度予測手段と、
     前記第1の混雑度予測手段が予測した混雑度に応じて前記確認応答パケットの送信速度を決定する確認応答パケット送信速度決定手段とを備えることを特徴とするデータ伝送システム。
    A transmitting terminal and a receiving terminal are connected by a network, the transmitting terminal transmits a data packet to the receiving terminal via the network, and the receiving terminal confirms with the transmitting terminal in response to reception of the data packet from the transmitting terminal A data transmission system for returning a response packet,
    The receiving terminal is
    Network data measuring means for measuring network data capable of predicting the degree of congestion of the network;
    First congestion degree prediction means for predicting the congestion degree of the network using the network data measured by the network data measurement means over the period for each predetermined length period;
    A data transmission system comprising: an acknowledgment packet transmission rate determining unit that determines a transmission rate of the acknowledgment packet according to the congestion level predicted by the first congestion level predicting unit.
  4.  前記ネットワークデータは、前記送信端末から送信されたデータパケットのうちのロスパケットの発生状況を示しうる情報を含むことを特徴とする請求項3に記載のデータ伝送システム。 4. The data transmission system according to claim 3, wherein the network data includes information that can indicate an occurrence state of a lost packet among data packets transmitted from the transmitting terminal.
  5.  前記受信端末は、さらに、
     前記第1の混雑度予測手段が予測した混雑度に応じて、前記送信端末が前記受信端末にデータパケットを送信する際の送信速度を決定するデータパケット送信速度決定手段と、
     前記確認応答パケットを作成する確認応答パケット作成手段とをさらに有し、
     該確認応答パケット作成手段は、前記データパケット送信速度決定手段が決定した前記データパケット送信速度を前記確認応答パケットに含め、
     前記送信端末は、前記受信端末から返送された確認応答パケットに含まれる前記データパケット送信速度で、データパケットを前記受信端末に送信することを特徴とする請求項3または4に記載のデータ伝送システム。
    The receiving terminal further includes:
    A data packet transmission rate determining unit for determining a transmission rate at which the transmitting terminal transmits a data packet to the receiving terminal according to the congestion degree predicted by the first congestion degree predicting unit;
    An acknowledgment packet creating means for creating the acknowledgment packet;
    The confirmation response packet creation means includes the data packet transmission speed determined by the data packet transmission speed determination means in the confirmation response packet,
    The data transmission system according to claim 3 or 4, wherein the transmission terminal transmits a data packet to the reception terminal at the data packet transmission rate included in the acknowledgment packet returned from the reception terminal. .
  6.  前記受信端末は、前記確認応答パケットを作成する確認応答パケット作成手段をさらに備え、
     前記送信端末は、
     ネットワークの混雑度を予測する第2の混雑度予測手段と、
     該第2の混雑度予測手段が予測した混雑度に応じて、前記受信端末にデータパケットを送信する際の送信速度を決定するデータパケット送信速度決定手段とを有し、
     前記確認応答パケット作成手段は、前記第2の混雑度予測手段と前記データパケット送信速度決定手段が必要とする情報であって、前記ネットワークデータ測定手段が測定したネットワークデータの少なくも一部または前記ネットワークデータから算出されるデータである前記情報を前記確認応答パケットに含め、
     前記第2の混雑度予測手段は、所定長の期間毎に、該期間内に受信した複数の制御パケットに含まれる前記情報からネットワークの混雑度を予測し、
     前記データパケット送信速度決定手段は、前記第2の混雑度予測手段が予測した混雑度に応じて、データパケットの送信速度を決定することを特徴とする請求項3または4に記載のデータ伝送システム。
    The receiving terminal further comprises an acknowledgment packet creating means for creating the acknowledgment packet;
    The transmitting terminal is
    A second congestion degree prediction means for predicting the congestion degree of the network;
    Data packet transmission rate determining means for determining a transmission rate for transmitting data packets to the receiving terminal according to the congestion degree predicted by the second congestion degree predicting means,
    The acknowledgment packet creating means is information required by the second congestion degree predicting means and the data packet transmission rate determining means, and at least a part of the network data measured by the network data measuring means or the The information that is data calculated from network data is included in the acknowledgment packet,
    The second congestion degree prediction means predicts the congestion degree of the network from the information included in a plurality of control packets received within the period for each predetermined length period,
    5. The data transmission system according to claim 3, wherein the data packet transmission rate determining unit determines a data packet transmission rate according to the congestion level predicted by the second congestion level prediction unit. .
  7.  データパケットを送信する送信端末とネットワークにより接続され、前記送信端末からのデータパケットの受信に応じて前記送信端末に確認応答パケットを返送する受信端末であって、
     前記ネットワークの混雑度を予測可能なネットワークデータを測定するネットワークデータ測定手段と、
     所定長の期間毎に、該期間に亘って前記ネットワークデータ測定手段が測定した前記ネットワークデータを用いて前記ネットワークの混雑度を予測する第1の混雑度予測手段と、
     前記第1の混雑度予測手段が予測した混雑度に応じて前記確認応答パケットの送信速度を決定する確認応答パケット送信速度決定手段とを備えることを特徴とする受信端末。
    A receiving terminal that is connected to a transmitting terminal that transmits a data packet by a network and returns an acknowledgment packet to the transmitting terminal in response to reception of the data packet from the transmitting terminal;
    Network data measuring means for measuring network data capable of predicting the degree of congestion of the network;
    First congestion degree prediction means for predicting the congestion degree of the network using the network data measured by the network data measurement means over the period for each predetermined length period;
    A receiving terminal comprising: an acknowledgment packet transmission rate determining unit that determines a transmission rate of the acknowledgment packet according to the congestion level predicted by the first congestion level predicting unit.
  8.  前記ネットワークデータは、前記送信端末から送信されたデータパケットのうちのロスパケットの発生状況を示しうる情報を含むことを特徴とする請求項7に記載の受信端末。 The receiving terminal according to claim 7, wherein the network data includes information that can indicate an occurrence state of a lost packet among data packets transmitted from the transmitting terminal.
  9.  前記第1の混雑度予測手段が予測した混雑度に応じて、前記送信端末が前記受信端末にデータパケットを送信する際の送信速度を決定するデータパケット送信速度決定手段と、
     前記確認応答パケットを作成する確認応答パケット作成手段とをさらに有し、
     該確認応答パケット作成手段は、前記データパケット送信速度決定手段が決定した前記データパケット送信速度を前記確認応答パケットに含めることを特徴とする請求項7または8に記載の受信端末。
    A data packet transmission rate determining unit for determining a transmission rate at which the transmitting terminal transmits a data packet to the receiving terminal according to the congestion degree predicted by the first congestion degree predicting unit;
    An acknowledgment packet creating means for creating the acknowledgment packet;
    9. The receiving terminal according to claim 7, wherein the confirmation response packet creating unit includes the data packet transmission rate determined by the data packet transmission rate determining unit in the confirmation response packet.
  10.  前記確認応答パケットを作成する確認応答パケット作成手段をさらに備え、
     該確認応答パケット作成手段は、前記送信端末によるネットワークの混雑度の予測と、予測した混雑度に応じたデータパケットの送信速度の決定とに必要な情報であって、前記ネットワークデータ測定手段が測定したネットワークデータの少なくも一部または前記ネットワークデータから算出されるデータである前記情報を前記確認応答パケットに含めることを特徴とする請求項7または8に記載の受信端末。
    An acknowledgment packet creating means for creating the acknowledgment packet;
    The confirmation response packet creating means is information necessary for predicting the degree of congestion of the network by the transmitting terminal and determining the transmission rate of the data packet according to the predicted degree of congestion, and measured by the network data measuring means The receiving terminal according to claim 7, wherein the information that is at least a part of the network data or data calculated from the network data is included in the acknowledgment packet.
  11.  ネットワークを介して受信端末と接続され、前記受信端末にデータパケットを送信すると共に、データパケットの受信に応じて前記受信端末が返送する確認応答パケットを受信する送信端末であって、
     前記確認応答パケットには、前記受信端末が予測したネットワークの混雑度に応じて決定したデータパケットの送信速度が含まれており、
     前記確認応答パケットに含まれる前記データパケットの送信速度で、前記受信端末にデータパケットを送信することを特徴とする送信端末。
    A transmission terminal connected to a reception terminal via a network, transmitting a data packet to the reception terminal, and receiving an acknowledgment packet returned by the reception terminal in response to reception of the data packet;
    The acknowledgment packet includes the transmission rate of the data packet determined according to the degree of network congestion predicted by the receiving terminal,
    A transmitting terminal that transmits a data packet to the receiving terminal at a transmission speed of the data packet included in the acknowledgment packet.
  12.  前記送信端末は、
     所定のサイズになるように前記受信端末に送信するデータパケットを整形するデータパケット整形手段を有することを特徴とする請求項11に記載の送信端末。
    The transmitting terminal is
    12. The transmission terminal according to claim 11, further comprising data packet shaping means for shaping a data packet to be transmitted to the reception terminal so as to have a predetermined size.
  13.  ネットワークを介して受信端末と接続され、前記受信端末にデータパケットを送信すると共に、データパケットの受信に応じて前記受信端末が返送する確認応答パケットを受信する送信端末であって、
     ネットワークの混雑度を予測する第2の混雑度予測手段と、
     該第2の混雑度予測手段が予測した混雑度に応じて、前記受信端末にデータパケットを送信する際の送信速度を決定するデータパケット送信速度決定手段とを有し、
     前記確認応答パケットには、前記第2の混雑度予測手段と前記データパケット送信速度決定手段とが必要とする情報であって、前記受信端末装置側で測定したネットワークデータの少なくも一部または前記ネットワークデータから算出されるデータである前記情報が含まれており、
     前記第2の混雑度予測手段は、所定長の期間毎に、該期間内に受信した複数の制御パケットに含まれる前記情報からネットワークの混雑度を予測し、
     前記データパケット送信速度決定手段は、前記第2の混雑度予測手段が予測した混雑度に応じて、データパケットの送信速度を決定することを特徴とする送信端末。
    A transmission terminal connected to a reception terminal via a network, transmitting a data packet to the reception terminal, and receiving an acknowledgment packet returned by the reception terminal in response to reception of the data packet;
    A second congestion degree prediction means for predicting the congestion degree of the network;
    Data packet transmission rate determining means for determining a transmission rate for transmitting data packets to the receiving terminal according to the congestion degree predicted by the second congestion degree predicting means,
    The acknowledgment packet is information required by the second congestion degree predicting means and the data packet transmission rate determining means, and at least a part of the network data measured on the receiving terminal device side or the information The information that is data calculated from network data is included,
    The second congestion degree prediction means predicts the congestion degree of the network from the information included in a plurality of control packets received within the period for each predetermined length period,
    The transmission terminal characterized in that the data packet transmission rate determination means determines the transmission rate of the data packet according to the congestion degree predicted by the second congestion degree prediction means.
PCT/JP2010/005462 2009-10-19 2010-09-06 Data transmission system, transmission rate controlling method, receiving terminal and transmitting terminal WO2011048740A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011537105A JPWO2011048740A1 (en) 2009-10-19 2010-09-06 Data transmission system, transmission speed control method, receiving terminal, transmitting terminal

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009240226 2009-10-19
JP2009-240226 2009-10-19

Publications (1)

Publication Number Publication Date
WO2011048740A1 true WO2011048740A1 (en) 2011-04-28

Family

ID=43899985

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/005462 WO2011048740A1 (en) 2009-10-19 2010-09-06 Data transmission system, transmission rate controlling method, receiving terminal and transmitting terminal

Country Status (2)

Country Link
JP (1) JPWO2011048740A1 (en)
WO (1) WO2011048740A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013106304A (en) * 2011-11-16 2013-05-30 Ntt Comware Corp Monitoring device, monitoring method, and program
JP2017028648A (en) * 2015-07-28 2017-02-02 株式会社日立システムズ System and method for preventing voice quality deterioration
WO2022102050A1 (en) * 2020-11-12 2022-05-19 日本電信電話株式会社 Sensor accommodation terminal, disconnection determination method, and disconnection determination program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001230809A (en) * 2000-02-15 2001-08-24 Mitsubishi Electric Corp Communication system and communication method and transmission terminal and reception terminal
JP2004080070A (en) * 2002-08-09 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> Data transfer method, data transfer system and content distribution system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001230809A (en) * 2000-02-15 2001-08-24 Mitsubishi Electric Corp Communication system and communication method and transmission terminal and reception terminal
JP2004080070A (en) * 2002-08-09 2004-03-11 Nippon Telegr & Teleph Corp <Ntt> Data transfer method, data transfer system and content distribution system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013106304A (en) * 2011-11-16 2013-05-30 Ntt Comware Corp Monitoring device, monitoring method, and program
JP2017028648A (en) * 2015-07-28 2017-02-02 株式会社日立システムズ System and method for preventing voice quality deterioration
WO2022102050A1 (en) * 2020-11-12 2022-05-19 日本電信電話株式会社 Sensor accommodation terminal, disconnection determination method, and disconnection determination program
JP7439952B2 (en) 2020-11-12 2024-02-28 日本電信電話株式会社 Sensor housing terminal, disconnection determination method, and disconnection determination program

Also Published As

Publication number Publication date
JPWO2011048740A1 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
Xu et al. CMT-QA: Quality-aware adaptive concurrent multipath data transfer in heterogeneous wireless networks
Appenzeller et al. Sizing router buffers
JP4703063B2 (en) Method and system for mitigating network congestion
KR100757872B1 (en) Apparatus and method of backward congestion notification on network
US20160105364A1 (en) Network traffic flow management using machine learning
Mascolo et al. Performance evaluation of Westwood+ TCP congestion control
US20110060831A1 (en) Network monitoring device, bus system monitoring device, method and program
US20130191829A1 (en) Computer system, virtual server alignment method, and alignment control apparatus
KR20040078559A (en) Controlling admission of data streams onto a network based on end-to-end measurements
US9553810B2 (en) Dynamic reconfiguration of network devices for outage prediction
US11171869B2 (en) Microburst detection and management
US20130250797A1 (en) Communication control system, control device, communication control method, and communication control program
WO2016182772A1 (en) Uplink performance management
JP6014932B2 (en) Network device, performance control method, and network system
CN114513467B (en) Network traffic load balancing method and device of data center
Moltchanov A study of TCP performance in wireless environment using fixed-point approximation
KR102162350B1 (en) Apparatus and method for controlling multi communication
WO2011048740A1 (en) Data transmission system, transmission rate controlling method, receiving terminal and transmitting terminal
Javadtalab et al. Continuous one-way detection of available bandwidth changes for video streaming over best-effort networks
Guo et al. IEEE SA Industry Connections-IEEE 802 Nendica Report: Intelligent Lossless Data Center Networks
WO2013185480A1 (en) Method and device for obtaining throughput rate
JP5768722B2 (en) Program for verification test, information processing method, and information processing apparatus
US20160294648A1 (en) Hub filtering
JP2013078011A (en) Communication quality measurement method and device
EP3910881B1 (en) Qoe assessment method and related device

Legal Events

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

Ref document number: 10824595

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011537105

Country of ref document: JP

122 Ep: pct application non-entry in european phase

Ref document number: 10824595

Country of ref document: EP

Kind code of ref document: A1