1. Field of the Invention
The present invention relates to methods and apparatus for non-intrusive measurement of delay variation of data traffic on communication networks and, more particularly, to measurement of delay variation of packets or “protocol data units” using real data originating from network users (i.e., not test data) while the communication network is in service.
2. Description of the Related Art
Packetized data networks are in widespread use transporting mission critical data throughout the world. A typical data transmission system includes a plurality of customer (user) sites and a data packet switching network, which resides between the sites to facilitate communication among the sites via paths through the network.
Packetized data networks typically format data into packets for transmission from one site to another. In particular, the data is partitioned into separate packets at a transmission site, wherein the packets usually include headers containing information relating to packet data and routing. The packets are transmitted to a destination site in accordance with any of several conventional data transmission protocols known in the art (e.g., Asynchronous Transfer Mode (ATM), Frame Relay, High Level Data Link Control (HDLC), X.25, IP, Ethernet, etc.), by which the transmitted data is restored from the packets received at the destination site.
One important application of these networks is the transport of real-time information such as voice and video. The quality of real-time data transmissions depends on the network's ability to deliver data with minimal variation in the packet delay. Typically, when packets of voice or video data are transmitted, a sequence of packets is sent to the network with fairly consistent time differences between successive packets, resulting in a relatively steady stream of packets. This stream of packets must essentially be reconstructed at the destination to accurately reproduce the audio or video signal. Due to conditions on the network, packets may experience different delays before arriving at a destination or may be dropped altogether and not reach the destination. Packets arriving at the destination are buffered to compensate for some degree of delay variation. However, in real-time applications such as voice and video, the output signal must be generated from the data in the packets within a reasonable period of time to avoid perceptible delays in the output audio or video signal. Consequently, packets not received within a predetermined period of time are considered to be dropped, and the output signal is reconstructed without such packets to keep voice calls static free and video running smoothly. Excessive delay variation will cause an unacceptable number of packets to be excluded from the reconstructed real-time output signal resulting in perceptible distortions in the audio or video output signal.
Several methods exist to measure packet delay variation, also known as packet jitter. These methods use additional data included with the real-time data traffic or use real-time data streams that are generated specifically to perform measurements (i.e., test data streams). Both of these approaches have drawbacks. The measurement of jitter may be impacted by modifying the packets themselves. If test traffic is created to simulate voice or video data streams, the test results indicate the behavior of the test packets, which may or may not be the same as actual data traffic. It would be preferable to provide performance measurements that indicate what a customer is actually experiencing rather than what might be experienced if the customer's data were similar to the test data.
Network service providers may wish to offer network performance guarantees, including a guarantee of packet delay variation. In many cases, the providers do not control the entire network. They may offer only the wide-area network connectivity, but the equipment that creates the real-time data streams may be owned by the customer or by another service provider. A single service provider needs a means of guaranteeing the performance of only the portion of the network under its control. Moreover, it would be desirable to demonstrate that packet delay variation requirements are being met by real, user-generated data traffic traversing the network, rather than test data traffic, in a non-intrusive manner that does not require modifying or augmenting the user-generated data traffic.
In accordance with one aspect of the present invention, a method of measuring delay variation of data traffic (protocol data units (PDUs)) traversing at least first and second points on a communication network includes: generating first PDU identifiers of PDUs observed at the first point and generating corresponding first timestamps indicating observation times of the PDUs at the first point; generating second PDU identifiers of PDUs observed at the second point and generating corresponding second timestamps indicating observation times of the PDUs at the second point; and computing, from first and second timestamps having matching PDU identifiers, a measure of variation indicating a delay variation of PDUs between the first and second points.
In accordance with another aspect of the present invention, an apparatus for measuring delay variation of data traffic (PDUs) traversing at least first and second points on a communication network includes: a first probe generating first PDU identifiers of PDUs observed at the first point and corresponding first timestamps indicating observation times of the PDUs at the first point; a second probe generating second PDU identifiers of PDUs observed at the second point and corresponding second timestamps indicating observation times of the PDUs at the second point; and a processor computing from first and second timestamps having matching PDU identifiers, a measure of variation indicating a delay variation of PDUs between the first and second points. The processor can be in either of the probes, both probes can possess such processors, or the processor can be in a separate device, such as a management station.
The computation of the measure of variation can include computing differences between first time differences of first timestamps and second time differences of corresponding second timestamps having matching PDU identifiers, and computing the measure of variation from the differences between the first time differences and the second time differences. The measure of variation can be, for example, the statistical variance or standard deviation. The reference time frames used by the two probes to generate timestamps need not be synchronized to perform the measurements, although the methodology works equally well if synchronization is present.
The data traffic (PDUs) used to measure delay variation is preferably actual data traffic generated by a user or customer for some purpose other than to measure delay variation, and the technique does not require the probes to alter the PDUs or introduce test PDUs into data traffic for the purpose of measuring the test PDUs.
The PDU identifiers are computed based on characteristics of the PDUs that are invariant as the PDUs traverse the network between the first and second points, such as attributes or contents of the PDU. In this manner, the same PDU identifiers can be generated from the same PDU at both probes. Common PDUs observed at both the first and second probes are identified by finding matching first and second PDU identifiers and generating a set of the first timestamps and a set of the second timestamps having matching PDU identifiers. The measure of variation is computed using the first and second timestamps from the common PDUs, and non-matching PDU identifiers are discarded.
The first probe can initiate and terminate a measurement period for observing PDUs by inserting marker signals into data traffic. All or a subset of PDUs observed during the measurement period can be used to compute the measure of delay variation. The measurement of delay variation can be performed for data traffic traveling in both directions on the network between the two probes. Further, additional probes can be included at intermediate points on the route between two probes, permitting measurement of delay variation over segments of the network between two end points.
The above and still further features and advantages of the present invention will become apparent upon consideration of the following definitions, descriptions and descriptive figures of specific embodiments thereof wherein like reference numerals in the various figures are utilized to designate like components. While these descriptions go into specific details of the invention, it should be understood that variations may and do exist and would be apparent to those skilled in the art based on the descriptions herein.
The following detailed explanations of
Generally, site A and site B utilize switching network 12 to communicate with each other, wherein each site is connected to switching network 12 that provides paths between the sites. For illustrative purposes, only two sites (A and B) are shown in
As used herein, the term “packet” (e.g., as used in “packetized switching network” or “packet delay variation”) does not imply any particular transmission protocol and can refer to units or segments of data in a system using, for example, any one or combination of the above-listed data transmission protocols (or other protocols). However, since the term “packet” is often associated with only certain data transmission protocols, to avoid any suggestion that the system of the present invention is limited to any particular data transmission protocols, the term “protocol data unit” (PDU) will be used herein to refer generically to the unit of data being transported by the communication network, including any discrete packaging of information. Thus, for example, a PDU can be carried on a frame in the frame relay protocol, a related set of cells in the ATM protocol, a packet in an IP protocol, etc.
As shown in
In general, the probes can comprise standalone hardware/software devices or software and/or hardware added to network equipment such as PCs, routers, CSU/DSUs (channel service unit/data service unit), FRADS, voice switches, phones, etc. Software embedded in the probes can collect network performance data for detailed analysis and report generation relating to any of a variety of performance metrics. By way of non-limiting example, a probe can be a CSU/DSU that operates both as standard CSU/DSU and as managed devices capable of monitoring and inserting network management traffic; an inline device residing between a DSU and router, which monitors network traffic and inserts network management traffic; or a passive probe that monitors network traffic only.
A functional block diagram of a probe 30 employed in the system of
The probe 30 shown in
Management software is used to display the results of the delay variation testing. Depending on the configuration of the probes, the management software may be embedded in the probes themselves or in equipment that includes the probes, or the management software may reside on a back end processing system that receives test results and/or raw test data from the probes.
Operation of the probes to measure delay variation (jitter) of data traffic is described in connection with the flow diagram of
To measure jitter in both directions, which would be particularly beneficial in contexts such as two-way voice communications and video conferencing, information can be collected for data traffic traversing the network from probe B to probe A as well. In this case, probe B can initiate a test by sending a marker signal into the data traffic bound for probe A. Once probe B has initiated the test, probe B begins collecting information on PDUs traversing the network from probe B to probe A. Upon receiving the marker signal from probe B, probe A also begins collecting information on these PDUs. The duration of the measurement period or extent of the test can be controlled in any of a number of ways. For example, information can be collected for a predetermined period of time, for a predetermined number of PDUs, or until an end-of-test marker packet is sent by the initiating probe. For simplicity, the operations shown in
The foregoing approach requires at least one of the probes to insert a marker signal into the data traffic, which necessitates that the probes have the capability to insert signals into data traffic. However, other techniques can be used to demark a measurement period that would not necessarily require this capability and could be performed by purely passive probes. For example, the probes could use an existing packet in the network having characteristics known to both probes to initiate each test and beginning of the measurement periods at each probe. According to another approach, the probes could initiate the test based on a specific time event. Further, the probes could collect information substantially continuously and employ somewhat more involved logic to determine the correspondence between data collected by probes A and B.
Referring again to
In the probe configuration shown in
Substantially unique PDU identifiers can be generated in virtually an unlimited number of ways by operating on one or more invariant characteristics of a PDU, and the invention is not limited to the use of any particular combination of characteristics or operations thereon to generate PDU identifiers. By way of non-limiting example, a number of identification fields contained within protocol headers can be used in combination with other data in the PDU to generate substantially unique PDU identifiers. Specifically, for RTP packets, one possibility is to generate a packet identifier using the IP Identification field, the RTP Sequence Number field, the RTP Synchronization Source Identifier (SSRC) field, and additional octets at a fixed position in the RTP payload. For other types of packets, another example is to use the IP Identification field in combination with additional octets at fixed positions in the IP payload.
Once the PDUs are transported across the network and arrive at the second probe, the second probe generates PDU identifiers using the same technique as the first probe and stores the PDU identifiers along with corresponding timestamps indicating the observation times of the PDUs at the second probe (operation 44 in
The frequency with which measurements of jitter (delay variation) are made can be according to any of a variety of schemes. Some example include determining the delay variation metric periodically, upon receipt of a predetermined number of PDUs, upon occurrence of a particular event, on demand, or in accordance with a test schedule (e.g., quasi-randomly). By way of non-limiting example, the first probe can terminate a measurement period by sending another marker signal demarcating the end of the data traffic to be used to compute jitter after a predetermined time period or after a predetermined number of PDUs has been observed. The measurement of delay variation can be performed using all PDUs observed between two probes during a measurement period, or the probes can apply filtering to measure delay variation using only a subset of the traffic. Useful subsets might include, for example, packet type, class of service, or source and destination network addresses.
The PDU identifiers and timestamps from both probes must be brought together (operation 46 in
To assist in explaining an exemplary methodology for computing a measure of delay variation, a simplified example computation is presented in connection with Tables 1-4. Referring again to
Once the common PDUs have been identified, and the corresponding lists of first and second timestamps have been constructed, in operation 50, for each pair of consecutive PDUs in each list, the time difference (ΔT) is calculated as
ΔTi=timestampi−timestampi−1 (1)
In the case where the first probe is at or near the originating end of the network, each of the delta times in the first set (ΔT1i=timestamp1i−timestamp1i−1) essentially indicates the elapsed time between two transmitted PDUs, and where the second probe is at or near the destination end of the network, each of the delta times in the second set (ΔT2i=timestamp2i−timestamp2i−1) essentially indicates the elapsed time between two received PDUs. Table 2 illustrates the computation of the time differences for the timestamps from the first and second probe listed in Table 1.
In operation 52, for corresponding PDUs in the two lists, the differences (Diffi) between the first time difference ΔT1i and corresponding second time difference ΔT2i are calculated by:
Diffi=ΔT2i−ΔT1i (2)
Since a measure of variation is ultimately being computed, value of the differences between the delta times could alternatively be computed with the opposite sign (i.e., Diffi=ΔT1i−ΔT2i) without affecting the ultimate result. Table 3 shows the computation of the differences of the delta times for the example in the previous tables. Note that because these differences are taken between time differences, the lack of synchronization between the two probes has no impact on the computation and can be ignored. Note further that, by combining equations (1) and (2) it can be seen that:
Diffi=timestamp2i−timestamp2i−1−(timestamp1i−timestamp1i−1) (3)
Consequently, the same result can be reached by calculating the difference between corresponding timestamps from the two probes and then computing the differences between consecutive ones of these delta values. In other words, the invention is not limited to arrive at difference values by the particular sequence of computations shown in the foregoing example.
Referring once again to
In accordance with one example, the well-known sample variance s2 (where s is the standard deviation) can be used to compute a measure of delay variation. The sample variance s2 of a set of n measurements x1, x2, . . . , xn is computed as
where {overscore (x)} is the mean of the n measurements. In the example shown in Table 3, the mean {overscore (x)} of the four values Diffi=(3−2+4−1)/4=1. Table 4 illustrates the computation of (Diffi−{overscore (x)})2for the Diffi values in Table 3.
As given by equation (4), the variance is the sum of (Diffi−{overscore (x)2, for i=1 to n, divided by n−1. In this example, (4+9+9+4)/3=8.666. The square root of this value would repr the standard deviation, which could also be used as a measure of variation.
Once the measure of delay variation has been computed, the measurement can be supplied to a management system for inclusion in graphical displays of network performance and for report generation. Optionally, the measure of delay variation can be used to trigger an alarm or to provide notice to an administrator that the delay variation is at an unacceptable level. For example, any of a variety schemes involving threshold levels or the like can be used to determine whether the measured delay variation is excessive.
While the arrangement shown in
It will be appreciated that the embodiments described above and illustrated in the drawings represent only a few of the many ways of utilizing the principles of the present invention to measure data traffic delay variation (jitter) in a communication network. For example, while the invention has particular advantages in applications involving real time or near real time presentation of information, such as audio and video applications, the invention is not limited to measurement of data traffic jitter in any particular context and applies equally to all types of data and applications.
The principles of the present invention may be applied not only to packetized communications networks (e.g. Frame Relay, SMDS, ATM, IP, etc.), but also to any communications network wherein the data transmitted and received is substantially unaltered by the communications network itself and contains identifiable patterns (e.g. framing bits, synchronization of words or other unique data patterns) in the data that permit the identification of unique portions of the data stream. Thus the principles of the present invention could be applied, for example, to measure the jitter in a non-packetized leased-line network. In this respect, as used herein, the term PDU encompasses virtually any identifiable portion of a data stream from which the same identifier can be generated at two points in a network.
Although the preferred embodiment discloses a particular functional representation of the probes, any data gathering devices capable of capturing and recording the time of data reception and transmission can be used according to the principles of the present invention. Further, the present invention is not limited to computing PDU identifiers in any particular manner, but rather any method of uniquely identifying data patterns (e.g. special headers, coding/encryption, etc.) may be implemented according to the present invention.
From the foregoing description it will be appreciated that the invention makes available a novel method and apparatus for measuring the delay variation of data traffic in communication networks during in-service operation by employing probes to capture departure and arrival times of PDUs between points of interest, and matching the times to respective identifiable data patterns in order to compute delay variation metrics.
The invention offers several advantages over existing methods. Delay variation of data traffic can be measured non-intrusively for actual data traffic, rather than for artificially generated test traffic. Moreover, the measurement does not require any modifications to the real-time data packets and does not require synchronized clocks on the probes. Further, the measurement of delay variation is not protocol-specific and can be used on any network that breaks traffic into discrete units of data like frame relay frames, ATM cells, IP packets, etc.
The delay variation metric can be measured between any two service demarcations; the measurement does not need to start at the point where the traffic originates and terminates. Moreover, the network can be subdivided, such that if traffic flows from points A to C through another point B, measurements can be performed not only from point A to point C but also from point A to point B and from point B to point C.
Having described preferred embodiments of new and improved methods and apparatus for non-intrusive measurement of delay variation of data traffic on communication networks, it is believed that other modifications, variations and changes will be suggested to those skilled in the art in view of the teachings set forth herein. It is therefore to be understood that all such variations, modifications and changes are believed to fall within the scope of the present invention as defined by the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
This application claims priority from U.S. Provisional Patent Application Ser. No. 60/616,842 entitled “Methods And Apparatus For Non-Intrusive Measurement Of Packet Delay Variation On Communication Network,” filed Oct. 8, 2004. The disclosure of this provisional patent application is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60616842 | Oct 2004 | US |