1. Field of the Invention
The present invention relates to a communication performance measuring equipment for measuring network performance in communication using a TCP/IP protocol.
As personal computers and cellular phones connectable to the Internet become widespread recently, various providers have come to provide various services via the Internet to general users. Meanwhile, the general users' demands for not only receiving the various services, but also enjoying the services more comfortably are increasing.
In order to meet the demands of the users, it is necessary to create an environment which enables the users to receive the services comfortably. Further, in order to determine whether or not the expansion of facilities is needed for the purpose of creation of the environment, it is necessary to precisely understand the present environment through which the users receive the services, that is, communication performance which is represented by, for example, the time required for file transfer or the like using the TCP/IP protocol in the actual network as a medium of providing the services.
2. Description of the Related Art
In order to measure the network performance of the communication using the TCP/IP protocol, either one of the following two methods is conventionally adopted.
a) shows a first structural example of a conventional communication performance measuring system, and
In
Therefore, as shown in
Meanwhile, as shown in
It should be mentioned that, in the conventional art as shown in
Meanwhile, the number of the users of the network, or the clients has been rapidly increasing, and their communication environments are widely various. The servers for providing services has been rapidly increasing as well. Enormous amounts of time, labor and costs are therefore necessary to actually measure the communication performance of each client or server by the conventional methods as described above. The reason is that, when the conventional methods are simply applied, it is necessary to place the performance measuring equipment physically close to each of the enormous number of the clients or servers for the purpose of performance evaluation.
It is an object of the present invention to provide a communication performance measuring equipment capable of measuring communication quality between an arbitrary client and an arbitrary server which are connected to a network, irrespective of physical location of the communication performance measuring equipment.
It is another object of the present invention to provide techniques of simulating data delivery based on delay models of routers which exist between the server and the client, and of accurately evaluating the communication performance on paths between the server and the client.
It is still another object of the present invention to provide a technique of precisely simulating data transfer between the server and the client, upon reflecting communication conditions of the network at the time of sending/receiving each packet between the server and the client.
It is yet another object of the present invention to reduce workload of an operator of the communication performance measuring equipment by allowing a part of a parameter representing measuring conditions to be omitted.
It is still another object of the present invention to provide a technique of precisely simulating data communication by a sophisticated protocol such as HTTP.
It is yet another object of the present invention to provide a technique of simulating data transmission between the client and the server with packet discarding of the client taken into consideration.
It is still another object of the present invention to provide a technique of flexibly measuring communication performance, in accordance with anticipated various situations in which users recognize the performance.
The above objects are achieved by a communication performance measuring equipment which comprises: a communicating unit for communicating via the network based on TCP/IP; an input unit for receiving a parameter representing a communication environment to be measured; a communication controlling unit for controlling communicating operation of the communicating unit, the operation being performed for acquiring a predetermined file from the server; a packet sending/receiving unit for sending/receiving a predetermined control packet to/from a destination specified by a transmission instruction; a situation inspecting unit for collecting information about sending/receiving conditions of the predetermined control packet sent/received by the packet sending/receiving unit, a primary transmission instructing unit for inputting, to the packet sending/receiving unit, the transmission instruction of specifying appropriate destinations in response to reception of the packet in the communicating unit; a delay estimating unit for estimating a delay time in delivering the packet from the server to the client, based on the information collected by the situation inspecting unit and a predetermined delay model; a reply controlling unit for adjusting transmission timing of an acknowledge packet in response to reception of the packet, according to the estimated delay time; and a performance estimating unit for estimating communication performance on a communication path between the client and the server, in accordance with a progress in the communication of the communicating unit.
In the communication performance measuring equipment, it is possible to simulate the communication between the server and the client by estimating a delay time in delivering the packet between the server and the client and adjusting the transmission timing of the acknowledge packets according to the delay time in response to each received packet, which enables the performance estimating unit to collect information about the communication performance. This makes it possible to estimate the communication performance on the path between the client and the server, irrespective of the physical position of the communication performance measuring equipment.
The above objects are achieved by a second communication performance measuring equipment, wherein the situation inspecting unit in the aforementioned communication performance measuring equipment further comprises: a transmission detecting unit for recording, for each destination, a time instant at which the predetermined control packet is transmitted by the packet sending/receiving unit; a reception detecting unit for recording, for each destination, a time instant at which a response to the predetermined control packet is received; and a time informing unit for informing the delay estimating unit of the transmission time and the reception time recorded for each destination, and wherein the delay estimating unit further comprises; a round-trip time calculating unit for calculating, based on the transmission time and the reception time informed by the time informing unit, a first round trip time required for the predetermined control packet to reciprocate between the client and the equipment, and a second round trip time required for the same to reciprocate between the branching node and the equipment; and a difference estimating unit for estimating, based on the first round trip time, the second round trip time, and the delay model, a difference between a time required to deliver the data packet or the control packet received by the communicating unit from the server to the equipment, and a time required to deliver the same from the server to the client.
According to the second communication performance measuring equipment, the difference between the time required to deliver the packet to the client and the time required to deliver the same to the communication performance measuring equipment can be estimated with the size of the received packet taken into consideration so that the acknowledge packet can be returned to the server from the client at a timing at which the client is supposed to return the acknowledge packet.
The above objects are achieved by a third communication performance measuring equipment, wherein the input unit in the communication performance measuring equipment with the basic structure further comprises: a path information collecting unit for collecting first path information representing nodes existing on the path from the equipment to the client, and second path information representing nodes exiting on the path from the equipment to the server; and a branch detecting unit for comparing the first path information with the second path information to detect the identifier of the branching node.
According to the third communication performance measuring equipment, it is also possible to automatically know a positional relation of the communication performance measuring equipment, the server, and the client in the network, whereby allows omission of a part of the necessary operations of an operator of the communication performance measuring equipment such as collecting information representing the positional relation of the same and inputting the information, and further allows reduction in operational workload.
The above objects are achieved by a fourth communication performance measuring equipment, wherein the input unit in the communication performance measuring equipment with the basic structure further comprises: a secondary transmission instructing unit for instructing the packet sending/receiving unit to transmit, to the client, two control packets having different data lengths from each other; a round-trip time measuring unit for measuring round trip time of each of the two control packets; and a coefficient estimating unit for estimating an appropriate coefficient value in the predetermined delay model based on the obtained round trip time of each of the two control packets, and for inputting the resultant as a part of the parameter.
According to the fourth communication performance measuring equipment, it is possible to estimate a coefficient relating to a factor which varies with the size of the transmitted packet in the delay model so that the input of the coefficient can be omitted.
The above objects are achieved by a fifth communication performance measuring equipment, wherein the delay estimating unit in the second communication performance measuring equipment further comprises: an offset calculating unit for calculating, based on a predetermined model, a factor of a delay occurring due to accumulation of the data packets which are transmitted from the server to the client in a burst mode; and a difference output unit for adding the calculated offset to the estimated value obtained by the difference estimating unit, and for outputting the resultant as an estimated value.
According to the fifth communication performance measuring equipment, the delay time can be accurately estimated including the factor which occurs due to the accumulation of the data packets transmitted in the burst mode on the client's side.
The above objects are achieved by a sixth performance measuring equipment, wherein the delay estimating unit in the fifth communication performance measuring equipment further comprises a stop decision unit for comparing the calculated offset with a predetermined threshold, and for instructing the reply controlling unit to stop the transmission of the acknowledge packet, according to the comparison result.
According to the sixth communication performance measuring equipment, detecting the state in which packets overflow from the finite queue provided in the client makes it possible to simulate the responding operations of the client.
The above objects are achieved by a seventh communication performance measuring equipment, wherein the performance estimating unit in the communication performance measuring equipment with the basic structure further comprises: a first recording unit for recording start time and finish time of each of procedures defined in HTTP; and a duration calculating unit for calculating a duration for each procedure and the sum of the durations of the procedures based on the recorded start time and the finish time.
According to the seventh communication performance measuring equipment, the lengths of times such as times required to establish the connection and to acquire a file or a plurality of files at once can be measured by integrating a duration of each of various procedures performed according to HTTP.
The above objects are achieved by an eighth communication performance measuring equipment, wherein the performance estimating unit in the communication performance measuring equipment with the basic structure further comprises: a second recording unit for recording start time and finish time of each of procedures defined in FTP; and a duration calculating unit for calculating a duration for each procedure and the sum of the durations of the procedures.
According to the eighth communication performance measuring equipment, the lengths of times such as times required to establish the connection and to acquire a file or a plurality of files at once can be measured by integrating a duration of each of various procedures performed according to FTP.
The nature, principle, and utility of the invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings in which like parts are designated by identical reference numbers, in which:
a) and (b) are structural examples of a conventional communication performance measuring system.
[Principle]
First, the principle of a communication performance measuring equipment according to the present invention will be explained.
The first communication performance measuring equipment shown in
The principle of the first communication performance measuring equipment according to the present invention is as follows.
The communicating unit 111 communicates based on TCP/IP. The input unit 112 receives at least a server identifier and a client identifier as a parameter. The communication controlling unit 113 controls communicating operation of the communicating unit 111 which is performed for acquiring a predetermined file from a server 102, following a predetermined procedure. The packet sending/receiving unit 114 sends/receives a predetermined control packet to/from a destination which is identified by an identifier specified by a transmission instruction. The situation inspecting unit 115 collects information about sending/receiving conditions of the predetermined control packet which is transmitted to each destination and a predetermined control packet which is returned from each destination in response to aforesaid control packet. The primary transmission instructing unit 116 inputs the transmission instruction which specifies a client 101 and a branching node 103 as destinations, to the packet sending/receiving unit 114, according to receiving conditions of the packet in the communicating unit 111. Based on the collected information about the sending/receiving conditions of the predetermined control packet and a predetermined delay model, the delay estimating unit 117 estimates a delay time in delivering a data packet from the server 102 to the client 101. According to the estimated delay time, the reply controlling unit 118 adjusts a time at which the communicating unit 111 transmits an acknowledge packet in response to reception of the data packet or the control packet. The performance estimating unit 119 collects information about a progress in the communication of the communicating unit 111, and estimates, based on the collected information, communication performance of a communication path between the specified client 101 and server 102.
The operation of the first communication performance measuring equipment is as follows.
The communication controlling unit 113 controls the communicating operation of the communicating unit 111 based on the parameter inputted by the input unit 112, to acquire a predetermined file from the server 102. At this point, the packet sending/receiving unit 114 sends/receives the predetermined control packet to/from the client 101 and the branching node 103 according to the instruction from the primary transmission instructing unit 116, while the situation inspecting unit 115 collects information about communication environments on the paths between the branching node 103 and the communication performance measuring equipment 110 and between the client 101 and the communication performance measuring equipment 110, respectively, at a time instant at which an actual packet is transmitted from the server 102. Based on the collected information and the predetermined delay model, the delay estimating unit 117 estimates the delay time in delivering the packet between the server 102 and the client 101, and the reply control unit 118 adjusts, according to this delay time, the timing at which the communicating unit 111 transmits the acknowledge packet in response to the received packet.
In the second communication performance measuring equipment shown in
The principle of the second communication performance measuring equipment according to the present invention is as follows.
In the situation inspecting unit 115 provided in the communication performance measuring equipment, the transmission detecting unit 121 records a time at which the packet sending/receiving unit 114 transmits the predetermined control packet to each destination. The reception detecting unit 122 records a time at which the packet sending/receiving unit 114 receives the acknowledge packet which is returned from the destination. The time informing unit 123 informs the delay estimating unit 117 of the transmission time and the reception time corresponding to each destination. Based on the informed transmission time and reception time, the round-trip time calculating unit 124 in the delay estimating unit 117 calculates a first round trip time which is necessary for the packet to make a round trip between the client 101 and the communication performance measuring equipment 110 and a second round trip time which is necessary for the packet to make a round trip between the branching node 103 and the communication performance measuring equipment 110. Based on the first round trip time, the second round trip time, and the delay model, the difference estimating unit 125 estimates a difference between the time necessary deliver the packet received by the communicating unit 111 from the server 102 to the communication performance measuring equipment 110 and the time necessary to deliver the same from the server 102 to the client 101.
The operation of thus-structured second communication performance measuring equipment is as follows.
The transmission detecting unit 121 and the reception detecting unit 122 which are provided in the situation inspecting unit 115 record times at which the packet sending/receiving unit 114 sends/receives the predetermined control packet, and the time informing unit 123 informs the delay estimating unit 117 of the times. Based on the recorded times, the round-trip time calculating unit 124 calculates the first round trip time and the second round trip time. The difference estimating unit 125 assigns the times to the delay models of the respective paths, thereby erasing unknowns from expressions representing the delay times of the paths, and estimating the difference between the time necessary for delivering the packet to the client 101 and the time necessary for delivering the same to the communication performance measuring equipment 110. Then, the estimated difference is supplied to the reply controlling unit 118 so that transmitting operation of the acknowledge packet by the communicating unit 111 is delayed by a time corresponding to the size of the packet which is received by the communicating unit 111.
In the third communication performance measuring equipment shown in
The principle of the third communication performance measuring equipment according to the present invention is as follows.
In the input unit 112 provided in the first communication performance measuring equipment, the path information collecting unit 131 collects first path information which consists of identifiers for identifying respective nodes being placed on the paths from the equipment to the client 101, and second path information which consists of identifiers for identifying respective nodes being placed on the paths from the equipment to the server 102. The branch detecting unit 132 compares the first path information with the second path information to detect the identifier for identifying the branching node 103, and inputs this identifier as a part of the parameter.
The operation of thus-structured third communication performance measuring equipment is as follows.
The path information collecting unit 131 provided in the input unit 112 collects the first path information and the second path information, and the branch detecting unit 132 compares both information, whereby the identifier of the branching node 103 is automatically detected.
In the fourth communication performance measuring equipment shown in
The principle of the fourth communication performance measuring equipment according to the present invention is as follows.
In the input unit 112 provided in the first communication performance measuring equipment, the secondary transmission instructing unit 133 instructs the packet sending/receiving unit 114 to transmit two control packets whose data lengths are different from each other to the client 101. The round-trip time measuring unit 134 measures round trip times of each of the two control packets. Based on the round trip times of the two control packets, the coefficient estimating unit 135 estimates a coefficient relating to a factor which varies according to the size of the transmitted packet, in the predetermined delay model signifying data transmission between the branching node 103 and the client 101, and inputs it as a part of the parameter.
The operation of thus-structured fourth communication performance measuring equipment is as follows.
When the packet sending/receiving unit 114 sends/receives the two control packets having different data lengths from each other to/from the client 101, according to the instruction from the secondary transmission instructing unit 133, the round-trip time measuring unit 134 measures the round trip times of the two control packets. The coefficient estimating unit 135 assigns the round trip times to the delay model between the branching node 103 and the client 101, whereby a coefficient in the delay model, the coefficient relating to a factor which varies according to the size of the transmitted packet, is estimated.
In the fifth communication performance measuring equipment shown in
The principle of the fifth communication performance measuring equipment according to the present invention is as follows.
In the delay estimating unit 117 which is provided in the second communication performance measuring equipment shown in
The operation of thus-structured fifth communication performance measuring equipment is as follows.
The difference output unit 142 adds the calculated offset to the obtained difference, whereby the difference obtained by the difference estimating unit 125 is offset to an accurate value including the factor which occurs because of the accumulation of the data packets transmitted in the burst mode.
Moreover, in the sixth communication performance measuring equipment shown in
The principle of the sixth communication performance measuring equipment according to the present invention is as follows.
In the delay estimating unit 117 which is provided in the sixth communication performance measuring equipment shown in
The operation of thus-structured sixth communication performance measuring equipment is as follows.
When, for example, the offset exceeds the predetermined threshold, the stop decision unit 143 instructs the reply controlling unit 118 to stop the transmission of the acknowledge packet, the reply controlling unit 118 allows the communicating unit 111 to stop the transmission of the acknowledge packet by.
In the seventh communication performance measuring equipment shown in
The principle of the seventh communication performance measuring equipment according to the present invention is as follows.
In the performance estimating unit 119 which is provided in the first communication performance measuring equipment, the first recording unit 144 monitors sending/receiving operation of the control packet and the data packet made by the communicating unit 111, and records a start time and a finish time for each of procedures which are defined by HTTP. The duration calculating unit 145 calculates a difference between the start time and the finish time recorded for each procedure, as a duration.
The operation of thus-structured seventh communication performance measuring equipment is as follows.
The first recording unit 144 records the start times and the finish times of the respective procedures which are defined by the HTTP, and the duration calculating unit 145 calculates based on both of the recorded times, durations required for performing various procedures, such as a time required to establish connection and a time required to acquire each file or a plurality of files at once.
Furthermore, in the eighth communication performance measuring equipment shown in
The principle of the eighth communication performance measuring equipment according to the present invention is as follows.
In the performance estimating unit 119 which is provided in the first communication performance measuring equipment, the second recording unit 146 monitors the sending/receiving operation of the control packet and the data packet made by the communicating unit 111, and records a start time and a finish time of each of procedures which are defined by FTP. The duration calculating unit 145 calculates a difference between the start time and the finish time recorded for each procedure, as a duration.
The operation of thus-structured eighth communication performance measuring equipment is as follows.
The second recording unit 146 records the start times and the finish times of the respective procedures which are defined by the FTP, and the duration calculating unit 145 calculates, based on both of the recorded times, durations required for various procedures, such as a time required to establish connection and a time required to acquire a file or a plurality of files at once.
[Embodiment]
First, the delay model used in the communication performance measuring equipment according to the present invention will be explained.
In general, a delay time Ti(sec) in transmitting a packet with a size S(bit) from an ith router R(i) to its next router R(i+i) can be expressed as Expression 1, using a queuing delay qi(sec) which occurs because of another traffic flowing into a queue of the targeted router R(i), a physical propagation delay di(sec) in a communication path to the next router R(i+i), and a rate at which the router R(i) outputs the packet to the communication path, that is, a transmission rate bi(bps).
Ti=qi+S/bi+di (1)
Further, the delay time T in transmitting the packet with a size S through a path which is formed of n routers is the sum total of the delay times Ti corresponding to the respective routers, and therefore, it is naturally equal to the sum total of the respective factors of the delay times Ti, that is, the queuing delays qi, the propagation delays di, and processing delays S/bi depending on the transmission rates bi of the routers and the size S of the packet.
Therefore, the delay time T can be expressed as Expression 2 by using a sum total Q of the queuing delays qi, a sum total D of the propagation delays di and an inverting number B of the sum total of inverting numbers of the transmission rates 1/bi.
T=Q+S/B+D (2)
Namely, the n routers existing on the path can be replaced by one router which has a characteristic value reflecting the characteristics of these routers. Thus, it is possible to form the delay model in which the complicated network is simplified.
In
Further, in
According to the delay models of the network, a time T(S, L(XY)) necessary for the packet whose size is S to pass through the router shown in the delay model L(XY) can be expressed as Expression 3, by using a queuing delay q(L(XY)), a transmission rate b(L(XY)) and a propagation delay d(LX(Y)), in the delay model L(XY).
T(S, L(XY))=q(L(XY))+S/b(L(XY))+d(L(XY)) (3)
Using this delay model, the times required to pass through the respective routers which are placed on the path from the node X to the node Y are added together so that the time required to transmit the packet whose size is S from an arbitrary node to another arbitrary node which are connected to the network can be obtained.
Next, a concrete structure of the communication performance measuring equipment according to the present invention will be explained.
In the communication performance measuring equipment shown in
In the measurement controlling section 220 shown in
Moreover, the input accepting section 221 accepts input of coefficients of a delay model L(AC) corresponding to the path from the access point to the client 101, as the parameters representing communication environment of the client 101, and subjects these values to be processed by a delay model applying section 224. For example, when the client 101 is connected to the access point through an analog modem, a transmission rate of the analog modem may be inputted as the transmission rates b(L(AC)) and b(L(CA)), a value corresponding to a distance between the client 101 and the access point may be inputted as the propagation delays d(L(AC)) and d(L(CA)), and a numeric value “0” may be inputted as the estimated values of the queuing delays q(L(AC)) and q(L(CA)). Incidentally, when the client 101 is connected to the network at all times through an ADSL modem or the like, it is possible to estimate the values of the queuing delays q(L(AC)) and q(L(CA)) by using a later-described method.
Furthermore, the input accepting section 221 accepts information specifying characteristic values to be outputted as a result of the evaluation of the communication performance of the paths between the client 101 and the server 102, and delivers the information to a sequence controlling section 222 and the performance evaluating section 240.
Based on the received information, the sequence controlling section 222 shown in
The connection supervising section 223 shown in
Moreover, a probe controlling section 225 shown in
Meanwhile, based on a time relating to each ping operation recorded by a time counter 232 provided in the measurement executing section 230 and the delay model, the delay model applying section 224 shown in
Based on the estimated value obtained by the delay model applying section 224 and the time when the notice is received, a reply controlling section 226 shown in
Further, in the performance evaluating section 240 shown in
Here, corresponding relationships between the respective sections shown in
The communicating section 210 shown in
Next, the operation of the communication performance measuring equipment will be explained.
First, the input accepting section 221 accepts inputs of environment parameters including the URL of the contents and the information about the client 101, and the information showing the characteristic values to be outputted, and analyzes these information (Step 301).
The sequence controlling section 222 determines whether the environment parameter which is not inputted through the input accepting section 221 exists or not (Step 302), and when there is a lacking parameter, (positive judgment in the Step 302), it proceeds to Step 303 to estimate the necessary environment parameter.
At this time, the sequence controlling section 222 inputs appropriate instructions to the coefficient estimating section 250 and the branch detecting section 260, according to a type of the lacking parameter.
For example, when the IP address of the branching node 103 is not inputted as the environment parameter, the identifier of the branching node 103 and the transmission rates between the branching node and the communication performance measuring equipment b(L(IM)) and b(L(MI)) and the transmission rates between the branching node and the access point b(L(IA)) and b(L(AI)) are the lacking parameters. In this case, the sequence controlling section 222 discriminates the lacking environment parameters by analyzing the parameters inputted through the input accepting section 221. The sequence controlling section 222 first instructs the branch detecting section 260 to detect the IP address of the branching node 103, and next instructs the coefficient estimating section 250 to estimate the transmission rates b(L(IM)), b(L(MI)), b(L(IA)) and b(L(AI)).
Next, the detailed structures and the operations of the coefficient estimating section 250 and the branch detecting section 260 will be explained.
In the coefficient estimating section 250 shown in
For example, when the transmission rates between the communication performance measuring equipment and the branching node 103 are estimated, the sequence controlling section 222 delivers the IP address of the branching node 103, as information identifying the paths, to the transmission instructing section 251 of the coefficient estimating section 250.
In response to it, the transmission instructing section 251 instructs the probe packet sending/receiving section 231 to transmit the probe packet P1 and the probe packet P2 to the destination designated by the IP address corresponding to the branching node 103.
At this time, based on the sequence data recorded by the round-trip monitoring section 252, the round-trip time calculating section 253 calculates the round trip time RTT1 of the probe packet P1 and the round trip time RTT2 of the probe packet P2.
Here, the round-trip times RTT1 and RTT2 can be expressed as Expression 4 and Expression 5, by using the delay models L(MI) and L(IM) of the paths between the communication performance measuring equipment M and the branching node 1.
Supposing that the upstream transmission rate b(L(MI)) and the downstream transmission rate b(L(IM)) are equal to each other, the transmission rate b(L(MI)) can be expressed as Expression 6, by using the data lengths S1 and S2 of the probe packets and the round trip times RTT1 and RTT2.
It should be noted that, in the process of deriving the Expression 6 from the Expression 4 and the Expression 5, the queuing delays q(L(MI)) and q(L(IM)) which are included in the Expression 4 and the queuing delays q(L(MI)) and q(L(IM)) which are included in the Expression 5 are regarded as the same values and hence these are erased. However, since the probe packet P1 and the probe packet P2 are sent/received at different instances, the queuing delays q(L(MI)) and q(L(IM)) are not necessarily the same.
Hence, in order to obtain values which are probable statistically, the transmission instructing section 251 instructs the probe packet sending/receiving section 231 to repeatedly transmit the probe packets a plurality of times, and the coefficient calculating section 254 calculates the coefficient value each time by assigning the round trip times RTT1 and RTT2 which are calculated by the round-trip time calculating section 253 and the data lengths S1 and S2 of the probe packets into the Expression 6, to find a mean value or a median value of the coefficient values. Then, the coefficient calculating section 254 delivers thus-obtained mean value or the median value to the delay model applying section 224 as the transmission rates b(L(XY)) and b(L(YX)).
Incidentally, when the same procedure is carried out by transmitting the probe packets to the destination designated by the IP address corresponding to the access point A, the transmission rates b(L(IA)) and b(L(AI)) between the branching node I and the access point A can be estimated.
Meanwhile, in the branch detecting section 260 shown in
After the lacking parameters are estimated as described above, the sequence controlling section 222 instructs the connection supervising section 223 to start measuring operation concerning the communication through the connection to the server W. In response to that, the connection supervising section 223 first operates for measuring the time required to acquire the IP address of the server W from a DNS (Domain Name System) which is included in the environment parameter received from the input accepting section 221, that is, a DNS access time (Step 304). It is needless to say that, when all parameters are inputted in the Step 301 shown in
In the Step 304, the connection supervising section 223 first makes an inquiry to the DNS (Domain Name System) which is specified according to the environment parameter received from the input accepting section 221, about the IP address of the server W which holds the contents indicated by the URL specified by the environment parameter as well. At this time, the sequence monitoring section 241 which is provided in the performance evaluating section 240 collects the time when the inquiry is transmitted to the DNS and the time when the IP address is received in response to the inquiry, and the characteristic-value calculating section 242 calculates a DNS access time Ti from a difference between these times and outputs it as one of the characteristic values. Incidentally, when the time required for the DNS access is not specified as the characteristic value to be evaluated, the above-described processing by the connection supervising section 223 may be skipped as long as the IP address of the server W is specified until then.
Next, based on the URL specified by the environment parameter, the sequence controlling section 222 determines whether the procedure to be adopted in the following measuring operation is based on the HTTP or the FTP (Step 305), and, according to the result of the determination, inputs a necessary instruction to the connection supervising section 223.
When it is determined in the Step 305 to adopt the HTTP procedure, the connection supervising section 223 carries out the processing to establish connection to the server W through the connection controlling section 221, according to the HTTP procedure, and evaluates the time required to establish the connection (hereinafter referred to as the connection establishing time) (Step 306).
Here, the operation of evaluating the connection establishing time will be explained.
When instructed by the connection supervising section 223 to establish the connection to the server W, the connection controlling section 221 exchanges the control packets in accordance with a predetermined procedure (hereinafter referred to as the 3-way handshake), thereby establishing the connection.
When establishing the connection according to the TCP as shown in
Next, a method of finding the connection establishing time Tc shown in
First, according to an instruction from the connection supervising section 223 shown in
When the SYN+ACK packet is received from the server W, Step 323 is judged positive and it proceeds to Step 324, where the sequence monitoring section 241 shown in
At this time, the time counter 232 shown in
At this time, according to the instruction from the sequence controlling section 222, the delay model applying section 224 carries out the processing of estimating the connection establishing time Tc of the client C, based on the round trip times RTTa and RTTb, the times T0 and T1 recorded in the Steps 321 and 324, and the delay models of the network shown in
It should be mentioned that the round trip times RTTa and RTTb and the time W (T1−T0) from when the SYN packet is transmitted from the communication performance measuring equipment M to when the SYN+ACK packet is received from the server W can be expressed as Expression 8 to Expression 10, by applying the delay models.
RTTa=D(sping,L(MI))+D(sping,L(IM)) (8)
RTTb=RTTa+D(sping,L(IA))+D(sping,L(AI)) (9)
Moreover, when the Expression 7 is rewritten by using the Expression 8 to Expression 10, it is possible to express the connection establishing time Tc as Expression 11, by using the round trip times RTTa and RTTb and the time (T1−T0) which are the measured values, and the respective coefficients of the delay models and the sizes of the respective control packets which are already known.
Therefore, the delay model applying section 224 assigns the round trip times RTTa and RTTb and the time (T1−T0), which are received from the time counter 232, and the respective coefficients of the delay models into the Expression 11, whereby it is possible to find the connection establishing time Tc. Thus-obtained connection establishing time Tc is delivered to the reply controlling section 226 shown in
Correspondingly, the reply controlling section 226 compares the present time with the time which is the time T0 added with the connection establishing time Tc, and when these are consistent with each other, Step 328 is judged positive, and the reply controlling section 226 instructs the ACK packet transmitting section 213 shown in
After the connection to the server W is established, the connection supervising section 223 instructs the connection controlling section 211 to acquire a targeted file or contents, based on the URL specified as the environment parameter, and evaluates the time required to download the file or the contents, that is, a download time Td (refer to Step 307 shown in
Here, the evaluating operation of the download time Td will be explained.
According to the HTTP procedure, after the connection is established by the above-described connection establishing procedure, the client C transmits an HTTP GET request to the server W, thereby requesting the target file or the contents. In response to the request, the server W divides the specified file or the contents into a plurality of data packets (indicated by “DATA” in
Incidentally, as shown in
Therefore, supposed that a difference Xj between a time RTTWC(j) required for a sending/receiving sequence which is for sending/receiving a jth data packet between the client C and the server W, and a time required for a sending/receiving sequence which is for sending/receiving the same data packet between the communication performance measuring equipment M and the server W is to be estimated, and the ACK packet is to be transmitted to the server W a waiting time equivalent to the difference Xj after receipt of the jth data packet from the server W, as shown in
In response to the instruction from the connection supervising section 223 shown in
Thereafter, every time the packet is received by the data packet receiving section 212 (Step 333), the data packet receiving section 212 determines whether the packet is the data packet or the FIN packet signifying the end of the data transfer (Step 334). When the packet received in the Step 333 is the data packet (positive judgment in the Step 334), the reply controlling section 226 records the present time as a reception time T0) corresponding to the order j of the reception of the data packet, according to the notice from the data packet receiving section 212 shown in
According to the notice, the probe controlling section 225 shown in
Based on the round trip times RTTMl(j) and RTTMA(j), the data length Sping of the probe packet and a data length Sdata(j) of the jth data packet, the delay model applying section 224 estimates the difference (hereinafter referred to as the waiting time) Xj of the delay times shown in
Here, a method of estimating the waiting time Xj will be explained.
As described above, the waiting time Xj can be expressed as Expression 12 by using a data delivering time RTTWC(j) which is required to complete the sequence of delivering the jth data packet between the client C and the server W, and a data delivering time RTTWM(j) which is required to complete the sequence of delivering the same data packet between the communication performance measuring equipment M and the server W.
Xj=RTTWC(j)−RTTWM(j) (12)
Meanwhile, when the delay models of the network as shown in
RTTjMI=D(sping,L(MI))+D(sping,L(IM)) (13)
Note that, when the data packets are actually delivered between the server W and the client C, the data packets may be transmitted from the server W in a burst mode, as indicated by “{circle around (1)}” in
By rewriting the Expression 12 by using the Expression 13 to Expression 16, the waiting time Xj can be expressed as shown as Expression 17, by using the actually measured values of the round trip times RTTMI(j) and RTTMA(j), the data lengths of the respective packets Sdata(j), Sack and Sping, the coefficients of router models about the respective paths and the queuing delay factor qbottle(j).
This queuing delay factor qbottle(j) appears when the packet is inputted to the path at a rate faster than a rate at which the path outputs the packet to the next path, in at least a part of the paths through which the data packets and the ACK packets are exchanged on the path between the server W and the client C. Therefore, as shown in
qbottle(j)=max[0,{qbottle(j−1)+S/B−(t(j)−t(j−1))}] (18)
When the model shown in the Expression 18 is applied to the paths between the branching node I and the client C, the queuing delay qbottle(j) due to its own traffic between the branching node I and the client C can be expressed as Expression 19, by using the sizes of the respective packets and the coefficients of the router models of the respective paths.
The delay model applying section 224 calculates a value of the queuing delay qbottle(j) based on the Expression 19, and assigns the value into the Expression 18, thereby finding the waiting time Xj reflecting the conditions of the paths between the server W and the access point A at the time when the jth data packet is transmitted from the server W. Then, thus-calculated waiting time Xj is inputted to the reply controlling section 226.
The reply controlling section 226 shown in
Meanwhile, when it returns to the Step 333 to receive the FIN packet (negative judgment in the Step 334), the sequence monitoring section 241 in the performance evaluating section 240 records, for example, a time T1 when it receives the FIN packet, and delivers the time T1 and the time T0 which is already recorded in the step 332 to the characteristic-value calculating section 242. Then, the characteristic-value calculating section 242 subtracts the time T0 from the time T1, that is, calculates the download time Td (Step 340), to complete the evaluating processing of the download time.
After the processing of the Step 307 in which the download time is obtained according to the above procedures, shown in
Next, the evaluating operation of the connection releasing time will be explained.
When the connection has been established between the server W and the client C, this connection is released after the FIN packet and the ACK packet are exchanged between the server W and the client C, as shown in
When the FIN packet from the server W reaches the communication performance measuring equipment M, the sequence monitoring section 241 in the performance evaluating section 240 shown in
Thereafter, receiving the ACK packet from the server W causes positive judgment of Step 343, which leads to proceeding to Step 344. In Step 344 a value obtained by subtracting the FIN arrival time T0 from the present time T1 is delivered to the delay model applying section 224 as a measured value of a duration required to release the connection between the server W and the communication performance measuring equipment M, that is, a connection releasing time TrMW.
At this time, according to an instruction from the probe controlling section 225 shown in
The delay model applying section 224 estimates the connection releasing time Tr between the server W and the client C, based on the round trip times RTTa and RTTb which are measured in the Step 346 and the measured value of the connection releasing time TrMW (Step 347).
Here, the connection releasing time TrMW between the server W and the communication performance measuring equipment can be expressed as Expression 21, by using the data length SFIN of the FIN packet, the data length Sack of the ACK packet, and the coefficients of the respective router models of the paths between the server W and the communication performance measuring equipment M, and further, the round trip times RTTa and RTTb can be expressed as the Expression 8 and the Expression 9, respectively.
When the Expression 20 is rewritten by using these Expressions (8), (9), and (20), the connection releasing time Tr between the server W and the client C can be expressed as Expression 22, by using the measured value of the connection releasing time TrMW, the round trip times RTTa and RTTb, the data lengths of the respective packets, and the respective coefficients of the router models which exist between the server W and the client C.
The delay model applying section 224 estimates the connection releasing time Tr by using this Expression 22, and delivers the result of the estimation to the reply controlling section 226 shown in
After the connection releasing time Tr has passed from the FIN arrival time T0, the reply controlling section 226 instructs the ACK packet transmitting section 213 to transmit the ACK packet as positive judgment of Step 348 shown in
After evaluating the DNS access time Ti, the connection establishing time Tc, the download time Td and the connection releasing time Tr in the Step 304, Step 306, Step 307 and Step 308 shown in
As described above, it is possible to exchange the packets between the server W and the communication performance measuring equipment M with the same delay as that of the case when the packets are exchanged between the server W and the client C, by carrying out the following procedures every time the control packet or the data packet is received from the server W.
Namely, irrespective of the position of the communication performance measuring equipment M, it is possible to artificially reproduce the HTTP-based data communication between the server W and the client C concerning the delay of the paths between the server W and the client C. Therefore, according to the above-described communication performance measuring equipment, it is possible to accurately evaluate the time required for an arbitrary client to acquire the contents indicated by the URL which is arbitrarily specified from the server W, its throughput, and the like.
According to the communication performance measuring equipment of the present invention, it is possible to artificially reproduce the FTP-based data communication between the client C and the server W, and to evaluate the communication performance of the paths between the client C and the server W, similarly to the above.
When the environment parameter instructing acquiring at least one file according to the FTP, the sequence controlling section 222 instructs the connection supervising section 223 to acquire the specified file according to the FTP. In response to the instruction, the connection supervising section 223 controls the respective sections to carry out the respective procedures of the FTP-based data communication in Step 309 to Step 312, and the times required to carry out these procedures are respectively evaluated.
First, in the Step 309 in
Next, in the Step 310, the procedure for transmitting a port command by the client C to the procedure for establishing connection of data connection are carried out by performing the sequence indicated by “(2)” to “(4)” in
The data connection establishing time Tf2 is the sum of duration factors Tf2a, Tf2b and Tf2c which are required to carry out respective stages of the sequence indicated by “(2)” to “(4)” in
In order to find the duration factor Tf2a corresponding to the stage indicated by “(2)” in
Here, in response to the instruction from the probe controlling section 225 shown in
The delay model applying part 224 estimates the duration factor Tf2a between the server W and the client C, based on the measured round trip times RTTa and RTTb, and the measured value of the duration factor Tf2aMW.
Here, the duration factor Tf2aMW between the server W and the communication performance measuring equipment M can be expressed as Expression 26, by using the data lengths Sport and Ssucc of the respective packets which are sent/received in the stage and the coefficients of the respective router models which exist in the paths between the server W and the communication performance measuring equipment M, and further, the round trip times RTTa and RTTb can be expressed as the Expression 8 and the Expression 9, respectively.
When the Expression 23 is rewritten by using these Expressions, the duration factor Tf2a which is required to carry out the stage (2) between the server W and the client C can be expressed as Expression 27, by using the measured value of the duration factor Tf2aMW, the round trip times RTTa and RTTb, the data lengths of the respective packets and the respective coefficients of the router models which exist between the server W and the client C.
The delay model applying section 224 estimates the duration factor Tf2a by using this Expression 27, and delivers the value to the performance evaluating section 240 and the connection supervising section 223 shown in
Correspondingly, the connection supervising section 223 instructs the connection controlling section 211 to transmit an RETR command in order to start the evaluation of the duration factor Tf2b corresponding to the stage indicated by “(3)” in
In response to the instruction, the connection controlling section 211 transmits the RETR command to make a request to the server W for the contents. At this time, the connection supervising section 223 records the present time as a reference time T0. Thereafter, similarly to the evaluating processing of the duration factor Tf2a, when receiving the SYN packet from the server W, the connection supervising section 223 calculates a difference between the reference time T0 and the present time T1 at the instance, and delivers the obtained value to the delay model applying section 224 as a measured value of a duration factor Tf2bMW. Simultaneously, the probe controlling section 225 and the probe packet sending/receiving section 231 carry out processing of investigating the conditions of the paths using the probe packet, and the time counter 232 measures the round trip times RTTa and RTTb.
Moreover, similarly to the technique described in the evaluating processing of the duration factor Tf2a, it is possible to derive Expression 28, in which the duration factor Tf2b is expressed by using the data lengths SRETR and SSYN of the packets sent/received in the stage indicated by “(3)” in
Therefore, the duration factor Tf2b can be estimated in the delay model applying section 224 by assigning appropriate values to the Expression 28 to, and delivers the value to the performance evaluating section 240 and to the connection supervising section 223 shown in
Correspondingly, the connection supervising section 223 starts the evaluation of the duration factor Tf2c corresponding to the stage indicated by “(4)” in
In this case, the connection supervising section 223 instructs the connection controlling section 211 to transmit the SYN+ACK packet as a response to the SYN packet.
In response to the instruction, the connection controlling section 211 transmits the SYN+ACK packet to the server W. Further, at this time, the connection supervising section 223 records the present time as a reference time T0. Thereafter, similarly to the evaluating processing of the duration factor Tf2a, when receiving the ACK packet from the server W, the connection supervising section 223 calculates a difference between the reference time T0 and the present time T1, and delivers the obtained value to the delay model applying section 224 as a measured value of a duration factor Tf2cMW. Simultaneously, the probe controlling section 225 and the probe packet sending/receiving section 231 carry out the processing of investigating the conditions of the paths with use of the probe packet, and the time counter 232 measures the round trip times RTTa and RTTb.
Moreover, similarly to the technique described in the evaluating processing of the duration factor Tf2a, it is possible to derive Expression 29, in which the duration factor Tf2c is expressed by using data lengths SSYN+ACK and SACK of the packets sent/received in the stage indicated by “(4)” in
Therefore, the duration factor Tf2c can be estimated in the delay model applying section 224 by assigning appropriate values to the Expression 29 to, and delivers the value to the performance evaluating section 240.
The performance evaluating section 240 calculates the sum of the duration factors Tf2a, Tf2b and Tf2c, and sets the value as the data connection establishing time Tf2.
Next, in the Step 311 in
It should be noted that the procedure for exchanging the data packets and the acknowledge packets in the data connection after the ACK packet is received from the server W as indicated by “(5)” in
Therefore, in receiving the ACK packet, the measurement controlling section 220 records the present time as a reference time T0, and thereafter, controls the operations of the 110 communicating section 210 and the measurement executing section 230, similarly to the evaluating processing of the file download time by the HTTP shown in
Next, in Step 312 shown in
When the data transfer is carried out between the client C and the server W by the FTP through an Internet browser, the transfer of the data is already completed at the time of release of the data connection in the stage indicated by “(7)” in
Since the user does not recognize the control connection releasing time Tf4 concerning the FTP, the value may be set at a numeric value “0”. It is possible to express the control connection releasing time Tf4 by using the delay model when the aforementioned technique is applied so that it is naturally possible to evaluate the value if necessary.
As described above, after evaluating the control connection establishing time Tf1, the data connection establishing time Tf2, the total communication time Tf3 and the control connection releasing time Tf4, the characteristic-value calculating section 242 shown in
In the HTTP-based data communication and the FTP-based data communication, when inputting the environment parameters representing a plurality of files, processing of acquiring the specified plurality of the files in parallel is carried out in the processing of evaluating the times for carrying out the procedures. In this condition the acquisition times required to acquire the respective files and the time required to acquire all of the specified files can be evaluated. It is naturally possible to evaluate the time required to acquire each of components constituting an Web page, such as text and images, by inputting environment parameters specifying each file included in the contents designated by URL.
Moreover, it is possible to simulate the data transfer between the server W and the client C with limitation of the size of the queue provided in the client C taken into consideration, the limitation causes discard of the data packet reaching the client C.
The flowchart shown in
It should be mentioned that, the data packet is discarded when the queuing delay qbottle(j) exceeds the threshold Qmax which is expressed by Expression 30 by using the queue size Nb of the client C, MTU (Maximum Transmission Unit) of the client C, and the transmission rate b(L(AC)) of the router model of the path from the access point A to the client C, when the jth data packet reaches the queue of the client C.
Qmax=Nb×MTU/b(L(AC)) (30)
Therefore, the delay model applying section 224 compares the queuing delay qbottle(j) which is obtained in the processing of the Step 337 with the aforementioned threshold Qmax, and, when the queuing delay qbottle(j) exceeds the threshold Qmax, instructs the reply controlling section 226 not to transmit the ACK packet, as positive judgment of the Step 351, and it returns to the Step 333. When the Step 351 is judged negative, it proceeds to the step 338 and waits for the completion of the waiting time Xj.
Thus, the data transfer between the server W and the client C can be simulated with assumption for the case in which the data packet reaching the client C is discarded.
The invention is not limited to the above embodiments and various modifications may be made without departing from the spirit and the scope of the invention. Any improvement may be made in part or all of the components.
Number | Date | Country | Kind |
---|---|---|---|
2001-185348 | Jun 2001 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5477542 | Takahara et al. | Dec 1995 | A |
5913041 | Ramanathan et al. | Jun 1999 | A |
6430160 | Smith et al. | Aug 2002 | B1 |
20020080726 | Klassen et al. | Jun 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20030031185 A1 | Feb 2003 | US |