DEVICE, COMMUNICATION SYSTEM, AND METHOD USING A COMMUNICATION SYSTEM

A device is configured to specify a first time difference between a first time in which a first data packet is transmitted and a second time in which a first response packet is received, specify a second time difference between the second time and a third time in which a second response packet is received, the second response packet being a final response packet corresponding to second data packets transmitted after the first time and before the second time, specify a first data amount of the one or more second data packets, and a second data amount of the first data packet and the one or more second data packets, specify a first throughput value based on the second data amount and the first time difference, specify a second throughput value based on the first data amount and the second time difference.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2015-206744, filed on Oct. 20, 2015, the entire contents of which are incorporated herein by reference.

FIELD

The embodiment discussed herein is related to a device, a communication system, and a method using a communication system.

BACKGROUND

A technology is disclosed in which TCP protocol packets are acquired and a throughput between devices is calculated. For example, an information processing device extracts a data transmission and reception execution period excluding a non-data transmission and reception execution period which occurs in a communication connection setting period between a server and a client, and calculates a maximum throughput based on time corresponding to the data transmission and reception execution period and the amount of transmitted data. The data transmission and reception execution period is a period from the start of consecutive data transmission based on a window size to the reception of reception acknowledgement (ack) corresponding to the transmitted consecutive data. Japanese Laid-open Patent Publication No. 2006-279283, Japanese Laid-open Patent Publication No. 2007-243308, and Japanese Laid-open Patent Publication No. 2011-259307 are examples of the related art.

SUMMARY

According to an aspect of the invention, a device includes a memory, and a processor coupled to the memory and configured to specify a first time difference between a first time in which a first data packet is transmitted by a transmitter toward a receiver and a second time in which a first response packet corresponding to the first data packet is received by the transmitter, specify a second time difference between the second time and a third time in which a second response packet is received by the transmitter, the second response packet being a final response packet corresponding to one or more second data packets transmitted by the transmitter toward the receiver after the first time and before the second time, specify a first data amount which is a total data amount of the one or more second data packets, and a second data amount which is a total data amount of the first data packet and the one or more second data packets, specify a first throughput value based on the second data amount and the first time difference, specify a second throughput value based on the first data amount and the second time difference, and output the first throughput value when the first throughput value is equal to or smaller than the second throughput value.

DESCRIPTION OF EMBODIMENT

A method of calculating throughput between devices according to the related art has a problem in which it is difficult to measure accurate throughput between the devices. In a case in which there is a band gap between a transmission side and a reception side, for example, in a case in which a band of the reception side is narrower than that of the transmission side, it is difficult to accurately measure the throughput between the devices. Here, the problem in which it is difficult to accurately measure the throughput between the devices will be described.

In the related art, there is a large number of cases in which a path between devices is a wired network and there is a small number of cases in which a band gap exists between the transmission side and the reception side, with the result that there is a small number of cases in which the band of the reception side is narrower than that of the transmission side, and thus there is a small number of cases in which the accuracy of estimation of the throughput between the devices causes a problem. That is, it is possible for an information processing device to accurately measure the throughput between the devices based on time of data transmission and reception execution period and the amount of transmitted data.

In contrast, in recent years, smart phones and wireless networks, such as Wi-Fi®, which is slow and unstable, have been spread, with the result that a section in which the band of the reception side is narrower than that of the transmission side increases, and thus there is a case in which estimation accuracy causes a problem in the calculation method according to the related art. That is, in the case in which the band of the reception side is narrower than that of the transmission side increases, the information processing device is affected in the section in which the band is narrow even though the throughput between the devices are measured based on time of the data transmission and reception execution period and the amount of the transmission data, and thus it is difficult to accuracy measure the throughput between the devices.

Hereinafter, an embodiment of a packet analysis program, a packet analyze device, and a packet analysis method disclosed in the specification will be described in detail with reference to the accompanying drawing. Meanwhile, the embodiment does not limit the disclosure.

[Configuration of Packet Analysis Device According to Embodiment]

FIG. 1a diagram illustrating functional configuration of a packet analysis device according to an embodiment. As illustrated inFIG. 1, a packet analysis device1acquires a packet which is communicated between a terminal3and a terminal4through an SW2, and passively diagnoses a network bandwidth. The passive diagnosis is a diagnosis method of diagnosing a network bandwidth while a packet which flows through a network is set to a measurement target. Meanwhile, although a diagnosis method of diagnosing a network band includes active diagnosis in which a network band is diagnosed while setting a packet, which flows the network and has a prepared pattern, as a measurement target, in addition to passive diagnosis, the passive diagnosis is applied in the embodiment.

The terminals3and4perform communication using, for example, a transmission control protocol (TCP) on a network.

Here, an example of functional characteristics of TCP communication will be described. In a case in which the reception side-terminal3receives a data packet, the reception side-terminal3sets a data sequence number, which is supposed to be subsequently received, to an ACK acknowledgement number based on the sequence number and the data size of the data, and transfers ACK to the transmission side-terminal4. The transmission side-terminal4receives ACK, checks the received ACK acknowledgement number, and then transmits a subsequent data packet.

However, if the transmission side-terminal4receives, checks, and transmits the data packet one by one, communication efficiency is low. Here, in TCP, “window control” is performed. In the window control, the transmission side-terminal4consecutively transmits a plurality of data packets instead of receiving, checking, and transmitting the data packet one by one. That is, the transmission side-terminal4manages the plurality of data packets in the unit of a window size called convergency window, and consecutively transmits the data packets without the ACK acknowledgement numbers. The communication efficiency is improved due to the window control. Meanwhile, the data packets, which are consecutively transmitted through the window control, are referred to as “consecutive packets” or “data packets corresponding to a group”. Meanwhile, it is possible to specify the number of consecutive packets according to content disclosed in, for example, Japanese Laid-open Patent Publication No. 2015-035709.

However, in network band diagnosis, the throughput of a TCP protocol (hereinafter referred to as “TCP throughput”) is estimated using round trip time (RTT) and the convergency window (cwind) as in Equation (1). Meanwhile, RTT refers to time until an ACK packet is returned after a data packet is transmitted, that is, indicates a round trip delay time. The convergency window refers to the amount of data of the data packets which flow within RTT. The amount of data of the data packets is managed in a unit of window size.

However, for example, in a case in which the reception side includes a low-speed section, RTT is short, or cwind is large, there is a problem in which the estimation accuracy of the TCP throughput is lowered. A case in which the reception side includes the low-speed section includes, for example, a case in which a physical band is narrow and network usage rate is high even though a network physical band is wide. The problem of TCP throughput estimation will be described with reference toFIGS. 2A and 2B.

