WO2017077704A1 - スループット計測装置、方法および記録媒体 - Google Patents

スループット計測装置、方法および記録媒体 Download PDF

Info

Publication number
WO2017077704A1
WO2017077704A1 PCT/JP2016/004780 JP2016004780W WO2017077704A1 WO 2017077704 A1 WO2017077704 A1 WO 2017077704A1 JP 2016004780 W JP2016004780 W JP 2016004780W WO 2017077704 A1 WO2017077704 A1 WO 2017077704A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
throughput
reception
feedback
theoretical value
Prior art date
Application number
PCT/JP2016/004780
Other languages
English (en)
French (fr)
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 JP2017548638A priority Critical patent/JP6798500B2/ja
Priority to US15/768,067 priority patent/US10652123B2/en
Publication of WO2017077704A1 publication Critical patent/WO2017077704A1/ja

Links

Images

Classifications

    • 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/0888Throughput
    • 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/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0841Round trip packet loss
    • 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/0852Delays
    • H04L43/0864Round trip delays

Definitions

  • the present invention relates to a throughput measuring apparatus, method, and recording medium for measuring throughput in an application layer.
  • the throughput between the transmission device and the reception device is defined as a value obtained by dividing the amount of measurement data transmitted from the transmission device to the reception device by the transmission time required for transmission of the measurement data.
  • the transmission time is a transmission time between the transport layers of the transmission device and the reception device (corresponding to true duration in FIG. 16).
  • FIG. 16 is a diagram illustrating the time passage of measurement data transmitted from the application of the transmission device to the application of the reception device.
  • a thick arrow represents a flow of transmission of measurement data output from the application layer.
  • the measurement data output from the application of the transmitting device is transmitted from the transport layer of the transmitting device to the transport layer of the receiving device and passed to the application of the receiving device.
  • the transmission time between the transport layers is the time from when the first packet of measurement data is transmitted from the transport layer until the last packet is received by the transport layer of the receiving device.
  • the amount of measurement data needs to be sufficiently larger than the size of the transmission buffer in the transport layer of the transmission device. This is because when the measurement data is smaller than the size of the transmission buffer, the measurement data can be instantaneously transferred from the application layer to the transmission buffer in the transport layer, so that the transmission appears to be completed instantaneously from the application layer. As a result, the transmission time viewed from the application layer becomes almost zero, so that a measurement error in throughput increases.
  • the throughput is theoretically calculated based on the retransmission occurrence rate, the average packet round-trip delay time, the packet loss rate, and the like.
  • the throughput can be measured in a form that does not depend on the size of the measurement data.
  • an error from the actual throughput may increase in an environment in which spike delay or burst loss is likely to occur, for example, in a network with a large fluctuation such as a mobile network.
  • the packet loss rate in the denominator of the theoretical value calculation formula is close to 0, so the theoretical value is the actual throughput. May be larger.
  • An object of the present invention is to provide a throughput measuring device, a method, and a recording medium capable of measuring the throughput with high accuracy in the application layer.
  • the throughput measuring apparatus of the present invention includes a data transmitting unit that transmits data to a receiving device, a feedback receiving unit that receives feedback indicating completion of reception of the data from the receiving device, Boundary value calculating means for calculating a boundary value of a range of values that the throughput can take based on feedback and the amount of transmission data of the data; theoretical value measuring means for measuring the theoretical value of the throughput; and Output means for outputting the boundary value when the value is outside the range, and outputting the theoretical value when the theoretical value is included in the range.
  • data can be transmitted to a receiving device, feedback indicating the completion of reception of the data can be received from the receiving device, and throughput can be obtained based on the feedback and the transmission data amount of the data.
  • the throughput measuring program recorded on the computer-readable recording medium of the present invention receives a data transmission function for transmitting data to the receiving device and feedback indicating completion of reception of the data from the receiving device.
  • a feedback reception function a boundary value calculation function that calculates a boundary value of a range of values that the throughput can take based on the feedback and the amount of transmission data of the data, a theoretical value measurement function that measures the theoretical value of the throughput,
  • An output function for outputting the boundary value when the theoretical value is out of the range and outputting the theoretical value when the theoretical value is included in the range is realized.
  • the throughput measuring apparatus, method, and recording medium of the present invention can measure the throughput with high accuracy in the application layer.
  • FIG. 1 shows a configuration example of the throughput measuring apparatus 10 of the present embodiment.
  • the throughput measuring apparatus 10 of this embodiment includes a data transmitting unit 11, a feedback receiving unit 12, a boundary value calculating unit 13, a theoretical value measuring unit 14, and an output unit 15.
  • the data transmission unit 11 is a part that transmits data to the receiving device.
  • the feedback receiving unit 12 is a part that receives feedback indicating completion of data reception from the receiving device.
  • the boundary value calculation unit 13 is a part that calculates a boundary value within a range of values that the throughput can take based on feedback and the amount of data transmitted.
  • the theoretical value measuring unit 14 is a part that measures the theoretical value of the throughput.
  • the output unit 15 is a part that outputs a boundary value when the theoretical value is out of the range of values that the throughput can take, and outputs a theoretical value when the theoretical value is included in the range.
  • the throughput measuring apparatus 10 By configuring the throughput measuring apparatus 10 in this way, when the theoretical value is out of the range of values that the throughput can take, a boundary value closer to the true throughput can be output as the throughput. Therefore, it becomes possible to measure the throughput with high accuracy in the application layer.
  • FIG. 2 shows an example of the operation of the throughput measuring apparatus 10 of the present embodiment.
  • the data transmitting unit 11 of the throughput measuring apparatus 10 transmits data to the receiving apparatus (step S101). Then, the feedback receiving unit 12 receives feedback indicating the completion of data reception from the receiving device (step S102).
  • Boundary value calculation unit 13 calculates a boundary value within a range of values that the throughput can take based on feedback and the amount of data transmitted (step S103).
  • the theoretical value measuring unit 14 measures the theoretical value of the throughput (step S104).
  • the output unit 15 outputs a boundary value when the theoretical value is out of the range of values that the throughput can take, and outputs a theoretical value when the theoretical value is included in the range (step S105).
  • the feedback indicating the completion of data reception is received from the receiving apparatus, and the boundary value of the throughput is calculated based on the feedback.
  • the boundary value is output.
  • the configuration example of the throughput measuring apparatus 10 is the same as that of the first embodiment. As shown in FIG. 3, the throughput measuring apparatus 10 transmits / receives data to / from the receiving apparatus 40 via the network.
  • the data transmission unit 11 of the throughput measurement device 10 is a part that transmits data to the reception device 40.
  • data is intermittently transmitted to the receiving device 40 by TCP (Transmission Control Protocol).
  • TCP Transmission Control Protocol
  • the data to be transmitted here is assumed to be data of an application whose behavior changes depending on the throughput, for example, an application such as adaptive video distribution whose image quality changes depending on the throughput.
  • the feedback receiving unit 12 is a part that receives feedback indicating the completion of data reception from the receiving device 40.
  • the data reception start time and reception completion time are received as feedback.
  • an elapsed reception time from the data reception start time to the reception completion time may be received.
  • the boundary value calculation unit 13 is a part that calculates the upper limit value of the throughput based on the feedback and the amount of transmitted data. Note that the amount of data received by the receiving device may be received as feedback, and the upper limit value may be calculated using the amount of received data instead of the amount of transmitted data.
  • the theoretical value measuring unit 14 is a part that measures the theoretical value of the throughput.
  • the output unit 15 is a part that outputs an upper limit value when the theoretical value is larger than the upper limit value, and outputs a theoretical value when the theoretical value is less than or equal to the upper limit value.
  • the receiving device 40 includes a data receiving unit 41, a measuring unit 42, and a feedback transmitting unit 43.
  • the data receiving unit 41 of the receiving device 40 is a part that receives data transmitted by the data transmitting unit 11 of the throughput measuring device 10.
  • the data received by the data receiving unit 41 is received after being fragmented into the size of the reception buffer.
  • the measurement unit 42 is a part that measures the data reception start time and reception completion time.
  • the reception start time is the time when reception of the first data fragmented by the data receiving unit 41 is started.
  • the reception completion time is the time when reception of the last data fragmented by the data reception unit 41 is started (or completed).
  • the feedback transmission unit 43 is a part that transmits feedback to the feedback reception unit 12 of the throughput measuring apparatus 10.
  • the data reception start time and reception completion time are transmitted as feedback. Note that, as feedback, the reception elapsed time from the data reception start time to the reception completion time may be transmitted.
  • the configuration of the theoretical value measurement unit 14 is not limited to the configuration example of FIG. 4, but in the present embodiment, as a specific example, a theoretical value is calculated from a round trip time (hereinafter referred to as RTT (RoundRTrip Time)) and a packet loss rate. A method of measuring the will be described.
  • RTT Round Trip Time
  • FIG. 4 is a configuration example of the theoretical value measuring unit 14 of the throughput measuring apparatus 10.
  • FIG. 5 is a configuration example of the receiving device 50 when the theoretical value measurement unit 14 has the configuration example of FIG.
  • the present embodiment will be described using the receiving device 50 instead of the receiving device 40.
  • the theoretical value measuring unit 14 includes, for example, a theoretical value packet transmitting / receiving unit 141, a loss rate measuring unit 142, an RTT measuring unit 143, and a calculating unit 144.
  • the theoretical value packet transmitting / receiving unit 141 of the theoretical value measuring unit 14 is a part that transmits / receives a theoretical value measuring packet to / from the theoretical value packet transmitting / receiving unit 54 of the receiving device 50.
  • the packet loss rate and RTT necessary for the theoretical value measurement are acquired by transmitting and receiving a UDP (User Datagram Protocol) packet for theoretical value measurement.
  • UDP User Datagram Protocol
  • the theoretical value measurement packet can also be transmitted by a protocol other than UDP.
  • the TCP transmission rate is generally several hundred kbps or more.
  • the UDP packet transmission rate for theoretical value measurement can be realized at 1 kbps or less. Therefore, the influence of transmission / reception of the theoretical value measurement packet on the calculation of the upper limit value and the lower limit value is at a level that can be sufficiently ignored.
  • the loss rate measuring unit 142 is a part that measures the packet loss rate of the UDP packet transmitted / received by the theoretical value packet transmitting / receiving unit 141.
  • the RTT measuring unit 143 is a part that measures the RTT of the UDP packet transmitted / received by the theoretical value packet transmitting / receiving unit 141.
  • the calculation unit 144 is a part that calculates the theoretical value of the throughput based on the packet loss rate measured by the loss rate measurement unit 142 and the RTT measured by the RTT measurement unit 143.
  • the receiving device 50 has a configuration in which a theoretical value packet transmitting / receiving unit 54 is added to the receiving device 40.
  • the theoretical value packet transmission / reception unit 54 is a part that transmits / receives a UDP packet to / from the theoretical value packet transmission / reception unit 141 of the theoretical value measurement unit 14.
  • FIG. 6 shows an example of the operation of the throughput measuring apparatus 10.
  • the data transmission unit 11 of the throughput measuring device 10 transmits TCP data to the data reception unit 41 of the reception device 50 (step S201).
  • the relationship between the sizes di_fj_size and di_size of the data di_fj is expressed by Equation 1.
  • the measurement unit 42 of the receiving device 50 feeds back the reception start time (time when di_f1 is received) di_f1_t and the reception completion time (time when di_fn is received) di_fn_t. It passes to the transmission unit 43.
  • the feedback transmission unit 43 transmits the reception start time di_f1_t and the reception completion time di_fn_t to the feedback reception unit 12 of the throughput measuring apparatus 10. Then, the feedback receiving unit 12 receives feedback (step S202).
  • the boundary value calculation unit 13 stores the reception elapsed time di_t of the data di, that is, the elapsed time [sec] from the reception start time di_f1_t to the reception completion time di_fn_t, and the transmission data size di_size [bit]. At this time, the relationship between the reception start time, the reception completion time, and the elapsed time is as shown in FIG.
  • FIG. 7 is a diagram illustrating the passage of time of measurement data transmitted by the transmission device.
  • the reception start time is the time when the application layer of the receiving apparatus starts receiving measurement data
  • the reception completion time is the time when the application layer of the receiving apparatus completes reception of measurement data.
  • the elapsed time of reception is the elapsed time from the reception start time to the reception completion time.
  • the boundary value calculation unit 13 calculates the upper limit value of the throughput (step S205). If the feedback receiving unit 12 has received feedback m times during a predetermined time, the upper limit value can be calculated as shown in Equation 2, for example. Since the data reception elapsed time often includes an error, in this embodiment, in order to reduce the measurement error, the upper limit value is calculated from feedback for a predetermined time.
  • the theoretical value measuring unit 14 of the throughput measuring apparatus 10 calculates the theoretical value of the throughput.
  • a method for calculating the TCP throughput from the RTT and the packet loss rate between the throughput measuring apparatus 10 and the receiving apparatus 50 will be described.
  • the theoretical value packet transmitting / receiving unit 141 of the throughput measuring apparatus 10 transmits / receives a theoretical value measuring UDP packet to / from the theoretical value packet transmitting / receiving unit 54 of the receiving apparatus 50 (step S203).
  • the loss rate measurement unit 142 measures the packet loss rate
  • the RTT measurement unit 143 measures the RTT (step S204).
  • the calculation unit 144 calculates a theoretical value of the throughput (step S206).
  • TCP window size W it is assumed that the relationship between the TCP window size W and time changes as shown in FIG. 8 in accordance with TCP New Reno.
  • TCP New Reno when packet loss occurs due to congestion, the window size W is made half of the window size W0 at that time, and the window size is increased for each packet. Therefore, a W0 / 2 packet is required for the window size that has become W0 / 2 to return to W0.
  • the relationship between the packet loss rate p and the window size W0 when the packet loss occurs is expressed by Equation 3.
  • the output unit 15 After calculating the upper limit (step S205) and the theoretical value (step S206), the output unit 15 outputs the throughput (step S207).
  • the throughput output operation of the output unit 15 is shown in FIG.
  • the output unit 15 When the theoretical value is larger than the upper limit value (step S301), the output unit 15 outputs the upper limit value (step S302).
  • the output unit 15 When the theoretical value is less than or equal to the upper limit value, the output unit 15 outputs the theoretical value (step S303).
  • the elapsed time of reception used to calculate the upper limit of throughput is smaller than the true transmission time (true duration) as shown in FIG. Therefore, the true throughput is smaller than the upper limit value calculated in the present embodiment. Therefore, when the theoretical value is larger than the upper limit value, it can be determined that the accuracy of the theoretical value is low. Then, by outputting the upper limit value closer to the true throughput as the measurement throughput, it is possible to improve the accuracy of the measurement throughput.
  • the data transmitted between the throughput measuring device 10 and the receiving device 50 is intermittently transmitted, for example, data such as a video frame in live video distribution.
  • the throughput measuring device 10 transmits video data of 30 frames per second to the receiving device 50.
  • the throughput measuring apparatus 10 receives a throughput output request once per second and outputs the throughput.
  • the measuring unit 42 of the receiving device 50 holds the reception start time i_1_t of the fragmented video frame i_1.
  • the measuring unit 42 holds the reception completion time i_n_t of the last fragmented data i_n of the video frame i.
  • the feedback transmission unit 43 transmits feedback including the reception start time i_1_t and the reception completion time i_n_t to the feedback reception unit 12 of the throughput measuring apparatus 10.
  • the feedback receiver 12 receives feedback from the feedback transmitter 43.
  • the boundary value calculation unit 13 holds an elapsed reception time i_t from the reception start time i_1_t to the reception completion time i_n_t.
  • the data amount i_size of the video frame i transmitted by the data transmission unit 11 is held.
  • the boundary value calculation unit 13 calculates the upper limit value of the throughput using Expression 2.
  • Equation 2 when m is 30, di_size is i_size, and di_t is i_t, the upper limit value can be calculated.
  • the upper limit value is calculated as 2.1 Mbps.
  • the theoretical value packet transmitting / receiving unit 141 of the theoretical value measuring unit 14 of the throughput measuring apparatus 10 transmits and receives a UDP packet to and from the theoretical value packet transmitting / receiving unit 54 of the receiving apparatus 50 to measure the RTT and the packet loss rate. To do.
  • Any method can be used as a method for measuring the RTT and the packet loss rate.
  • FIG. 10 is a diagram illustrating a time lapse of packets transmitted and received between the transmission side and the reception side and a sequence number of each packet.
  • the theoretical value packet transmission / reception unit 141 holds the sequence number u of the received UDP packet and transmits the UDP packet with the sequence number u + 1.
  • the theoretical value packet transmitting / receiving unit 54 transmits a UDP packet having the same sequence number as the received UDP packet.
  • the loss rate measuring unit 142 can determine the presence or absence of packet loss by comparing the sequence number of the received UDP packet with the sequence number of the UDP packet received immediately before. In the case of the example in FIG. 10, when the packet with the sequence number u + 2 is received, it is possible to determine that a packet loss has occurred because the sequence number of the packet received immediately before is u.
  • the RTT measuring unit 143 can measure the difference between the transmission time of the UDP packet with the sequence number u and the reception time of the UDP packet with the sequence number u as the RTT.
  • the theoretical value measurement unit 14 calculates a theoretical value using, for example, Equation 5.
  • the theoretical value is calculated as 2.6 Mbps.
  • the output unit 15 After measuring the upper limit value and the theoretical value, the output unit 15 outputs the upper limit value when the theoretical value is larger than the upper limit value, and outputs the theoretical value when the theoretical value is less than or equal to the upper limit value.
  • the upper limit value since the upper limit value is 2.1 Mbps and the theoretical value is 2.6 Mbps, the upper limit value of 2.1 Mbps is output.
  • the feedback regarding the data reception time is received from the receiving apparatus, and the upper limit value of the throughput is calculated based on the feedback.
  • the upper limit value is output.
  • the upper limit value can be output as the throughput. Therefore, it becomes possible to measure the throughput with high accuracy in the application layer.
  • the upper limit value is calculated as the boundary value.
  • the case where the lower limit value is calculated as the boundary value in the throughput measuring apparatus 10 will be specifically described.
  • the configuration example of the throughput measuring apparatus 10 is the same as that of the first embodiment (FIG. 1). Similar to the throughput measurement apparatus 10 of the first embodiment, the throughput measurement apparatus 10 transmits and receives data to and from the reception apparatus 40 via a network as shown in FIG.
  • the data transmission unit 11 of the throughput measurement device 10 is a part that transmits data to the reception device 40.
  • data is intermittently transmitted to the receiving device 40 by TCP.
  • the feedback receiving unit 12 is a part that receives feedback indicating the completion of data reception from the receiving device 40.
  • the boundary value calculation unit 13 is a part that calculates the lower limit value of the throughput based on the data transmission start time, the feedback reception time when the feedback is received, and the data transmission data amount.
  • the theoretical value measuring unit 14 is a part that measures the theoretical value of the throughput.
  • the output unit 15 is a part that outputs a lower limit value when the theoretical value is smaller than the lower limit value, and outputs a theoretical value when the theoretical value is greater than or equal to the lower limit value.
  • the receiving device 40 includes a data receiving unit 41, a measuring unit 42, and a feedback transmitting unit 43.
  • the data receiving unit 41 of the receiving device 40 is a part that receives data transmitted by the data transmitting unit 11 of the throughput measuring device 10.
  • the data received by the data receiving unit 41 is received after being fragmented into the size of the reception buffer.
  • the measurement unit 42 is a part that notifies the feedback transmission unit 43 of the completion of reception when data reception is completed.
  • the feedback transmission unit 43 is a part that transmits feedback to the feedback reception unit 12 of the throughput measuring apparatus 10 when reception of data is completed.
  • any method can be used as the method for measuring the theoretical value of the throughput of the present embodiment.
  • the theoretical value can be measured from the RTT and the packet loss rate by the theoretical value measuring unit 14 in FIG. 4 and the receiving device 50 in FIG.
  • the present embodiment will be described using the theoretical value measurement unit 14 in FIG. 4 as the theoretical value measurement unit 14 and the reception device 50 in FIG. 5 instead of the reception device 40.
  • the throughput measuring device 10 and the receiving devices (40, 50) in this manner, when the theoretical value falls below the lower limit value, it is possible to output a lower limit value closer to the true throughput as the measured throughput. Become. Therefore, it becomes possible to measure the throughput with high accuracy in the application layer.
  • the data transmission unit 11 transmits TCP data to the reception device 50 (step S201).
  • the measurement unit 42 of the reception device 50 notifies the feedback transmission unit 43 of the completion of reception.
  • the feedback transmission unit 43 transmits feedback indicating the completion of reception to the feedback reception unit 12 of the throughput measuring apparatus 10. Then, the feedback receiving unit 12 receives feedback (step S202).
  • the boundary value calculation unit 13 calculates di_rtt that is the RTT of the data di from the time di_start at which transmission of the data di is started and the time di_end at which feedback information on the data di is received. Then, RTT di_rtt and data size di_size [bit] of the data di are stored.
  • FIG. 11 shows the relationship between transmission start time, feedback reception time, and transmission elapsed time (RTT).
  • FIG. 11 is a diagram illustrating the passage of time of the measurement data transmitted by the transmission device.
  • the transmission start time is the time when the application layer of the transmission apparatus starts transmitting measurement data
  • the feedback reception time is the time when the application layer of the transmission apparatus receives feedback transmitted from the reception apparatus.
  • the application layer of the receiving device transmits feedback to the transmitting device when the reception of the measurement data is completed.
  • the elapsed time of transmission is the elapsed time from the transmission start time to the feedback reception time.
  • the boundary value calculation unit 13 calculates a lower limit value of the throughput (step S205). If the feedback receiving unit 12 has received feedback m times during a predetermined time, the lower limit value can be calculated as shown in Equation 6, for example. Since the data transmission elapsed time often includes an error, in this embodiment, in order to reduce the measurement error, the lower limit value is calculated from feedback for a predetermined time.
  • the base station performs buffering for scheduling packets. Therefore, when the amount of feedback data is small, the propagation delay of feedback increases due to the influence of buffering, and di_rtt may be larger than true duration. At this time, if the lower limit value is calculated by Equation 6, the lower limit value approaches 0. Therefore, in a network in which the propagation delay of feedback is assumed to be large, di_rtt is made closer to true duration by using, as di_rtt, a value obtained by subtracting the minimum time required for feedback transmission from di_rtt. Can be considered.
  • the RTT measured by the theoretical value measurement unit 14 is assumed as the minimum time required for transmission of feedback. It is also possible to use half the time.
  • the theoretical value measuring unit 14 of the throughput measuring apparatus 10 calculates the theoretical value of the throughput.
  • the theoretical value packet transmitting / receiving unit 141 of the throughput measuring apparatus 10 transmits / receives theoretical value measuring UDP data to / from the theoretical value packet transmitting / receiving unit 54 of the receiving apparatus 50 (step S203).
  • the loss rate measurement unit 142 measures the packet loss rate
  • the RTT measurement unit 143 measures the RTT (step S204).
  • the calculation unit 144 calculates a theoretical value of the throughput (step S206).
  • omitted is abbreviate
  • the output unit 15 After calculating the boundary value (lower limit value) (step S205) and the theoretical value (step S206), the output unit 15 outputs the throughput (step S207).
  • the throughput output operation of the output unit 15 is shown in FIG.
  • the output unit 15 When the theoretical value is smaller than the lower limit value (step S401), the output unit 15 outputs the lower limit value (step S402).
  • the output unit 15 When the theoretical value is greater than or equal to the lower limit value, the output unit 15 outputs the theoretical value (step S403).
  • the elapsed time of transmission used to calculate the lower limit value of the throughput is longer than the true transmission time (true duration) as shown in FIG. Therefore, the true throughput is larger than the lower limit value calculated in the present embodiment. Therefore, when the theoretical value is smaller than the lower limit value, it can be determined that the accuracy of the theoretical value is low. By outputting the lower limit value closer to the true throughput as the measurement throughput, it is possible to improve the accuracy of the measurement throughput.
  • the data transmitted between the throughput measuring device 10 and the receiving device 50 is intermittently transmitted, for example, data such as a video frame in live video distribution.
  • the throughput measuring device 10 transmits video data of 30 frames per second to the receiving device 50.
  • the throughput measuring apparatus 10 receives a throughput output request once per second and outputs the throughput.
  • the measurement unit 42 of the reception device 50 notifies the feedback transmission unit 43 of the completion of reception. Then, the feedback transmission unit 43 transmits the feedback to the feedback reception unit 12 of the throughput measurement device 10.
  • the feedback receiver 12 receives feedback from the feedback transmitter 43. Then, the boundary value calculation unit 13 holds the transmission elapsed time i_rtt from the transmission start time f_i_start of the video frame i to the time f_i_end when the feedback is received. The data amount i_size of the video frame i transmitted by the data transmission unit 11 is held.
  • the boundary value calculation unit 13 calculates the lower limit value of the throughput using Expression 6.
  • Equation 6 when m is 30, di_size is i_size, and di_rtt is i_rtt, the lower limit value can be calculated.
  • the lower limit value is calculated as 1.7 Mbps.
  • the theoretical value packet transmitting / receiving unit 141 of the theoretical value measuring unit 14 of the throughput measuring apparatus 10 transmits / receives a UDP packet with the theoretical value packet transmitting / receiving unit 54 of the receiving apparatus 50, and measures the RTT and the packet loss rate. Then, the theoretical value measurement unit 14 calculates a theoretical value.
  • the method for measuring the RTT and the packet loss rate and the method for calculating the theoretical value are the same as in the second embodiment. Here, it is assumed that the theoretical value is calculated as 2.6 Mbps.
  • the output unit 15 After measuring the lower limit value and the theoretical value, the output unit 15 outputs the lower limit value when the theoretical value is smaller than the lower limit value, and outputs the theoretical value when the theoretical value is greater than or equal to the lower limit value.
  • the lower limit value is 1.7 Mbps and the theoretical value is 2.6 Mbps, the theoretical value 2.6 Mbps is output.
  • the feedback indicating the completion of data reception is received from the receiving device, and the lower limit of the throughput is determined based on the data transmission start time, the feedback reception time, and the transmission data amount. Calculate the value.
  • the lower limit value is output.
  • the lower limit value can be output as the throughput. Therefore, it becomes possible to measure the throughput with high accuracy in the application layer.
  • the boundary value calculation unit performs both the calculation of the upper limit value of the throughput and the calculation of the lower limit value.
  • the configuration example of the throughput measuring apparatus 10 of this embodiment is the same as that shown in FIG.
  • the throughput measuring apparatus 10 includes a data transmitting unit 11, a feedback receiving unit 12, a boundary value calculating unit 13, a theoretical value measuring unit 14, and an output unit 15.
  • the data transmission unit 11 is a part that transmits data to the receiving device.
  • data is intermittently transmitted to the receiving device by TCP.
  • the feedback receiving unit 12 is a part that receives feedback related to the data reception time from the receiving device.
  • the data reception start time and reception completion time are received as feedback.
  • the boundary value calculation unit 13 is a part for calculating the upper limit value and the lower limit value of the throughput.
  • the upper limit value of the throughput is calculated based on the feedback and the amount of transmitted data.
  • the lower limit value of the throughput is calculated based on the data transmission start time, the feedback reception time when the feedback is received, and the data transmission data amount.
  • the theoretical value measuring unit 14 is a part that measures the theoretical value of the throughput.
  • the output unit 15 outputs an upper limit value when the theoretical value is greater than the upper limit value, outputs a lower limit value when the theoretical value is smaller than the lower limit value, and outputs a theoretical value when the theoretical value is less than or equal to the upper limit value and greater than or equal to the lower limit value.
  • the throughput measuring apparatus 10 By configuring the throughput measuring apparatus 10 in this way, it becomes possible to measure the throughput with high accuracy in the application layer.
  • the upper limit value and the lower limit value are calculated in step S205, and any one of the upper limit value, the lower limit value, and the theoretical value is output in step S207.
  • the reception start time and the reception completion time are received by feedback. Then, an upper limit value of the throughput is calculated from the reception start time, the reception completion time, and the transmission data amount. Further, the lower limit value of the throughput is calculated from the transmission start time at which data transmission is started, the feedback reception time at which feedback is received, and the transmission data amount.
  • step S501 when the theoretical value is larger than the upper limit value (step S501), the output unit 35 outputs the upper limit value (step S502). When the theoretical value is smaller than the lower limit value (step S503), the output unit 35 outputs the lower limit value (step S504). When the theoretical value is not less than the lower limit value and not more than the upper limit value, the output unit 35 outputs the theoretical value (step S505).
  • FIG. 14 is a diagram illustrating an elapsed time of transmission.
  • the elapsed time from the transmission start time to the feedback reception time is the transmission elapsed time
  • the transmission elapsed time is from the transmission start time to the reception completion time.
  • the reception completion time can be received by being included in the feedback, and is received for calculating the upper limit value in the present embodiment.
  • the transmission elapsed time is affected by the clock error, so that the throughput measurement accuracy is lowered.
  • the transmission elapsed time can be calculated without being affected by the clock error.
  • the feedback regarding the data reception time is received from the receiving apparatus, and the upper limit value of the throughput is calculated based on the feedback.
  • the upper limit value is output.
  • the upper limit value can be output as the throughput.
  • feedback indicating the completion of data reception is received from the receiving apparatus, and a lower limit value of the throughput is calculated based on the data transmission start time, the feedback reception time, and the transmission data amount.
  • the lower limit value is output. As a result, when the theoretical value becomes smaller than the true throughput due to disturbance, the lower limit value can be output as the throughput. Therefore, it becomes possible to measure the throughput with high accuracy in the application layer.
  • the throughput measuring apparatus 10 may be realized using at least two information processing apparatuses physically or functionally. Further, the throughput measuring device 10 may be realized as a dedicated device. Further, only some functions of the throughput measuring apparatus 10 may be realized using an information processing apparatus.
  • FIG. 15 is a diagram schematically illustrating a hardware configuration example of an information processing apparatus capable of realizing the throughput measurement apparatus according to each embodiment of the present invention.
  • the information processing device 70 includes a communication interface 71, an input / output interface 72, an arithmetic device 73, a storage device 74, a nonvolatile storage device 75, and a drive device 76.
  • the communication interface 71 is a communication means for the throughput measuring device 10 of each embodiment to communicate with an external device by wire or / and wirelessly.
  • the apparatuses may be connected so as to be able to communicate with each other via the communication interface 71.
  • the input / output interface 72 is a man-machine interface such as a keyboard that is an example of an input device and a display as an output device.
  • the calculation device 73 is a calculation processing device such as a general-purpose CPU (Central Processing Unit) or a microprocessor.
  • the arithmetic device 73 can read out various programs stored in the nonvolatile storage device 75 to the storage device 74 and execute processing according to the read programs.
  • the storage device 74 is a memory device such as a RAM (Random Access Memory) that can be referred to from the arithmetic device 73, and stores programs, various data, and the like.
  • the storage device 74 may be a volatile memory device.
  • the nonvolatile storage device 75 is a nonvolatile storage device such as a ROM (Read Only Memory) or a flash memory, and can record various programs and data.
  • the drive device 76 is, for example, a device that processes reading and writing of data with respect to a recording medium 77 described later.
  • the recording medium 77 is an arbitrary recording medium capable of recording data, such as an optical disk, a magneto-optical disk, and a semiconductor flash memory.
  • the throughput measuring apparatus 10 is configured by the information processing apparatus 70 illustrated in FIG. 15, and a program capable of realizing the functions described in each of the above embodiments is provided for this throughput measuring apparatus. You may implement
  • the embodiment can be realized by the arithmetic device 73 executing the program supplied to the throughput measuring device. It is also possible to configure some of the functions of the information processing device 70 instead of all of the throughput measuring device.
  • the program may be recorded in the recording medium 77 so that the program is appropriately stored in the nonvolatile storage device 75 at the shipment stage or the operation stage of the throughput measuring apparatus.
  • a method of installing in a throughput measuring apparatus using an appropriate jig may be employed in a manufacturing stage before shipment or an operation stage.
  • the program supply method may employ a general procedure such as a method of downloading from the outside via a communication line such as the Internet.
  • (Appendix 1) Data transmitting means for transmitting data to the receiving device; Feedback receiving means for receiving feedback indicating completion of reception of the data from the receiving device; Boundary value calculation means for calculating a boundary value of a range of values that throughput can take based on the feedback and the amount of transmission data of the data; A theoretical value measuring means for measuring the theoretical value of the throughput; An output means for outputting the boundary value when the theoretical value is out of the range, and outputting the theoretical value when the theoretical value is included in the range;
  • the boundary value includes an upper limit value
  • the boundary value calculating means calculates the upper limit value based on the feedback and the transmission data amount of the data,
  • the throughput measuring apparatus according to appendix 1, wherein the output means outputs the upper limit value when the theoretical value is larger than the upper limit value.
  • the feedback includes a reception start time and a reception completion time when the receiving device receives the data,
  • the throughput measurement apparatus according to appendix 2 wherein the boundary value calculation means calculates the upper limit value based on a reception elapsed time from the reception start time to the reception completion time and the transmission data amount.
  • the feedback includes an elapsed reception time from a reception start time to a reception completion time when the receiving device receives the data,
  • the throughput measurement apparatus according to appendix 2, wherein the boundary value calculation means calculates the upper limit value based on the elapsed reception time and the amount of transmission data.
  • the feedback includes an amount of received data when the receiving device receives the data, The throughput measurement device according to any one of appendix 2 to appendix 4, wherein the boundary value calculation unit calculates the upper limit value based on the received data amount instead of the transmission data amount.
  • the boundary value includes a lower limit value
  • the boundary value calculating means calculates a lower limit value of the throughput based on a transmission start time at which transmission of the data is started, a transmission completion time, and the transmission data amount,
  • the throughput measuring apparatus according to any one of appendix 1 to appendix 5, wherein the output means outputs the lower limit value when the theoretical value is smaller than the lower limit value.
  • Appendix 7 The throughput measuring apparatus according to appendix 6, wherein the transmission completion time is a feedback reception time when the feedback is received.
  • the feedback includes a reception completion time when the reception device has completed reception of the data, The throughput measuring apparatus according to appendix 6, wherein the transmission completion time is the reception completion time.
  • Appendix 10 The throughput measuring apparatus according to any one of appendix 1 to appendix 9, wherein the transmission unit transmits the data by TCP (Transmission Control Protocol).
  • TCP Transmission Control Protocol
  • a receiving apparatus comprising:
  • the measuring means measures the data reception completion time; The receiving apparatus according to appendix 12, wherein the feedback includes the reception completion time.
  • the measuring means measures the reception start time of the data; The receiving apparatus according to appendix 13, wherein the feedback includes the reception start time.
  • the measuring means calculates a reception elapsed time by measuring a reception start time and a reception completion time of the data, The receiving apparatus according to appendix 12 or appendix 13, wherein the feedback includes the elapsed reception time.
  • the measuring means measures the amount of received data of the data, The receiving apparatus according to any one of appendix 12 to appendix 15, wherein the feedback includes the amount of received data.
  • Appendix 17 The receiving apparatus according to any one of appendix 12 to appendix 16, further comprising: a theoretical value packet transmission / reception unit configured to transmit / receive a theoretical value measurement packet to / from the throughput measurement apparatus.
  • Appendix 18 The throughput measuring device according to any one of appendix 1 to appendix 11, and the receiving device according to appendix 12,
  • the data transmitting means transmits the data to the data receiving means;
  • the throughput measuring system wherein the feedback receiving unit receives the feedback from the feedback transmitting unit.
  • the throughput measuring device according to appendix 3 or appendix 8 and the receiving device according to appendix 13 are provided.
  • the data transmitting means transmits the data to the data receiving means;
  • the throughput measuring system wherein the feedback receiving unit receives the feedback from the feedback transmitting unit.
  • the throughput measuring device according to appendix 3 and the receiving device according to appendix 14 are provided.
  • the data transmitting means transmits the data to the data receiving means;
  • the throughput measuring system wherein the feedback receiving unit receives the feedback from the feedback transmitting unit.
  • the throughput measuring device according to appendix 4 and the receiving device according to appendix 15 are provided,
  • the data transmitting means transmits the data to the data receiving means;
  • the throughput measuring system wherein the feedback receiving unit receives the feedback from the feedback transmitting unit.
  • the throughput measuring apparatus according to appendix 5 and the receiving apparatus according to appendix 16 are provided.
  • the data transmitting means transmits the data to the data receiving means;
  • the throughput measuring system wherein the feedback receiving unit receives the feedback from the feedback transmitting unit.
  • the throughput measuring device according to appendix 11, and the receiving device according to appendix 17,
  • the data transmitting means transmits the data to the data receiving means;
  • the feedback receiving means receives the feedback from the feedback transmitting means;
  • the theoretical value packet transmitting / receiving means of the throughput measuring device transmits / receives the theoretical value measuring packet to / from the theoretical value packet transmitting / receiving means of the receiving device.
  • (Appendix 24) Transmitting data to the receiving device, receiving feedback indicating completion of reception of the data from the receiving device, calculating a boundary value of a range of values that the throughput can take based on the feedback and the transmission data amount of the data; Measuring the theoretical value of the throughput, outputting the boundary value when the theoretical value is out of the range, and outputting the theoretical value when the theoretical value is included in the range. Throughput measurement method.
  • the boundary value includes an upper limit value, 25.
  • the feedback includes a reception start time and a reception completion time when the receiving device receives the data,
  • the feedback includes an elapsed reception time from a reception start time to a reception completion time when the receiving device receives the data,
  • the feedback includes an amount of received data when the receiving device receives the data,
  • the throughput measurement method according to any one of appendix 25 to appendix 27, wherein the throughput measurement method calculates the upper limit value based on the reception data amount instead of the transmission data amount.
  • the boundary value includes a lower limit value
  • the throughput measurement method calculates a lower limit value of the throughput based on a transmission start time at which transmission of the data is started, a transmission completion time, and the transmission data amount, and sets the lower limit value when the theoretical value is smaller than the lower limit value.
  • the throughput measuring method according to any one of appendix 24 to appendix 28, wherein the throughput is output.
  • Appendix 30 The throughput measurement method according to appendix 29, wherein the transmission completion time is a feedback reception time when the feedback is received.
  • the feedback includes a reception completion time when the reception device has completed reception of the data, The throughput measurement method according to appendix 29, wherein the transmission completion time is the reception completion time.
  • Appendix 33 The throughput measuring method according to any one of appendix 24 to appendix 32, wherein the transmission unit transmits the data by TCP (Transmission Control Protocol).
  • TCP Transmission Control Protocol
  • Appendix 34 The throughput measurement method according to any one of appendix 24 to appendix 33, wherein the reception device transmits and receives a theoretical value measurement packet.
  • a data receiver for receiving data from the throughput measuring device; A measurement unit for detecting completion of reception of the data; After the reception is completed, a feedback transmission unit that transmits feedback indicating the reception completion to the throughput measuring device; A receiving method comprising:
  • the reception method measures the reception completion time of the data, The reception method according to attachment 35, wherein the feedback includes the reception completion time.
  • the reception method measures the reception start time of the data, 37.
  • the reception method calculates a reception elapsed time by measuring a reception start time and a reception completion time of the data, 37.
  • the reception method according to appendix 35 or appendix 36, wherein the feedback includes the elapsed reception time.
  • the reception method measures a received data amount of the data, The reception method according to any one of appendix 35 to appendix 38, wherein the feedback includes the received data amount.
  • Appendix 40 The reception method according to any one of appendix 35 to appendix 39, wherein the throughput measurement device transmits and receives theoretical value measurement packets.
  • a data transmission function for transmitting data to the receiving device;
  • a feedback receiving function for receiving feedback indicating completion of reception of the data from the receiving device;
  • a boundary value calculation function for calculating a boundary value of a range of values that the throughput can take based on the feedback and the transmission data amount of the data;
  • a theoretical value measuring function for measuring the theoretical value of the throughput;
  • a throughput measurement program that realizes an output function that outputs the boundary value when the theoretical value is out of the range and outputs the theoretical value when the theoretical value is included in the range.
  • the boundary value includes an upper limit value
  • the boundary value calculation function calculates the upper limit value based on the feedback and the transmission data amount of the data,
  • the throughput measurement program according to appendix 41 wherein the output function outputs the upper limit value when the theoretical value is greater than the upper limit value.
  • the feedback includes a reception start time and a reception completion time when the receiving device receives the data
  • the feedback includes an elapsed reception time from a reception start time to a reception completion time when the receiving device receives the data,
  • the feedback includes an amount of received data when the receiving device receives the data,
  • the throughput measurement program according to any one of appendix 42 to appendix 44, wherein the boundary value calculation function calculates the upper limit value based on the received data amount instead of the transmission data amount.
  • the boundary value includes a lower limit value
  • the boundary value calculation function calculates a lower limit value of the throughput based on a transmission start time at which transmission of the data is started, a transmission completion time, and the transmission data amount,
  • the throughput measurement program according to any one of appendix 41 to appendix 45, wherein the output function outputs the lower limit value when the theoretical value is smaller than the lower limit value.
  • the feedback includes a reception completion time when the reception device has completed reception of the data, 47.
  • Appendix 49 The throughput measurement program according to any one of appendix 41 to appendix 8, wherein the theoretical value measurement function measures the theoretical value based on an RTT (Round Trip Time) and a packet loss rate.
  • Appendix 50 The throughput measurement program according to any one of appendix 41 to appendix 49, wherein the transmission function transmits the data using a transmission control protocol (TCP).
  • TCP transmission control protocol
  • Appendix 51 The throughput measurement program according to any one of appendix 41 to appendix 50, wherein the theoretical value measurement function transmits and receives theoretical value measurement packets to and from the receiving device.
  • the receiving program characterized by realizing.
  • the measurement function measures the reception completion time of the data, 53.
  • the measurement function measures the reception start time of the data, 54.
  • the reception program according to appendix 53, wherein the feedback includes the reception start time.
  • the measurement function calculates a reception elapsed time by measuring a reception start time and a reception completion time of the data, 54.
  • the reception program according to appendix 52 or appendix 53, wherein the feedback includes the elapsed reception time.
  • the measurement function measures the amount of received data of the data, The reception program according to any one of appendix 52 to appendix 55, wherein the feedback includes the amount of received data.
  • Appendix 58 A computer-readable recording medium on which the throughput measurement program according to any one of appendix 41 to appendix 51 is recorded.

