Jitter / latency measurement device and jitter / latency measurement method

JP2025021949AActive Publication Date: 2025-02-14NTT ADVANCED TECH CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023126077
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-02
Publication Date
2025-02-14
Estimated Expiration
2043-08-02

AI Technical Summary

Benefits of technology

【0010】 本発明により、クラウドサービス等の任意のトラフィックのジッタ及びレイテンシを計測することが可能である。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025021949000001_ABST
    Figure 2025021949000001_ABST
Patent Text Reader

Abstract

To provide a jitter / latency measurement device that can measure a jitter and a latency of an optional traffic such as a cloud service, and provide a jitter / latency measurement method.SOLUTION: A jitter / latency measurement device comprises: a packet header analysis part that extracts field information and a sequence number from a header of a packet, and acquires a payload of the packet; a rule matching part that searches a rule to be adopted from a rule table; a time stamp acquisition part that acquires a time stamp value in the case of determining acquisition of the time stamp value; a storage part that stores the field information, the sequence number, and the payload so as to be corresponded to the time stamp value; and a time difference calculation part that calculates at least one of a jitter and a latency of a traffic on the basis of the field information, the sequence number, and the payload corresponded to the time stamp value.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a jitter / latency measurement device and a jitter / latency measurement method. [Background technology]

[0002] Traffic measurement is becoming increasingly important to provide stable cloud services. For example, in video distribution services, the jitter and latency of video traffic affect video quality. For this reason, there is a demand to measure the jitter and latency of video traffic.

[0003] ICMP (Internet Control Message Protocol) packets are sometimes used to measure jitter and latency (see Non-Patent Document 1). One of the most well-known measurement methods is the "ping" command. By using the "ping" command, it is possible to measure jitter and latency between communication devices that transmit and receive ICMP packets. In addition, in Patent Document 1, a measurement signal pattern inserted into a transmission line is measured, thereby measuring the latency between two points with high accuracy. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Publication No. 07-198874 [Non-patent literature]

[0005] [Non-Patent Document 1] J. Postel, “INTERNET CONTROL MESSAGE PROTOCOL”, [online], RFC792, September 1981, [Retrieved July 11, 2023], Internet<URL: https: / / datatracker.ietf.org / doc / html / rfc792> Summary of the Invention [Problem to be solved by the invention]

[0006] It is possible to evaluate the state of a network by measuring the jitter and latency of traffic using ICMP packets or a measurement signal pattern. However, when ICMP packets or a measurement signal pattern are used, the traffic of cloud services is not included in the measurement. Therefore, the quality of cloud services can only be evaluated indirectly. Thus, there is a problem in that the jitter and latency of any traffic such as cloud services cannot be measured.

[0007] In view of the above circumstances, an object of the present invention is to provide a jitter / latency measurement device and a jitter / latency measurement method that are capable of measuring the jitter and latency of any traffic such as a cloud service. [Means for solving the problem]

[0008] One aspect of the present invention is a jitter / latency measurement device comprising: a packet header analysis unit that extracts field information and a sequence number, which are information used to identify traffic, from a packet header and acquires the payload of the packet; a rule matching unit that searches a rule table in which rules for each of the traffic are registered for a rule that matches the extracted field information; a timestamp acquisition unit that determines for each of the packets whether or not to acquire a timestamp value synchronized with a system time based on whether or not the number of the matching rule is a predetermined registration number, and acquires the timestamp value if it is determined that the timestamp value should be acquired; a memory unit that stores the field information, the sequence number, and the payload in correspondence with the timestamp value; and a time difference calculation unit that calculates at least one of the jitter and latency of the traffic based on the field information, the sequence number, and the payload associated with the timestamp value.

[0009] One aspect of the present invention is a jitter / latency measurement method executed by the above-mentioned jitter / latency measurement device, the jitter / latency measurement method including the steps of: extracting field information, which is information used to identify traffic, and a sequence number from a packet header, and acquiring the payload of the packet; searching for a rule that matches the extracted field information from a rule table in which rules for each of the traffic are registered; determining for each of the packets whether or not to acquire a timestamp value synchronized with a system time based on whether or not the number of the matching rule is a predetermined registration number, and acquiring the timestamp value if it is determined that the timestamp value should be acquired; storing the field information, the sequence number, and the payload in association with the timestamp value; and calculating at least one of the jitter and the latency of the traffic based on the field information, the sequence number, and the payload associated with the timestamp value. Effect of the Invention

[0010] According to the present invention, it is possible to measure the jitter and latency of any traffic such as a cloud service. [Brief description of the drawings]

[0011] [Figure 1] 1 is a diagram illustrating an example of the configuration of a jitter / latency measuring device in a first embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of the configuration of a time stamp acquisition unit in the first embodiment. [Diagram 3] FIG. 11 is a diagram showing a process in which a system time holding unit corrects a time stamp in the first embodiment. [Figure 4] FIG. 11 is a diagram illustrating a time synchronization process between a system time holding unit and a time stamp acquisition unit in the first embodiment. [Diagram 5]FIG. 11 is a diagram showing data recorded in storage unit 15 by a first processing procedure of a time stamp acquisition unit and a method of calculating jitter in the first embodiment. [Figure 6] FIG. 11 is a diagram showing data recorded in storage unit 15 by a second processing procedure of the time stamp acquisition unit and a method of calculating jitter in the first embodiment. [Figure 7] FIG. 11 is a diagram showing data recorded in storage unit 15 by a third processing procedure of the time stamp acquisition unit and a method of calculating latency in the first embodiment. [Figure 8] FIG. 11 is a diagram showing data recorded in storage unit 15 by a fourth processing procedure of the time stamp acquisition unit and a method of calculating latency in the first embodiment. [Figure 9] 5 is a flowchart showing a procedure for the jitter / latency measurement device to calculate jitter and latency in the first embodiment. [Figure 10] 6 is a flowchart showing a first processing procedure of a time stamp acquiring unit in the first embodiment. [Figure 11] 13 is a flowchart showing a second processing procedure of the time stamp acquiring unit in the first embodiment. [Figure 12] 13 is a flowchart showing a third processing procedure of the time stamp acquiring unit in the first embodiment. [Figure 13] 13 is a flowchart showing a fourth processing procedure of the time stamp acquiring unit in the first embodiment. [Figure 14] FIG. 11 is a diagram illustrating an example of a configuration for measuring jitter and latency between two points in the second embodiment. [Figure 15] FIG. 11 is a diagram illustrating a method of calculating latency when two jitter / latency measurement devices are used in the second embodiment. [Figure 16] FIG. 13 is a diagram illustrating an example of a configuration for measuring jitter and latency between two points in the third embodiment. [Figure 17] FIG. 13 is a diagram illustrating an example of a configuration for measuring jitter and latency among three points in a fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described in detail with reference to the drawings. (First embodiment) 1 is a diagram showing an example of the configuration of a jitter / latency measurement device 10 in the first embodiment. The jitter / latency measurement device 10 includes a packet receiving unit 11, a packet header analyzing unit 12, a rule matching unit 13, a time stamp acquiring unit 14, a storage unit 15, a time difference calculating unit 16, a rule registering unit 17, a system time holding unit 18, and a data transmitting unit 19. Note that the time difference calculating unit 16 may be provided outside the jitter / latency measurement device 10 (in a time difference calculating device).