FIGS. 2A and 2Bare diagrams illustrating the problem of the TCP throughput estimation. As illustrated inFIG. 2A, the packet analysis device1measures the TCP throughput using RTT and cwind at a measurement spot. Here, the terminal4, which is a transmission terminal, consecutively transmission six data packets, and the terminal3, which is a reception terminal, transmits an ACK packet corresponding to an initial data packet. In this case, it is assumed that RTT is 3.0 [msec]. If it is assumed that the amount of data of one data packet is 1500 [byte], cwind is 6×1500 [byte]. If so, the packet analysis device1substitutes RTT and cwind for Equation (1), and measures that the estimated value of the TCP throughput is 24 Mbps. However, if it is assumed that a reception side-network band is 10 Mbps, the packet analysis device1estimates the estimated value (24 Mbps) of the TCP throughput as a value which is larger than the reception side-network band (10 Mbps). The reason for this is that, for example, in a case in which RTT is short, a case in which cwind is large, and a case in which the reception side includes the low-speed section, errors occur in the measured value of the TCP throughput.

A graph illustrated inFIG. 2Bis a graph illustrating an effective throughput in a case in which an X axis is RTT [msec] and a Y axis is throughput [Mbps]. In the graph, the estimated value of the TCP throughput through the measurement is a value according to an inverse proportion curve which becomes large as RTT is short and becomes small as RTT is long. That is, in a case in which RTT is shorter than t0even though the network band is 10 Mbps, the estimated value of the TCP throughput through the measurement is measured as a value which is larger than that of the network band. That is, errors occur in the measured value of the TCP throughput.

In contrast, in a case in which RTT is longer than t0, the estimated value of the TCP throughput through the measurement is measured as a value which is smaller than that of the network band. That is, it is estimated that the measured value of the TCP throughput coincides with the effective throughput.

Meanwhile, although the case in which RTT is short is described as an example of the case in which the estimated value of the TCP throughput through the measurement is measured as a value which is larger than that of the network band, the embodiment is not limited thereto. A cause of the case in which the estimated value of the TCP throughput through the measurement is measured as a value which is larger than that of the network band is the same in both the case in which cwind is large and the case in which the reception side includes a low-speed section.

Here, in the embodiment, the packet analysis device1determines the validity of the estimated value of the TCP throughput using the throughput which is measured based on an ACK interval, and accurately measures the effective throughput between the device3and the device4. A method of measuring the effective throughput will be described later.

Returning toFIG. 1, the packet analysis device1includes a storage unit11and a control unit12.

The storage unit11corresponds to, for example, a storage device such as a non-volatile semiconductor memory including a flash memory, a ferroelectric random access memory (FRAM,®), and the like. The storage unit11includes an analysis information table111, a DATA table112, an ACK table113, and a statistical information table114.

The analysis information table111stores analysis information. The analysis information table111is used when the network band is diagnosed. Meanwhile, a data structure of the analysis information table111will be described later.

In a case in which a data packet (hereinafter, referred to as “DATA”) is acquired, the DATA table112stores an index number, an arrival time, and a packet length of DATA. In a case in which an ACK packet (hereinafter, referred to as “ACK”) is acquired, the ACK table113stores an arrival time and an index number of DATA corresponding to ACK. Meanwhile, data structures of the respective DATA table112and the ACK table113will be described later.

The statistical information table114stores statistical information. The statistical information table114stores final statistical information of network band diagnosis. Meanwhile, a data structure of the statistical information table114will be described later.

The control unit12includes an internal memory in order to store a program, which defines various process procedures, and control data, and executes various processes using the program and the control data. Further, the control unit12corresponds to, for example, an electronic circuit of an integrated circuit such as an application specific integrated circuit (ASIC) and a field programmable gate array (FPGA). In addition, the control unit12corresponds to an electronic circuit such as a central processing unit (CPU) or a micro processing unit (MPU). Further, the control unit12includes an output interface121, an input interface122, a connection management unit123, and a throughput estimation unit124.

The output interface121is an interface with an output device5. For example, the output interface121edits the statistical information, which is stored in the statistical information table114, and the analysis information, which is stored in the analysis information table111, and then outputs the edited statistical information to the output device5.

The input interface122captures packets, which are communicated between the terminal3and the terminal4, through SW2. The input interface122delivers the captured packets to the connection management unit123.

The connection management unit123manages the connection of the captured packets. For example, in a case in which a connection establishment method is a three way-handshake, the connection management unit123measures transmission-side round trip delay time using a SYN packet and a SYN/ACK packet in a case of connection establishment. As an example, the connection management unit123calculates time which, is taken from acquisition time of a SYN packet transmitted from the terminal3which is the reception terminal is acquired to acquisition time of the SYN/ACK packet transmitted from the terminal4which is the transmission terminal, as the transmission-side round trip delay time. The connection management unit123records the calculated transmission-side round trip delay time in the analysis information table111.

In addition, in a case in which the captured packet is ACK, the connection management unit123adds ACK information associated with the acquisition time to the ACK table113. In a case in which the captured packet is DATA, the connection management unit123adds DATA information associated with the acquisition time to the DATA table112. Meanwhile, in the embodiment, a case in which the connection management unit123captures packets having the same connection information will be described. The connection information includes, for example, an IP address of a transmission source, a port number of the transmission source, an IP address of a destination, and a port number of the destination.

The throughput estimation unit124determines the validity of the estimated value of the TCP throughput using a throughput measured from the ACK interval. For example, the throughput estimation unit124calculates time which is taken to acquire ACK corresponding to initial DATA based on acquisition of the initial DATA corresponding to a group in which one or more consecutively transmitted DATA are collected. The throughput estimation unit124calculates the estimated value of the TCP throughput by substituting the calculated time and the amount of data of DATA of the group for Equation (1). In addition, the throughput estimation unit124calculates time which is taken from the acquisition of ACK corresponding to the initial DATA to acquisition of a final ACK corresponding to the group. The throughput estimation unit124calculates a throughput value using the calculated time and the amount of data (the amount of second packets) of DATA acquired by excluding the initial DATA from the group. The throughput value calculated as above indicates an approximate value of the network band. The throughput estimation unit124determines the validity of the estimated value of the TCP throughput by comparing the estimated value of the TCP throughput with approximate value of the network band. In a case in which it is determined that the estimated value of the TCP throughput has validity, the throughput estimation unit124specifies the estimated value of the TCP throughput as an effective throughput value.

