This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2009-220643, filed on Sep. 25, 2009, the entire contents of which are incorporated herein by reference.
The embodiment relates to a delay time measurement apparatus, a storage storing a delay time measurement program and a network system.
It is widely known that the importance of technologies for specifying the irregular location occurring in a network has been increased with an increase in each of the complication and the diversification of network configurations. As one of the above-described technologies, the network tomography analysis performed to analyze the irregular location occurring in a network based on information illustrating the quality of a measured flow of a packet exchanged between ends has been available. Hereinafter, the network tomography analysis will be described.
The network system illustrated in
In the above-described network system, the monitoring apparatus 93 calculates variations in a delay time relating to the data exchange for each of the flows F1 and F2 based on the packet acquired via the tap 92. Next, the monitoring apparatus 93 determines whether or not an irregularity occurs in each of the flows F1 and F2 based on a threshold value and the variations in the delay time. Here, the threshold value is the variation rate determined for each of the flows F1 and F2, and when the value of the variation rate of the delay time is equivalent to and/or larger than the determined threshold value, it is determined that the irregularity occurs in the corresponding flow. For example, when the delay time of the flow F1 is changed from 20 ms to 40 ms and the threshold value is 200%, it is determined that the irregularity occurs in the flow F1. When the delay time of the flow F2 is changed from 1000 ms to 1020 ms and the threshold value is 101%, it is determined that the irregularity occurs in the flow F2.
Next, the monitoring apparatus 93 maps regular/irregular information for a node via which the flow passes based on the above-described determinations. The regular/irregular information illustrates whether or not the flow is regular. After the mapping is performed, the monitoring apparatus 93 determines the set of nodes covering an irregular flow by the minimum number of nodes to be the irregular location. For example, when each of the flows F1 and F2 is determined to be the irregular flow as described above, the core node N1 covering the flows F1 and F2 is specified as the irregular location. During the irregular location specification, a node covering a regular flow is excluded.
For example, “Empirical Study on Locating Congested Segments over the Internet Based on Multiple End-to-End Path Measurements”, IEICE Technical Report, vol. 104, no. 309, CQ2004-76, pp. 43-48, September 2004. has been disclosed as one the above-described technologies for specifying the irregular location in the network.
However, it has often been difficult to specify the irregular location with precision according to the above-described technologies for specifying the irregular location. When the threshold value provided to determine whether or not an irregularity occurs in the flow is low, the flow is determined to be regular even though the flow should be determined to be irregular. For example, when the threshold value set for the flow F2 is 110% in the above-described network system, the flow F2 is not determined to be the irregular flow. As a result, only the flow F1 is determined to be the irregular flow. Since the core node N1 covers the flow F2, only the node N2 is determined to be the irregular location, because the delay time is measured in flows. Further, since the delay time is measured in nodes, a heavy load is put on the network when all of the nodes are monitored.
According to an aspect of an embodiment, a delay time measurement apparatus includes a storage to store route information which indicates a connection route between a server and a terminal apparatus connected to the server via a plurality of relay nodes, and a central processing unit to execute a process including determining a core node among the relay nodes on a basis of the route information, the core node being connected to the terminal apparatus via an end node being the relay node next to the terminal apparatus, acquiring a first packet and a second packet flowing between the server and the terminal apparatus, the second packet being transmitted on a basis of the first packet, calculating a first delay time on a basis of the first packet and the second packet, the first delay time relating to packet transmission between the server and the terminal apparatus, transmitting a third packet to the core node, receiving a response to the third packet from the core node, calculating a second delay time on a basis of the third packet and the response, the second delay time being a delay time of the core node, and calculating a third delay time on a basis of the first delay time and the second delay time, the third delay time being a delay time of the end node.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
First, a network system according to an embodiment and the hardware configuration of a delay time-measurement apparatus will be described with reference to
As illustrated in
The delay time-measurement apparatus 15 includes a central processing unit (CPU) 151, a memory 152, a storage unit 153, a local area network (LAN)-interface 154, and an output unit 155. The output unit 155 is connected to a display 156. The storage unit 153 is, for example, an involatile storage medium including a hard disk, a flash memory, and so forth.
Next, the functional configuration of the delay time-measurement apparatus 15 will be described.
As illustrated in
The route information is used to associate the flow of the data transmitted from the server 11 to each of the subnets A and B with the passage route of the data, as illustrated in
The route information-generation unit 21 issues a command such as the traceroute command, refers to a routing table provided in the node 13, and analyzes data of a dynamic routing protocol, the data flowing through the network, such as Open Shortest Path First (OSPF), for example, to acquire the route of each of the flows and generate the route information. The route information-generation unit 21 may use any means as the method of acquiring the route. The node information-generation unit 22 refers to the route information and generates the node information based on the route information. The delay time-calculation unit 23 calculates the delay time of a packet flowing from each of the terminal apparatuses 12 to the server 11 and stores information about the delay time as the delay time information. The core node-monitoring unit 24 refers to the node information, issues the Ping command to the core node based on the node information, and calculates the delay time of the core node. The delay element-calculation unit 25 calculates the delay element based on the delay time information. The delay element-recording unit 26 determines whether or not the value of the delay element calculated through the delay element-calculation unit 25 is negative. When the delay element value is not negative, the delay element-recording unit 26 records and adds information about the delay element to the delay element information. The variation calculation unit 27 refers to the delay element information and calculates variations in each of the delay elements of the delay element information based on the delay elements with different time series. The irregular node-selection unit 28 selects an irregular node based on the calculated variations in the delay element. The display unit 29 displays information about the irregular node selected through the irregular node-selection unit 28 on the display 156 via the output unit 155. The wait processing unit 30 waits a predetermined time so that each of the delay time-calculation unit 23 and the core node-monitoring unit 24 periodically acquires a packet and calculates the delay time.
Next, the operation of the delay time-measurement apparatus 15 will be described with reference to
First, the route information-generation unit 21 determines whether or not the route information is stored in the storage unit 153 at step S101, as illustrated in
When the route information is stored in the storage unit 153, which means that the answer is YES at step S101, the node information-generation unit 22 determines whether or not the node information is stored in the storage unit 153 at step S102.
When the node information is stored in the storage unit 153, which means that the answer is YES at step S102, the delay time-calculation unit 23 determines whether or not the delay time information is stored in the storage unit 153 at step S103.
When the delay time information is stored in the storage unit 153, which means that the answer is YES at step S103, the delay time-calculation unit 23 acquires a packet exchanged between the server 11 and each of the subnets A and B, and calculates the delay time based on the acquired packet at step S104. Here, the method of calculating the delay time will be described. As illustrated in
After calculating the delay time, the delay time-calculation unit 23 updates the delay time information based on the calculated delay time at step S105. Here, the delay time-calculation unit 23 associates the subnet to which the terminal apparatus 12 belongs with the calculated delay time, where the terminal apparatus 12 had transmitted the request packet in the flow where the delay time is calculated. Then, the delay time-calculation unit 23 records and adds information about the subnet and the calculated delay time to the delay time information. In the above-described embodiment, the delay time calculation is performed for the flow of a packet exchanged between the server 11 and the subnet. Therefore, a plurality of delay times occurring between different terminal apparatuses 12 and the server 11 is handled as the delay time of the same subnet when the different terminal apparatuses 12 belong to the same subnet.
Next, the core node-monitoring unit 24 executes irregular node-determination processing that will be described later, at step S106, and the delay time-calculation unit 23 acquires a packet and calculates the delay time at step S104 again.
Further, when the determination made at step S103 indicates that no delay time information is stored in the storage unit 153, which means that the answer is NO at step S103, the delay time-calculation unit 23 generates blank delay time information at step S107.
Further, when the determination made at step S102 indicates that no node information is stored in the storage unit 153, which means that the answer is NO at step S102, the node information-generation unit 22 determines the node type based on the route information and generates node information including information about each node and the determination result thereof that are associated with each other at step S108. Here, the method of determining the node type will be descried. As illustrated in
Further, when it is determined, at step S101, that no route information is stored in the storage unit 153, which means that the answer is NO at step S101, the route information-generation unit 21 generates the route information at step S110.
Next, the operation of the irregular node-determination processing will be described with reference to a flowchart of
As illustrated in
When the delay element information is stored in the storage unit 153, which means that the answer is YES at step S202, the delay element-calculation unit 25 acquires the route information and the delay time information from the storage unit 153 at step S203. Next, the core node-monitoring unit 24 transmits a Ping packet to the core node as an active packet at step S204, and calculates the delay time of the core node based on the Ping packet and a response transmitted from the core node to the Ping packet at step S205. More specifically, the core node-monitoring unit 24 calculates the difference between the time when the Ping packet is transmitted and the time when the response to the Ping packet is transmitted, and determines the time difference to be the delay time of the core node. Further, the core node-monitoring unit 24 transmits the Ping packet a plurality of times within a predetermined sampling time, as is the case with the calculation of the delay time of the flow, and calculates the delay time for each of the Ping packets and the responses that are transmitted thereto.
Next, the delay element-calculation unit 25 calculates the delay element based on the acquired route information and delay time information and the delay time of the core node, the delay time being calculated through the core node-monitoring unit 24 at step S206. Here, the delay element-calculation method performed through the delay element-calculation unit 25 will be described. According to equations that are illustrated in
If it is determined that none of the calculated elements β has a negative value, which means that the answer is NO at step S207, the delay element-recording unit 26 assigns an ID to each of the delay elements β and adds the delay elements β to the delay element information at step S208. Next, the variation calculation unit 27 refers to the delay element information and determines whether or not the previous delay element β, that is, a delay element β provided with an ID of which numerical value is smaller than that of the ID assigned to the added delay element β, as much as one, had been recorded at step S209.
When the previous element β is recorded and added to the delay element information, which means that the answer is YES at step S209, a variation in each of the added delay elements βi is calculated with reference to the previous delay element βi at step S210. Next, the irregular node-selection unit 28 determines whether or not any of the variations in the delay elements βi falls outside a set range at step S211. Here, the set range will be described. The set range is determined based on the delay element βi that is recorded and added to the delay element information. As illustrated in
When any of the variations in the delay elements βi falls outside the set range, which means that the answer is YES at step S211, the node 13 corresponding to the variation falling outside the set range is selected and determined to be an irregular node at step S212. Next, the display unit 213 displays information about the determined irregular node on the display 156 via the output unit 155 at step S213. After the irregular node information is displayed, the wait processing unit 30 waits for a predetermined time at step S214, and finishes the irregular node-determination processing.
Further, when it is determined that none of the variations in the delay elements βi falls outside the set range at step S211, which means that the answer is NO at step S211, the wait processing unit 30 waits for the predetermined time at step S214, and finishes the irregular node-determination processing.
When the previous element β is not recorded and added to the delay element information at step S209, which means that the answer is NO at step S209, the wait processing unit 30 waits for the predetermined time at step S214, and finishes the irregular node-determination processing.
Further, if it is determined that at least one of the calculated elements β has the negative value at step S207, which means that the answer is YES at step S207, the delay element-recording unit 26 substitutes a value obtained by adding 1 to i for i at step S215. Further, the delay element-recording unit 26 determines whether or not the value of i is equal to and/or larger than a predetermined number of times the delay element calculation is retried at step S216.
When the value of i is equal to and/or larger than the predetermined number, which means that the answer is YES at step S216, the delay element-recording unit 26 subtracts the delay time of the core node, the delay time being caused by the CPU processing, from the delay time of the core node at step S217. More specifically, a value obtained by adding the maximum absolute value of the negative value of the delay element β to the value of a delay element βi prior to a delay element βi preceding the delay element βi corresponding to the maximum absolute value is subtracted from the value of the delay time of the core node, the delay time occurring in the flow including the node 13 corresponding to the negative delay element value. For example, when the value of the delay time of the node N1 is 100, that of the delay time of the flow F1 is 60, and that of the delay time of the flow F2 is 90, the equations β1=100, β2=−40, and β3=−10 hold. Here, the delay element-recording unit 26 subtracts a value obtained by adding the absolute value 40 of the delay element β2 to the value 25 of the previous delay element β2 from the delay time of the core node. Since the value of the delay time of the core node becomes 35, the equations β1=35, β2=25, and β3=55 hold. Further, a predetermined value may be set as the CPU processing time so that the predetermined value may be subtracted from the delay time of the core node.
An active packet including the Ping packet, an SNMP packet, etc. includes a program. Upon receiving the active packet, the node 13 executes the program included in the active packet. Therefore, the delay time of the node 13 may accidentally increase due to the CPU processing load, as illustrated in
Next, the delay element-calculation unit 25 calculates the delay element again based on the delay time of the core node, the delay time being corrected through the subtraction, at step S206.
Further, when the value of i is less than the predetermined number of times at step S216, which means that the answer is NO at step S216, the core node-monitoring unit 24 transmits the Ping packet again to the core node as the active packet at step S204.
Further, when it is determined that no delay element information is stored in the storage unit 153 at step S202, which means that the answer is NO at step S202, the delay element-recording unit 26 generates and stores blank delay element information in the storage unit 153 at step S218.
Thus, according to the technologies that have been disclosed in this specification, information lacking because of passive observation is augmented by monitoring the core node so that the delay time can be measured in nodes at light load during the calculation of the delay time of each of the nodes. In a network including a node branching into n once every hop number (k), the number of all of the nodes, the number being indicated by the sign Sall, is indicated as (nk+1−1)/(n−1). On the other hand, the number of at least one core node of the network, the number being indicated by the sign Score, is indicated as (nk−1)/(n−1). Therefore, compared to the case where all of the nodes are monitored, the network load can be reduced to (nk−1)/(nk+1−1) or less through the use of the technologies that have been disclosed in this specification. For example, in the case where the network according to the above-described embodiment where the number of hops that are taken to reach the client is four and the number of branches of each node is two, is used, the load put on the network becomes 3/7 (42.8%) in comparison with the case where all of the nodes are monitored. Further, when the number of branches of each node is ten, the load put on the network becomes 11/111 (9%) in comparison with the case where all of the nodes are monitored. Further, the determination whether or not the node 13 is irregular is made based on the delay time measured in nodes so that irregular nodes can be detected with increased precision.
The present invention can be used for the following computer system.
In the above-described computer system including the delay time-measurement apparatus, a program executing the above-described steps may be provided as a delay time-measurement program. The program is stored in a recording medium that can be read through the computer system so that the computer system including the delay time-measurement apparatus can execute the program. The program provided to execute the above-described steps is stored in a portable recording medium such as a disk 910 and/or downloaded from a recording medium 906 of a different computer system through the communication device 905. Further, a delay time-measurement program (delay time-measurement software) provided to give at least a delay time-measurement function to the computer system 900 is transmitted and compiled into the computer system 900. The program makes the computer system 900 operate as a delay time-measurement apparatus having the delay time-measurement function. Further, the program may be stored in a computer-readable recording medium such as the disk 910. Here, the recording medium that can be read through the computer system 900 may be an internal storage device contained in a computer, such as a ROM, a RAM, etc., a portable storage medium including the disk 910, a flexible disk, a DVD, a magneto-optical disk, an IC card, etc., a database storing a computer program and/or a different computer system and the database thereof, and various types of recording mediums that are accessible by a computer system connected to the computer system 900 via a communication means such as the communication device 905.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2009-220643 | Sep 2009 | JP | national |