[0013] Each functional unit of the jitter / latency measurement device 10 can be realized by a processor such as a CPU (Central Processing Unit) executing software (programs). At least one of the functional units may be implemented using hardware such as an ASIC (Application Specific Integrated Circuit) and an FPGA (Field-Programmable Gate Array). When at least a part of the functional units is implemented using hardware, the jitter / latency measurement device 10 can perform measurement processing at high speed, and is therefore suitable for measuring jitter and latency of traffic in a high-speed broadband network.

[0014] The packet receiving unit 11 receives a packet transmitted through the network 100. The packet header analyzing unit 12 acquires the packet transmitted through the network 100 from the packet receiving unit 11. The packet header analyzing unit 12 analyzes the header of the acquired packet to extract one or more pieces of field information from the packet. Field information is information used to identify traffic. The extracted field information is not limited to field information based on a specific standard, but may be, for example, a source IP (Internet Protocol) address, a destination IP address, a source port number, a destination port number, a protocol number, or a "VLAN ID" (Virtual Local Area Network identifier).

[0015] If a sequence number exists in the header of a packet, the packet header analysis unit 12 extracts the sequence number from the header of the packet. The sequence number is, for example, a number based on a protocol such as the Real-time Transport Protocol (RTP). The packet header analysis unit 12 may also extract a part of the payload from the payload of the packet. Each of the sequence number and the payload is used to determine whether or not to obtain a timestamp value.

[0016] The rule matching unit 13 identifies the traffic of the network 100 by performing rule matching. That is, the rule matching unit 13 compares (collates) the extracted field information with a predetermined rule table. Based on the comparison result, the rule matching unit 13 searches the rule table for a rule (rule number) that matches the extracted field information (traffic of the network 100).

[0017] The timestamp acquiring unit 14 determines whether or not to acquire a timestamp value for each acquired packet. A method for determining whether or not to acquire a timestamp value will be described later. The timestamp acquiring unit 14 also determines whether or not a specific condition is satisfied. If the specific condition is satisfied, the timestamp acquiring unit 14 records the payload (hash value) in the storage unit 15 in association with the timestamp value and the sequence number.

[0018] The time difference calculation unit 16 calculates at least one of the jitter and latency of the traffic based on the time stamp value and the sequence number stored in the storage unit 15. When the time difference calculation unit 16 is provided outside the jitter / latency measurement apparatus 10, the data transmission unit 19 transfers the time stamp value and the sequence number stored in the storage unit 15 to the time difference calculation unit 16. The method of calculating the jitter and latency will be described later.

[0019] The rule registration unit 17 registers a rule table in which rules for each traffic are registered, in the rule matching unit 13 and the time stamp acquisition unit 14. The rules are created in advance to correspond to the traffic. For example, a rule for a five-element set (tuple) of a source IP address, a destination IP address, a source port number, a destination port number, and a protocol number is created in advance for each traffic of the non-virtualized network 100.

[0020] The system time holding unit 18 corrects the discrepancy between the slave time of the time stamp acquisition unit 14 and the system time (master time). If a discrepancy of a certain amount or more is detected, the system time holding unit 18 corrects the slave time. The system time holding unit 18 also periodically corrects the system time of the system time holding unit 18 by communicating with an NTP (Network Time Protocol) server and a PTP (Precision Time Protocol) server. This makes it possible to measure latency with high accuracy even when multiple jitter / latency measurement devices 10 are used for measurement.

[0021] 2 is a diagram showing an example of the configuration of the time stamp acquisition unit 14 in the first embodiment. The time stamp acquisition unit 14 includes a hash calculation unit 20, time counters 22a-22b, remainder calculation units 21a-21b, acquisition determination units 23a-23b, a time synchronization unit 24, and an interval timer unit 25. The storage unit 15 includes time stamp memories 26a-26b, sequence number memories 27a-27b, and payload memories 28a-28b.

[0022] The hash calculation unit 20 executes a calculation process of a predetermined algorithm (for example, MurmurHash) on the payload input from the rule matching unit 13. In this way, the hash calculation unit 20 calculates a hash value based on the payload.

[0023] The information on the payload of a packet is used to confirm the identity of the packet. Therefore, by confirming the identity of a packet using a long payload, the accuracy of the confirmation of identity can be improved. However, when a long payload is stored in the storage unit 15, there is a problem that a large amount of memory resources is consumed. The hash calculation unit 20 solves this problem. That is, by converting a long payload into a small hash value by a hash calculation, the required memory resources can be reduced.

[0024] The remainder calculation units 21a to 21b use a predetermined divisor to calculate the remainder of the sequence number input from the rule matching unit 13. The range of the remainder is changed according to the predetermined divisor, thereby controlling the number of acquired timestamp values.