In addition, in a case in which it is determined that the estimated value of the TCP throughput does not have validity, the throughput estimation unit124further determines the validity of the approximate value of the network band. For example, the throughput estimation unit124calculates time (second ACK interval) which is taken from the acquisition of ACK corresponding to the initial DATA to the acquisition of ACK of a subsequent group other than the group. The throughput estimation unit124estimates the throughput value which is measured based on the calculated second ACK interval, the amount of second packets, and the amount of data of DATA of the subsequent group. The throughput estimation unit124determines the validity of the approximate value of the network band by comparing the estimated value with the estimated value of the TCP throughput. That is, the packet analysis device1determines the validity of the approximate value of the network band using the second ACK interval including the ACK of the subsequent group other than the group. In a case in which it is determined that the approximate value of the network band does not have validity, the throughput estimation unit124specifies the estimated value of the TCP throughput as the effective throughput value. In a case in which the approximate value of the network band has validity, the throughput estimation unit124specifies the approximate value of the network band as the effective throughput value.

Here, a method of measuring the effective throughput by the throughput estimation unit124according to the embodiment will be described with reference toFIG. 3.FIG. 3is a diagram illustrating a process performed by the throughput estimation unit according to the embodiment. As illustrated inFIG. 3, at a measurement spot, the throughput estimation unit124causes the terminal4which is the transmission terminal to transmit a group in which one or more DATA are collected to the terminal3which is the reception terminal. The throughput estimation unit124measures the estimated value of the TCP throughput using RTT corresponding to the initial DATA relevant to the group and the amount of data of DATA of the group. Here, RU is tp0. The amount of data of DATA of the group is cwind and is 1500×3 [byte].

The throughput estimation unit124calculates the approximate value of the network band using time, which is taken from acquisition of the initial ACK to acquisition of final ACK corresponding to group, and the amount of data of DATA acquired by excluding the initial DATA from the group. Here, the time, which is taken from acquisition of the initial ACK to acquisition of final ACK, that is, the ACK interval is tp1.

The throughput estimation unit124determines validity indicative of whether or not the estimated value of the TCP throughput is proper as the effective throughput by comparing the estimated value of the TCP throughput with the approximate value of the network band. That is, the throughput estimation unit124determines the validity of the estimated value of the TCP throughput using the throughput measured based on ACK interval in the group. If the estimated value of the TCP throughput is not larger than the approximate value of the network band, the throughput estimation unit124determines that the estimated value of the TCP throughput is valid, and specifies the estimated value of the TCP throughput as the effective throughput.

If the estimated value of the TCP throughput is larger than the approximate value of the network band, the throughput estimation unit124determines that the estimated value of the TCP throughput is not valid, and further determines validity indicative of whether or not the approximate value of the network band is proper as the effective throughput. For example, the throughput estimation unit124estimates the throughput value which is measured from the second ACK interval, which includes ACK of a subsequent group other than the group, and the amount of relevant data. Here, the second ACK interval is tp2. The throughput estimation unit124determines the validity of the approximate value of the network band by comparing the estimated value with the estimated value of the TCP throughput.

If the estimated value of the TCP throughput is larger than the throughput value measured from the second ACK interval, the throughput estimation unit124determines that the approximate value of the network band is valid, and specifies the approximate value of the network band as the effective throughput. If the estimated value of the TCP throughput is not larger than the throughput value measured from the second ACK interval, the throughput estimation unit124determines that the approximate value of the network band is not proper, and specifies the estimated value of the TCP throughput as the effective throughput.

Subsequently, a detailed example of a process performed by the throughput estimation unit124according to the embodiment will be described with reference toFIGS. 4A to 4D.FIGS. 4A to 4Dare diagrams illustrating the process performed by the throughput estimation unit according to the embodiment in detail.

As illustrated inFIG. 4A, three DATA are included in a group g1in which DATA is collected. It is assumed that the amount of data of one DATA is 1500 bytes. RTT is 2 msec and the ACK interval is 0.6 msec.

The throughput estimation unit124calculates an estimated value TPtcpof the TCP throughput by substituting RTT and cwind for Equation (1). Here, cwind is the amount of data of DATA d1to d3and is 8×(3×1500 [byte]) bits. RTT is 2 msec. The estimated value TPtcpof the TCP throughput is calculated as follows.

The throughput estimation unit124calculates an approximate value TPrcv1of the network band using the ACK interval and the amount of data of DATA acquired by excluding the initial DATA from the group. Here, the ACK interval is time which is taken from the acquisition of initial ACKa1to the acquisition of final ACKa2corresponding to the group. The amount of data of DATA is the amount of data (the amount of second packets) of DATA d2and d3acquired by excluding initial DATA d1from the group g1, and is 8×(2×1500 [byte]) bits. The ACK interval is 0.6 msec. The approximate value TPrcv1of the network band is calculated as follows.

The throughput estimation unit124determines the validity of the estimated value of the TCP throughput by comparing the estimated value of the TCP throughput TPtcpand the approximate value TPrcv1of the network band. Since the estimated value TPrcv1of the TCP throughput Tptcpis not larger than the approximate value TPrcv1of the network band, the throughput estimation unit124specifies the estimated value TPtcpof the TCP throughput as the effective throughput. That is, the estimated value TPtcpof the TCP throughput is valid.

In the case, a reason that the estimated value TPtcpof the TCP throughput is specified as the effective throughput is as follows. That is, in a case in which the low-speed section on the reception side is 40 Mbps, actual sending time in a case of sending DATA d1to d3is calculated as follows.

According to Equation, the actual sending time (0.9 msec) is short than RTT (2 msec) and waste time exists in the network. Therefore, the estimated value TPtcpof the TCP throughput is specified as the effective throughput. That is, RTT is larger than t0in the graph ofFIG. 2B.

As illustrated inFIG. 4B, the number of DATA of the group g1in which DATA are collected, the amount of data of one DATA, and RTT are the same as inFIG. 4A.FIG. 4Bis different fromFIG. 4Ain that the ACK interval is changed from 0.6 msec to 2.4 msec.

The throughput estimation unit124substitutes RTT and cwind for Equation (1), and calculates the estimated value TPtcpof the TCP throughput. Here, the estimated value TPtcpof the TCP throughput is 18 [Mbps] as inFIG. 4A.

The throughput estimation unit124calculates the approximate value TPrcv1of the network band using the ACK interval and the amount of data (the amount of second packet) of DATA acquired by excluding the initial DATA from the group g1. Here, the ACK interval is 2.4 msec. The approximate value TPrcv1of the network band is calculated as follows.

The throughput estimation unit124determines the validity of the estimated value of the TCP throughput by comparing the estimated value TPtcpof the TCP throughput with the approximate value TPrcv1of the network band. Since the estimated value TPtcpof the TCP throughput larger than the approximate value TPrcv1of the network band, the throughput estimation unit124determines that the estimated value of the TCP throughput TPtcpis not valid, and further determines validity of the approximate value TPrcv1of the network band.

In this case, the reason that the estimated value TPtcpof the TCP throughput is not specified as the effective throughput is as follows. That is, in a case in which the low-speed section on the reception side is 10 Mbps, the actual sending time in which DATA d1to d3are sent is calculated as follows.