Landscapes

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

Abstract

アプリケーション層でスループットを高精度に計測することを可能とするため、データを受信装置へ送信し、前記受信装置から前記データの受信完了を示すフィードバックを受信し、前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出し、前記スループットの理論値を計測し、前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力する。

Description

スループット計測装置、方法および記録媒体
 本発明は、アプリケーション層でスループットを計測する、スループット計測装置、方法および記録媒体に関する。
 送信装置と受信装置との間のスループットは、送信装置から受信装置へ伝送した測定データのデータ量を測定データの伝送に要した伝送時間で割った値として定義される。伝送時間は、送信装置と受信装置のトランスポート層間の伝送時間(図16のtrue durationに該当)である。
 図16は、送信装置のアプリケーションから受信装置のアプリケーションへ送信した測定データの時間経過を示す図である。太矢印は、アプリケーション層から出力された測定データの伝送の流れを表す。送信装置のアプリケーションから出力された測定データは、送信装置のトランスポート層から受信装置のトランスポート層へ伝送され、受信装置のアプリケーションへ渡される。トランスポート層間の伝送時間は、測定データの最初のパケットがトランスポート層から送信され、最後のパケットが受信装置のトランスポート層で受信されるまでの時間である。
 一方、アプリケーションの中には、計測したスループットによって提供するサービスを変更するタイプのアプリケーションがある。たとえば、適応映像配信アプリケーションでは、計測したスループットに応じて配信映像の画質を変更する。しかし、アプリケーション層でスループットを計測する場合、トランスポート層間の伝送時間(true duration)を知ることができない。
 そのため、送信装置のアプリケーション層から見た伝送時間を使用してスループットを算出する方法がある。この方法では、送信装置のアプリケーション層が測定データの送信を開始して完了するまでの時間を伝送時間として使用する。しかし、この方法で使用する伝送時間はtrue durationとは異なるため、その差がスループットの計測結果に誤差を生じさせる。
 また、この方法では、測定データのデータ量が、送信装置のトランスポート層の送信バッファのサイズに対して、十分大きい必要がある。これは、測定データが送信バッファのサイズより小さい場合、アプリケーション層からトランスポート層の送信バッファへ測定データを瞬時に転送できることにより、アプリケーション層からは送信が瞬時に完了したように見えるためである。その結果、アプリケーション層から見た伝送時間がほぼ0になるため、スループットの計測誤差が大きくなる。
 これに対し、特許文献1に記載の方法では、再送発生率、平均パケット往復遅延時間、パケットロス率等に基づいてスループットを理論的に算出している。この方法では、測定データのサイズに依存しない形でスループットの計測が可能である。