[0025] The time counters 22a to 22b count each timestamp. The acquisition determination units 23a to 23b update each counted timestamp (each timestamp value) based on the slave time after performing the acquisition determination. The timestamp acquisition unit 14 includes multiple time counters (time counters 22a to 22b) so that the timestamp value before the update and the timestamp value after the update are not mixed. This makes it possible to reduce the possibility that the calculation accuracy of jitter and latency will decrease. The accuracy of the timestamp is, for example, nanosecond accuracy. This makes it possible to reduce the timestamp value stored in the storage unit 15, thereby saving memory resources.

[0026] The acquisition determination units 23a to 23b receive a rule number from the rule matching unit 13. The acquisition determination units 23a to 23b receive a remainder from the remainder calculation units 21a to 21b. The acquisition determination units 23a to 23b may receive a sequence number from the remainder calculation units 21a to 21b. The acquisition determination units 23a to 23b receive a hash value from the hash calculation unit 20. The acquisition determination units 23a to 23b may receive a periodic signal from the interval timer unit 25.

[0027] The acquisition determination units 23a-23b determine whether or not to acquire a timestamp value of a received packet based on the rule number, the remainder, the hash value, and the sequence number. The acquisition determination units 23a-23b may determine whether or not to acquire a timestamp value of a received packet based on the rule number, the remainder, the hash value, and a periodic signal indicating a packet reception period. Note that the determination method executed by the acquisition determination unit 23a may be different from the determination method executed by the acquisition determination unit 23b.

[0028] When it is determined that the timestamp value of the received packet is to be acquired, the acquisition determination units 23a to 23b acquire the timestamp value used for measuring at least one of the jitter and the latency from the time counters 22a to 22b.

[0029] When the acquisition determination units 23a-23b determine that the timestamp value of the received packet has been acquired, the acquisition determination units 23a-23b record the timestamp value in the timestamp memories 26a-26b. The acquisition determination units 23a-23b record the sequence number associated with the timestamp value in the sequence number memories 27a-27b. The acquisition determination units 23a-23b store the hash value associated with the timestamp value. In addition, the acquisition determination units 23a-23b record the hash value associated with the timestamp value in the payload memories 28a-28b.

[0030] The time synchronizer 24 manages the slave time in the jitter / latency measurement device 10. The time synchronizer 24 receives information on the system time (master time) from the system time holding unit 18. The time synchronizer 24 corrects the slave time based on the system time so as to correct communication delays. When requested by the time counters 22a to 22b, the time synchronizer 24 outputs information on the slave time synchronized with the system time to the time counters 22a to 22b.

[0031] The interval timer unit 25 counts time and outputs a periodic signal to the acquisition determination units 23a to 23b at a predetermined period (time interval).

[0032] By arranging the functional units including the remainder calculation unit 21a, the time counter 22a, the acquisition determination unit 23a, the time stamp memory 26a, the sequence number memory 27a, and the payload memory 28a in parallel, it is possible to acquire time stamps for traffic at more points. In other words, the time difference calculation unit 16 can simultaneously measure the jitter and latency of traffic at more points.

[0033] 3 is a diagram showing the process in which the system time holding unit 18 corrects the time stamp in the first embodiment. The system time holding unit 18 acquires the system time "t0" from, for example, an NTP server. The system time holding unit 18 acquires the time stamp "t1" from the time synchronization unit 24. The system time holding unit 18 acquires the system time "t2" from, for example, an NTP server. In this case, the time stamp "t1" is expressed as in equation (1).

[0034]

number

[0035] Here, "Δt" represents a communication delay between the system time holding unit 18 and the time synchronization unit 24. The time synchronization unit 24 outputs a highly accurate time stamp to the time counters 22a to 22b based on the system time input from the system time holding unit 18 and equation (1).

[0036] 4 is a diagram showing time synchronization processing between the system time holding unit 18 and the time stamp acquisition unit 14 in the first embodiment. The system time holding unit 18 corrects the time stamp time (time stamp value) of the time stamp acquisition unit 14. The system time holding unit 18 corrects the time stamp time of the time stamp acquisition unit 14 when the time stamp time of the time stamp acquisition unit 14 differs from the system time by a certain amount or more.

[0037] Here, the system time holding unit 18 outputs the system time to the time synchronization unit 24. However, due to communication delays, the time when the system time holding unit 18 transmits the system time differs from the time when the time synchronization unit 24 receives the system time. Therefore, the time synchronization unit 24 corrects the system time received from the system time holding unit 18.

[0038] For example, the system time holding unit 18 outputs system time "t0" (first system time) to the time synchronization unit 24. The time synchronization unit 24 starts measuring the elapsed time from the time "t0'" when the first system time was received. The system time holding unit 18 outputs system time "t1" (second system time) to the time synchronization unit 24. The time synchronization unit 24 determines the elapsed time "T" until the time when the second system time is received. The communication delay "Δt" between the system time holding unit 18 and the time synchronization unit 24 is expressed as in equation (2).

[0039]

number

[0040] The time synchronization unit 24 corrects the time "t0'" (the first time stamp time) when the first system time is received, using the calculated communication delay "Δt". This allows the time stamp time to be synchronized with the system time with high accuracy.

[0041] FIG. 5 is a diagram showing data recorded in the storage unit 15 by the first processing procedure of the time stamp acquisition unit 14 and a method of calculating jitter in the first embodiment. In FIG. 5, the divisor of the remainder operation is 100 as an example. In FIG. 5, the storage unit 15 stores the data acquisition time (the time when the time difference calculation unit 16 acquires the data from the storage unit 15), a sequence number of a "multiple of 100" or a "multiple of 100+1", and a time stamp value in association with each other. The smaller the divisor, the more the number of time stamp values ​​that can be stored in the data table can be increased. However, the more the number of time stamp values, the greater the load on the time difference calculation unit 16. For this reason, it is necessary to determine an appropriate divisor in advance.