According to this, the actual sending time (3.6 msec) is longer than RTT (2 msec) and waste time does not exist in the network. Therefore, the estimated value TPtcpof the TCP throughput is not specified as the effective throughput. That is, RTT is shorter than t0in the graph ofFIG. 2B. Further, the throughput estimation unit124continuously determines the validity of the approximate value TPrcv1of the network band.

As illustrated inFIG. 4C, the number of DATA of the group g1in which DATA are collected, the amount of data of one DATA, RTT, and the ACK interval are the same as inFIG. 4B.FIG. 4Cis different fromFIG. 4Bin that two DATA are included in a subsequent group g2.FIG. 4Cis different fromFIG. 4Bin that the second ACK interval is 2.6 msec.

The throughput estimation unit124substitutes RTT and cwind for Equation (1), and calculates the estimated value TPtcpof the TCP throughput. Here, the estimated value TPtcpof the TCP throughput is 18 [Mbps] as inFIG. 4B.

The throughput estimation unit124calculates the approximate value TPrcv1of the network band using the ACK interval and the amount of data of DATA acquired by excluding the initial DATA from the group. Here, the approximate value TPrcv1of the network band is 10 [Mbps] as inFIG. 4B.

Since the estimated value TPtcpof the TCP throughput is larger than the approximate value TPrcv1of the network band, the throughput estimation unit124determines that the estimated value TPtcpof the TCP throughput is not valid, and determines the validity of the approximate value TPrcv1of the network band as below. The throughput estimation unit124calculates a throughput value TPrcv2which is measured using the second ACK interval, the amount of second packet, and the amount of data of DATA d4and d5of the subsequent group g2. Here, the second ACK interval is 2.6 msec. The amount of second packet is 8×(2×1500 [byte]) bits. The amount of data of DATA d4and d5of the subsequent group g2is also 8×(2×1500 [byte]) bits. The throughput value TPrcv2is calculated as below.

Since the estimated value TPtcpof the TCP throughput is not larger than the throughput value measured from the second ACK intervalTPrcv2, the throughput estimation unit124specifies the estimated value TPtcpof the TCP throughput as the effective throughput. That is, the approximate value TPrcv1of the network band is not valid although the approximate value TPrcv1of the network band is smaller than the estimated value TPtcpof the TCP throughput.

In this case, a reason that the approximate value TPrcv1of the network band is not specified as the effective throughput and the estimated value TPtcpof the TCP throughput is specified as the effective throughput is as follows. That is, the ACK interval is only widened by cross traffics (disturbance), actual sending time (0.9 msec), which is calculated in Equation (4), is shorter than RTT (2 msec) even in the low-speed section, and thus waste time exists in the network. Therefore, the approximate value TPrcv1of the network band is not proper as the effective throughput in the low-speed section, and the estimated value TPtcpof the TCP throughput is specified as the effective throughput.

As illustrated inFIG. 4D, the number of DATA of the group g1, in which DATA are collected, the amount of data of one DATA, RTT, the ACK interval, and the number of DATA of the subsequent group g2are the same as inFIG. 4C.FIG. 4Dis different fromFIG. 4Cin that the second ACK interval is 4.8 msec.

The throughput estimation unit124substitutes RTT and cwind for Equation (1), and calculates the estimated value TPtcpof the TCP throughput. Here, the estimated value TPtcpof the TCP throughput is 18 [Mbps] as inFIG. 4C.

The throughput estimation unit124calculates the approximate value TPrcv1of the network band using the ACK interval and the amount of data of DATA acquired by excluding the initial DATA from the group. Here, the approximate value TPrcv1of the network band is 10 [Mbps] as in the case ofFIG. 4C.

Since the estimated value TPtcpof the TCP throughput is larger than the approximate value TPrcv1of the network band, the throughput estimation unit124determines that the estimated value TPtcpof the TCP throughput is not valid, and determines validity of the approximate value TPrcv1of the network band as below. The throughput estimation unit124calculates the second ACK interval, and the throughput value TPrcv2which is measured from the amount of second packet and the amount of data of DATA d4and d5of the subsequent group g2. Here, the second ACK interval is 4.8 msec. The amount of second packet is 8×(2×1500 [byte]) bits. The amount of data of DATA d4and d5of the subsequent group g2is also 8×(2×1500 [byte]) bits. The throughput value TPrcv2is calculated as below.

Since the estimated value TPtcpof the TCP throughput is larger than the throughput value measured from the second ACK interval TPrcv2, the throughput estimation unit124specifies the approximate value TPrcv1of the network band as the effective throughput. That is, the approximate value TPrcv1of the network band is valid.

In this case, a reason that the approximate value TPrcv1of the network band is specified as the effective throughput is as follows. That is, the second ACK interval, which is the ACK interval of a subsequent packet, is widened, and the throughput in the low-speed section is measured as a low value. In addition, actual sending time in a case in which DATA d1to d3are sent is 3.6 msec as expressed in Equation (9) below. That is, the actual sending time is longer than RTT (2 msec), and thus waste time does not exist in the network.

Therefore, there is a high probability that the approximate value TPrcv1of the network band is proper as a throughput in the low-speed section, and thus the approximate value TPrcv1of the network band is specified as the effective throughput.

[Data Structure of Table]

Data structures of various tables which are used in the packet analysis device1will be described with reference toFIGS. 5 to 8.FIG. 5is a diagram illustrating an example of a data structure of an analysis information table.FIG. 6is a diagram illustrating an example of a data structure of a DATA table.FIG. 7is a table illustrating an example of a data structure of an ACK table.FIG. 8is a table illustrating an example of a data structure of a statistical information table.

As illustrated inFIG. 5, the analysis information table111stores a Status111a, a TimeSyn111b, a RTTsrv111c, and an RTTrcv111dthrough association. In addition, the analysis information table111temporally stores various pieces of analysis information.

The Status111aindicates the measurement state of band measurement and a current status. In the Status111a, for example, “INIT”, “MEASURE”, “VERIFY1”, and “VERIFY2” are set. “INIT” indicates an initial value. “MEASURE” indicates that band measurement is being performed. “VERIFY1” indicates that the validity of the TCP throughput is being determined. “VERIFY2” indicates that the validity of the network band is being determined.

The TimeSyn111bindicates the arrival time of the SYN packet. The RTTsry111cindicates transmission-side round trip delay time, and indicates time from the arrival of the SYN packet to the arrival of the SYN/ACK packet. The RTTrcv111dindicates reception-side round trip delay time, and indicates time from arrival of DATA to arrival of ACK.

As illustrated inFIG. 6, the DATA table112stores a data ID112a, a Seq number112b, a packet length112c, and an arrival time112dthrough association. The data ID112ais an index number of DATA. The Seq number112bis a sequence number of DATA. The packet length112cis a packet length of DATA. The arrival time112dis time in which DATA arrives at the packet analysis device1.

