1. Field of the Invention
The present invention relates to communication-quality measuring apparatuses, communication-quality measuring methods, and computer programs for capturing packets transferred over a packet exchange network, analyzing the packets captured, and measuring quality, such as loss or delay of the packets, in the packet exchange network. More particularly, the present invention relates to a communication-quality measuring apparatus, a communication-quality measuring method, and a computer program allowing a computer to function as a communication-quality measuring apparatus that can measure communication quality in accordance with load on hardware resources of the apparatus even in the case where the apparatus is an inexpensive apparatus. The computer program may be recorded, for example, on a recording medium, or on another type of fixed or portable memory.
2. Description of the Related Art
As information technologies have been developed, bi-directional communication over a packet exchange network has been actively performed. In particular, Internet protocol (IP) phones using the Voice over Internet Protocol (VoIP) function enabling a voice call via the Internet by transmitting and receiving packetized voice data over the packet exchange network have become widely used.
The human sense of hearing is sensitive to noise and interruption in sound. For this reason, a loss of a voice packet in the packet exchange network has a significant influence on the quality of IP phones. The IP phones therefore impose a high demand on the quality of service (QoS) ensuring function.
Various proposals have been made for technologies for communication-quality measuring methods of measuring a loss, delay, jitter, or the like of packets transferred over a packet exchange network for providing IP phone service. Generally in the related art, the quality is measured by capturing all the packets transmitted to the packet exchange network, analyzing headers of the packets including descriptions of the sequence of the packets and time, and detecting any loss and/or delay of the packets. Japanese Unexamined Patent Application Publication No. 2005-236909 discloses the technique of periodically transmitting test packets to a packet exchange network and measuring communication quality by determining whether or not all the packets transmitted have been captured.
According to an aspect of one embodiment of the invention, an example communication-quality measuring apparatus is capable of measuring communication quality in a packet exchange network. The communication-quality measuring apparatus includes the following elements: a connecting section configured to establish a connection to the packet exchange network; a capturing section configured to capture packets transferred over the packet exchange network; an accumulating section configured to accumulate the packets captured by the capturing section; a control section configured to repeat the capturing of packets using the capturing section in units of fundamental processing times, each fundamental processing time including a capturing time for capturing packets and an interval time for not capturing packets; a setting section configured to set the capturing time and the interval time within each fundamental processing time; and a determining section configured to determine whether or not the amount of load on hardware resources of the communication-quality measuring apparatus is greater than a predetermined value. In the case where the determining section determines that the amount of load is greater than the predetermined value, the setting section is configured to increase a ratio of the interval time to the fundamental processing time, and, in the case where the determining section determines that the amount of load is less than or equal to the predetermined value, the setting section is configured to decrease the ratio of the interval time to the fundamental processing time.
According to this aspect of the present invention, the capturing of packets is intermittently repeated on the basis of a capturing time and an interval time set in each fundamental processing time. Not all the packets are captured, and load on hardware resources of the measuring apparatus is reduced. The packets intermittently captured and accumulated are analyzed, thereby measuring the communication quality. Whether or not the amount of load on the hardware resources is greater than a predetermined value is determined. In the case where it is determined that the amount of load is greater than the predetermined value, the ratio of the interval time to the fundamental processing time is reset to a larger ratio until the amount of load that has been determined to be greater than the predetermined value becomes less than or equal to the predetermined value. Accordingly, the load on the quality measuring apparatus is reduced, and the probability of packets being discarded is reduced. In the case where it is determined that the amount of load is less than or equal to the predetermined value, the ratio of the interval time to the fundamental processing time is reset to a smaller ratio.
According to an aspect of one embodiment of the invention, an example communication-quality measuring apparatus is capable of measuring communication quality in a packet exchange network. The communication-quality measuring apparatus includes the following elements: a connecting section establishing a connection to the packet exchange network; a capturing section capturing packets transferred over the packet exchange network; an accumulating section accumulating the packets captured by the capturing section; a control section configured to reset capture of the packets by the capturing section to a capturing state for capturing the packets or an interval state for not capturing the packets; and a determining section determining whether or not the amount of load on hardware resources of the communication-quality measuring apparatus is greater than a predetermined value, wherein when the determining section determines that the amount of load is greater than the predetermined value, the control section resets capture of the packets to the interval state, and when the determining section determines that the amount of load is less than or equal to the predetermined value, the control section resets capture of the packets to the capturing state.
According to this aspect of the present invention, when it is determined that the amount of the load is greater than the predetermined value, capture of the packets is reset to the interval state, and when it is determined that the amount of the load is less than or equal to the predetermined value, capture of the packets is reset to the capturing state. Therefore, even in a case of an inexpensive and low specification apparatus, the discarded packet due to the load on the hardware resources is not allowed to be generated as much as possible.
According to these aspects of the present invention, even in a case of an inexpensive and low specification apparatus, the discarded packet due to the load on the hardware resources is not allowed to be generated as much as possible. In addition, when the discarded packet is generated, measurement of the communication quality is not performed, thus making it possible to maintain the measurement accuracy. Further, reliability of the measurement accuracy can be improved.
These together with other aspects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.
Embodiments of the present invention will be specifically described with reference to the drawings.
The arrows in
The communication-quality measuring apparatus 1 according to the first embodiment captures packets transmitted to and received from the phones 3 using RTP sessions. The communication-quality measuring apparatus 1 reads and analyzes RTP headers of the packets captured, thereby determining the presence of lost packets or delay of the packets. Accordingly, the quality of the IP phone service over the packet exchange network 21 is measured.
The storage section 11 stores a control program 1P. The control section 10 loads the control program IP into the temporary memory 12 and executes the control program IP. Accordingly, the functions of the communication-quality measuring apparatus 1 are performed. The control program IP includes a plurality of modules, and the control section 10 performs the plural functions using the corresponding modules. A detailed description will be given later. The temporary memory 12 stores the control program IP loaded from the storage section 11 using the control section 10. Further, the temporary memory 12 stores various pieces of information generated in processes performed by executing the control program 1P.
The display section 13 is a user interface that outputs various pieces of information on the basis of outputs from the control section 10. The control section 10 outputs the results of analyzing the captured packets to the display section 13. The communication section 14 is, for example, a network adapter. The communication section 14 connects to the packet exchange network 21, thereby performing packet exchange. The control section 10 controls the communication section 14 via a driver included in the control program 1P. Accordingly, the control section 10 captures packets from the packet exchange network 21.
By functioning as the packet capturing section 101, the control section 10 secures in the temporary memory 12 a packet accumulation area 121 for accumulating packets captured via the communication section 14 and accumulates the packets captured in the packet accumulation area 121.
By functioning as the packet capturing section 101, the control section 10 counts the number of packets captured via the communication section 14 (hereinafter referred to as “the number of captured packets”) and the number of packets that have been captured but could not have been accumulated in the packet accumulation area 121 (hereinafter referred to as “the number of discarded packets”).
Further, the control section 10 stores the counted numbers of captured packets and discarded packets in a capturing-statistical-information storage area 122 secured in the temporary memory 12. In accordance with an instruction given from the capturing control section 102, the packet capturing section 101 initializes the number of captured packets and the number of discarded packets, which are stored in the capturing-statistical-information storage area 122.
Every time the control section 10 functioning as the packet capturing section 101 captures packets within a predetermined period of time, the packet capturing section 101 sends a notification indicating completion of the capturing to the capturing control section 102.
Every time the control section 10 functioning as the capturing control section 102 receives the notification from the packet capturing section 101, the capturing control section 102 sends a notification of the completion of the capturing to the quality analyzing section 103. Every time the control section 10 functioning as the quality analyzing section 103 receives the notification from the capturing control section 102, the quality analyzing section 103 reads the packets from the packet accumulation area 121 secured in the temporary memory 12 and analyzes the packets.
Under control of the capturing control section 102, the control section 10 functioning as the packet capturing section 101 executes/stops the capturing of packets.
The control section 10 functioning as the capturing control section 102 controls the execution/stopping of capturing packets with the packet capturing section 101 on a predetermined fundamental processing time allocation basis. That is, the control section 10 functioning as the capturing control section 102 repeats the operation of capturing packets with the packet capturing section 101 in units of fundamental processing times, each fundamental processing time including a capturing time for capturing packets and an interval time for not capturing packets.
Therefore, the control section 10 functioning as the packet capturing section 101 repeats a capturing time Tcap for capturing packets and an interval time Tint for stopping the capturing of packets in units of fundamental processing times Tu, thereby intermittently capturing packets.
In this case, the control section 10 functioning as the capturing control section 102 sets the fundamental processing time Tu, the capturing time Tcap, and the interval time Tint so that Tu Tcap+Tint holds true. Accordingly, the control section 10 functioning as the capturing control section 102 controls the execution/stopping of capturing packets with the packet capturing section 101.
The control section 10 sets Tu in multiples or other units of unit times Td. For example, the control section 10 sets Tu to be ten times Td.
Further, the control section 10 initializes the capturing time Tcap to Tcap=Tu. Therefore, the interval time Tint is initially set to zero.
The temporary memory 12 stores the unit time Td, the fundamental processing time Tu, the capturing time Tcap, and the interval time Tint. The control section 10 refers to the temporary memory 12 for the unit time Td, the fundamental processing time Tu, the capturing time Tcap, and the interval time Tint.
The control section 10 functioning as the quality analyzing section 103 reads the RTP headers from the packets accumulated in the packet accumulation area 121. Each of the RTP headers includes the sequence number in a corresponding RTP session and time information.
Therefore, the control section 10 functioning as the quality analyzing section 103 can determine the presence of lost packets, count the number of lost packets, and calculate a packet loss rate by detecting a gap of sequence number.
The control section 10 functioning as the quality analyzing section 103 can determine the presence of delay by reading the time information.
Further, the control section 10 functions as the analysis-result display section 104. In this case, the control section 10 functioning as the analysis-result display section 104 outputs information (RTP header information) of the packets analyzed using the function of the quality analyzing section 103 to the display section 13. Accordingly, the display section 13 displays the calculated packet loss rate.
Processes performed using the functions of the control section 10 included in the communication-quality measuring apparatus 1 will be described.
In the case where the control section 10 of the communication-quality measuring apparatus 1 functions as the packet capturing section 101, the capturing control section 102, the quality analyzing section 103, and the analysis-result display section 104, the control section 10 performs these functions in terms of threads. That is, the threads performed by the control section 10 notify one another of information, share storage areas, and perform processes in parallel.
The control section 10 functioning as the packet capturing section 101 initializes the number of captured packets and the number of discarded packets, which are stored in the capturing-statistical-information storage area 122, by substituting zeros for these variables (operation S11).
The control section 10 functioning as the packet capturing section 101 determines whether or not a notification of executing the capturing has been received from the capturing control section 102 (operation S12).
In the case where the control section 10 functioning as the packet capturing section 101 determines that no notification of executing the capturing has been received (NO in operation S12), the flow returns to operation S12, and the packet capturing section 101 enters standby until it is determined that a notification of executing the capturing has been received.
In the case where the control section 10 functioning as the packet capturing section 101 determines that a notification of executing the capturing has been received from the capturing control section 102 (YES in operation S12), the packet capturing section 101 starts capturing packets via the communication section 14 (operation S13) and counts the number of captured packets.
After starting capturing the packets, the control section 10 functioning as the packet capturing section 101 counts the number of captured packets and the number of discarded packets, which are packets that have been captured but could not have been accumulated in the packet accumulation area 121, and stores the counted numbers in the capturing-statistical-information storage area 122 (operation S14).
Next, the control section 10 functioning as the packet capturing section 101 determines whether or not an interval notification of stopping the capturing has been received from the capturing control section 102 (operation S15). In the case where the control section 10 functioning as the packet capturing section 101 determines that no interval notification has been received (NO in operation S15), the flow returns to operation S14, and the packet capturing section 101 continues counting and storing the number of captured packets and the number of discarded packets.
In the case where the control section 10 functioning as the packet capturing section 101 determines that an interval notification has been received (YES in operation S15), the packet capturing section 101 stops capturing packets via the communication section 14 (operation S16).
The control section 10 functioning as the packet capturing section 101 determines whether or not an initialization notification has been received from the capturing control section 102 (operation S17).
In the case where the control section 10 functioning as the packet capturing section 101 determines that no initialization notification has been received (NO in operation S17), the flow returns to operation S17, and the packet capturing section 101 enters standby until it is determined that an initialization notification has been received.
In the case where the control section 10 functioning as the packet capturing section 101 determines that an initialization notification has been received (YES in operation S17), the flow returns to operation S11, and the packet capturing section 101 initializes the capturing-statistical-information storage area 122 and continues capturing packets.
In the case where the control section 10 functioning as the packet capturing section 101 determines that a termination notification has been received from the outside, or in the case where an error has occurred, the process is terminated.
The operation flow shown in
The control section 10 functioning as the capturing control section 102 initializes the unit time Td, the fundamental processing time Tu, the capturing time Tcap, and the interval time Tint stored in the temporary memory 12 (operation S201). In the first embodiment, the unit time Td is initially set to 100 msec; the fundamental processing time Tu is initially set to 1000 msec, which is ten times the unit time Td; the capturing time Tcap is initially set to Tu; and the interval time Tint is initially set to zero.
Next, the control section 10 functioning as the capturing control section 102 sends an execution notification to the packet capturing section 101 (operation S202) and enters standby until the capturing time Tcap elapses (operation S203). Accordingly, the control section 10 functioning as the packet capturing section 101 captures packets until the capturing time Tcap elapses.
After the capturing time Tcap has elapsed, the control section 10 functioning as the capturing control section 102 sends an interval notification to the packet capturing section 101 (operation S204) and enters standby until the interval time Tint elapses (operation S205). Accordingly, the control section 10 functioning as the packet capturing section 101 stops capturing packets until the interval time Tint elapses.
After the interval time Tint has elapsed, the control section 10 functioning as the capturing control section 102 reads the number of captured packets and the number of discarded packets, which are stored in the capturing-statistical-information storage area 122 (operation S206).
The control section 10 functioning as the capturing control section 102 determines whether or not a packet(s) has/have been discarded on the basis of the number of captured packets and the number of discarded packets, which are read from the capturing-statistical-information storage area 122 (operation S207). In the case where the control section 10 functioning as the capturing control section 102 determines that a packet(s) has/have been discarded (YES in operation S207), the capturing control section 102 determines that the load on hardware resources of the communication-quality measuring apparatus 1 is heavy.
In this case, the control section 10 functioning as the capturing control section 102 sets the interval time Tint and the capturing time Tcap (Tcap=Tu−Tint) such that the ratio of the interval time Tint to the fundamental processing time Tu (the value Tint/Tu) can be increased (operation S208).
For example, in operation S208, the capturing control section 102 performs the setting to shorten the capturing time Tcap by unit time Td (Tcap<-Tcap−Td) and to elongate the interval time Tint by unit time Td (Tint<-Tint+Td).
In the case where the control section 10 functioning as the capturing control section 102 determines that no packet has been discarded (NO in operation S207), the capturing control section 102 does not change the capturing time Tcap and the interval time Tint, and the flow proceeds to operation S209.
After the processing in operation S208 is completed, or in the case where it is determined by the processing in operation S207 that no packet has been discarded (NO in operation S207), the control section 10 functioning as the capturing control section 102 sends a completion notification indicating that the capturing of packets has been completed to the quality analyzing section 103 (operation S209) and an initialization notification to the packet capturing section 101 (operation S210). Thereafter, the flow returns to operation S201, and the control section 10 functioning as the capturing control section 102 continues controlling the capturing of packets using the packet capturing section 101.
Note that operation S201 may be skipped from the second time onward, and no initialization may necessarily be performed.
In the case where it is determined that a termination notification has been sent from the outside or an error has occurred, the control section 10 functioning as the capturing control section 102 terminates the process.
The process of controlling the execution/stopping of capturing packets with the control section 10 is not limited to that shown in
For example, the notification of completion of capturing packets may be sent to the quality analyzing section 103 after the initialization notification has been sent to the packet capturing section 101. Further, the capturing time Tcap and the interval time Tint may be set by a method involving reading the number of discarded packets, storing whether or not a packet(s) has/have been discarded, and, before sending an execution notification, increasing/decreasing the capturing time Tcap and the interval time Tint in multiples or other units of unit times Td on the basis of the determination whether or not a packet(s) has/have been discarded.
In accordance with the processes shown in the operation flows of
Referring to a graph shown in part (a) of
Referring to part (a) of
However, the number of sessions exceeds the limit of processing capacity in time from t1 to t2 and in time from t3 to t4. As a result, packets are discarded.
The axis of abscissa in part (b) of
In time from t0 to t1 in part (b) of
In time from t1 to t2 in part (b) of
In time from t1 to t2 in part (b) of
Therefore, the control section 10 functioning as the capturing control section 102 determines that the load on the hardware resources of the communication-quality measuring apparatus 1 is heavy (YES in operation S207), shortens the capturing time Tcap by reducing the multiples of unit times Td, and elongates the interval time Tint by multiples or other units of unit times Td. Accordingly, a time in which the control section 10 captures no packets is generated.
In time from t2 to t3 in part (b) of
It is shown that the number of sessions in time from t3 to t4 in part (b) of
Therefore, the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 determines that the load on the hardware resources of the communication-quality measuring apparatus 1 is heavy (YES in operation S207), shortens the capturing time Tcap by multiples or other units of unit times Td, and elongates the interval time Tint in units of unit times Td. Accordingly, as in time from t1 to t2, the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the packet capturing section 101 intermittently captures packets.
Since the number of sessions in time from t3 to t4 in part (b) of
Therefore, the capturing control section 102 shortens the capturing time Tcap and elongates the interval time Tint further in time from t3 to t4 than in time from t1 to t2 and intermittently captures packets.
That is, although the control section 10 functioning as the capturing control section 102 has shortened the capturing time Tcap so that packets are intermittently captured since it has been determined that packets have been discarded, packets are still discarded in time from t3 to t4. Therefore, the capturing time Tcap is further shortened.
In time from t4 onward shown in
Therefore, the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the packet capturing section 101 intermittently captures packets, as in time from t3 to t4, and then captures all the packets.
That is, in time from t4 onward shown in part (b) of
As shown in
Next, using the function of the quality analyzing section 103, the control section 10 of the communication-quality measuring apparatus 1 analyzes the packets captured using the function of the packet capturing section 101 and accumulated in the packet accumulation area 121, and outputs information such as a packet loss rate or the like.
The control section 10 functioning as the quality analyzing section 103 performs initialization setting by substituting zeros for a packet-total counter Nvr indicating the total number of packets transferred over the packet exchange network and a lost-packet-total counter Nvl indicating the total number of packets lost in the packet exchange network (Nvr<-zero and Nvl<-zero) (operation S31).
Next, the control section 10 functioning as the quality analyzing section 103 determines whether or not a completion notification indicating completion of the capturing of packets has been received from the capturing control section 102 (operation S32).
In the case where the control section 10 functioning as the quality analyzing section 103 determines that no completion notification has been received (NO in operation S32), the flow returns to operation S32, and the quality analyzing section 103 enters standby until it is determined that a completion notification has been received.
In contrast, in the case where the control section 10 functioning as the quality analyzing section 103 determines that a completion notification has been received (YES in operation S32), the quality analyzing section 103 reads packets from the packet accumulation area 121 in units of RTP sessions (operation S33) and counts the number of packets nvr and the number of lost packets nvl (operation S34).
That is, the control section 10 functioning as the quality analyzing section 103 reads packets from the packet accumulation area 121 in units of RTP sessions, counts the number of packets by reading the sequence numbers that should be continuous from the RTP headers of the packets read, and counts the number of lost packets by detecting a gap in the sequence numbers that should be continuous.
The control section 10 functioning as the quality analyzing section 103 accumulates the number of packets nvr and the number of lost packets nvl counted in units of RTP sessions into the packet-total counter Nvr and the lost-packet-total counter Nvl (operation S35).
The control section 10 functioning as the quality analyzing section 103 determines whether or not packets of all the sessions corresponding to the packets accumulated in the packet accumulation area 121 have been read (operation S36).
In the case where the control section 10 functioning as the quality analyzing section 103 determines that packets of all the sessions have not been read (NO in operation S36), the flow returns to operation S33, and the quality analyzing section 103 repeats the operation of reading packets of the next RTP session, counting the number of packets nvr and the number of lost packets nvl, and accumulating these numbers into the corresponding counters Nvr and Nvl.
In contrast, in the case where the control section 10 functioning as the quality analyzing section 103 determines that packets of all the sessions have been read (YES in operation S36), the quality analyzing section 103 calculates a loss rate p and an error e on the basis of the accumulated packet-total counter Nvr and the lost-packet-total counter Nvl (operation S37).
The loss rate p in operation S37 can be calculated using the following equation (1).
The loss rate p calculated by the control section 10 in operation S37 is the loss rate with reference to the number of all the packets captured within the capturing time Tcap in each fundamental processing time Tu.
That is, every time the fundamental processing time Tu elapses, the quality analyzing section 103 calculates the loss rate p within that fundamental processing time Tu.
The quality analyzing section 103 can calculate the error e using, for example, the following equation (2) on the basis of a general method of calculating a statistical error in the case where samples (packets captured intermittently) are extracted from a population (all the packets).
After the control section 10 functioning as the quality analyzing section 103 has calculated the loss rate p and the error e, the flow returns to operation S31, and the quality analyzing section 103 calculates the loss rate p within the next fundamental processing time Tu.
In the first embodiment, the example in which the loss rate p is calculated in units of fundamental processing times Tu has been described. Alternatively, however, the loss rate in a plurality of cycles may be calculated.
Next, the control section 10 functioning as the quality analyzing section 103 outputs the calculated loss rate p and the error e in the loss rate p in association with each other to the display section 13.
The display section 13 displays the loss rate p and the error e output from the control section 10.
The control section 10 functioning as the analysis-result display section 104 displays, besides the loss rate p, the error e in the loss rate p in parentheses on the display section 13.
The display examples illustrated in
More specifically,
The loss rate p and the error e in the loss rate p are displayed on the screen of the display section 13, as illustrated in
Visibly recognizing that the value of the error e is not zero, the user determines that the capturing of packets is intermittently performed due to the insufficiency in the processing capacity. Further, the user can be informed of the error in the loss rate p by visibly recognizing the value of the error e. Therefore, the reliability of the value of the loss rate p becomes higher.
In the first embodiment, in the case where the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 determines that a packet(s) has/have been discarded in the packet capturing process, the capturing control section 102 shortens the capturing time Tcap within the fundamental processing time Tu in multiples or other units of unit times Td and elongates the interval time Tint in units of unit times Td.
In contrast, according to a second embodiment of the present invention described below, the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 calculates the number of bytes of voice data received in the fundamental processing time Tu on the basis of the number of packets captured in the fundamental processing time Tu and the packet length.
In the case where the control section 10 functioning as the capturing control section 102 determines that a packet(s) has/have been discarded in the packet capturing process, the capturing control section 102 sets the capturing time Tcap so that the calculated number of received bytes becomes closer to a predetermined value.
Since the hardware configuration of the communication-quality measuring apparatus 1 according to the second embodiment is similar to that of the first embodiment, a detailed description thereof is omitted.
In the second embodiment, the process of setting the capturing time Tcap and the interval time Tint using the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 is different from that in the first embodiment.
The process of setting the capturing time Tcap and the interval time Tint in the second embodiment will now be described using the same reference numerals as those in the first embodiment.
Of the process of controlling the execution/stopping of capturing packets according to the first embodiment, which is shown in
The control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 calculates the amount of data V received via the communication section 14 in the fundamental processing time Tu on the basis of the number of captured packets read and the packet length (bytes).
Further, the capturing control section 102 calculates a reception data rate S by dividing the calculated amount of data V by the fundamental processing time Tu (operation S401).
Next, the control section 10 functioning as the capturing control section 102 multiples a value (ratio) that is obtained by dividing a predetermined value Sc by the reception data rate S by the capturing time Tcap that has been set up to that time, thereby setting a new capturing time Tcap (Tcap<-Tcap*Sc/S) (operation S402).
Note that, if the calculated capturing time Tcap is larger than the fundamental processing time Tu, the capturing control section 102 sets the capturing time Tcap to the same value as the fundamental processing time Tu (Tcap<-Tu).
Next, the control section 10 functioning as the capturing control section 102 sets the interval time Tint to the difference between the new capturing time Tcap set in operation S402 and the fundamental processing time Tu (Tint<-Tu−Tcap) (operation S403).
The reason the control section 10 of the communication-quality measuring apparatus 1 according to the second embodiment sets the capturing time Tcap as in the processing in operation S402 will be described below.
The processing capacity of the communication-quality measuring apparatus 1 can also be represented in terms of the amount of data that can be received via the communication section 14 per unit time (e.g., one second), that is, the reception data rate S.
If the reception data rate S is close to the predetermined value Sc, the control section 10 is fully capable of capturing packets and analyzing accumulated packets.
According to the second embodiment, in order to maintain the reception data rate S in the capturing time Tcap that has been set up to a certain point close to the predetermined value Sc, the new capturing time Tcap is set by multiplying the ratio of the predetermined value Sc to the reception data rate S up to the certain point by the capturing time Tcap up to the certain point.
As shown in the operation flow of
Accordingly, the communication-quality measuring apparatus 1 according to the second embodiment can perform quality measurement in accordance with its processing capacity.
In the first embodiment, in the case where the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 determines that a packet(s) has/have been discarded in the packet capturing process performed by the packet capturing section 101, the capturing control section 102 shortens the capturing time Tcap for capturing packets in the fundamental processing time Tu in units of unit times Td and elongates the interval time Tint in units of unit times Td.
In the second embodiment, the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 sets the capturing time Tcap so that the reception data rate converges to a predetermined rate.
In contrast, according to a third embodiment of the present invention described below, in the case where the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 determines that a packet(s) has/have been discarded in the packet capturing process performed by the packet capturing section 101, the capturing control section 102 sets the capturing time Tcap so that the utilization of the hardware resources in the fundamental processing time Tu becomes closer to a predetermined value.
Since the hardware configuration of the communication-quality measuring apparatus 1 according to the third embodiment is similar to that of the first embodiment, a detailed description thereof is omitted.
In the third embodiment, the process of setting the capturing time Tcap and the interval time Tint using the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 is different from that in the first embodiment.
The process of setting the capturing time Tcap and the interval time Tint according to the third embodiment will now be described using the same reference numbers as those in the first and second embodiments.
Of the process of controlling the execution/stopping of capturing packets according to the first embodiment, which is shown in
The control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 obtains a central processing section (CPU) utilization W serving as the utilization of the hardware resources (operation S501).
Next, the control section 10 functioning as the capturing control section 102 multiplies a value (ratio) obtained by dividing a predetermined value Wc by the obtained “CPU utilization W” by the capturing time Tcap that has been set up to that time, thereby setting the product as a new capturing time Tcap (Tcap<-Tcap*Wc/W) (operation S502).
Note that, if the calculated capturing time Tcap is larger than the fundamental processing time Tu, the capturing control section 102 sets the capturing time Tcap to the same value as the fundamental processing time Tu (Tcap<-Tu).
Next, the control section 10 functioning as the capturing control section 102 sets the interval time Tint to the difference between the new capturing time Tcap set in operation S502 and the fundamental processing time Tu (Tint<-Tu−Tcap) (operation S503).
The reason the control section 10 of the communication-quality measuring apparatus 1 according to the third embodiment sets the capturing time Tcap as in the processing in operation S502 will be described below.
The processing capacity of the communication-quality measuring apparatus 1 can also be represented in terms of the CPU utilization of the measuring apparatus currently capturing packets and analyzing the quality.
If the CPU utilization W is close to the predetermined value Wc, the control section 10 is fully capable of capturing packets and analyzing accumulated packets.
According to the third embodiment, in order to maintain the CPU utilization W in the capturing time Tcap that has been set up to a certain point close to the predetermined value Wc, the new capturing time Tcap is set by multiplying the ratio of the predetermined value Wc to the CPU utilization W up to the certain point by the capturing time Tcap up to the certain point.
As shown in the operation flow of
Accordingly, the communication-quality measuring apparatus 1 according to the third embodiment can perform quality measurement in accordance with its processing capacity.
In the first to third embodiments, the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the capturing control section 102 determines whether or not a packet(s) has/have been discarded in the packet capturing process performed by the packet capturing section 101, thereby determining whether or not the amount of load on the hardware resources is larger than a predetermined value indicating a limit value.
However, the present invention is not limited to the foregoing embodiments, and the control section 10 functioning as the capturing control section 102 may obtain the CPU utilization or the utilization of the hardware resources of the communication-quality measuring apparatus 1, such as the amount of memory used, and determine whether or not the obtained utilization is larger than a predetermined value that has been set as the limit value.
Alternatively, the control section 10 functioning as the capturing control section 102 may calculate the number of bytes received per second, for example, on the basis of the number of packets captured in the fundamental processing time Tu and the packet length, and determine whether or not the number of bytes received per second exceeds a predetermined value that has been set as the processing limit value.
In any of the foregoing cases, if the utilization or the number of bytes received exceeds the corresponding predetermined value that has been set as the limit value, it can be determined that the amount of load on the hardware resources exceeds the processing capacity.
In the first to third embodiments, the example in which the control section 10 of the communication-quality measuring apparatus 1 calculates the error e in the packet loss rate p using equation (2) has been described.
However, the method of calculating the error e in the loss rate p is not limited to equation (2).
For example, for the number of packets nvr and the number of lost packets nvl counted in units of RTP sessions, if a packet(s) has/have been discarded by the packet capturing section 101, the discarded packet(s) is/are counted as a packet(s) lost in the packet exchange network. The number of packets nvr counted in units of RTP sessions is accumulated into the packet-total counter Nvr.
Therefore, the number of packets nvr and the number of lost packets nvl counted as above can be regarded as lacking in accuracy according to the ratio of the number of discarded packets to the sum of the number of packets and the number of discarded packets.
An error in the number of captured packets may be calculated on the basis of the number of captured packets and the number of discarded packets counted by the packet capturing section 101, and an error e′ in a loss rate p taking into consideration the error in the number of captured packets may be calculated.
In the first to third embodiments, the control section 10 included in the communication-quality measuring apparatus 1 performs the process of initializing the number of captured packets and the number of discarded packets using the packet capturing section 101 and the process of setting the capturing time and the interval time using the capturing control section 102 every time the fundamental processing time Tu elapses.
However, the first to third embodiments according to the present invention are not limited to the foregoing case.
That is, initialization of the number of captured packets and the number of discarded packets using the control section 10 included in the communication-quality measuring apparatus 1 and functioning as the packet capturing section 101 may not be performed until an initialization notification is received from the capturing control section 102 after the execution/stopping of capturing is repeated a few times in the course of a few cycles.
In this case, the control section 10 functioning as the capturing control section 102 determines whether or not a packet(s) has/have been discarded on the basis of the number of captured packets and the number of discarded packets within a few cycles and sets the capturing time and the interval time.
That is, instead of setting the capturing time and the interval time every time, the amount of load placed on the hardware resources may be determined in units of predetermined times serving as a few cycles of the fundamental processing time Tu.
In the first to third embodiments, the communication-quality measuring apparatus 1 includes the display section 13, and the control section 10 outputs an image of the packet loss rate and the error to the display section 13.
However, the first to third embodiments according to the present invention are not limited to the foregoing case.
That is, the communication-quality measuring apparatus 1 may not necessarily include the display section 13.
For example, in the case where the communication-quality measuring apparatus 1 is connected via a communication line to another information processing apparatus, such as a personal computer (PC) or the like, the PC or the like connected to the communication-quality measuring apparatus 1 may obtain information regarding the packet loss rate and the error output from the control section 10 of the communication-quality measuring apparatus 1 and display the obtained packet loss rate and the error on a liquid crystal monitor or the like connected to the PC or the like.
In this case, the user can request the communication-quality measuring apparatus 1 to start measuring the quality by entering a command through a text input interface of the information processing apparatus.
Upon receipt of the request to start measuring the quality, the control section 10 included in the communication-quality measuring apparatus 1 captures packets, counts the number of packets, calculates a packet loss rate and an error, and outputs the packet loss rate and the error to the information processing apparatus in accordance with the processes shown in the operation flows of
According to the aforementioned first embodiment, explanation is given for an example in which when the control section 10 of the communication-quality measuring apparatus 1 determines among the packets captured by the packet capturing section 101, any discarded packet that has not been accumulated, the capturing time Tcap of the fundamental processing time Tu for capturing the packets is shortened in the unit of the unit time Td, and the interval time Tint is elongated in the unit of the unit time Td. Also, according to the second embodiment, explanation is given for an example in which the capturing time Tcap is set so that the reception data rate is close to a predetermined rate. Further, according to the third embodiment, explanation is given for an example in which when the control section 10 of the communication-quality measuring apparatus 1 determines among the packets captured by the packet capturing section 101, any discarded packet that has not been accumulated, the capturing time Tcap is set so that the utilization W of the hardware resources in the fundamental processing time Tu becomes closer to a predetermined value Wc. However, the present invention is not limited thereto, and for example, irrespective of the fundamental processing time Tu, under the control of the control section 10 of the communication-quality measuring apparatus 1, capture of the packets may be reset to a capturing state or an interval state according to whether or not the utilization W of the hardware resources is greater than the predetermined value. Thus, by omitting the setting process of the time in which the capturing time Tcap and the interval time Tint are elongated/shortened, the load of the processing of the control section 10 of the communication-quality measuring apparatus 1 can be further reduced, thus making it possible to suppress generation of the discarded packet that has not been accumulated. The contents thereof will be described in the fourth embodiment.
When the control section 10 of the communication-quality measuring apparatus 1 according to the fourth embodiment functions as the packet capturing section 101, capture of the packets is executed or stopped, according to an instruction from the capturing control section 102. That is, the control section 10 intermittently captures the packets, while repeating the capturing time, being the capturing state of packet capture, and the interval time, being the interval state. A state of packet sampling showing the capturing state or the interval state of capturing the packets is stored in the temporary memory 12, and is suitably referenced by the control section 10.
Note that the other structure and action of the communication-quality measuring apparatus 1 according to the fourth embodiment are the same as those of the communication-quality measuring apparatus 1 according to the first to third embodiments, and therefore the same signs and numeral are assigned to the corresponding parts, and the description thereof will be omitted.
In addition, the communication-quality measuring apparatus 1 according to the fourth embodiment is different from that of the first embodiment in capturing control processing (see
When the control section 10 of the communication-quality measuring apparatus 1 functions as the capturing control section 102, it performs initialization of variables necessary for processing (S601). For example, the control section 10 performs initialization setting for setting the number of accumulated packets stored in the temporary memory 12 at 0.
The control section 10 starts capturing of the packets, with a packet sampling state stored in the temporary memory 12 set in the capturing state of the packets (S602). The control section 10 at this time functions as the packet capturing section 101, and this time is always treated as the capturing time Tcap.
Note that the present invention is not limited thereto, and for example, the control section 10 may output an instruction of changing the setting, to the setting section having a flag for setting the packet capture at on/off performed by the packet capturing section 101.
Also, the control section 10, having a switching function of only setting capture at on/off, may execute the processing of suitably setting the capture at on. In this case, the setting section is omitted in the communication-quality measuring apparatus 1.
The control section 10 outputs a notice of execution to the packet capturing section 101 (S603), and gives instruction of capturing the packets.
The control section 10 detects among the packets captured by the packet capturing section 101, any discarded packet that has not been accumulated (S604), and when the discarded packets can not be detected (NO in operation S604), the control section determines whether or not the number of accumulated packets stored in the packet accumulation area 121 is greater than the first predetermined value (showing an upper limit value of the number of accumulated packets in this case. The same thing can be said hereinafter) (S605).
When the control section 10 determines that the number of accumulated packets is less than or equal to the first predetermined value as a result (NO in S605), the control section 10 outputs to the packet capturing section 101 the notice of accumulation, indicating that the captured packets should be stored in the packet capturing area 121 (S606). That is, under the control of the control section 10, the capturing state is continued, because it is so considered that the load on the hardware resources is small.
Under the control of the control section 10, the processing is returned to operation S604, and the processing from operation S602 to operation S606 is repeated.
On the other hand, when the control section 10 detects the discarded packets, in the operation S604 (YES In S604), the packet sampling state stored in the temporary memory 12 is set in the interval state of the packets (S607). That is, under the control of the control section 10, the packet sampling state is reset to the interval state, because it is so considered that, irrespective of the number of accumulated packets, the load on the hardware resources is heavy.
The control section 10 outputs the notice of interval to the packet capturing section 101 (S608), and capture of the packets is stopped. Under the control of the control section 10, this time is always treated as the interval time Tint by the packet capturing section 101.
Note that the present invention is not limited thereto, and for example, the control section 10 may output the instruction of changing the setting, to the setting section having the flag for setting the packet capture at on/off performed by the packet capturing section 101. In addition, the control section 10, having the switching function of simply setting the capture at on/off, may only execute the processing of suitably setting the capture at off. In this case, the setting section is omitted in the communication-quality measuring apparatus 1.
The control section 10 determines whether or not a predetermined time is elapsed for executing quality analysis processing (S609), and when it is determined that the predetermined time is not elapsed (NO in S609), the processing is returned to operation S609 itself, and this processing is repeated. That is, during the predetermined time, the control section 10 temporarily stops the packet capturing section 101 and the capturing control section 102, then reads the packets stored in the packet accumulation area 121 as the quality analysis section 103, so that the read packets are subjected to the quality analysis processing regarding a stream quality such as VoIP. The number of accumulated packets stored in the packet accumulation area 121 is reduced according to a progress of the quality analysis processing.
On the other hand, when it is determined that the predetermined time is elapsed (YES in S609), the control section 10 determines whether or not the number of accumulated packets stored in the packet accumulation area 121 is less than or equal to a second predetermined value (showing a lower limit value of the number of accumulated packets in this case. The same thing can be said hereinafter.) (S610).
When it is determined that the number of accumulated packets is greater than the second predetermined value as a result (NO in S610), under the control of the control section 10, the processing is returned to operation S609, and this processing is repeated. That is, under the control of the control section 10, the interval state is continued, because it is so considered that the load on the hardware resources is heavy.
On the other hand, when it is determined that the number of accumulated packets is less than or equal to the second predetermined value (YES in S610), under the control of the control section 10, the processing is returned to operation S602, and this processing is repeated. That is, the control section 10 resets the capture of the packets to the capturing state, because it is so considered that the load on the hardware resources is small.
Thus, by repeating the processing from operation S602 to operation S610, the control section 10 actively resets the capture of the packets to the capturing state or the interval state.
When it is determined that the notice of completion is received from outside, the control section 10 outputs the received notice of completion to the quality analysis section 103, and further outputs the notice of initialization to the packet capturing section 101.
Meanwhile, when it is determined that the number of accumulated packets is greater than the first predetermined value in operation S605 (YES in S605), under the control of the control section 10, the packet sampling state stored in the temporary memory area 12 is set in the interval state of the packets (S607). That is, the control section 10 resets the capture of the packets to the interval state, because it is so considered that the load on the hardware resources is heavy.
The processing after operation S607 is the same as the processing of the aforementioned operations.
Thus, the communication-quality measuring apparatus 1 according to the present invention determines whether or not the load on the hardware resources is greater than the predetermined value, from the number of accumulated packets stored in the temporary memory 12, and by resetting the capture of the packets to the capturing state or the interval state, measurement accuracy can be maintained as much as possible, even in a case of an inexpensive communication-quality measuring apparatus with small number of accumulated packets stored in the temporary memory 12.
According to the aforementioned fourth embodiment, the description is given for an example in which by comparing the number of accumulated packets stored in the temporary memory 12 and the predetermined value, the control section 10 of the communication-quality measuring apparatus 1 determines whether or not the load on the hardware resources is greater than the predetermined value, and the capture of the packets is reset to the capturing state or the interval state. However, the present invention is not limited thereto, and it may also be preferable that by comparing the number of captured packets captured in the latest unit time and the predetermined value, the control section 10 determines whether or not the load on the hardware resources is greater than the predetermined value and resets the capture of the packets to the capturing state or the interval state. In a fifth embodiment, only different point from the fourth embodiment will be described.
The control section 10 of the communication-quality measuring apparatus 1 according to the fifth embodiment counts the latest unit time and counts the number of captured packets captured per unit time thus counted, and determines whether or not the counted number of captured packets is greater than the first predetermined value (showing the upper limit of the number of captured packets in this case. The same thing can be said hereinafter) (see operation S605 of
When the control section 10 determines that the number of captured packets is less than or equal to the first predetermined value as a result (see NO in operation S605 of
On the other hand, when it is determined that the number of captured packets is greater than the first predetermined value (see YES in operation S605 of
Also, the control section 10 determines whether or not the number of captured packets is less than or equal to the second predetermined value (showing the lower limit of the number of captured packets in this case. The same thing can be said hereinafter.) (see operation S610 of
When the control section 10 determines that the number of captured packets is greater than the second predetermined value as a result (see NO in operation S610 of
On the other hand, when the control section 10 determines that the number of captured packets is less than or equal to the second predetermined value (see YES in operation S610 of
Note that the other structure and action of the communication-quality measuring apparatus 1 according to the fifth embodiment are the same as those of the communication-quality measuring apparatus 1 according to the fourth embodiment, and therefore the same signs and numerals are assigned to the corresponding parts, and the description thereof will be omitted. Also, the processing procedure executed by the control section 10 of the communication-quality measuring apparatus 1 according to the fifth embodiment is the same as the processing procedure executed by the control section 10 of the communication-quality measuring apparatus 1 according to the fourth embodiment, and therefore the same signs and numerals are assigned to the corresponding parts, and the description thereof will be omitted.
Thus, the communication-quality measuring apparatus 1 according to the present invention determines whether or not the load on the hardware resources is greater than the predetermined value, from the number of captured packets stored in the temporary memory 12, and by resetting the capture of the packets to the capturing state or the interval state, measurement accuracy can be maintained as much as possible, even in a case of an inexpensive communication-quality measuring apparatus with low processing capability of CPU.
According to the aforementioned fourth embodiment, for example by comparing the number of accumulated packets stored in the temporary memory 12 and the predetermined value by the control section 10 of the communication-quality measuring apparatus 1, whether or not the load on the hardware resources is greater than the predetermined value is determined from the number of accumulated packets stored in the temporary memory 12, and the capture of the packets is reset to the capturing state or the interval state. In addition, according to the fifth embodiment, for example, by comparing the number of captured packets received in the latest unit time and the predetermined value, whether or not the load on the hardware resources is greater than the predetermined value is determined and the capture of the packets is reset to the capturing state or the interval state. However, the present invention is not limited thereto, and for example, it may also be preferable that by comparing the utilization of the hardware resources in the latest certain period and the predetermined value, the capture of the packets is reset to the capturing state or the interval state. In a sixth embodiment, only different point from the fourth embodiment will be described.
The control section 10 of the communication-quality measuring apparatus 1 according to the sixth embodiment counts the latest certain period, then obtains the utilization of the hardware resources of the CPU in the counted certain period, and determines whether or not the utilization of the obtained hardware resources is greater than the first predetermined value (showing the upper limit of the utilization of the hardware resources in this case, and the same thing can be said hereinafter) (see operation S605 of
When the control section 10 determines that the utilization of the hardware resources is less than or equal to the first predetermined value as a result (see NO in S605), the control section 10 outputs to the packet capturing section 101 the notice of accumulation indicating that the captured packets should be stored in the packet capturing area 121 (see operation S606 of
On the other hand, when the control section 10 determines that the utilization of the hardware resources is greater than the first predetermined value (see YES in operation S605 of
Also, the control section 10 determines whether or not the utilization of the hardware resources is less than or equal to the second predetermined value (showing the lower limit of the utilization of the hardware resources in this case, and the same thing can be said hereinafter) (see operation S610 of
When it is determined that the utilization of the hardware resources is greater than the second predetermined value as a result (see NO in operation S610 of
On the other hand, when it is so determined that the utilization of the hardware resources is less than or equal to the second predetermined value (see YES in S605), under the control of the control section 10, the processing is returned to the procedure corresponding to operation S602 of
Note that the other structure and action of the communication-quality measuring apparatus 1 according to the sixth embodiment is the same as those of the communication-quality measuring apparatus 1 according to the fourth embodiment, and the same signs and numerals are assigned to the corresponding parts, and the description thereof will be omitted. Also, the processing procedure executed by the control section 10 of the communication-quality measuring apparatus 1 according to the sixth embodiment is the same as the processing procedure executed by the control section 10 of the communication-quality measuring apparatus 1 according to the fourth embodiment, and therefore the same signs and numerals are assigned to the corresponding parts and the description thereof will be omitted.
Thus, the communication-quality measuring apparatus 1 according to the present invention determines whether or not the utilization of the hardware resources of CPU is greater than the predetermined value, and by resetting the capture of the packets to the capturing state or the interval state, the measurement accuracy can be maintained as much as possible, even in a case of an inexpensive communication-quality measuring apparatus with low processing capability of CPU.
In the aforementioned fourth to sixth embodiments, irrespective of the fundamental processing time Tu, the communication-quality measuring apparatus 1 resets the capture of the packets to the capturing time Tcap or the interval time Tint (see
In addition, when it is determined that the utilization W of the hardware resources is greater than the first predetermined value, the communication-quality measuring apparatus 1 resets the capture of the packets to the interval state, and when it is determined that the utilization W of the hardware resources is less than or equal to the second predetermined value, the capture of the packets is reset to the capturing state (see
Note that in the aforementioned fourth to sixth embodiments, description is given for an example using the first predetermined value and the second predetermined value different from the first predetermined value. However, the present invention is not limited thereto, and for example, it is possible to use the same first predetermined value and the second predetermined value or in other words, it is also possible not to use the upper limit value and the lower limit value.
As this description may be embodied in several forms without departing from the spirit of essential characteristics thereof, the present embodiment is therefore illustrative and not restrictive, since scope of the description which seeks for protection is defined by the appended claims rather than by description preceding them, and all changes that fall within metes and bounds of the claims, or equivalence of such metes and bounds thereof are therefore intended to be embraced by the claims.
Number | Date | Country | Kind |
---|---|---|---|
2007-026091 | Feb 2007 | JP | national |
2008-014110 | Jan 2008 | JP | national |
This application is continuation-in-part of U.S. patent application Ser. No. 12/024,544 filed on Feb. 1, 2008 and claims priority under 35 U.S.C. §§119(a) on Patent Applications Nos. 2008-014110 and 2007-026091 in Japan on Jan. 24, 2008 and Feb. 5, 2007, respectively, the entire contents of which are hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 12024544 | Feb 2008 | US |
Child | 12185529 | US |