[0042] The time difference calculation unit 16 searches for two consecutive sequence numbers in the data table illustrated in FIG. 5. The time difference calculation unit 16 calculates the absolute difference between the timestamp values ​​associated with the two detected sequence numbers as the traffic jitter. For example, the time difference calculation unit 16 searches for sequence numbers "100" and "101" in the data table illustrated in FIG. 5. The time difference calculation unit 16 calculates the absolute difference "|t4-t3|" between the timestamp values ​​associated with the two detected sequence numbers as the traffic jitter.

[0043] Since the jitter is often less than a second, two consecutive sequence numbers are often close to each other in the data table. Therefore, the time difference calculation unit 16 rarely searches a wide range in the data table. Therefore, the time difference calculation unit 16 records the time when the time difference calculation unit 16 acquired data from the storage unit 15 in the "data acquisition time" column of the data table illustrated in FIG. 5 in association with the sequence number and the time stamp value. The time difference calculation unit 16 determines the search range for two consecutive sequence numbers in the data table based on the recorded data acquisition time. This allows the time difference calculation unit 16 to calculate the jitter of the packets even if the packet acquisition order is reversed with respect to the packet transmission order.

[0044] 5, the time difference calculation unit 16 excludes, for example, the sequence numbers associated with data acquired from the storage unit 15 at time "t-α" earlier than time "t" from the search range. The time difference calculation unit 16 determines the sequence numbers associated with data acquired from the storage unit 15 at time "t" as the search range.

[0045] If a packet loss occurs and there is no sequence number associated with that packet, the time difference calculation unit 16 may skip the process of calculating the jitter based on that sequence number.

[0046] Fig. 6 is a diagram showing data recorded in the storage unit 15 by the second processing procedure of the time stamp acquisition unit 14 and a method of calculating jitter in the first embodiment. In Fig. 6, the storage unit 15 stores data acquisition times and time stamp values ​​in association with each other. The time stamp acquisition unit 14 acquires the time stamp values ​​of each successively acquired packet from a data table. The time difference calculation unit 16 calculates the absolute difference between the "2n-1 (n is a natural number)" time stamp value and the "2n" time stamp value as the traffic jitter.

[0047] FIG. 7 is a diagram showing data recorded in the storage unit 15 by the third processing procedure of the time stamp acquisition unit 14 and a method of calculating latency in the first embodiment. In FIG. 7, the divisor of the remainder operation is 100 as an example. In FIG. 7, the storage unit 15 stores the data acquisition time, a sequence number that is a "multiple of 100", and a time stamp value in association with each other. The smaller the divisor, the more time stamp values ​​can be stored in the data table. However, the more time stamp values ​​there are, the greater the load on the time difference calculation unit 16. For this reason, it is necessary to set an appropriate divisor.

[0048] The time difference calculation unit 16 searches for the same sequence number in the data table illustrated in FIG. 7. The time difference calculation unit 16 calculates the absolute difference between the timestamp values ​​associated with the same detected sequence numbers as the latency of the traffic. For example, the time difference calculation unit 16 searches for the sequence number "100" in the data table illustrated in FIG. 7. The time difference calculation unit 16 calculates the absolute difference "|t6-t3|" between the timestamp values ​​associated with the same detected sequence numbers as the latency of the traffic.

[0049] Since latency is often less than a second, the same sequence numbers often exist close to each other in the data table. Therefore, the time difference calculation unit 16 rarely searches a wide range in the data table. Therefore, the time difference calculation unit 16 records the time when the packet (data) was acquired in the "data acquisition time" column of the data table illustrated in FIG. 7 in association with the sequence number and the time stamp value. The time difference calculation unit 16 determines the search range for the same sequence number in the data table based on the recorded data acquisition time. This allows the time difference calculation unit 16 to calculate the jitter of the packets even if the packet acquisition order is reversed from the packet transmission order.

[0050] 7, the time difference calculation unit 16 excludes from the search range a range including sequence numbers associated with data acquired from the storage unit 15 at time "t-α" earlier than time "t". The time difference calculation unit 16 determines the search range to be a range including sequence numbers associated with data acquired from the storage unit 15 at time "t".

[0051] If a packet loss occurs and there is no sequence number associated with that packet, the time difference calculation unit 16 may skip the process of calculating the latency based on the sequence number.

[0052] FIG. 8 is a diagram showing data recorded in the storage unit 15 by the fourth processing procedure of the time stamp acquisition unit 14 and a method of calculating latency in the first embodiment. In FIG. 8, the storage unit 15 stores a data acquisition time, a payload (hash value), and a time stamp value in association with each other. The time stamp acquisition unit 14 searches for the same payload (hash value) in the data table illustrated in FIG. 8. The time stamp acquisition unit 14 acquires each time stamp value associated with the same payload (hash value) from the data table. The time difference calculation unit 16 calculates the absolute difference between each acquired time stamp value as the latency of the traffic.

[0053] 9 is a flowchart showing a procedure in which the jitter / latency measuring device 10 calculates jitter and latency in the first embodiment. The packet header analysis unit 12 analyzes the header of a received packet. The packet header analysis unit 12 analyzes the header of the acquired packet to extract one or more pieces of field information from the packet. If a sequence number exists in the packet header, the packet header analysis unit 12 extracts the sequence number from the packet header. In addition, the packet header analysis unit 12 acquires the payload of the packet from the packet receiving unit 11 (step S101).

[0054] The rule matching unit 13 searches the rule table for a rule that matches the traffic (field information) of the network 100 (step S102).

[0055] If a matching rule is registered in the rule table, the acquisition determination units 23a to 23b acquire the timestamp value from the time counters 22a to 22b. The acquisition determination units 23a to 23b record the timestamp value in the timestamp memories 26a to 26b. The acquisition determination units 23a to 23b record the sequence number associated with the timestamp value in the sequence number memories 27a to 27b. The acquisition determination units 23a to 23b store the hash value associated with the timestamp value. In addition, the acquisition determination units 23a to 23b record the hash value associated with the timestamp value in the payload memories 28a to 28b (step S103).