特開2004-140596号公報
 しかし、特許文献1の方法では、スパイク遅延やバーストロスが発生しやすい環境、たとえばモバイルネットワークのような変動の激しいネットワークにおいては実スループットとの誤差が大きくなる場合がある。たとえば、実スループットが低下して、パケットロスはほとんど発生しないが往復遅延時間が大きくなっている場合、理論値の算出式の分母にあるパケットロス率が0に近くなるために理論値が実スループットより大きくなる場合がある。
 本発明の目的は、アプリケーション層でスループットを高精度に計測することを可能とする、スループット計測装置、方法および記録媒体を提供することにある。
 上述の問題を解決するために、本発明のスループット計測装置は、データを受信装置へ送信するデータ送信手段と、前記受信装置から前記データの受信完了を示すフィードバックを受信するフィードバック受信手段と、前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出する境界値算出手段と、前記スループットの理論値を計測する理論値計測手段と、前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力する出力手段とを備えることを特徴とする。
 また、本発明のスループット計測方法は、データを受信装置へ送信し、前記受信装置から前記データの受信完了を示すフィードバックを受信し、前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出し、前記スループットの理論値を計測し、前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力することを特徴とする。
 また、本発明のコンピュータ読み取り可能な記録媒体に記録されたスループット計測プログラムは、コンピュータに、データを受信装置へ送信するデータ送信機能と、前記受信装置から前記データの受信完了を示すフィードバックを受信するフィードバック受信機能と、前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出する境界値算出機能と、前記スループットの理論値を計測する理論値計測機能と、前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力する出力機能とを実現させることを特徴とする。
 本発明のスループット計測装置、方法および記録媒体により、アプリケーション層でスループットを高精度に計測することが可能になる。