As an example, in a case in which the data ID112ais “1”, “0” is stored as the Seq number112b, “1250” is stored as the packet length112c, and “1100” is stored as the arrival time112d. In addition, in a case in which the data ID112ais “2”, “1250” is stored as the Seq number112b, “1250” is stored as the packet length112c, and “1200” is stored as the arrival time112d.

As illustrated inFIG. 7, the ACK table113stores an AckID113a, an Ack number113b, an arrival time113c, and a data ID113dthrough association. The AcKID113ais an index number of ACK. The Ack number113bis Ack number (Acknowledgement number) of ACK. That is, the Seq number of DATA which is supposed to be subsequently sent is set to the Ack number113b. The arrival time113cis the arrival time of ACK at the packet analysis device1. The data ID113dis an index number (data ID) of DATA corresponding to ACK. That is, the data ID113dmeans DATA corresponding to ACK which is indicated by the AckID113a.

As an example, in a case in which the AckID113ais “1”, “1250” is stored as the Ack number113b, “1800” is stored as the arrival time113c, and “1” is stored as the data ID113d. In a case in which the AckID113ais “2”, “3750” is stored as the Ack number113b, “2800” is stored as the arrival time113c, and “3” is stored as the data ID113d.

As illustrated inFIG. 8, the statistical information table114stores a measured byte number114aand a measured time interval114bthrough association. The measured byte number114ais the sum of the packet sizes of the measured consecutive packets. The measured time interval114bis the sum of the arrival time intervals between packets of the measured consecutive packets. As an example, “2500” is stored as the measured byte number114a, and “1000” is stored as the measured time interval114b.

[Flowchart of Packet Analysis Process]

Subsequently, a flowchart of the packet analysis process according to the embodiment will be described with reference toFIGS. 9A to 9C.FIG. 9Ais a flowchart illustrating a process performed in a case of connection establishment according to the embodiment.FIG. 9Bis a flowchart illustrating a process performed in a case of data packet reception.FIG. 9Cis a flowchart illustrating a process performed in a case of ACK packet reception. Meanwhile, there is a case in which a connection establishment method is three-way handshake.

[Flowchart of Connection Establishment Process]

As illustrated inFIG. 9A, the connection management unit123determines the type of a captured packet (step S11). In a case in which it is determined that the type of the packet is an SYN packet (step S11; SYN), the connection management unit123records arrival time of the SYN packet in the TimeSyn111bof the analysis information table111(step S12). Furthermore, the connection management unit123ends the connection establishment process.

In a case in which it is determined that the type of the packet is an SYN/ACK packet (step S11; SYN/ACK), the connection management unit123records transmission-side round trip delay in the RTTsry111cof the analysis information table111(step S13). For example, the connection management unit123acquires a value which is acquired by subtracting the TimeSyn111bof the analysis information table111from the arrival time of the SYN/ACK packet. The connection management unit123records the acquired value in the RTTsry111cof the analysis information table111as the transmission-side round trip delay. Furthermore, the connection management unit123ends the connection establishment process.

In a case in which it is determined that the type of the packet is an ACK packet (step S11; ACK), the connection management unit123does nothing and ends the connection establishment process.

[Flowchart of Data Packet Reception Process]

As illustrated inFIG. 9B, in a case in which the connection management unit123receives the DATA packet, the connection management unit123stores information of the DATA packet (DATA) in the DATA table112(step S21). The information of DATA includes, for example, an ID (data ID112a), a sequence number (Seq number112b), a packet length (packet length112c), and arrival time (arrival time112d) at a DATA measurement spot of the received DATA. The measurement spot means the packet analysis device1.

The throughput estimation unit124determines a measurement state of the band measurement (step S22). For example, the throughput estimation unit124determines the measurement state with reference to the Status111aof the analysis information table111.

In a case in which the measurement state is “INIT” indicative of an initial value (step S22; INIT), the throughput estimation unit124records a data ID of head DATA of a measurement group in the First Data ID of the analysis information table111(step S23). Furthermore, the throughput estimation unit124changes the measurement state (Status111a) of the analysis information table111to “MEASURING” which indicates that the band is being measured (step S24), and ends the process performed in the case of the data packet reception.

In a case in which the measurement state is “VERIFY1” or “VERIFY2” (step S22; VERIFY1, VERIFY2), the throughput estimation unit124ends the process performed in the case of the data packet reception. “VERIFY1” indicates that the validity of the TCP throughput is being determined. “VERIFY2” indicates that the validity of the network band is being determined.

In a case in which the measurement state is “MEASURING” (step S22; MEASURING), the throughput estimation unit124determines whether or not the received DATA indicates the end of the measurement group (step S25). For example, the throughput estimation unit124determines whether or not current time is more than End time of the analysis information table111. The End Time is time in which the measurement group ends, and is recorded in the analysis information table111in the process performed in the case of ACK packet reception.

In a case in which it is determined that the received DATA does not indicate the end of the measurement group (step S25; No), the throughput estimation unit124ends the process performed in the case of the data packet reception.

In contrast, in a case in which it is determined that the received DATA indicates the end of the measurement group (step S25; Yes), the throughput estimation unit124records an ID of a final DATA packet of the measurement group in LastDataID of the analysis information table111(step S26).

Furthermore, the throughput estimation unit124measures the estimated value (TPtcp) of the TCP throughput (step S27), and records the estimated value (TPtcp) in TPtcp of the analysis information table111. For example, the throughput estimation unit124calculates cwind and RTT, and records the calculated cwind and RTT in the analysis information table111. The throughput estimation unit124calculates TPtcpusing the calculated cwind and RTT. cwind is calculated through Equation (10). Meanwhile, FirstDataID and LastDataID are stored in the analysis information table111. Len (packet length) of each DataID is stored in the DATA table112.

RTT is calculated through Equation (11). Meanwhile, RTTsry (transmission-side round trip delay) and RTTrcv (reception side round trip delay) are stored in the analysis information table111.

The throughput estimation unit124changes the measurement state (Status111a) of the analysis information table111into “VERIFY1” which indicates that the validity of the TCP throughput is being determined (step S28), and ends the process performed in the case of the data packet reception.

[Flowchart of ACK Packet Reception Process]

As illustrated inFIG. 9C, in a case in which the connection management unit123receives an ACK packet, the connection management unit123stores information of the ACK packet (ACK) in the ACK table113(step S31). The information of ACK includes, for example, an ACK ID (AckID113a), an ACK number (Ack number113b), and arrival time (arrival time113c) at an ACK measurement spot. The measurement spot means the packet analysis device1.