[0056] The time difference calculation unit 16 calculates at least one of the jitter and latency of the traffic based on the sequence number and hash value associated with the last recorded timestamp value (the timestamp time of the most recently received packet). That is, the time difference calculation unit 16 calculates the difference (time difference) between the timestamp times to calculate the jitter or latency of the traffic (step S104).

[0057] 10 is a flowchart showing a first processing procedure of the time stamp acquiring unit 14 in the first embodiment. The time stamp acquiring unit 14 executes the first processing procedure to acquire a time stamp value used for measuring jitter based on a sequence number.

[0058] The remainder calculation units 21a to 21b use a predetermined divisor to calculate the remainder of the sequence number input from the rule matching unit 13 (step S201).

[0059] The acquisition determination units 23a to 23b compare the input rule number with a rule number (a predetermined registration number (registered value)) registered in advance in the acquisition determination units 23a to 23b. When the input rule number matches a rule number registered in advance in the acquisition determination units 23a to 23b, the acquisition determination units 23a to 23b determine that the received packet is a target for determination (the comparison result is true). That is, the acquisition determination units 23a to 23b determine whether or not to acquire a timestamp value of the received packet (whether or not the received packet is a target for determination) based on the comparison result (step S202).

[0060] If it is determined that the timestamp value of the received packet is to be acquired (step S202: YES), the acquisition determination units 23a to 23b determine whether the remainder is 0 or 1 (step S203). If it is determined that the remainder is 0 or 1 (step S203: YES), the acquisition determination units 23a to 23b record a set of the timestamp value and the sequence number in the storage unit 15. Here, since the rule number is associated with the traffic (field information), it is possible to record the timestamp value for each traffic (step S204).

[0061] The acquisition determination units 23a to 23b determine whether the remainder is 1 (step S205). Furthermore, if the remainder is 1 (step S205: YES), the acquisition determination units 23a to 23b update the timestamp time (timestamp value) associated with the received packet based on the slave time information acquired from the time synchronization unit 24 (step S206).

[0062] 11 is a flowchart showing a second processing procedure of the time stamp acquiring unit 14 in the first embodiment. The time stamp acquiring unit 14 executes the second processing procedure to acquire a time stamp value used for measuring jitter based on a period.

[0063] The acquisition determination units 23a to 23b compare the input rule number with the rule numbers registered in advance in the acquisition determination units 23a to 23b. If the input rule number matches the rule number registered in advance in the acquisition determination units 23a to 23b, the acquisition determination units 23a to 23b determine that the received packet is a target for determination (the comparison result is true). That is, the acquisition determination units 23a to 23b determine whether or not to acquire the timestamp value of the received packet based on the comparison result (step S301).

[0064] If it is determined that the timestamp value of the received packet is to be acquired (step S301: YES), the acquisition determination units 23a to 23b determine whether the current determination process is the first or second determination process in a period based on the periodic signal input from the interval timer unit 25 (step S302). If it is determined that the current determination process is the first or second determination process (step S302: YES), the acquisition determination units 23a to 23b record the timestamp value in the timestamp memories 26a to 26b (step S303).

[0065] The acquisition determination units 23a to 23b determine whether or not the current determination process is the second determination process in a period based on the periodic signal input from the interval timer unit 25 (step S304). If it is determined that the current determination process is the second determination process (step S304: YES), the acquisition determination units 23a to 23b update the timestamp time (timestamp value) related to the received packet based on the slave time information acquired from the time synchronization unit 24 (step S305).

[0066] 12 is a flowchart showing a third processing procedure of the time stamp acquiring unit 14 in the first embodiment. The time stamp acquiring unit 14 may execute the third processing procedure to acquire a time stamp value used for measuring latency based on a sequence number.

[0067] The remainder calculation units 21a to 21b use a predetermined divisor to calculate the remainder of the sequence number input from the rule matching unit 13 (step S401).

[0068] The acquisition determination units 23a to 23b compare the input rule number with the rule numbers registered in advance in the acquisition determination units 23a to 23b. If the input rule number matches the rule number registered in advance in the acquisition determination units 23a to 23b, the acquisition determination units 23a to 23b determine that the received packet is a target for determination (the comparison result is true). That is, the acquisition determination units 23a to 23b determine whether or not to acquire the timestamp value of the received packet based on the comparison result (step S402).

[0069] If it is determined that the timestamp value of the received packet is to be acquired (step S402: YES), the acquisition determination units 23a to 23b determine whether the remainder is 0 or not (step S403). If it is determined that the remainder is 0 (step S403: YES), the acquisition determination units 23a to 23b record a set of the timestamp value and the sequence number in the storage unit 15. Here, since the rule number is associated with the traffic, it is possible to record the timestamp value for each traffic (step S404).

[0070] The acquisition determining units 23a to 23b update the time stamp time (time stamp value) related to the received packet based on the slave time information acquired from the time synchronizer 24 (step S405).

[0071] 13 is a flowchart showing a fourth processing procedure of the time stamp acquiring unit 14 in the first embodiment. The time stamp acquiring unit 14 may execute the fourth processing procedure to acquire a time stamp value used for measuring latency based on a period.

[0072] The hash calculation unit 20 calculates a hash value by using the payload of the packet input from the rule matching unit 13 (step S501).

[0073] The acquisition determination units 23a to 23b compare the input rule number with the rule numbers registered in advance in the acquisition determination units 23a to 23b. If the input rule number matches the rule number registered in advance in the acquisition determination units 23a to 23b, the acquisition determination units 23a to 23b determine that the received packet is a target for determination (the comparison result is true). That is, the acquisition determination units 23a to 23b determine whether or not to acquire the timestamp value of the received packet based on the comparison result (step S502).

[0074] If it is determined that the timestamp value of the received packet is to be acquired (step S502: YES), the acquisition determination units 23a to 23b determine whether or not the current determination process is the first determination process in a period based on the periodic signal input from the interval timer unit 25 (step S503). If it is determined that the current determination process is the first determination process (step S503: YES), the acquisition determination units 23a to 23b store a hash value associated with the timestamp value (step S504).