本発明の第一から第四の実施形態のスループット計測装置の構成例を示す図である。 本発明の第一の実施形態のスループット計測装置の動作例を示す図である。 本発明の第二から第四の実施形態の受信装置の構成例を示す図である。 本発明の第二から第四の実施形態の理論値計測部の構成例を示す図である。 本発明の第二から第四の実施形態の受信装置の構成例を示す図である。 本発明の第二から第四の実施形態のスループット計測装置の動作例を示す図である。 本発明の第二および第四の実施形態の上限値算出方法の例を示す図である。 本発明の第二から第四の実施形態の理論値算出方法の例を示す図である。 本発明の第二の実施形態の出力部の動作例を示す図である。 本発明の第二から第四の実施形態の理論値算出方法の例を示す図である。 本発明の第三および第五の実施形態の下限値算出方法の例を示す図である。 本発明の第三の実施形態の出力部の動作例を示す図である。 本発明の第四の実施形態の出力部の動作例を示す図である。 本発明の第四の実施形態の下限値算出方法の例を示す図である。 本発明の各実施形態のハードウェア構成例を示す図である。 送信装置から見た伝送時間とtrue durationの関係を示す図である。
 [第一の実施形態]
 本発明の第一の実施の形態について説明する。
 図1に本実施形態のスループット計測装置10の構成例を示す。
 本実施形態のスループット計測装置10は、データ送信部11、フィードバック受信部12、境界値算出部13、理論値計測部14および出力部15により構成される。
 データ送信部11は、データを受信装置へ送信する部分である。フィードバック受信部12は、受信装置からデータの受信完了を示すフィードバックを受信する部分である。境界値算出部13は、フィードバックとデータの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出する部分である。理論値計測部14は、スループットの理論値を計測する部分である。出力部15は、スループットが取り得る値の範囲を理論値が外れているとき、境界値を出力し、理論値が範囲に含まれるとき、理論値を出力する部分である。
 このようにスループット計測装置10を構成することによって、スループットが取り得る値の範囲を理論値が外れているとき、より真のスループットに近い境界値をスループットとして出力することが可能になる。そのため、アプリケーション層でスループットを高精度に計測することが可能になる。
 次に、図2に本実施形態のスループット計測装置10の動作の例を示す。
 まず、スループット計測装置10のデータ送信部11は、データを受信装置へ送信する(ステップS101)。そして、フィードバック受信部12では、受信装置からデータの受信完了を示すフィードバックを受信する(ステップS102)。
 境界値算出部13は、フィードバックとデータの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出する(ステップS103)。また、理論値計測部14は、スループットの理論値を計測する(ステップS104)。
 そして、出力部15は、スループットが取り得る値の範囲を理論値が外れているとき、境界値を出力し、理論値が範囲に含まれるとき、理論値を出力する(ステップS105)。
 このようにスループット計測装置10を動作させることによって、アプリケーション層でスループットを高精度に計測することが可能になる。
 以上で説明したように、本発明の第一の実施形態では、受信装置からデータの受信完了を示すフィードバックを受信し、フィードバックに基づいてスループットの境界値を算出する。そして、理論値が範囲を外れているとき、境界値を出力する。これにより、外乱によって理論値が真のスループットから大きく外れた場合に、より真のスループットに近い境界値をスループットとして出力することが可能になる。そのため、アプリケーション層でスループットを高精度に計測することが可能になる。
 [第二の実施形態]
 次に、本発明の第二の実施の形態について説明する。
 本実施形態では、スループット計測装置10において、境界値が上限値である場合について、具体的に説明する。
 まず、図1および図3を用いて、本実施形態のスループット計測装置10および受信装置40の構成例について説明する。
 スループット計測装置10の構成例は、第一の実施形態と同様である。スループット計測装置10は、図3のように、受信装置40とネットワークを介してデータの送受信を行う。
 スループット計測装置10のデータ送信部11は、データを受信装置40へ送信する部分である。本実施形態では、データを受信装置40へ間欠的にTCP(Transmission Control Protocol)で送信する。ここで送信するデータは、スループットによって挙動を変えるアプリケーション、たとえば、スループットによって画質を変える適応映像配信のようなアプリケーションのデータを想定している。
 フィードバック受信部12は、受信装置40からデータの受信完了を示すフィードバックを受信する部分である。本実施形態では、フィードバックとして、データの受信開始時刻および受信完了時刻を受信する。なお、フィードバックとして、データの受信開始時刻から受信完了時刻までの受信経過時間を受信しても良い。
 境界値算出部13は、フィードバックと送信したデータ量とに基づいてスループットの上限値を算出する部分である。なお、受信装置が受信したデータ量をフィードバックとして受信し、送信データ量の代わりに受信データ量を使用して上限値を算出しても良い。
 理論値計測部14は、スループットの理論値を計測する部分である。出力部15は、理論値が上限値より大きいとき上限値を出力し、理論値が上限値以下のとき理論値を出力する部分である。
 受信装置40は、データ受信部41、計測部42およびフィードバック送信部43により構成される。
 受信装置40のデータ受信部41は、スループット計測装置10のデータ送信部11が送信したデータを受信する部分である。データ受信部41で受信されるデータは、受信バッファのサイズに断片化されて受信される。
 計測部42は、データの受信開始時刻および受信完了時刻を計測する部分である。受信開始時刻は、データ受信部41で断片化された最初のデータの受信を開始した時刻である。また、受信完了時刻は、データ受信部41で断片化された最後のデータの受信を開始(あるいは完了)した時刻である。
 フィードバック送信部43は、フィードバックを、スループット計測装置10のフィードバック受信部12へ送信する部分である。本実施形態では、フィードバックとして、データの受信開始時刻および受信完了時刻を送信する。なお、フィードバックとして、データの受信開始時刻から受信完了時刻までの受信経過時間を送信しても良い。
 次に、図4および図5を用いて、スループット計測装置10の理論値計測部14の構成例について説明する。
 本実施形態のスループットの理論値の計測方法には、任意の方法を利用可能である。そのため、理論値計測部14の構成は図4の構成例に限定しないが、本実施形態では、具体例として、ラウンドトリップタイム(以下、RTT(Round Trip Time))とパケットロス率とから理論値を計測する方法について説明する。
 図4は、スループット計測装置10の理論値計測部14の構成例である。また、図5は、理論値計測部14が図4の構成例のときの、受信装置50の構成例である。以降、本実施形態では、受信装置40の代わりに受信装置50を用いて説明する。
 理論値計測部14は、たとえば、理論値用パケット送受信部141、ロス率計測部142、RTT計測部143および計算部144によって構成される。
 理論値計測部14の理論値用パケット送受信部141は、受信装置50の理論値用パケット送受信部54との間で理論値計測用パケットを送受信する部分である。本実施形態では、理論値計測用のUDP(User Datagram Protocol)パケットを送受信することによって理論値の計測に必要なパケットロス率およびRTTを取得する。なお、理論値計測用パケットは、UDP以外のプロトコルにより送信することも可能である。
 なお、本実施形態で例示している映像配信の場合、TCP送信レートは一般的に数百kbps以上である。これに対し、理論値計測用のUDPパケット送信レートは1kbps以下で実現することが可能である。そのため、上限値および下限値の算出に対する理論値計測用パケットの送受信の影響は、十分無視できるレベルとなる。
 ロス率計測部142は、理論値用パケット送受信部141で送受信したUDPパケットについて、パケットロス率を計測する部分である。RTT計測部143は、理論値用パケット送受信部141で送受信したUDPパケットについてRTTを計測する部分である。
 計算部144は、ロス率計測部142で計測したパケットロス率とRTT計測部143で計測したRTTに基づいて、スループットの理論値を計算する部分である。
 受信装置50は、受信装置40に対して理論値用パケット送受信部54を追加した構成である。理論値用パケット送受信部54は、理論値計測部14の理論値用パケット送受信部141との間でUDPパケットを送受信する部分である。
 このようにスループット計測装置10および受信装置(40、50)を構成することによって、理論値が上限値を上回ったときに、より真のスループットに近い上限値を計測スループットとして出力することが可能になる。そのため、アプリケーション層でスループットを高精度に計測することが可能になる。
 次に、図6にスループット計測装置10の動作の例を示す。
 まず、スループット計測装置10のデータ送信部11は、受信装置50のデータ受信部41へTCPデータを送信する(ステップS201)。
 ここで、データ送信部11がデータサイズdi_size[bit]のデータdi(i=1、2、・・・)を送信したとする。このとき、受信装置50のアプリケーション層は、受信バッファサイズに断片化されたデータdi_fj(j=1~n)を受信する。ここで、受信したデータに欠損がなければ、データdi_fjのサイズdi_fj_sizeとdi_sizeの関係は式1のようになる。