The connection management unit123associates the received ACK packet with the DATA packet (step S32). For example, the connection management unit123searches for the data ID112a, which satisfies the following conditions, using the ACK number of the received ACK packet, the Seq number112b(Seq) of the DATA table112, and the packet length112c(Len).

Furthermore, the connection management unit123records the data ID112a, which satisfies the conditions, in the data ID113dof the ACK table113.

Subsequently, the throughput estimation unit124determines the measurement state of the band measurement (step S33). For example, the throughput estimation unit124determines the measurement state with reference to the Status111aof the analysis information table111.

In a case in which the measurement state is “MEASURING” (step S33; MEASURING), the throughput estimation unit124determines whether or not the received ACK packet corresponds to the head DATA packet of the measurement group (step S34). In a case in which the received ACK packet does not correspond to the head DATA packet of the measurement group (step S34; No), the throughput estimation unit124ends the process performed in the case of the ACK packet reception.

In contrast, in a case in which the received ACK packet corresponds to the head DATA of the measurement group (step S34; Yes), the throughput estimation unit124records an ACK ID corresponding to the head DATA of the measurement group in FirstAckID of the analysis information table111(step S35). The throughput estimation unit124records the reception-side round trip delay in the RTTrcv111dof analysis information table111(step S36). For example, the throughput estimation unit124calculates the reception-side round trip delay RTTrcv from the arrival time of the head DATA of the measurement group and the arrival time of ACK corresponding to DATA through Equation (13). Meanwhile, AckTime (arrival time) is stored in the ACK table113. DataTime (arrival time) is stored in the DATA table112. FirstDataID is stored in the analysis information table111.

The throughput estimation unit124records the end time of the measurement group in EndTime of the analysis information table111(step S37). For example, the throughput estimation unit124calculates the end time of the measurement group as in Equation (14). Meanwhile, AckTime is stored in the ACK table113. FirstAckID and RTTsry are stored in the analysis information table111.

Furthermore, the throughput estimation unit124ends the process performed in the case of the ACK packet reception.

In the case in which the measurement state is “VERIFY1” (step S33; VERIFY1), the throughput estimation unit124determines whether or not the received ACK packet corresponds to the final DATA packet of the measurement group (step S38). In a case in which the received ACK packet does not correspond to the final DATA packet of the measurement group (step S38; No), the throughput estimation unit124ends the process performed in the case of the ACK packet reception.

In contrast, in a case in which the received ACK packet corresponds to the final DATA packet of the measurement group (step S38; Yes), the throughput estimation unit124records an ID of ACK corresponding to the final DATA of the measurement group in LastAckID of the analysis information table111(step S39).

Furthermore, the throughput estimation unit124measures the reception side-throughput TPrcv1(step S40), and records the reception side-throughput TPrcv1in TPrcv1of the analysis information table111. That is, the throughput estimation unit124measures the approximate value TPrcv1of the network band. For example, the throughput estimation unit124calculates the ACK interval (TimeGaprcv1) and the amount of data (Sizercv1) of DATA acquired by excluding the initial DATA from the measurement group, and stores the ACK interval (TimeGaprcv1) and the amount of data (Sizercv1) of DATA in the analysis information table111. The throughput estimation unit124calculates TPrcv1using the calculated ACK interval and the amount of data. The amount of data is calculated through Equation (15). Meanwhile, Ack is stored in the ACK table113. FirstAckID and LastAckID are stored in the analysis information table111.

The ACK interval is calculated through Equation (16). Meanwhile, AckTime is stored in the ACK table113. LastAckID and FirstAckID are stored in the analysis information table111.

Subsequently, the throughput estimation unit124determines whether or not TPtcpis valid (step S41). For example, the throughput estimation unit124determines whether or not TPtcpis smaller than TPrcv1with reference to the analysis information table111. In a case in which it is determined that TPtcpis valid (step S41; Yes), the throughput estimation unit124proceeds to step S45. For example, TPtcpis smaller than TPrcv1.

In contrast, it is determined that TPtcpis not valid (step S41; No), the throughput estimation unit124changes the measurement state (Status111a) of the analysis information table111into “VERIFY2” (step S42), and ends the process performed in the case of the ACK packet reception. For example, TPtcpis equal to or larger than TPrcv1.

In step S33, in a case in which the measurement state is “VERIFY2” (step S33; VERIFY2), the throughput estimation unit124measures the throughput TPrcv2for confirmation (step S43), and records the throughput TPrcv2for confirmation in TPrcv2 of the analysis information table111. For example, the throughput estimation unit124calculates the second ACK interval (TimeGaprcv2) and the amount of data (Sizercv2) of DATA of a subsequent group of the measurement group, and records the second ACK interval (TimeGaprcv2) and the amount of data (Sizercv2) in the analysis information table111. The throughput estimation unit124calculates TPrcv2using ng the calculated second ACK interval and the amount of data. The amount of data is calculated through Equation (18). Meanwhile, Ack is stored in the ACK table113. FirstAckID and LastAckID are stored in the analysis information table111.

The second ACK interval is calculated through Equation (19). Meanwhile, AckTime is stored in the ACK table113. LastAckID and FirstAckID are stored in analysis information table111.

Subsequently, the throughput estimation unit124determines whether or not TPrcv1is valid (step S44). For example, the throughput estimation unit124determines whether or not TPtcpis larger than TPrcv2with reference to the analysis information table111. In a case in which it is determined that TPrcv1is not valid (step S44; No), the throughput estimation unit124proceeds to step S45. For example, TPtcpis equal to or smaller than TPrcv2.

In step S45, the throughput estimation unit124uses TPtcpas the effective throughput, and outputs a result to the statistical information table114(step S45). That is, the throughput estimation unit124records Cwind of the analysis information table111in the measured byte number114aof the statistical information table114. The throughput estimation unit124records RTT in the measured time interval114bof the statistical information table114in the analysis information table111. Furthermore, the throughput estimation unit124proceeds to step S47.

In contrast, in a case in which it is determined that TPrcv1is valid (step S44; Yes), the throughput estimation unit124uses TPrcv1as the effective throughput, and outputs a result to the statistical information table114(step S46). That is, the throughput estimation unit124records Sizercv1 of the analysis information table111in the measured byte number114aof the statistical information table114. The throughput estimation unit124records TimeGaprcv1 of the analysis information table111in the measured time interval114bof the statistical information table114. Furthermore, the throughput estimation unit124proceeds to step S47.

In step S47, the throughput estimation unit124changes the measurement state (Status111a) of the analysis information table111into “INIT” (step S47), and ends the process performed in the case of the ACK packet reception.

[Detailed Example of Packet Analysis Device]