[0075] The acquisition determination units 23a to 23b record the timestamp value in the timestamp memories 26a to 26b. The acquisition determination units 23a to 23b record the hash value associated with the timestamp value in the payload memories 28a to 28b (step S505).

[0076] If it is determined that the current determination process is the second or subsequent determination process (step S503: NO), the acquisition determination units 23a to 23b determine whether the hash value calculated this time by the hash calculation unit 20 is the same as the hash value stored in the storage unit 15 (step S506). If it is determined that the hash value calculated this time is the same as the stored hash value (step S505: YES), the acquisition determination units 23a to 23b update the timestamp time (timestamp value) associated with the received packet based on the slave time information acquired from the time synchronization unit 24 (step S507). The acquisition determination units 23a to 23b execute the process of step S505.

[0077] Each of the above first to fourth processing procedures is executed by the time stamp acquisition unit 14 every time a packet is received by the jitter / latency measurement apparatus 10. The acquisition determination units 23a to 23b operate based on the rule number input from the rule matching unit 13, and therefore acquire the time stamp value of the packet for each traffic. Therefore, the acquisition determination units 23a to 23b only need to determine whether or not to acquire the time stamp value of the received packet based on the sequence number or the period.

[0078] The first and third process steps may be combined, and the second and fourth process steps may be combined, i.e., the timestamps used for both jitter measurement and latency measurement may be acquired simultaneously.

[0079] In the second and fourth processing procedures, since a timestamp value is acquired based on a period, it is possible to measure at least one of the jitter and latency of traffic even if a packet does not have a sequence number. However, in the fourth processing procedure, since the time from when the hash value is stored to when the hash value is referenced is short, it may be difficult to link multiple jitter / latency measuring devices 10.

[0080] As described above, the packet header analysis unit 12 extracts field information, which is information used to identify traffic, and a sequence number from the header of the packet, and acquires the payload of the packet. The rule matching unit 13 searches for a rule that matches the extracted field information from a rule table in which rules for each traffic are registered. The time stamp acquisition unit 14 determines for each packet whether or not to acquire a time stamp value synchronized with the system time, based on whether or not the number of the matching rule is a predetermined registration number. If it is determined that the time stamp value is to be acquired, the time stamp acquisition unit 14 acquires the time stamp value. The storage unit 15 stores the field information, sequence number, and payload in association with the time stamp value. The time difference calculation unit 16 calculates at least one of the jitter and latency of the traffic, based on the field information, sequence number, and payload associated with the time stamp value.

[0081] This makes it possible to measure the jitter and latency of any traffic, such as cloud services.

[0082] In the time stamp acquisition unit 14, the hash calculation unit 20 calculates a hash value based on the payload. The time synchronization unit 24 corrects the time stamp based on the system time. The time synchronization unit 24 may calculate a communication delay based on the time from when the first system time is acquired to when the second system time is acquired. The time synchronization unit 24 may correct the second system time based on the calculated communication delay. The time synchronization unit 24 may generate a time stamp value synchronized with the system time by correcting the time stamp based on the corrected second system time.

[0083] In the time stamp acquisition unit 14, the remainder calculation units 21a-21b use a divisor to calculate a remainder of the sequence number. The interval timer unit 25 generates a periodic signal. The time counters 22a-22b count the time stamp value of the packet based on the time stamp time. The acquisition determination units 23a-23b acquire the time stamp value when it is determined that the time stamp value should be acquired.

[0084] In the time stamp acquisition unit 14, the acquisition determination units 23a-23b record the time stamp value and the sequence number in a storage unit if the remainder is 0 or 1, and update the time stamp time if the remainder is 1. The acquisition determination units 23a-23b may record the time stamp value in a storage unit if the current determination is the first or second determination in a period based on the periodic signal. The acquisition determination units 23a-23b may update the time stamp time if the current determination is the second determination in a period based on the periodic signal.

[0085] In the time stamp acquisition unit 14, the acquisition determination units 23a to 23b may record the time stamp value and the hash value in the storage unit if the current determination is the first or second determination in the period based on the periodic signal. The acquisition determination units 23a to 23b may record the time stamp value and the hash value in the storage unit if the current determination is the second or subsequent determination in the period based on the periodic signal and the current hash value is the same as the stored hash value. The acquisition determination units 23a to 23b may update the time stamp time if the current determination is the second or subsequent determination in the period based on the periodic signal.

[0086] Second embodiment The second embodiment is different from the first embodiment in that the jitter and latency are measured between two points. The second embodiment will be described focusing on the differences from the first embodiment.

[0087] Fig. 14 is a diagram showing an example of a configuration for measuring jitter and latency between two points in the second embodiment. In Fig. 14, a transmitting terminal 140, a router 141-1, and a jitter / latency measurement device 10-1 are provided at a first point. A receiving terminal 142, a router 141-2, and a jitter / latency measurement device 10-2 are provided at a second point. A time difference calculation device 143 is provided at a predetermined point other than the first point and the second point. The time difference calculation device 143 includes a time difference calculation unit 16. The distance between the first point and the second point may be physically long.

[0088] 14, using two jitter / latency measurement devices 10, time difference calculation device 143 measures the jitter and latency of traffic between transmitting terminal 140 at a first point and receiving terminal 142 at a second point. Router 141-1 uses the mirror port of router 141-1 to output traffic data at the first point to jitter / latency measurement device 10-1. Router 141-2 uses the mirror port of router 141-2 to output traffic data at the first point to jitter / latency measurement device 10-2.

[0089] Jitter / latency measurement device 10-1 acquires traffic data at a first point from router 141-1. Jitter / latency measurement device 10-1 outputs the traffic data at the first point to time difference calculation device 143. Jitter / latency measurement device 10-2 acquires traffic data at a second point from router 141-2. Jitter / latency measurement device 10-2 outputs the traffic data at the second point to time difference calculation device 143.