Figure JPOXMLDOC01-appb-I000001
 受信装置50の計測部42は、断片化されたデータサイズの和が当該データサイズに達すると、受信開始時刻(di_f1を受信した時刻)di_f1_tと受信完了時刻(di_fnを受信した時刻)di_fn_tをフィードバック送信部43に渡す。フィードバック送信部43は、受信開始時刻di_f1_tと受信完了時刻di_fn_tをスループット計測装置10のフィードバック受信部12へ送信する。そして、フィードバック受信部12はフィードバックを受信する(ステップS202)。
 境界値算出部13では、データdiの受信経過時間di_t、すなわち、受信開始時刻di_f1_tから受信完了時刻di_fn_tまでの経過時間[sec]、および、送信データサイズdi_size[bit]を保存する。このとき、受信開始時刻、受信完了時刻および経過時間の関係は図7のようになる。
 図7は、送信装置が送信した測定データの時間経過を表す図である。受信開始時刻は、受信装置のアプリケーション層が測定データの受信を開始した時刻、受信完了時刻は、受信装置のアプリケーション層が測定データの受信を完了した時刻である。また、受信の経過時刻は、受信開始時刻から受信完了時刻までの経過時間である。
 そして、スループットの出力要求があったときに、境界値算出部13ではスループットの上限値を算出する(ステップS205)。所定時間の間にフィードバック受信部12がm回フィードバックを受信していたとすると、上限値は、たとえば、式2のように算出できる。データの受信経過時間には誤差を含むことが多いため、本実施形態では、計測誤差を低減するため、所定時間分のフィードバックから上限値を算出する。
Figure JPOXMLDOC01-appb-I000002
 所定時間分のフィードバックから上限値を算出する方法としては、各データdiについてdi_size/di_tを計算し、データd0からdmまでの平均値を計算する方法も考えられる。しかし、データdiのサイズdi_sizeが小さいとき、受信経過時間di_tが0となることがあり得るため、di_size/di_tが無限大に発散してしまう可能性がある。そのため、式2のように、m回分のdi_tを合算した値を使用する方が望ましい。
 また、スループット計測装置10の理論値計測部14は、スループットの理論値を算出する。本実施形態では、スループット計測装置10と受信装置50との間のRTTおよびパケットロス率からTCPスループットを算出する方法について説明する。
 まず、スループット計測装置10の理論値用パケット送受信部141は、受信装置50の理論値用パケット送受信部54との間で、理論値計測用のUDPパケットを送受信する(ステップS203)。次に、ロス率計測部142ではパケットロス率を、RTT計測部143ではRTTを計測する(ステップS204)。そして、スループットの出力要求があったとき、計算部144は、スループットの理論値を算出する(ステップS206)。
 TCPスループットの理論値の計算方法の例について、図8を用いて説明する。本実施形態では、TCPの輻輳制御方式がTCP New Renoの場合の単純な理論値計算方法について説明する。ここで説明する方法以外の方法を使用して理論値を算出することも可能である。
 TCPウィンドウサイズWと時間の関係が、TCP New Renoに従い、図8のように変化したとする。TCP New Renoの場合、輻輳によりパケットロスが発生すると、ウィンドウサイズWをその時のウィンドウサイズW0の半分にし、1パケットごとにウィンドウサイズを増加させていく。そのため、W0/2となったウィンドウサイズがW0に戻るには、W0/2パケットを要する。このとき、パケットロス率pとパケットロス発生時のウィンドウサイズW0との関係は式3となる。
Figure JPOXMLDOC01-appb-I000003
 また、図8の状態のとき、時間W0/2[パケット]の間に送信するデータ量は、3W0^2/8[パケット]となる。そのため、TCPスループットの理論値は、MSS(Maximum Segment Size)[bit]とRTTを用いて、式4で算出できる。
Figure JPOXMLDOC01-appb-I000004
 そして、式3を用いて式4を変形すると、式5となる。したがって、ロス率計測部142およびRTT計測部143で計測したパケットロス率とRTTにより、理論値を算出することが可能である。
Figure JPOXMLDOC01-appb-I000005
 上限値の算出(ステップS205)および理論値の算出(ステップS206)後、出力部15は、スループットを出力する(ステップS207)。出力部15のスループット出力の動作を図9に示す。理論値が上限値より大きいとき(ステップS301)、出力部15は上限値を出力する(ステップS302)。また、理論値が上限値以下のとき、出力部15は理論値を出力する(ステップS303)。
 スループットの上限値の算出に使用する受信の経過時間は、図7のように、真の伝送時間(true duration)より小さくなる。そのため、真のスループットは、本実施形態で算出した上限値より小さくなる。したがって、理論値が上限値より大きいとき、理論値の精度が低いと判断することができる。そして、より真のスループットに近い上限値を計測スループットとして出力することで、計測スループットの精度を向上することが可能になる。
 このようにスループット計測装置10を動作させることによって、アプリケーション層でスループットを高精度に計測することが可能になる。
 次に、スループット計測装置10の動作について、具体的な数値を用いて説明する。
 スループット計測装置10と受信装置50との間で伝送するデータは、たとえば、ライブ映像配信における映像フレームのようなデータで、間欠的に伝送される。
 スループット計測装置10が受信装置50に対して1秒間あたり30フレームの映像データを送信したとする。また、スループット計測装置10は1秒間に1回スループットの出力要求を受信し、スループットを出力するものとする。
 データ送信部11がデータ受信部41へ映像フレームi(i=1~30)を送信すると、データ受信部41は断片化された映像フレームi_f(f=1~n)の受信を開始する。
 受信装置50の計測部42は、断片化された映像フレームi_1の受信開始時刻i_1_tを保持する。映像フレームiの受信が完了すると、計測部42は、映像フレームiの断片化された最後のデータi_nの受信完了時刻i_n_tを保持する。そして、フィードバック送信部43は、受信開始時刻i_1_tおよび受信完了時刻i_n_tを含むフィードバックをスループット計測装置10のフィードバック受信部12へ送信する。
 フィードバック受信部12はフィードバック送信部43からフィードバックを受信する。そして、境界値算出部13は、受信開始時刻i_1_tから受信完了時刻i_n_tまでの受信経過時間i_tを保持する。また、データ送信部11が送信した映像フレームiのデータ量i_sizeを保持する。
 このように、映像フレームiの送受信をi=1から30まで(1秒間)繰り返す。そして、境界値算出部13は、式2を用いてスループットの上限値を算出する。式2において、mを30、di_sizeをi_size、di_tをi_tとすると上限値を算出することができる。ここでは、上限値が2.1Mbpsと算出されたとする。
 また、スループット計測装置10の理論値計測部14の理論値用パケット送受信部141は、受信装置50の理論値用パケット送受信部54との間でUDPパケットを送受信し、RTTとパケットロス率を計測する。
 RTTおよびパケットロス率の計測方法には、任意の方法を使用可能である。
 図10を用いて、RTTおよびパケットロス率の計測方法の一例について説明する。図10は、送信側と受信側との間で送受信するパケットの時間経過と各パケットのシーケンス番号を示す図である。
 理論値用パケット送受信部141(送信側)は、受信したUDPパケットのシーケンス番号uを保持し、シーケンス番号をu+1としたUDPパケットを送信する。また、理論値用パケット送受信部54(受信側)では、受信したUDPパケットと同じシーケンス番号のUDPパケットを送信する。そして、ロス率計測部142では、受信したUDPパケットのシーケンス番号と直前に受信したUDPパケットのシーケンス番号を比較することでパケットロスの有無を判定することが可能である。図10の例の場合、シーケンス番号u+2のパケットを受信したとき、直前に受信したパケットのシーケンス番号がuであるため、パケットロスが発生していることを判定することができる。
 また、RTT計測部143では、シーケンス番号uのUDPパケットの送信時刻とシーケンス番号uのUDPパケットの受信時刻の差分をRTTとして計測することが可能である。
 そして、理論値計測部14は、たとえば、式5を用いて理論値を算出する。ここで、理論値は2.6Mbpsと算出されたとする。
 上限値と理論値の計測後、出力部15は、理論値が上限値より大きいとき、上限値を出力し、理論値が上限値以下のとき、理論値を出力する。この例では、上限値が2.1Mbps、理論値が2.6Mbpsのため、上限値の2.1Mbpsを出力する。
 以上で説明したように、本発明の第二の実施形態では、受信装置からデータの受信時刻に関するフィードバックを受信し、フィードバックに基づいてスループットの上限値を算出する。そして、理論値が上限値より大きい場合、上限値を出力する。これにより、外乱によって理論値が真のスループットより大きくなった場合に、上限値をスループットとして出力することが可能になる。そのため、アプリケーション層でスループットを高精度に計測することが可能になる。
 [第三の実施形態]
 次に、本発明の第三の実施の形態について説明する。
 第二の実施形態では、境界値として上限値を算出した。本実施形態では、スループット計測装置10において、境界値として下限値を算出する場合について、具体的に説明する。
 まず、図1および図3を用いて、本実施形態のスループット計測装置10および受信装置40の構成例について説明する。
 スループット計測装置10の構成例は、第一の実施形態(図1)と同様である。スループット計測装置10は、第一の実施形態のスループット計測装置10と同様に、図3のように、受信装置40とネットワークを介してデータの送受信を行う。
 スループット計測装置10のデータ送信部11は、データを受信装置40へ送信する部分である。本実施形態では、データを受信装置40へ間欠的にTCPで送信する。
 フィードバック受信部12は、受信装置40からデータの受信完了を示すフィードバックを受信する部分である。
 境界値算出部13は、データの送信開始時刻、フィードバックを受信したフィードバック受信時刻およびデータの送信データ量に基づきスループットの下限値を算出する部分である。理論値計測部14はスループットの理論値を計測する部分である。出力部15は、理論値が下限値より小さいとき下限値を出力し、理論値が下限値以上のとき理論値を出力する部分である。
 受信装置40は、データ受信部41、計測部42およびフィードバック送信部43により構成される。
 受信装置40のデータ受信部41は、スループット計測装置10のデータ送信部11が送信したデータを受信する部分である。データ受信部41で受信されるデータは、受信バッファのサイズに断片化されて受信される。
 計測部42は、データの受信を完了したとき、フィードバック送信部43へ受信完了を通知する部分である。
 フィードバック送信部43は、データの受信を完了したとき、スループット計測装置10のフィードバック受信部12へフィードバックを送信する部分である。
 なお、本実施形態のスループットの理論値の計測方法には、任意の方法を利用可能である。たとえば、第二の実施形態と同様に、図4の理論値計測部14および図5の受信装置50によって、RTTとパケットロス率とから理論値を計測することが可能である。以降、理論値計測部14として図4の理論値計測部14を、また、受信装置40の代わりに図5の受信装置50を用いて本実施形態を説明する。
 このようにスループット計測装置10および受信装置(40、50)を構成することによって、理論値が下限値を下回ったときに、より真のスループットに近い下限値を計測スループットとして出力することが可能になる。そのため、アプリケーション層でスループットを高精度に計測することが可能になる。
 次に、図6を用いて、スループット計測装置10の動作の例を示す。
 まず、データ送信部11はTCPデータを受信装置50へ送信する(ステップS201)。
 ここで、データ送信部11がデータサイズdi_size[bit]のデータdi(i=1、2、・・・)を送信したとする。このとき、受信装置50のアプリケーション層は、受信バッファサイズに断片化されたデータdi_fj(j=1~n)を受信する。
 受信装置50の計測部42は、断片化されたデータサイズの和が当該データサイズに達すると、受信完了をフィードバック送信部43に通知する。フィードバック送信部43は、受信完了を示すフィードバックをスループット計測装置10のフィードバック受信部12へ送信する。そして、フィードバック受信部12はフィードバックを受信する(ステップS202)。
 境界値算出部13では、データdiの送信を開始した時刻di_startと当該データdiのフィードバック情報を受信した時刻di_endより、当該データdiのRTTであるdi_rttを算出する。そして、当該データdiのRTTのdi_rttおよびデータサイズdi_size[bit]を保存する。図11に、送信開始時刻、フィードバック受信時刻および送信経過時間(RTT)との関係を示す。
 図11は、送信装置が送信した測定データの時間経過を表す図である。送信開始時刻は、送信装置のアプリケーション層が測定データの送信を開始した時刻、フィードバック受信時刻は、受信装置から送信されたフィードバックを送信装置のアプリケーション層が受信した時刻である。受信装置のアプリケーション層は、測定データの受信を完了したときにフィードバックを送信装置へ送信する。また、送信の経過時間は、送信開始時刻からフィードバック受信時刻までの経過時間である。
 そして、スループットの出力要求があったときに、境界値算出部13ではスループットの下限値を算出する(ステップS205)。所定時間の間にフィードバック受信部12がm回フィードバックを受信していたとすると、下限値は、たとえば、式6のように算出できる。データの送信経過時間には誤差を含むことが多いため、本実施形態では、計測誤差を低減するため、所定時間分のフィードバックから下限値を算出する。