Subsequently, a detailed example of the process performed by the packet analysis device according to the embodiment will be described with reference toFIG. 10.FIG. 10is a diagram illustrating the detailed example of the process performed by the packet analysis device according to the embodiment. Meanwhile, “INIT” is stored in the Status111aof the analysis information table111. In addition, it is assumed that the measurement group includes Data d11to Data d13inFIG. 10.

First, the packet analysis device1calculates transmission-side round trip delay RTTsry based on the arrival time TimeSyn of an SYN packet s1 and the arrival time of an SYN/ACK packet s2. Here, in a case in which TimeSyn is 300 and the arrival time of the SYN/ACK packet s2 is 500, a value 200, which is a value acquired by subtracting 300 from 500, is acquired as the transmission-side round trip delay RTTsrv.

Subsequently, in a case in which the packet analysis device1receives DATA d11, the packet analysis device1stores the information of the DATA d11in the DATA table112. Here, “1” is stored as the data ID112a, “1250” is stored as the Len (packet length)112c, “0” is stored as the Seq (Seq number)112b, and “1100” is stored as the arrival time112d. Furthermore, since the Status111aof the analysis information table111is “INIT”, the packet analysis device1registers “1”, which is the data ID112aof the head DATA of the measurement group, in FirstDataID of the analysis information table111. Furthermore, the packet analysis device1changes the Status111aof the analysis information table111into “MEASURING”.

Subsequently, in a case in which the packet analysis device1consecutively receives the DATA d12and DATA d13of the measurement group, the packet analysis device1stores the information of the DATA d12and the information of the DATA d13in the DATA table112, respectively. Here, with regard to the DATA d12, “2” is stored as the data ID112a, “1250” is stored as the Len (packet length)112c, “1250” is stored as the Seq (Seq number)112b, and “1200” is stored as the arrival time112d. With regard to the DATA d12, “3” is stored as the data ID112a, “1250” is stored as the Len (packet length)112c, “2500” is stored as the Seq (Seq number)112b, and “1300” is stored as the arrival time112d.

Subsequently, in a case in which the packet analysis device1receives ACKa11, the packet analysis device1stores information of ACKa11in the ACK table113. Here, “1” is stored as the AckID113a, “1250” is stored as the Ack (Ack number)113b, and “1800” is stored as the AckTime (arrival time)113c. Furthermore, the packet analysis device1associates the received ACKa11with DATA. Here, the Ack (Ack number)113bof ACKa11is 1250. In a case in which the data ID112aof the DATA table112is “1”, the Seq number (Seq)112bis 0 and the packet length (Len)112cis 1250. Therefore, since the packet analysis device1satisfies the condition of Equation (12), the packet analysis device1records “1”, which is stored as the data ID112a, in the data ID113dof the ACK table113.

Furthermore, since the Status111ais “MEASURING” and the received ACKa11corresponds to the head DATA of the measurement group, the packet analysis device1records “1”, which is the AckID113aof the ACKa11, in FirstAckID of the analysis information table111. Furthermore, the packet analysis device1calculates the reception-side round trip delay RTTrcv. Here, in a case in which the current AckID113ais 1, the arrival time (AckTime)113cis 1800. In a case in which the data ID112ais FirstDataID (1), the arrival time (DataTime)112dis 1100. Therefore, packet analysis device1calculates RTTrcv as 700 using Equation (13).

Subsequently, since the DATA d13indicates the end of the measurement group, the packet analysis device1records “3”, which is the data ID112aof the final DATA of the measurement group in LastDataID of the analysis information table111. Furthermore, the packet analysis device1measures the estimated value TPtcp of the TCP throughput using cwind and RTT. Here, cwind is the accumulated value of the packet length (Len)112cfrom FirstDataID (1) to LastDataID (3) through Equation (10), that is, 3750. RTT is the accumulated value of RTTsry and RTTrcv through Equation (11), that is, 900. Therefore, the packet analysis device1calculates TPtcpas 33.3 through Equation (1). Furthermore, the packet analysis device1changes the Status111aof the analysis information table111into “VERIFY1”.

Subsequently, in a case in which the packet analysis device1consecutively receives DATA d14and d15of a subsequent group of the measurement group, the packet analysis device1stores information of the DATA d14and information of the DATA d15in the DATA table112, respectively. Here, with regard to the DATA d14, “4” is stored as the data ID112a, “1250” is stored as the Len (packet length)112c, “3750” is stored as the Seq (Seq number)112b, and “1400” is stored as the arrival time112d. With regard to the DATA d15, “5” is stored as the data ID112a, “1250” is stored as the Len (packet length)112c, “5000” is stored as the Seq (Seq number)112b, and “1500” is stored as the arrival time112d.

Subsequently, in a case in which the packet analysis device1receives ACKa12, the packet analysis device1stores information of ACKa12in the ACK table113. Here, “2” is stored as the AckID113a, “3750” is stored as the Ack (Ack number)113b, and “2800” is stored as the AckTime (arrival time)113c. Furthermore, the packet analysis device1associates the received ACKa12with the DATA. Here, the Ack (Ack number)113bof ACKa12is 3750. In a case in which the data ID112aof the DATA table112is “3”, the Seq number (Seq)112bis 2500 and the packet length (Len)112cis 1250. Therefore, since the packet analysis device1satisfies the condition of Equation (12), “3”, which is stored as the data ID112a, is stored in the data ID113dof the ACK table113.

Furthermore, since the Status111ais “VERIFY1” and the received ACKa11corresponds to the final DATA of the measurement group, the packet analysis device1measures the approximate value TPrcv1of the network band. Here, the amount of data (Sizercv1) of DATA, acquired by excluding the initial DATA d11from the measurement group, is the difference between the Ack number of LastAckID (2) and the Ack number of FirstAckID (1) through Equation (15), that is, 2500. ACK interval (TimeGaprcv1) is the difference between the arrival time of LastAckID (2) and the arrival time of FirstAckID (1) through Equation (16), that is, 1000. Therefore, the packet analysis device1calculates TPrcv1as 20 using Equation (17).

Furthermore, packet analysis device1determines whether or not TPtcpis smaller than TPrcv1in order to determine the validity of TPtcp. Here, since TPtcpis 33.3 and TPrcv1is 20, TPtcpis not smaller than TPrcv1. Therefore, the packet analysis device1determines that TPtcpis not valid. Here, the packet analysis device1changes the Status111aof the analysis information table111into “VERIFY2”.

Subsequently, in a case in which the packet analysis device1receives ACKa13, the packet analysis device1stores information of ACKa13in the ACK table113. Here, “3” is stored as the AckID113a, “6250” is stored as the Ack (Ack number)113b, and “3800” is stored as the AckTime (arrival time)113c. Furthermore, the packet analysis device1associates the received ACKa12with DATA. Here, the Ack (Ack number)113bof ACKa13is 6250. In a case in which the data ID112aof the DATA table112is “5”, the Seq number (Seq)112bis 5000 and the packet length (Len)112cis 1250. Therefore, since the packet analysis device1satisfies the condition of Equation (12), “5”, which is stored as the data ID112a, is recorded in the data ID113dof ACK table113.