[0090] The time difference calculation device 143 calculates at least one of the jitter and latency of each traffic by executing a predetermined procedure from among the above-mentioned first processing procedure, second processing procedure, third processing procedure, and fourth processing procedure on the traffic data at the first point and the traffic data at the second point.

[0091] 15 is a diagram showing a method of calculating latency when two jitter / latency measurement devices 10 ("#1" and "#2") are used in the second embodiment. When a timestamp value is acquired using a sequence number, the time difference calculation device 143 searches for the same sequence number in two data tables of the two jitter / latency measurement devices 10. The time difference calculation device 143 calculates the absolute difference between the acquired timestamp values ​​as the latency of the traffic, as in the third and fourth processing procedures.

[0092] Even if each data output time (each data acquisition time) is different in the two jitter / latency measurement devices 10, the value of each data output time is relatively large, so that the sequence number and timestamp value can be searched for with a high probability in the two data tables. Also, a margin may be provided in the search range in the two data tables so that the sequence number and timestamp value can be searched for with a high probability in the two data tables.

[0093] Since the timestamp value is, for example, sub-second, there is a possibility that the search process may overflow in one of the two jitter / latency measurement devices 10. Therefore, the time difference calculation device 143 may detect the overflow of the search process using a threshold value and correct the calculated jitter and latency.

[0094] In the case where the upper limit of the timestamp value is, for example, 1000 milliseconds and the threshold is, for example, 500 milliseconds, if the timestamp value "t3" of one of the two jitter / latency measuring devices 10 is 999 milliseconds and the timestamp value "t3'" of the other of the two jitter / latency measuring devices 10 is 1 millisecond due to overflow, the difference between the timestamp values ​​is calculated as 998 milliseconds (=999-1 milliseconds), which exceeds the threshold "500 milliseconds" indicating the upper limit of measurement. In this case, the time difference calculation device 143 adds the upper limit of the timestamp value "1000 milliseconds" to the provisional value "998 milliseconds" of the difference between the timestamp values. In this way, the time difference calculation device 143 corrects the difference between the timestamp values ​​to an appropriate value "1001 milliseconds". This makes it possible to measure jitter and latency below the threshold "500 milliseconds" indicating the upper limit of measurement.

[0095] As described above, the two jitter / latency measurement apparatuses 10 are used to measure the jitter and latency between two points.

[0096] This makes it possible to measure the jitter and latency of any traffic, such as cloud services, even when the jitter and latency are measured between two points.

[0097] Third embodiment The third embodiment is mainly different from the second embodiment in that one jitter / latency measurement apparatus 10 is used for measurement. The third embodiment will be described mainly focusing on the differences from the second embodiment.

[0098] Fig. 16 is a diagram showing an example of a configuration for measuring jitter and latency between two points in the third embodiment. In Fig. 16, a transmitting terminal 140 and a router 141-1 are provided at a first point. Also, a receiving terminal 142 and a router 141-2 are provided at a second point. The physical distance between the first point and the second point may be short.

[0099] One jitter / latency measurement device 10 may obtain traffic data at a first point from the router 141-1. Also, one jitter / latency measurement device 10 may obtain traffic data at a second point from the router 141-2. One jitter / latency measurement device 10 calculates at least one of the jitter and the latency of each traffic by executing a predetermined procedure among the above-mentioned first processing procedure, second processing procedure, third processing procedure, and fourth processing procedure on the traffic data at the first point and the traffic data at the second point.

[0100] As described above, one jitter / latency measurement apparatus 10 may be used to measure jitter and latency between two points.

[0101] As a result, even if the jitter and latency are measured between two points and one jitter / latency measurement device 10 is used for the measurement, it is possible to measure the jitter and latency of any traffic such as a cloud service.

[0102] (Fourth embodiment) The fourth embodiment is mainly different from the second embodiment in that jitter and latency are measured between three points. The fourth embodiment will be described focusing on the differences from the second embodiment.

[0103] 17 is a diagram showing an example of a configuration for measuring jitter and latency between three points in the fourth embodiment. In FIG. 17, a router 141-1 and a jitter / latency measurement device 10-1 are provided at a first point. A router 141-2 and a jitter / latency measurement device 10-2 are provided at a second point. A router 141-3 and a jitter / latency measurement device 10-3 are provided at a third point. A time difference calculation device 143 is provided at a predetermined point other than the first point, the second point, and the third point. The time difference calculation device 143 includes a time difference calculation unit 16.

[0104] Jitter / latency measurement device 10-1 obtains traffic data at a first point from router 141-1. Jitter / latency measurement device 10-1 outputs the traffic data at the first point to time difference calculation device 143. Jitter / latency measurement device 10-2 obtains traffic data at a second point from router 141-2. Jitter / latency measurement device 10-2 outputs the traffic data at the second point to time difference calculation device 143. In addition, jitter / latency measurement device 10-3 obtains traffic data at the second point from router 141-3. Jitter / latency measurement device 10-3 outputs traffic data at a third point to time difference calculation device 143.

[0105] The time difference calculation device 143 calculates at least one of the jitter and latency of each traffic by executing a predetermined procedure from among the above-mentioned first processing procedure, second processing procedure, third processing procedure, and fourth processing procedure for traffic data at a first point, traffic data at a second point, and traffic data at a third point.

[0106] Here, the time difference calculation device 143 calculates the latency based on each of the data output from two jitter / latency measurement devices 10 selected from the three jitter / latency measurement devices 10. This makes it possible to measure the latency between any two of the three points. Even if the number of data acquisition points is four or more, it is possible to measure the latency between any two of the four or more points.

[0107] As described above, the jitter and latency may be measured between any two points out of four or more points.

[0108] This makes it possible to measure the jitter and latency of any traffic, such as a cloud service, even when the jitter and latency are measured between any two of four or more locations.