Figure JPOXMLDOC01-appb-I000006
 なお、モバイルネットワークでは、基地局がパケットをスケジューリングするためにバッファリングしている。そのため、フィードバックのデータ量が小さいとき、バッファリングの影響を受けてフィードバックの伝搬遅延が大きくなり、di_rttがtrue durationより大きくなる可能性がある。このとき、式6により下限値を算出すると、下限値が0に近づいてしまう。そこで、フィードバックの伝搬遅延が大きくなることが想定されるネットワークでは、フィードバックの伝送に最低限かかると想定される時間をdi_rttから減算した値をdi_rttとして使用することで、di_rttをtrue durationに近づけることが考えられる。たとえば、送信側から受信側よりも受信側から送信側への伝送時間がかかると想定されるときは、フィードバックの伝送に最低限かかると想定される時間として、理論値計測部14で計測したRTTの半分の時間を使用することも考えられる。
 また、スループット計測装置10の理論値計測部14は、スループットの理論値を算出する。
 まず、スループット計測装置10の理論値用パケット送受信部141は、受信装置50の理論値用パケット送受信部54と、理論値計測用のUDPデータを送受信する(ステップS203)。次に、ロス率計測部142ではパケットロス率を、RTT計測部143ではRTTを計測する(ステップS204)。そして、スループットの出力要求があったとき、計算部144は、スループットの理論値を算出する(ステップS206)。理論値の計算方法の例については、第二の実施形態と同様のため、説明を省略する。
 境界値(下限値)の算出(ステップS205)および理論値の算出(ステップS206)後、出力部15は、スループットを出力する(ステップS207)。出力部15のスループット出力の動作を図12に示す。理論値が下限値より小さいとき(ステップS401)、出力部15は下限値を出力する(ステップS402)。また、理論値が下限値以上のとき、出力部15は理論値を出力する(ステップS403)。
 スループットの下限値の算出に使用する送信の経過時間は、図11のように、真の伝送時間(true duration)より大きくなる。そのため、真のスループットは、本実施形態で算出した下限値より大きくなる。したがって、理論値が下限値より小さいとき、理論値の精度が低いと判断することができる。そして、より真のスループットに近い下限値を計測スループットとして出力することで、計測スループットの精度を向上することが可能になる。
 このようにスループット計測装置10を動作させることによって、アプリケーション層でスループットを高精度に計測することが可能になる。
 次に、スループット計測装置10の動作について、具体的な数値を用いて説明する。
 スループット計測装置10と受信装置50との間で伝送するデータは、たとえば、ライブ映像配信における映像フレームのようなデータで、間欠的に伝送される。
 スループット計測装置10が受信装置50に対して1秒間あたり30フレームの映像データを送信したとする。また、スループット計測装置10は1秒間に1回スループットの出力要求を受信し、スループットを出力するものとする。
 データ送信部11がデータ受信部41へ映像フレームi(i=1~30)を送信すると、データ受信部41は断片化された映像フレームi_f(f=1~n)の受信を開始する。
 受信装置50の計測部42は、映像フレームiの受信が完了すると、フィードバック送信部43へ受信完了を通知する。そして、フィードバック送信部43は、フィードバックをスループット計測装置10のフィードバック受信部12へ送信する。
 フィードバック受信部12はフィードバック送信部43からフィードバックを受信する。そして、境界値算出部13は、映像フレームiの送信開始時刻f_i_startからフィードバックを受信した時刻f_i_endまでの送信経過時間i_rttを保持する。また、データ送信部11が送信した映像フレームiのデータ量i_sizeを保持する。
 このように、映像フレームiの送受信をi=1から30まで(1秒間)繰り返す。そして、境界値算出部13は、式6を用いてスループットの下限値を算出する。式6において、mを30、di_sizeをi_size、di_rttをi_rttとすると、下限値を算出することができる。ここでは、下限値が1.7Mbpsと算出されたとする。
 また、スループット計測装置10の理論値計測部14の理論値用パケット送受信部141は、受信装置50の理論値用パケット送受信部54とUDPパケットを送受信し、RTTとパケットロス率を計測する。そして、理論値計測部14は、理論値を算出する。RTTおよびパケットロス率の計測方法および理論値の算出方法は、第二の実施形態と同様である。ここで、理論値は2.6Mbpsと算出されたとする。
 下限値と理論値の計測後、出力部15は、理論値が下限値より小さいとき、下限値を出力し、理論値が下限値以上のとき、理論値を出力する。この例では、下限値が1.7Mbps、理論値が2.6Mbpsのため、理論値の2.6Mbpsを出力する。
 以上で説明したように、本発明の第三の実施形態では、受信装置からデータの受信完了を示すフィードバックを受信し、データの送信開始時刻、フィードバック受信時刻および送信データ量に基づいてスループットの下限値を算出する。そして、理論値が下限値より小さい場合、下限値を出力する。これにより、外乱によって理論値が真のスループットより小さくなった場合に、下限値をスループットとして出力することが可能になる。そのため、アプリケーション層でスループットを高精度に計測することが可能になる。
 [第四の実施形態]
 次に、本発明の第四の実施の形態について説明する。
 本実施形態は、境界値算出部において、スループットの上限値の算出と下限値の算出の両方を行う形態である。
 本実施形態のスループット計測装置10の構成例は図1と同様である。スループット計測装置10は、データ送信部11、フィードバック受信部12、境界値算出部13、理論値計測部14および出力部15から構成される。
 データ送信部11は、データを受信装置へ送信する部分である。本実施形態では、データを受信装置へ間欠的にTCPで送信する。
 フィードバック受信部12は、受信装置からデータの受信時刻に関するフィードバックを受信する部分である。本実施形態では、フィードバックとして、データの受信開始時刻および受信完了時刻を受信する。
 境界値算出部13は、スループットの上限値および下限値を算出する部分である。フィードバックと送信したデータ量とに基づいてスループットの上限値を算出する。また、データの送信開始時刻、フィードバックを受信したフィードバック受信時刻およびデータの送信データ量に基づきスループットの下限値を算出する。
 理論値計測部14は、スループットの理論値を計測する部分である。
 出力部15は、理論値が上限値より大きいとき上限値を出力し、理論値が下限値より小さいとき下限値を出力し、理論値が上限値以下かつ下限値以上のとき理論値を出力する部分である。
 このようにスループット計測装置10を構成することによって、アプリケーション層でスループットを高精度に計測することが可能になる。
 次に、図6を用いて、スループット計測装置10の動作の例について説明する。
 本実施形態では、ステップS205で上限値および下限値の算出を行い、ステップS207で上限値、下限値および理論値のいずれかを出力する。
 本実施形態では、フィードバックにより、受信開始時刻および受信完了時刻を受信する。そして、受信開始時刻、受信完了時刻および送信データ量からスループットの上限値を算出する。また、データの送信を開始した送信開始時刻、フィードバックを受信したフィードバック受信時刻および送信データ量からスループットの下限値を算出する。
 また、出力部15の動作の例を図13に示す。まず、理論値が上限値より大きいとき(ステップS501)、出力部35は上限値を出力する(ステップS502)。また、理論値が下限値より小さいとき(ステップS503)、出力部35は下限値を出力する(ステップS504)。そして、理論値が下限値以上上限値以下のとき、出力部35は理論値を出力する(ステップS505)。
 その他の動作については、第二の実施形態および第三の実施形態と同様のため、説明を省略する。
 なお、下限値の算出については、送信開始時刻からフィードバック受信時刻までの経過時間を使用するのではなく、図14のように、送信開始時刻から受信完了時刻までの経過時間を使用することも可能である。図14は、送信の経過時間を示す図である。図11では、送信開始時刻からフィードバック受信時刻までの経過時間を送信経過時間としているが、図14では、送信開始時刻から受信完了時刻までを送信経過時間としている。受信完了時刻は、フィードバックに含めて受信することが可能であり、本実施形態では、上限値の算出のために受信している。ただし、送信開始時刻と受信完了時刻を使用する方法では、送信装置と受信装置のクロックが異なる場合、送信経過時間がクロック誤差の影響を受けるため、スループットの計測精度が低下してしまう。一方、送信開始時刻とフィードバック受信時刻を使用する方法は、時刻の計測を送信装置でのみ行うため、クロック誤差の影響を受けずに送信経過時間を算出することが可能である。
 このようにスループット計測装置10を動作させることによって、アプリケーション層でスループットを高精度に計測することが可能になる。
 以上で説明したように、本発明の第四の実施形態では、受信装置からデータの受信時刻に関するフィードバックを受信し、フィードバックに基づいてスループットの上限値を算出する。そして、理論値が上限値より大きい場合、上限値を出力する。これにより、外乱によって理論値が真のスループットより大きくなった場合に、上限値をスループットとして出力することが可能になる。また、受信装置からデータの受信完了を示すフィードバックを受信し、データの送信開始時刻、フィードバック受信時刻および送信データ量に基づいてスループットの下限値を算出する。そして、理論値が下限値より小さい場合、下限値を出力する。これにより、外乱によって理論値が真のスループットより小さくなった場合に、下限値をスループットとして出力することが可能になる。そのためアプリケーション層でスループットを高精度に計測することが可能になる。
 さらに、本実施形態では、境界値として上限値と下限値の両方を使用するため、より高精度にスループットを計測することが可能になる。
 [ハードウェア構成例]
 上述した本発明の各実施形態におけるスループット計測装置10を、一つの情報処理装置(コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。なお、スループット計測装置10は、物理的または機能的に少なくとも二つの情報処理装置を用いて実現してもよい。また、スループット計測装置10は、専用の装置として実現してもよい。また、スループット計測装置10の一部の機能のみを情報処理装置を用いて実現しても良い。
 図15は、本発明の各実施形態のスループット計測装置を実現可能な情報処理装置のハードウェア構成例を概略的に示す図である。情報処理装置70は、通信インタフェース71、入出力インタフェース72、演算装置73、記憶装置74および不揮発性記憶装置75およびドライブ装置76を備える。
 通信インタフェース71は、各実施形態のスループット計測装置10が、有線あるいは/および無線で外部装置と通信するための通信手段である。なお、スループット計測装置10を、少なくとも二つの情報処理装置を用いて実現する場合、それらの装置の間を通信インタフェース71経由で相互に通信可能なように接続しても良い。
 入出力インタフェース72は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。
 演算装置73は、汎用のCPU(Central Processing Unit)やマイクロプロセッサ等の演算処理装置である。演算装置73は、たとえば、不揮発性記憶装置75に記憶された各種プログラムを記憶装置74に読み出し、読み出したプログラムに従って処理を実行することが可能である。
 記憶装置74は、演算装置73から参照可能な、RAM(Random Access Memory)等のメモリ装置であり、プログラムや各種データ等を記憶する。記憶装置74は、揮発性のメモリ装置であっても良い。
 不揮発性記憶装置75は、たとえば、ROM(Read Only Memory)、フラッシュメモリ、等の、不揮発性の記憶装置であり、各種プログラムやデータ等を記録することが可能である。
 ドライブ装置76は、たとえば、後述する記録媒体77に対するデータの読み込みや書き込みを処理する装置である。
 記録媒体77は、たとえば、光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。
 本発明の各実施形態は、たとえば、図15に例示した情報処理装置70によりスループット計測装置10を構成し、このスループット計測装置に対して、上記各実施形態において説明した機能を実現可能なプログラムを供給することにより実現してもよい。
 この場合、スループット計測装置に対して供給したプログラムを、演算装置73が実行することによって、実施形態を実現することが可能である。また、スループット計測装置のすべてではなく、一部の機能を情報処理装置70で構成することも可能である。
 さらに、上記プログラムを記録媒体77に記録しておき、スループット計測装置の出荷段階、あるいは運用段階等において、適宜上記プログラムが不揮発性記憶装置75に格納されるよう構成してもよい。なお、この場合、上記プログラムの供給方法は、出荷前の製造段階、あるいは運用段階等において、適当な治具を利用してスループット計測装置内にインストールする方法を採用してもよい。また、上記プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等の一般的な手順を採用してもよい。
 上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
  (付記1)
 データを受信装置へ送信するデータ送信手段と、
 前記受信装置から前記データの受信完了を示すフィードバックを受信するフィードバック受信手段と、
 前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出する境界値算出手段と、
 前記スループットの理論値を計測する理論値計測手段と、
 前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力する出力手段と
 を備えることを特徴とするスループット計測装置。
  (付記2)
 前記境界値は上限値を含み、
 前記境界値算出手段は、前記フィードバックと前記データの送信データ量に基づいて前記上限値を算出し、
 前記出力手段は、前記理論値が前記上限値より大きいとき前記上限値を出力する
 ことを特徴とする付記1に記載のスループット計測装置。
  (付記3)
 前記フィードバックは、前記受信装置が前記データを受信した際の受信開始時刻および受信完了時刻を含み、
 前記境界値算出手段は、前記受信開始時刻から前記受信完了時刻までの受信経過時間と前記送信データ量に基づいて前記上限値を算出する
 ことを特徴とする付記2に記載のスループット計測装置。
  (付記4)
 前記フィードバックは、前記受信装置が前記データを受信した際の受信開始時刻から受信完了時刻までの受信経過時間を含み、
 前記境界値算出手段は、前記受信経過時間および前記送信データ量に基づいて前記上限値を算出する
 ことを特徴とする付記2に記載のスループット計測装置。
  (付記5)
 前記フィードバックは、前記受信装置が前記データを受信した際の受信データ量を含み、
 前記境界値算出手段は、前記送信データ量の代わりに前記受信データ量に基づいて前記上限値を算出する
 ことを特徴とする付記2から付記4のいずれかに記載のスループット計測装置。
  (付記6)
 前記境界値は下限値を含み、
 前記境界値算出手段は、前記データの送信を開始した送信開始時刻、送信完了時刻および前記送信データ量に基づき前記スループットの下限値を算出し、
 前記出力手段は、前記理論値が前記下限値より小さいとき前記下限値を出力する
 ことを特徴とする付記1から付記5のいずれかに記載のスループット計測装置。
  (付記7)
 前記送信完了時刻は、前記フィードバックを受信したフィードバック受信時刻である
 ことを特徴とする付記6に記載のスループット計測装置。
  (付記8)
 前記フィードバックは、前記受信装置が前記データの受信を完了した受信完了時刻を含み、
 前記送信完了時刻は、前記受信完了時刻である
 ことを特徴とする付記6に記載のスループット計測装置。
  (付記9)
 前記理論値計測手段は、RTT(Round Trip Time)とパケットロス率により前記理論値を計測する
 ことを特徴とする付記1から付記8のいずれかに記載のスループット計測装置。
  (付記10)
 前記送信手段は前記データをTCP(Transmission Control Protocol)で送信する
 ことを特徴とする付記1から付記9のいずれかに記載のスループット計測装置。
  (付記11)
 前記理論値計測手段は前記受信装置と理論値計測用パケットを送受信する
 ことを特徴とする付記1から付記10のいずれかに記載のスループット計測装置。
  (付記12)
 スループット計測装置からデータを受信するデータ受信手段と、
 前記データの受信完了を検出する計測手段と、
 前記受信完了後、前記受信完了を示すフィードバックを前記スループット計測装置へ送信するフィードバック送信手段と、
 を備えることを特徴とする受信装置。
  (付記13)
 前記計測手段は、前記データの受信完了時刻を計測し、
 前記フィードバックは、前記受信完了時刻を含む
 ことを特徴とする付記12に記載の受信装置。
  (付記14)
 前記計測手段は、前記データの受信開始時刻を計測し、
 前記フィードバックは、前記受信開始時刻を含む
 ことを特徴とする付記13に記載の受信装置。
  (付記15)
 前記計測手段は、前記データの受信開始時刻と受信完了時刻を計測して受信経過時間を算出し、
 前記フィードバックは、前記受信経過時間を含む
 ことを特徴とする付記12あるいは付記13に記載の受信装置。
  (付記16)
 前記計測手段は、前記データの受信データ量を計測し、
 前記フィードバックは、前記受信データ量を含む
 ことを特徴とする付記12から付記15のいずれかに記載の受信装置。
  (付記17)
 前記スループット計測装置と理論値計測用パケットを送受信する理論値用パケット送受信手段
 を備えることを特徴とする付記12から付記16のいずれかに記載の受信装置。
  (付記18)
 付記1から付記11のいずれかに記載のスループット計測装置と
 付記12に記載の受信装置と
 を備え、
 前記データ送信手段は前記データ受信手段へ前記データを送信し、
 前記フィードバック受信手段は前記フィードバック送信手段から前記フィードバックを受信する
 ことを特徴とするスループット計測システム。
  (付記19)
 付記3あるいは付記8に記載のスループット計測装置と
 付記13に記載の受信装置と
 を備え、
 前記データ送信手段は前記データ受信手段へ前記データを送信し、
 前記フィードバック受信手段は前記フィードバック送信手段から前記フィードバックを受信する
 ことを特徴とするスループット計測システム。
  (付記20)
 付記3に記載のスループット計測装置と
 付記14に記載の受信装置と
 を備え、
 前記データ送信手段は前記データ受信手段へ前記データを送信し、
 前記フィードバック受信手段は前記フィードバック送信手段から前記フィードバックを受信する
 ことを特徴とするスループット計測システム。
  (付記21)
 付記4に記載のスループット計測装置と
 付記15に記載の受信装置と
 を備え、
 前記データ送信手段は前記データ受信手段へ前記データを送信し、
 前記フィードバック受信手段は前記フィードバック送信手段から前記フィードバックを受信する
 ことを特徴とするスループット計測システム。
  (付記22)
 付記5に記載のスループット計測装置と
 付記16に記載の受信装置と
 を備え、
 前記データ送信手段は前記データ受信手段へ前記データを送信し、
 前記フィードバック受信手段は前記フィードバック送信手段から前記フィードバックを受信する
 ことを特徴とするスループット計測システム。
  (付記23)
 付記11に記載のスループット計測装置と
 付記17に記載の受信装置と
 を備え、
 前記データ送信手段は前記データ受信手段へ前記データを送信し、
 前記フィードバック受信手段は前記フィードバック送信手段から前記フィードバックを受信し、
 前記スループット計測装置の前記理論値用パケット送受信手段は前記受信装置の理論値用パケット送受信手段と前記理論値計測用パケットを送受信する
 ことを特徴とするスループット計測システム。
  (付記24)
 データを受信装置へ送信し、前記受信装置から前記データの受信完了を示すフィードバックを受信し、前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出し、前記スループットの理論値を計測し、前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力する
 ことを特徴とするスループット計測方法。
  (付記25)
 前記境界値は上限値を含み、
 前記スループット計測方法は、前記フィードバックと前記データの送信データ量に基づいて前記上限値を算出し、前記理論値が前記上限値より大きいとき前記上限値を出力する
 ことを特徴とする付記24に記載のスループット計測方法。
  (付記26)
 前記フィードバックは、前記受信装置が前記データを受信した際の受信開始時刻および受信完了時刻を含み、
 前記スループット計測方法は、前記受信開始時刻から前記受信完了時刻までの受信経過時間と前記送信データ量に基づいて前記上限値を算出する
 ことを特徴とする付記25に記載のスループット計測方法。
  (付記27)
 前記フィードバックは、前記受信装置が前記データを受信した際の受信開始時刻から受信完了時刻までの受信経過時間を含み、
 前記スループット計測方法は、前記受信経過時間および前記送信データ量に基づいて前記上限値を算出する
 ことを特徴とする付記25に記載のスループット計測方法。
  (付記28)
 前記フィードバックは、前記受信装置が前記データを受信した際の受信データ量を含み、
 前記スループット計測方法は、前記送信データ量の代わりに前記受信データ量に基づいて前記上限値を算出する
 ことを特徴とする付記25から付記27のいずれかに記載のスループット計測方法。
  (付記29)
 前記境界値は下限値を含み、
 前記スループット計測方法は、前記データの送信を開始した送信開始時刻、送信完了時刻および前記送信データ量に基づき前記スループットの下限値を算出し、前記理論値が前記下限値より小さいとき前記下限値を出力する
 ことを特徴とする付記24から付記28のいずれかに記載のスループット計測方法。
  (付記30)
 前記送信完了時刻は、前記フィードバックを受信したフィードバック受信時刻である
 ことを特徴とする付記29に記載のスループット計測方法。
  (付記31)
 前記フィードバックは、前記受信装置が前記データの受信を完了した受信完了時刻を含み、
 前記送信完了時刻は、前記受信完了時刻である
 ことを特徴とする付記29に記載のスループット計測方法。
  (付記32)
 前記理論値計測部は、RTT(Round Trip Time)とパケットロス率により前記理論値を計測する
 ことを特徴とする付記24から付記31のいずれかに記載のスループット計測方法。
  (付記33)
 前記送信部は前記データをTCP(Transmission Control Protocol)で送信する
 ことを特徴とする付記24から付記32のいずれかに記載のスループット計測方法。
  (付記34)
 前記受信装置と理論値計測用パケットを送受信する
 ことを特徴とする付記24から付記33のいずれかに記載のスループット計測方法。
  (付記35)
 スループット計測装置からデータを受信するデータ受信部と、
 前記データの受信完了を検出する計測部と、
 前記受信完了後、前記受信完了を示すフィードバックを前記スループット計測装置へ送信するフィードバック送信部と、
 を備えることを特徴とする受信方法。
  (付記36)
 前記受信方法は、前記データの受信完了時刻を計測し、
 前記フィードバックは、前記受信完了時刻を含む
 ことを特徴とする付記35に記載の受信方法。
  (付記37)
 前記受信方法は、前記データの受信開始時刻を計測し、
 前記フィードバックは、前記受信開始時刻を含む
 ことを特徴とする付記36に記載の受信方法。
  (付記38)
 前記受信方法は、前記データの受信開始時刻と受信完了時刻を計測して受信経過時間を算出し、
 前記フィードバックは、前記受信経過時間を含む
 ことを特徴とする付記35あるいは付記36に記載の受信方法。
  (付記39)
 前記受信方法は、前記データの受信データ量を計測し、
 前記フィードバックは、前記受信データ量を含む
 ことを特徴とする付記35から付記38のいずれかに記載の受信方法。
  (付記40)
 前記スループット計測装置と理論値計測用パケットを送受信する
 ことを特徴とする付記35から付記39のいずれかに記載の受信方法。
  (付記41)
 コンピュータに、
 データを受信装置へ送信するデータ送信機能と、
 前記受信装置から前記データの受信完了を示すフィードバックを受信するフィードバック受信機能と、
 前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出する境界値算出機能と、
 前記スループットの理論値を計測する理論値計測機能と、
 前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力する出力機能と
 を実現させることを特徴とするスループット計測プログラム。
  (付記42)
 前記境界値は上限値を含み、
 前記境界値算出機能は、前記フィードバックと前記データの送信データ量に基づいて前記上限値を算出し、
 前記出力機能は、前記理論値が前記上限値より大きいとき前記上限値を出力する
 ことを特徴とする付記41に記載のスループット計測プログラム。
  (付記43)
 前記フィードバックは、前記受信装置が前記データを受信した際の受信開始時刻および受信完了時刻を含み、
 前記境界値算出機能は、前記受信開始時刻から前記受信完了時刻までの受信経過時間と前記送信データ量に基づいて前記上限値を算出する
 ことを特徴とする付記42に記載のスループット計測プログラム。
  (付記44)
 前記フィードバックは、前記受信装置が前記データを受信した際の受信開始時刻から受信完了時刻までの受信経過時間を含み、
 前記境界値算出機能は、前記受信経過時間および前記送信データ量に基づいて前記上限値を算出する
 ことを特徴とする付記42に記載のスループット計測プログラム。
  (付記45)
 前記フィードバックは、前記受信装置が前記データを受信した際の受信データ量を含み、
 前記境界値算出機能は、前記送信データ量の代わりに前記受信データ量に基づいて前記上限値を算出する
 ことを特徴とする付記42から付記44のいずれかに記載のスループット計測プログラム。
  (付記46)
 前記境界値は下限値を含み、
 前記境界値算出機能は、前記データの送信を開始した送信開始時刻、送信完了時刻および前記送信データ量に基づき前記スループットの下限値を算出し、
 前記出力機能は、前記理論値が前記下限値より小さいとき前記下限値を出力する
 ことを特徴とする付記41から付記45のいずれかに記載のスループット計測プログラム。
  (付記47)
 前記送信完了時刻は、前記フィードバックを受信したフィードバック受信時刻である
 ことを特徴とする付記46に記載のスループット計測プログラム。
  (付記48)
 前記フィードバックは、前記受信装置が前記データの受信を完了した受信完了時刻を含み、
 前記送信完了時刻は、前記受信完了時刻である
 ことを特徴とする付記46に記載のスループット計測プログラム。
  (付記49)
 前記理論値計測機能は、RTT(Round Trip Time)とパケットロス率により前記理論値を計測する
 ことを特徴とする付記41から付記8のいずれかに記載のスループット計測プログラム。
  (付記50)
 前記送信機能は前記データをTCP(Transmission Control Protocol)で送信する
 ことを特徴とする付記41から付記49のいずれかに記載のスループット計測プログラム。
  (付記51)
 前記理論値計測機能は前記受信装置と理論値計測用パケットを送受信する
 ことを特徴とする付記41から付記50のいずれかに記載のスループット計測プログラム。
  (付記52)
 コンピュータに、
 スループット計測装置からデータを受信するデータ受信機能と、
 前記データの受信完了を検出する計測機能と、
 前記受信完了後、前記受信完了を示すフィードバックを前記スループット計測装置へ送信するフィードバック送信機能と、
 を実現させることを特徴とする受信プログラム。
  (付記53)
 前記計測機能は、前記データの受信完了時刻を計測し、
 前記フィードバックは、前記受信完了時刻を含む
 ことを特徴とする付記52に記載の受信プログラム。
  (付記54)
 前記計測機能は、前記データの受信開始時刻を計測し、
 前記フィードバックは、前記受信開始時刻を含む
 ことを特徴とする付記53に記載の受信プログラム。
  (付記55)
 前記計測機能は、前記データの受信開始時刻と受信完了時刻を計測して受信経過時間を算出し、
 前記フィードバックは、前記受信経過時間を含む
 ことを特徴とする付記52あるいは付記53に記載の受信プログラム。
  (付記56)
 前記計測機能は、前記データの受信データ量を計測し、
 前記フィードバックは、前記受信データ量を含む
 ことを特徴とする付記52から付記55のいずれかに記載の受信プログラム。
  (付記57)
 前記スループット計測装置と理論値計測用パケットを送受信する理論値用パケット送受信機能
 を前記コンピュータに実現させることを特徴とする付記52から付記56のいずれかに記載の受信プログラム。
  (付記58)
 付記41から付記51のいずれかに記載のスループット計測プログラムを記録した、コンピュータ読み取り可能な記録媒体。
  (付記59)
 付記52から付記57のいずれかに記載の受信プログラムを記録した、コンピュータ読み取り可能な記録媒体。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2015年11月6日に出願された日本出願特願2015-218369を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 10  スループット計測装置
 11  データ送信部
 12  フィードバック受信部
 13  境界値算出部
 14  理論値計測部
 141  理論値用パケット送受信部
 142  ロス率計測部
 143  RTT計測部
 144  計算部
 15  出力部
 40、50  受信装置
 41  データ受信部
 42  計測部
 43  フィードバック送信部
 54  理論値用パケット送受信部
 70  情報処理装置
 71  通信インタフェース
 72  入出力インタフェース
 73  演算装置
 74  記憶装置
 75  不揮発性記憶装置
 76  ドライブ装置
 77  記録媒体

Claims (10)

  1.  データを受信装置へ送信するデータ送信手段と、
     前記受信装置から前記データの受信完了を示すフィードバックを受信するフィードバック受信手段と、
     前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出する境界値算出手段と、
     前記スループットの理論値を計測する理論値計測手段と、
     前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力する出力手段と
     を備えることを特徴とするスループット計測装置。
  2.  前記境界値は上限値を含み、
     前記境界値算出手段は、前記フィードバックと前記データの送信データ量に基づいて前記上限値を算出し、
     前記出力手段は、前記理論値が前記上限値より大きいとき前記上限値を出力する
     ことを特徴とする請求項1に記載のスループット計測装置。
  3.  前記フィードバックは、前記受信装置が前記データを受信した際の受信開始時刻および受信完了時刻を含み、
     前記境界値算出手段は、前記受信開始時刻から前記受信完了時刻までの受信経過時間と前記送信データ量に基づいて前記上限値を算出する
     ことを特徴とする請求項2に記載のスループット計測装置。
  4.  前記境界値は下限値を含み、
     前記境界値算出手段は、前記データの送信を開始した送信開始時刻、送信完了時刻および前記送信データ量に基づき前記スループットの下限値を算出し、
     前記出力手段は、前記理論値が前記下限値より小さいとき前記下限値を出力する
     ことを特徴とする請求項1から請求項3のいずれかに記載のスループット計測装置。
  5.  前記送信完了時刻は、前記フィードバックを受信したフィードバック受信時刻である
     ことを特徴とする請求項4に記載のスループット計測装置。
  6.  前記フィードバックは、前記受信装置が前記データの受信を完了した受信完了時刻を含み、
     前記送信完了時刻は、前記受信完了時刻である
     ことを特徴とする請求項4に記載のスループット計測装置。
  7.  前記理論値計測手段は前記受信装置と理論値計測用パケットを送受信する
     ことを特徴とする請求項1から請求項6のいずれかに記載のスループット計測装置。
  8.  請求項1から請求項7のいずれかに記載のスループット計測装置と、
     スループット計測装置からデータを受信するデータ受信手段と、
     前記データの受信完了を検出する計測手段と、
     前記受信完了後、前記受信完了を示すフィードバックを前記スループット計測装置へ送信するフィードバック送信手段と、
     を備える受信装置
     を備え、
     前記データ送信手段は前記データ受信手段へ前記データを送信し、
     前記フィードバック受信手段は前記フィードバック送信手段から前記フィードバックを受信する
     ことを特徴とするスループット計測システム。
  9.  データを受信装置へ送信し、前記受信装置から前記データの受信完了を示すフィードバックを受信し、前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出し、前記スループットの理論値を計測し、前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力する
     ことを特徴とするスループット計測方法。
  10.  コンピュータに、
     データを受信装置へ送信するデータ送信機能と、
     前記受信装置から前記データの受信完了を示すフィードバックを受信するフィードバック受信機能と、
     前記フィードバックと前記データの送信データ量に基づいてスループットが取り得る値の範囲の境界値を算出する境界値算出機能と、
     前記スループットの理論値を計測する理論値計測機能と、
     前記理論値が前記範囲を外れているとき、前記境界値を出力し、前記理論値が前記範囲に含まれるとき、前記理論値を出力する出力機能と
     を実現させることを特徴とするスループット計測プログラムを記録した、コンピュータ読み取り可能な記録媒体。
PCT/JP2016/004780 2015-11-06 2016-11-01 スループット計測装置、方法および記録媒体 WO2017077704A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017548638A JP6798500B2 (ja) 2015-11-06 2016-11-01 スループット計測装置、方法およびプログラム
US15/768,067 US10652123B2 (en) 2015-11-06 2016-11-01 Throughput measuring apparatus, method, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-218369 2015-11-06
JP2015218369 2015-11-06

Publications (1)

Publication Number Publication Date
WO2017077704A1 true WO2017077704A1 (ja) 2017-05-11

Family

ID=58661867

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/004780 WO2017077704A1 (ja) 2015-11-06 2016-11-01 スループット計測装置、方法および記録媒体

Country Status (3)

Country Link
US (1) US10652123B2 (ja)
JP (1) JP6798500B2 (ja)
WO (1) WO2017077704A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089341B2 (en) * 2018-05-11 2021-08-10 Prowire Sport Llc System and method for capturing and distributing a live audio stream of a live event in real-time
US11606407B2 (en) 2018-07-05 2023-03-14 Prowire Sport Limited System and method for capturing and distributing live audio streams of a live event

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005244851A (ja) * 2004-02-27 2005-09-08 Kddi Corp ネットワーク性能評価装置およびその方法
JP2006013920A (ja) * 2004-06-25 2006-01-12 Fujitsu Ltd 障害解析プログラム、障害解析装置、記録媒体及び障害解析方法
JP2009296304A (ja) * 2008-06-05 2009-12-17 Nippon Telegr & Teleph Corp <Ntt> Tcp通信品質推定方法およびtcp通信品質推定装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004140596A (ja) 2002-10-17 2004-05-13 Nippon Telegr & Teleph Corp <Ntt> Tcp上のデータ転送における品質を推定する方法およびシステム
CN101048984B (zh) * 2004-10-21 2013-08-21 日本电气株式会社 通信质量测量装置和通信质量测量方法
JP6051832B2 (ja) * 2012-12-17 2016-12-27 富士通株式会社 通信装置,通信方法,及び通信プログラム
US10812546B2 (en) * 2014-12-24 2020-10-20 Intel IP Corporation Link-aware streaming adaptation
JP2016208445A (ja) * 2015-04-28 2016-12-08 株式会社日立製作所 無線通信システム、サーバ、基地局

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005244851A (ja) * 2004-02-27 2005-09-08 Kddi Corp ネットワーク性能評価装置およびその方法
JP2006013920A (ja) * 2004-06-25 2006-01-12 Fujitsu Ltd 障害解析プログラム、障害解析装置、記録媒体及び障害解析方法
JP2009296304A (ja) * 2008-06-05 2009-12-17 Nippon Telegr & Teleph Corp <Ntt> Tcp通信品質推定方法およびtcp通信品質推定装置

Also Published As

Publication number Publication date
US10652123B2 (en) 2020-05-12
JP6798500B2 (ja) 2020-12-09
US20180324073A1 (en) 2018-11-08
JPWO2017077704A1 (ja) 2018-08-23

Similar Documents

Publication Publication Date Title
US8274886B2 (en) Inferring TCP initial congestion window
JP4685672B2 (ja) 利用可能な帯域幅推定
CN107624232B (zh) 在通信系统中控制下行链路吞吐量的设备和方法
JP4367505B2 (ja) 通信端末、通信システム、輻輳制御方法、及び輻輳制御用プログラム
US9444741B2 (en) Facilitating network flows
US9444755B2 (en) Packet processing method and packet processing device
JP6244836B2 (ja) 通信装置及びパケット制御方法
WO2017077704A1 (ja) スループット計測装置、方法および記録媒体
JP6173826B2 (ja) パケット送信装置およびそのプログラム
JP6468193B2 (ja) 通信装置及び通信装置におけるネットワーク利用可能帯域推定方法、並びにネットワーク利用可能帯域推定プログラム
JP6101046B2 (ja) パケット送信装置およびそのプログラム
JP2007189592A (ja) トークンバケットによるトラヒック制御装置、方法及びプログラム
JP6885463B2 (ja) 送信装置、可用帯域推定装置、可用帯域推定システム、方法
WO2014171543A1 (ja) データ送信装置、データ送信方法、及びそのプログラム
US9781734B2 (en) Communication apparatus, communication method, and recording medium
WO2019124290A1 (ja) 送信データ量制御装置、方法および記録媒体
US9882751B2 (en) Communication system, communication controller, communication control method, and medium
JP2014112779A (ja) データ送信制御装置、データ送信制御方法、および、コンピュータ・プログラム
JP6897769B2 (ja) データ送信装置、方法およびプログラム
US10749781B2 (en) Setting device, setting method, recording medium to which setting program is recorded, communication system, client device, and server device
WO2014132723A1 (ja) 送信レート制御装置送信レート制御システム、送信レート制御方法及び送信レート制御プログラム
JP2008199092A (ja) データ送信装置
JP2016096391A (ja) 通信装置及びプログラム

Legal Events

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

Ref document number: 16861780

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017548638

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15768067

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16861780

Country of ref document: EP

Kind code of ref document: A1