Furthermore, since Status111ais “VERIFY2”, the packet analysis device1measures the throughput TPrcv2 for confirmation. Here, the amount of data of DATA of the subsequent group (Sizercv2) is the difference between the Ack number of LastAckID (2+1) and the Ack number of FirstAckID (1) through Equation (18), that is, 5000. The second ACK interval (TimeGaprcv2) is the difference between the arrival time of LastAckID (2+1) and the arrival time of FirstAckID (1) through Equation (19), that is, 2000. Therefore, the packet analysis device1calculates TPrcv2as 20 using Equation (20).

Furthermore, the packet analysis device1determines whether or not TPtcpis larger than TPrcv2in order to determine the validity of TPrcv1. Here, since TPtcpis 33.3 and TPrcv2is 20, TPtcpis larger than TPrcv2. Therefore, the packet analysis device1determines that TPrcv1is valid. Here, the packet analysis device1determines the estimated value of the TCP throughput TPrcv1as the effective throughput. Furthermore, the packet analysis device1records Sizercv1 (2500) as the measured byte number114aand records TimeGaprcv1 (1000) as the measured time interval114bin the statistical information table114. That is, the case corresponds to a case in which a low throughput is measured in the low-speed section, with the result that there is a high possibility that the approximate value TPrcv1of the network band is proper as the throughput of the of low-speed section, and thus the approximate value TPrcv1of the network band is specified as the effective throughput.

Subsequently,FIG. 11is a diagram illustrating an output example. A graph illustrated inFIG. 11is a graph which includes an X axis indicative of time and a Y axis indicative of a throughput [Mbps]. In the graph, the estimated value (TPtcp) of the TCP throughput and the approximate value (TPrcv1) of the network band, which are measured with the lapse of time, of each period are associated with each other and then output. In the output example, the estimated value (TPtcp) of the TCP throughput in each period is smaller than the approximate value (TPrcv1) of the network band, the effective throughput is specified as TPtcp. Meanwhile, a color classification and a line division may be performed such that a value which is specified as the effective throughput is emphasized.

Advantage of Embodiment

According to the embodiment, the packet analysis device1acquires packets, which are communicated between the terminal3and the terminal4, at any spot of a network between the terminal3and the terminal4. Furthermore, the packet analysis device1stores the acquired packets and acquisition time through association. Furthermore, the packet analysis device1calculates the first throughput value based on time, which is taken from acquisition of the first data which is the initial DATA corresponding to a predetermined group transmitted from the terminal4and acquisition of the first ACK corresponding to the first DATA transmitted from the terminal3, and the amount of first packet, which is the amount of DATA of the group. The packet analysis device1calculates the second throughput value based on time, which is taken from acquisition of the first ACK to the acquisition of the second ACK that is the final ACK, and the amount of second packet which is the amount of DATA acquired by excluding the first DATA from the group. Furthermore, the packet analysis device1compares the first throughput value with the second throughput value, and specifies the throughput value of a predetermined section corresponding to the group. According to the configuration, it is possible for the packet analysis device1to further accurately calculate the throughput value of the low-speed section using the first throughput value and the second throughput value.

In addition, according to the embodiment, the packet analysis device1further calculates a third throughput value based on time, which is taken from acquisition of the first ACK to acquisition of a third ACK that is ACK of a subsequent group transmitted from the terminal4according to the acquisition of the first ACK, and the amount of second packet and the amount of DATA of the subsequent group. Furthermore, the packet analysis device1compares the first throughput value and the third throughput value, and specifies any one of the first throughput value and the second throughput value as the throughput value of a predetermined section according to the result of comparison. According to the configuration, it is possible for the packet analysis device1to accurately estimate the throughput in the group using the third throughput value which includes ACK of the subsequent group other than the group.

In addition, according to the embodiment, the packet analysis device1outputs a graph illustrating the transition of a throughput value in a predetermined section using information including the throughput value which is specified for each period. According to the configuration, it is possible for the packet analysis device1to visualize the throughput value which changes for each period.

The Others

Meanwhile, it is possible to realize the packet analysis device1by mounting the respective functions of the connection management unit123and the throughput estimation unit124on an information processing device, such as a well-known personal computer and a workstation.

In addition, each of the components of the device illustrated in the drawing may not be physically configured as illustrated in the drawing. That is, the detailed aspect of the division or the integration of a device is not limited to the device illustrated drawing, and it is possible to configure all or a part of the components through functional or physical division or integration according to various loads, usages, or the like in an arbitrary unit. For example, the input interface122and the connection management unit123may be integrated as one unit. In contrast, the throughput estimation unit124may be divided into a first determination unit that determines the validity of the estimated value of the TCP throughput, a second determination unit that determines the validity of the approximate value the network band, and an estimation unit that estimates the throughput. In addition, the analysis information table111, the DATA table112, the ACK table113, and the statistical information table114may be coupled as the external device of the packet analysis device1through a network.

In addition, it is possible to realize the various processes which are described in the embodiment by executing a prepared program in a computer, such as a personal computer or a workstation. Here, hereinafter, an example of a computer which executes a packet analysis program that realizes the same function as that of the packet analysis device1illustrated inFIG. 1will be described.FIG. 12is a view illustrating an example of the computer which executes the packet analysis program.

As illustrated inFIG. 12, the computer200includes a CPU203which executes various operation processes, an input device215which receives data input from a user, and a display control unit207which controls the display device209. In addition, the computer200includes a drive device213which reads a program from a storage medium, and a communication control unit217which exchanges data between other computers through a network. In addition, the computer200includes a memory201which temporally stores various pieces of information, and an HDD205. Further, the memory201, the CPU203, the HDD205, the display control unit207, the drive device213, the input device215, and the communication control unit217are coupled to each other through a bus219.

The drive device213is, for example, a device for a removal disk211. The HDD205stores a packet analysis program205aand packet analysis-related information205b.

The CPU203reads the packet analysis program205a, deploys the packet analysis program205ain the memory201, and executes the packet analysis program205aas a process. The process corresponds to each of the functional units of the packet analysis device1. The packet analysis-related information205bcorresponds to the analysis information table111, the DATA table112, the ACK table113, and the statistical information table114. Further, for example, the removal disk211stores each piece of information such as the packet analysis program205a.

Meanwhile, the packet analysis program205amay not be stored in the HDD205from the beginning. For example, the program is stored in a “portable physical medium”, such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optic disk, or an IC card, which is inserted into the computer200. Further, the computer200may read the packet analysis program205afrom among them and execute the packet analysis program205a.