[0109] (Hardware configuration example) Some or all of the functional units of the jitter / latency measurement device 10 are realized as software by a processor such as a CPU (Central Processing Unit) executing a program stored in a memory having a non-volatile recording medium (non-transient recording medium). The program may be recorded in a computer-readable recording medium. The computer-readable recording medium is, for example, a portable medium such as a flexible disk, a magneto-optical disk, a ROM (Read Only Memory), a CD-ROM (Compact Disc Read Only Memory), or a non-transient recording medium such as a storage device such as a hard disk built into a computer system. The communication unit executes communication with other devices.

[0110] As described above, some or all of the functional units of the jitter / latency measuring apparatus 10 may be realized using hardware including an electronic circuit (electronic circuit or circuitry) using, for example, an LSI (Large Scale Integrated circuit), an ASIC, a PLD (Programmable Logic Device), or an FPGA.

[0111] In the above-mentioned embodiment, the program implemented in the above-mentioned manner may depend on a single device, or may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read into a computer system and executed to perform a predetermined process. Note that the term "computer system" here includes hardware such as an OS and peripheral devices. The term "computer system" also includes a WWW system equipped with a homepage providing environment (or display environment). The term "computer-readable recording medium" also includes a memory that holds a program for a certain period of time, such as a volatile memory (RAM) inside a computer system that becomes a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line.

[0112] The above program may also be transmitted from a computer system that stores the program in a storage device or the like to another computer system via a transmission medium, or by transmission waves in the transmission medium. Here, the "transmission medium" that transmits the program refers to a medium that has the function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The above program may also be for realizing part of the above-mentioned functions. Furthermore, it may be a so-called difference file (difference program) that can realize the above-mentioned functions in combination with a program already recorded in the computer system.

[0113] Although an embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and designs that do not deviate from the gist of the present invention are also included. [Industrial Applicability]

[0114] The present invention is applicable to a transmission system including a transmitting device and a receiving device. [Explanation of symbols]

[0115] 10... jitter / latency measurement device, 11... packet receiving unit, 12... packet header analysis unit, 13... rule matching unit, 14... time stamp acquisition unit, 15... storage unit, 16... time difference calculation unit, 17... rule registration unit, 18... system time holding unit, 19... data transmission unit, 20... hash calculation unit, 21a to 21b... remainder calculation unit, 22a to 22b... time counter, 23a to 23b... acquisition determination unit, 24... time synchronization unit, 25... interval timer unit, 26a to 26b... time stamp memory, 27a to 27b... sequence number memory, 28a to 28b... payload memory, 100... network, 140... transmitting terminal, 141... router, 142... receiving terminal, 143... time difference calculation device

Claims

1. a packet header analysis unit that extracts field information, which is information used to identify traffic, and a sequence number from a packet header and acquires a payload of the packet; a rule matching unit that searches a rule table in which rules for each traffic are registered for a rule that matches the extracted field information; a time stamp acquisition unit that determines for each packet whether or not to acquire a time stamp value synchronized with a system time based on whether or not the number of the rule that matches is a predetermined registration number, and acquires the time stamp value when it is determined that the time stamp value should be acquired; a storage unit that stores the field information, the sequence number, and the payload in association with the timestamp value; a time difference calculation unit that calculates at least one of a jitter and a latency of the traffic based on the field information associated with the time stamp value, the sequence number, and the payload; A jitter / latency measurement device comprising:

2. The time stamp acquisition unit a hash calculation unit that calculates a hash value based on the payload; a time synchronization unit that corrects a timestamp based on the system time; a time counter that counts the time stamp value of the packet based on the time stamp; an acquisition determination unit that acquires the timestamp value when it is determined that the timestamp value is to be acquired; 2. The jitter / latency measurement device according to claim 1, further comprising:

3. The time synchronization unit calculating a communication delay based on a time from when the first system time is acquired to when the second system time is acquired, correcting the second system time based on the calculated communication delay, and correcting the timestamp value based on the corrected second system time, thereby generating the timestamp value synchronized with the system time; 3. The jitter / latency measurement device according to claim 2.

4. A remainder calculation unit is further provided for calculating a remainder of the sequence number by using a divisor, The acquisition determination unit is If the remainder is 0 or 1, recording the timestamp value and the sequence number in the storage unit; If the remainder is 1, update the time stamp.

3. The jitter / latency measurement device according to claim 2.

5. Further comprising an interval timer unit that generates a periodic signal, The acquisition determination unit is If the current determination is a first or second determination in a period based on the periodic signal, the time stamp value is recorded in the storage unit; If the current determination is the second determination in the period based on the periodic signal, the time stamp is updated.

3. The jitter / latency measurement device according to claim 2.

6. Further comprising an interval timer unit that generates a periodic signal, The acquisition determination unit is If the current determination is a first or second determination in a period based on the periodic signal, the time stamp value and the hash value are recorded in the storage unit; If the current determination is a second or subsequent determination in a period based on the periodic signal, and if the current hash value is the same as the stored hash value, then record the time stamp value and the hash value in the storage unit; updating the time stamp when the current determination is the second or subsequent determination in a period based on the periodic signal; 3. The jitter / latency measurement device according to claim 2.

7. A jitter / latency measurement method performed by a jitter / latency measurement device, comprising: extracting field information, which is information used to identify traffic, and a sequence number from a header of the packet to obtain a payload of the packet; searching for a rule that matches the extracted field information from a rule table in which rules for each traffic are registered; determining for each packet whether or not to acquire a timestamp value synchronized with a system time based on whether or not the number of the rule that matches is a predetermined registration number, and acquiring the timestamp value when it is determined that the timestamp value should be acquired; storing the field information, the sequence number, and the payload in association with the timestamp value; calculating at least one of jitter and latency of the traffic based on the field information associated with the timestamp value, the sequence number, and the payload; Jitter / latency measurement method including:

Citation Information

Patent Citations

  • Service quality measurement system for network and its method

    JP2002135319A

  • The same capture information search method, system and program

    JP2012094998A

  • Traffic monitoring device and traffic monitoring program

    WO2023084599A1

  • Method for measuring data delay time

    JP1995198874A