CROSSREFERENCE TO RELATED APPLICATIONS
The present application is a continuation application of pending U.S. application Ser. No. 12/109,743, filed on Apr. 25, 2008, the contents of which are expressly incorporated by reference herein in its entirety.
The present invention relates generally to communications networks and, more particularly, to a method and apparatus for providing a measurement of performance for a packet network, e.g., a Local Area Network (LAN), a Virtual Private Network (VPN), an Internet Protocol (IP) network, and the like.
BACKGROUND OF THE INVENTION
A customer may request a network service provider to guarantee the performance of one or more network services. For example, the service provider and the customer may detail the level of network performance for a service to be received by the customer in a Service Level Agreement (SLA). For example, a SLA may detail transport level service assurances for a service using performance parameters such as: frequency of loss events, duration of loss events, packet loss rates, delay, delay variation, etc. Failing to meet an SLA guarantee may result in a service disruption for the customer. In addition, the failure to meet an SLA guarantee may result in a loss of revenue for the customer and/or the network service provider.
The service provider may perform compliance monitoring to ensure that SLA targets are met. The compliance monitoring may be performed passively by collecting network data or actively by injecting measurement probes. Passive measurements are performed on a linkbylink basis and are not well suited to endtoend performance targets. Current active measurements are focused on assessing a specific parameter (e.g., delay or loss), and are often not sufficiently accurate to determine whether an SLA has been violated.
SUMMARY OF THE INVENTION
In one embodiment, the present invention discloses a method and apparatus for providing a measurement of performance for a network. For example, the method sends a plurality of multiobjective probes on a path, and receives one or more of said plurality of multiobjective probes for the path. The method then determines a plurality of performance measurements.
BRIEF DESCRIPTION OF THE DRAWINGS
The teaching of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
FIG. 1 illustrates an illustrative network related to the current invention;
FIG. 2 illustrates an illustrative network of the current invention for providing a measurement of performance for a network;
FIG. 3 illustrates an illustrative architecture of a multiobjective probe scheduler;
FIG. 4 illustrates a flowchart of a method for providing a measurement of performance for a network; and
FIG. 5 illustrates a high level block diagram of a general purpose computer suitable for use in performing the functions described herein.
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
DETAILED DESCRIPTION
The present invention a method and apparatus for providing a measurement of performance for a packet network, e.g., a Local Area Network (LAN), a Virtual Private Network (VPN), an Internet Protocol (IP) network, and the like. For example, the present invention discloses a method for providing SLA compliance monitoring.
FIG. 1 illustrates an exemplary packet network 100 related to the current invention. Exemplary packet networks include Internet protocol (IP) networks, Asynchronous Transfer Mode (ATM) networks, framerelay networks, and the like. An IP network is broadly defined as a network that uses Internet Protocol such as IPv4 or IPv6 and the like to exchange data packets. It should be noted that the present invention is not limited to a particular type of network.
In one embodiment, the packet network may comprise a plurality of endpoint devices 102104 configured for communication with the core packet network 110 (e.g., an IP based core backbone network supported by a service provider) via an access network 101. Similarly, a plurality of endpoint devices 105107 are configured for communication with the core packet network 110 via an access network 108. The network elements (NEs) 109 and 111 may serve as gateway servers or edge routers for the network 110.
The endpoint devices 102107 may comprise customer endpoint devices such as personal computers, laptop computers, Personal Digital Assistants (PDAs), servers, routers, and the like. The access networks 101 and 108 serve as a means to establish a connection between the endpoint devices 102107 and the NEs 109 and 111 of the IP/MPLS core network 110. The access networks 101 and 108 may each comprise a Digital Subscriber Line (DSL) network, a broadband cable access network, a Local Area Network (LAN), a Wireless Access Network (WAN), and the like.
The access networks 101 and 108 may be either directly connected to NEs 109 and 111 of the IP/MPLS core network 110 or through an Asynchronous Transfer Mode (ATM) and/or Frame Relay (FR) switch network 130. If the connection is through the ATM/FR network 130, the packets from customer endpoint devices 102104 (traveling towards the IP/MPLS core network 110) traverse the access network 101 and the ATM/FR switch network 130 and reach the border element 109.
The ATM/FR network 130 may contain Layer 2 switches functioning as Provider Edge Routers (PERs) and/or Provider Routers (PRs). The PERs may also contain an additional Route Processing Module (RPM) that converts Layer 2 frames to Layer 3 Internet Protocol (IP) frames. An RPM enables the transfer of packets from a Layer 2 Permanent Virtual Connection (PVC) circuit to an IP network which is connectionless.
Some NEs (e.g., NEs 109 and 111) reside at the edge of the core infrastructure and interface with customer endpoints over various types of access networks. An NE that resides at the edge of a core infrastructure is typically implemented as an edge router, a media gateway, a border element, a firewall, a switch, and the like. An NE may also reside within the network (e.g., NEs 118120) and may be used as a mail server, honeypot, a router, or like device. The IP/MPLS core network 110 may also comprise an application server 112 that contains a database 115. The application server 112 may comprise any server or computer that is well known in the art, and the database 115 may be any type of electronic collection of data that is also well known in the art. Those skilled in the art will realize that although only six endpoint devices, two access networks, five network elements, one application server are depicted in FIG. 1, the communication network 100 may be expanded by including any number of additional endpoint devices, access networks, network elements, application servers without altering the scope of the present invention.
The above IP network is described to provide an illustrative environment in which packets for voice and data services are transmitted on networks. In one embodiment, the network service provider and the customer may detail the network performance level for a network used to transport packets for the customer in a Service Level Agreement (SLA). For example, the SLA may detail transport level service assurances using network performance parameters. For example, the SLA may provide minimum performance targets for frequency of loss events, duration of loss events, packet loss rates, delay, delay variation, etc.
The network service provider may then perform compliance monitoring to determine if the performance parameters are meeting the minimum performance targets. The compliance monitoring may be based on passive or active measurements. For example, a passive measurement may be performed by collecting data from one or more counters (e.g., Simple Network Management Protocol (SNMP) counters) located within the network. However, the packets from and/or to the customer may traverse multiple links and/or networks. Hence, the passive measurement is insufficient for estimating the performance level experienced by the customer traffic on an endtoend basis.
It should be noted that although the present invention is disclosed in the context of a single service provider, the present invention is not so limited. Namely, the present invention can be adapted to the endtoend monitoring through multiple networks owned by different service providers.
An active measurement may be performed by injecting one or more measurement probes. A measurement probe refers to one or more packets sent on an endtoend path. However, current active measurement probes are limited in focus to estimation and optimization of a single performance parameter. For example, one or more packets may be injected to measure the endtoend delay for a customer traffic traversing a network. Furthermore, current active measurements make assumptions about underlying network conditions and are not suitable for realistic networks with abrupt changes.
In one embodiment, the present invention broadly discloses a method and apparatus for providing a measurement of performance for a network using a multiobjective probe. To better understand the present invention, the following networking terminology will first be provided:

 Probe;
 Multiobjective probing;
 Packet loss rate;
 Delay; and
 Delay Variation.
A probe refers to one or more packets sent on an endtoend path. For example, a delay measurement probe may be sent from a source to a destination to determine the delay being experienced by packets in traversing the network from the source to the destination. It should be noted that various systems can be used to send or receive probes, e.g., general purpose computers or NEs (e.g., switches, routers, and the like).
Multiobjective probing refers to simultaneous estimation of multiple performance metrics using a single probing stream of packets.
Packet loss rate refers to the total number of lost packets divided by the total number of transmitted packets on a given path (consisting of one or more links) over a specified time interval. For example, if one packet is lost out of 1000 packets sent in one second, the packet loss rate is 0.001 per second.
Delay refers to the duration of time between when a packet is sent by an origination device and when the packet is received by a destination device. For example, a delay may be the time a packet takes to travel from the origination device to the destination device.
Delay Variation refers to a measurement of the variation of delay experienced by multiple packets. For example, if two packets are sent one second apart and they reach the destination at one second apart, then the delay variation is zero. However, if the packets are received 1.1 seconds apart (in the order sent), then there is a delay variation in the network. Delay variation is sometimes refers to as a jitter.
Note that an SLA may specify availability as a performance parameter. Availability can be loosely defined as the capability of the network to successfully transmit any endtoend probe over an interval of time. Thus, availability may be considered as a special case of a loss rate. The current invention addresses availability as a special case of a loss rate and as such, it is not discussed separately.
FIG. 2 illustrates an illustrative network 200 of the current invention for providing a measurement of performance for a network. For example, the customer endpoint devices 102 and 105 are communicating via the IP/MPLS core network 110. The IP/MPLS core network 110 may contain various routers 201206 that support the communications between customer endpoint devices 102 and 105. FIG. 2 broadly shows that packets associated with the communications between customer endpoint devices 102 and 105 may traverse over different paths or links within the network 110.
In one embodiment, the network service provider implements the current invention for providing a measurement of performance parameters in an application server 212. The application server 212 implements one or more performance measurement algorithms for various network performance parameters, e.g., delay, delay variation, packet loss rate, and the like.
FIG. 3 illustrates an illustrative architecture 300 of a multiobjective probe scheduler. In one embodiment, one or more discretetime performance measurement algorithms operating at the same time may schedule measurement probes to be sent at the same time slot. The requests may be accommodated by tagging probes according to one or more relevant estimator. Thus, a single probe stream 306 may be used for concurrent estimation of performance parameters such as delay, delay variation, packet loss, and other quantities, thereby reducing the impact of measurement traffic on a network.
In one embodiment, the discretetime scheduler 304 provides callback and probe scheduling mechanisms. Probe modules 301, 302 and 303 provide various pathoriented performance measurement methods for delay, delay variation and packet loss, respectively. These pathoriented performance measurement methods will be described further below. The probe scheduler 304 interacts with network elements for sending and receiving probes via the network interface 305, i.e., generating a single probe stream 306 for measuring delay, delay variation and packet loss. This architecture allows for logical separation among multiple, simultaneously operating performance measurement methods and for optimizations of network bandwidth.
In one embodiment, a multiobjective probe may include one or more of: a time stamp indicating when the probe was sent, a time stamp indicating when the probe is received, one or more markers to indicate the parameter to be measured, size of the probe (e.g., the number of packets in each probe), the time spacing of the packets within a probe, and/or the sequence number within a probe.
In one embodiment, the current invention provides a measurement of delay for a network. For example, the measurement of delay may be performed to determine various statistical values for delay parameters such as mean delay, median delay, or high quantiles of the delay distribution such as 95^{th }percentile, 99^{th }percentile, and so on.
In one embodiment, the current method provides an estimate of mean delay along a path. For example, the method first models the delay as a continuous function ƒ(t) whose independent variable is the time that a probe packet is sent and the dependent variable is measured as a oneway delay. Based on this model, a method to provide the mean delay estimation is to use Simpson's method for numerical integration. The Simpson's formulation is straightforward: once the domain of integration is partitioned, the integral of the function ƒ over the subinterval I_{j }is estimated by
$\frac{1}{6}\ue89e\left(f\ue8a0\left({a}_{j}\right)+f\ue8a0\left({b}_{j}\right)+4\ue89ef\ue8a0\left({c}_{j}\right)\right),$
with a_{j},b_{j }the endpoints of I_{j}, and with c_{j }its midpoint. The error of the Simpson estimate is known to be
${e}_{j}=\frac{{f}^{\left(4\right)}\ue8a0\left({\xi}_{j}\right)}{2880}\ue89e{\uf603{I}_{j}\uf604}^{5},$
with ξ_{j }some point in the interval I_{j}. Thus, if the fourth derivative of f exists and is not too large, it is safe to state that the local error is of order 5; i.e., if the number of samples are doubled, the error in the estimate is reduced locally by a factor of 32, and globally by a factor of 16.
To apply Simpson's method to a discretetime probe process for estimating mean endtoend delay, the method does the following: at time sloti, the method draws a value k from a geometric distribution with parameter p_{delay}. The geometric distribution is the discrete analog of the exponential distribution and yields unbiased samples. Probes representing the endpoints a_{j }and b_{j }are sent at time slots i and i+2(k+1)with the midpoint probe sent a time slot i+(k+1). At time sloti+2(k+1) the next subinterval begins, thus the last probe of a given subinterval is the first probe of the next one. Simpson's estimates from each subinterval are summed to form the total area under the delay function. The mean delay estimate is then obtained by dividing the integral estimate by the number of subintervals.
With the above formulation, the subintervals are not of equal lengths. In fact, the lengths form a geometric distribution. Thus, the method may either directly apply Simpson's method to estimate the mean delay, or the method may apply relative weights to the subintervals according to their lengths. In one embodiment, the current invention uses weighted subintervals to get more accurate results.
The above method to estimate mean delay described probes that are received at the destination device. However, probes may be lost in transit. In one embodiment, the current method discards subintervals where a probe loss occurs.
The above method assumed that delay largely behaves as a smooth function. However, for some network conditions it may be more accurate to account for random spikes in delay by modeling the process as the sum of two processes, one smooth and one random. For example, if the function ƒ(t) is written as ƒ_{1}(t)+ƒ_{2}(t), with ƒ_{1}(t) smooth and ƒ_{2}(t) random, then the numerical integration does much better on ƒ_{1}(t) and slightly worse on ƒ_{2}(t) as compared to straight averaging. The Simpson's approach is effective for this model as well: if the values of the random part are quite small compared to the smooth part, then the estimate is better than simple averaging.
Note that there is little risk in using Simpson's method. Even if delay is a completely random process (which is highly unlikely), the variance of the Simpson's rule estimator for mean delay is increased only slightly as compared to simple averaging.
In one embodiment, the current method provides an estimate of one or more high quantiles for a delay along a path, such as the 95th percentile. Mathematically defined, let {x, :i=1, . . . , n} be n independent samples drawn at random from a common distribution F, sorted in increasing order. For simplicity, assume F is continuous. Let Q_{p }denote the p^{th }quantile of that distribution, i.e., the unique solution of F(Q_{p}=p).
The method obtains confidence intervals for Q_{p }based on {x_{i}}. One approach is to start with the empirical distribution function: {circumflex over (F)}(x)=n^{−1 }#{i: x_{i}≦x} and use a quantile estimate of the form: {circumflex over (Q)}_{p}=max{x:{circumflex over (F)}(x)≦p}. Analysis of the variance of this estimator might then give asymptotic confidence intervals as n becomes large. Instead, the method seeks probabilistic bounds on Q_{p }that hold for all n.
Now {x_{k}≦x} is the event that at least k of the samples are less than or equal to x, an event which has probability G(n,F(x),k), where
$G\ue8a0\left(n,p,k\right)=\sum _{j\ge k}\ue89e{{p}^{j}\ue8a0\left(1p\right)}^{nj}\ue89e\left(\begin{array}{c}n\\ j\end{array}\right).$
Taking x=Q_{p}, Pr[x_{k}≦Q_{p}]=G(n,p,k).
Based on the x_{i}, the method now determines a level X^{+}(n,p,ε) that the true quantile Q_{p }is guaranteed to exceed only with some small probability ε.
Thus, the method chooses X^{+}(n,p,ε)=x_{K}_{+}_{(n,p,ε) }with K^{+}(n,p,ε)=min{k:G(n,p,k)≦ε}.
Similarly, Pr[x_{k}≧Q_{p}]=1−G(n,p,k). Based on the x_{i}, the method determines a level X^{−}(n,p,e) that the true quantile Q_{p }is guaranteed to fall below only with some small probability ε. Thus, the method chooses X^{−}(n,p,ε)=x _{K}_{−}_{(n,p,ε) }with K^{−}(n,p,ε)=max{k:1−G(n,p,k)≦ε].
In other words, K^{+}(n,p,ε) is the 1−ε quantile of the binomial B_{n,p }distribution, while K^{−}(n,p,ε) is the ε quantile of the binomial B_{n,p }distribution. The K^{±} can be computed exactly.
Table 1 provides some example quantile indices K^{±} for various sample sizes n, and quantiles p. Confidence level is 1−ε=90%. Also shown is the reference quantile index K^{0}=np. The dash (shown as −) indicates that no upper bound K^{+} was available, which may occur when the top atom has mass greater than the desired significance level, i.e., p^{n}>ε.
TABLE 1
Quantile
p = 50
p = 90
p = 99
n
K^{−}
K^{0}
K^{+}
K^{−}
K^{0}
K^{+}
K^{−}
K^{0}
K^{+}
100
44
50
57
86
90
95
98
99
—
1000
480
500
521
888
900
913
986
990
995
10000
4936
5000
5065
8961
9000
9039
9887
9900
9914
In one embodiment, the current invention provides a measurement of delay variation. The method first considers a stream of probes of length k, e.g., 100 probes. The method denotes the time difference between two probes i and j when they are sent as S_{i,j}, and the time difference between the same two probes when they are received as r_{i,j}. The method then constructs a matrix M where each cell M_{i,j }contains the ratio r_{i,j}/s_{i,j}. Thus, M_{i,j }is 1 if the spacing between probes i and j does not change; is greater than 1 if the measured spacing increases; or is less than 1 if the measured spacing decreases as the probes traverse the network path. Ratio r_{i,j}/s_{i,j }is defined as 1 for i=j and it is defined as 0 if probe i or j is lost. Note that computing the above ratio r_{i,j}/s_{i,j }with respect to consecutive probes in the stream gives a more accurate description of the instantaneous nature of delay variation while probes farther apart give a description of delay variation over longer time intervals.
The method then computes the eigenvalues of the matrix M, resulting in a vector e of length k, with values sorted from largest to smallest. If the probe stream traverses the network undisturbed, the matrix M would consist entirely of ones, with the largest eigenvalue as k and all other eigenvalues as 0. The method denotes the vector of these “expected” eigenvalues as e′. The method then subtracts e′ from e, taking the L_{l }norm of the resulting vector: Σ_{i=1}^{k}e_{i}−e_{i}′. The method refers to this L_{l }norm as the delay variation matrix parameter. The delay variation matrix is useful for relative comparisons over time. The delay variation matrix formulation relies on and is motivated by the fact that there is a notion of what is expected in the absence of turbulence along the path, i.e., that probe spacing should remain undisturbed. By looking at the eigenstructure of the delay variation matrix, the method may extract the amount of distortion from what the method expects.
In one embodiment, the current invention provides a measurement of packet loss rate. As defined above, a packet loss rate is derived from the number of lost packets and the number of sent packets for a given time. The difficulty in determining a packet loss rate is estimating the number of sent packets (i.e. the demand for a path). The current invention uses a heuristic approach which initiates a probe pair at a given time slot with probability p_{loss }for estimation of the endtoend frequency of congestion episodes {circumflex over (F)} and the mean duration of congestion episodes {circumflex over (D)}.
Frequency of congestion episodes refers to the number of loss events over a period of time. The frequency may also be referred to as the frequency of loss event. Duration of congestion episodes refers to the period of time a loss event persists. The duration of congestion episode may also be referred to as the duration of loss event. For example, a network may experience a packet loss event with frequency of one time per 24 hour period with a mean duration of the loss event being 15 seconds. Various methods of measuring loss event frequency and duration are well known. For example, one method of measuring loss event frequency and duration is disclosed in Sommers et al., “Improving Accuracy In EndToEnd Packet Loss Measurement”, Proceedings of ACM SIGCOMM '05, 2005, which is herein incorporated by reference.
In this heuristic approach, each probe consists of three packets, sent backtoback. The method measures the loss rate {circumflex over (l)} of the probes during congestion episodes. Since the methodology does not identify individual congestion episodes, the method then takes an empirical approach, treating consecutive probes in which at least one packet is lost as an indication of a congestion episode. The method assumes that the endtoend loss rate L is stationary and ergodic. Given an estimate of the frequency of congestion {circumflex over (F)}, the method estimates the endtoend loss rate as {circumflex over (L)}={circumflex over (F)}{circumflex over (l)}. The key assumption of this heuristic is that the method treats the probe stream as a marker flow, viz., that the loss rate observed by this flow has a meaningful relationship to other flows along the path.
Note that the probes comprise of multiple packets (e.g., a default of 3 packets per probe). In one embodiment, the probe stream can be a Transmission Control Protocol (TCP) stream. However, the present invention is not limited to a particular type of probe stream.
A set of methodologies for efficient perpath monitoring have been described above. In one embodiment, SLA compliance monitoring requires accurate and efficient measurement on a networkwide basis. For example, a service provider may wish to deploy a network wide SLA compliance monitoring. However, the measurement overhead of sending probes over a full n^{2 }mesh of paths is quite expensive.
In one embodiment, the current method provides an economical monitoring over a subset of network paths by inferring lower bounds on the quantiles of a distribution of path performance measures using measurements from a subset of network paths. In order to describe the methodology for network wide SLA monitoring more clearly, the mathematical foundation is first provided below.
Let G=(V,E) be a directed graph comprising vertices (nodes) V and directed edges (links) (ν,ν_{2})∈E ⊂V×V. Let R be a set of paths (routes) i.e., each r∈R is an ordered set of n_{>}0 contiguous links (ν_{0},ν_{1}),(ν_{1},ν_{2}), . . . , (ν_{n−1},ν_{n}). The routing matrix A associated with R is the incidence matrix of the links in the routes, namely, A_{re}=1 if link e occurs in route r and zero otherwise.
The method now describes what is referred to as a scalar additive network performance model. Let x:E→ be a function on the links. This gives rise to the path function y:R→ defined as y_{r}=Σ_{e∈r}x_{e}=Σ_{e∈E}A_{re}x_{e}. This relation is a prototype for additive network performance models. Two examples are additive network performance model for a network delay and additive network performance model for a network loss.
Additive network performance model for a network delay refers to a performance model wherein the latency of a packet traversing the path r is the sum of the latencies incurred on each link of the path. This may be understood either as the x_{e }being individual measurements, or as x_{e }being mean latencies.
Additive network performance model for a network loss refers to a performance model, wherein x_{e }is the log transmission probability of traversing link e. If there is no spatial correlation between link losses, the method can determine y_{r }as the log transmission probability along the path r.
For scalar additive performance measures, suppose that the matrix A is not of full (row) rank. Then, the set of row vectors is not linearly independent. Consequently, there exists a minimal set of paths S⊂RS≠R which span, such that every row of a_{r}={A_{re}:e∈E} of A can be expressed as a linear combination of the {a_{r}:rεS}. For the scalar additive performance model, this translates to saying that all {y_{r}: r∈R} can be determined from the subset{y_{r}:r∈S}.
The current method extends the computational approach described above to infer distributions of a set of path performance measures from a subset. The method assumes in a given network setting the existence of the set of paths S⊂RS≠R with the properties detailed above established. This means in particular that for every network path in R, every link in this path is traversed by some path in the subset R. The distributions of delay in R can be inferred from only those in S. This inference depends on the assumption that any packet traversing a given link will experience the same delay distribution, even if the actual delays differ.
There are two challenges in trying to extend the scalar approach to distributions. The first is dependence among link measurements. Dependence is not an issue in the linear algebra of mean quantities since the average of a linear combination of random variables is equal to same linear combination of respective averages even when the variables are dependent. Working with distributions is more complex, for example the distribution of a sum of random variables is not equal to the convolution of their distributions unless the random variables are independent. A second complexity is algebraic: there is no simple subtraction operation for distributions. For example, if X and Y are independent random variables and X=Y in distribution, it is not the case that X−Y is identically zero.
Now, assume the routing (and hence the matrix A) is static over a measurement interval. On each path r a stream of measurement packets labeled i=1,2 , . . . , n_{r }is launched along the path. Packet i incurs a latency X_{re}^{i }on traversing the link e∈r. The latency of the packet on the path is Y_{r}^{i}=Σ_{r∈r}X_{re}^{i}.
The statistical assumption is that all X_{re}^{i }are independent. The assumption reflects either a delay encountered by a single multicast packet or a train of closely spaced unicast packets prior to branching to distinct endpoints.
In the present case, the method can consider two types of dependence. In the first case, the method considers dependence between different measurements. Provided probe packets are dispatched at intervals longer than the duration of a network congestion event, then probes on the same path or on intersecting paths are unlikely to exhibit delay dependence, even if individual packets experience the distribution of congestion events similarly on the same link. Thus, it seems reasonable to model the Y_{re}^{i }as independent. The second case to consider is dependence among the individual link delays X_{re}^{i }on a given path r. Violation of this property might occur in packet streams traversing a set of links congested by the same background traffic. The link delay correlation should not be significant in a large network with a diverse traffic.
For r∈R let {b_{rr}_{′},:r′∈S} be the coefficients of the spanning set {a_{r}_{′}∈S} in the expression of a_{r}, i.e.,
$\begin{array}{cc}{a}_{r}=\sum _{{r}^{\prime}\in S}\ue89e{b}_{{\mathrm{rr}}^{\prime}}\ue89e{a}_{{r}^{\prime}}.& \left(1\right)\end{array}$
Let S_{r}^{+}={r′∈S:b_{rr}_{′}>0} and S_{r}^{−}={r′∈S:b_{rr}_{′}<0}. Assume {a_{r}_{′}:r′∈S R} is a minimal spanning set. For each r∈R there exist positive integers d_{r }and {d_{rr}_{′}:r′∈S} such that
$\begin{array}{cc}{d}_{r}\ue89e{a}_{r}+\sum _{{r}^{\prime}\in {S}_{r}^{}}\ue89e{d}_{{\mathrm{rr}}^{\prime}}\ue89e{a}_{{r}^{\prime}}=\sum _{{r}^{\prime}\in {S}_{r}^{+}}\ue89e{d}_{{\mathrm{rr}}^{\prime}}\ue89e{a}_{{r}^{\prime}}.& \left(2\right)\end{array}$
For each r∈R,e∈E let X_{re}^{(i)},i=1,2, . . . denote the sum of i independent copies of a single delay on link e,e.g., X_{re}^{1}; likewise let Y_{r}^{(i) }denote the sum of i independent copies of Y_{r}^{i}. The symbol =^{d }will denote equality in distribution. Then,
$\begin{array}{cc}{Y}_{r}^{\left({d}_{r}\right)}+\sum _{{r}^{\prime}\in {S}_{r}^{}}\ue89e{Y}_{{r}^{\prime}}^{\left({d}_{{\mathrm{rr}}^{\prime}}\right)}\ue89e{=}^{d}\ue89e\sum _{{r}^{\prime}\in {S}_{r}^{+}}\ue89e{Y}_{{r}^{\prime}}^{\left({d}_{{\mathrm{rr}}^{\prime}}\right)}.& \left(3\right)\end{array}$
One can see in equation (3) a basic feature of the results that follows merely from the partition of S into S_{r}^{−} and S_{r}^{+}. Suppose one is primarily interested in determining whether Y_{r }often takes some large value. Suppose measurements indicate that some of the {Y_{r}, :r′εS_{r}^{+}} tend to take large values, but that none of the {Y_{r}_{′}:r′∈S_{r}^{−}} do. Then, from the equality (3), Y_{r }must also tend to take large values. If none of the {Y_{r}_{′}:r′∈S} tend to take large values, then neither does Y_{r}. But when some Y_{r}_{′} for r′ in both S_{r}^{+} and S_{r}^{−} tend to take large values, then it is difficult to draw conclusions about Y_{r}.
Then, let y_{r }denote the common distribution of the Y_{r}^{i}, and {tilde over (y)}_{r }its Laplace transform, i.e., {tilde over (y)}_{r}(s)=∫_{0}^{∞}y_{r}(dy)e^{−sy}. Let * denote convolution. In terms of distributions, equation (3) becomes
$\begin{array}{cc}{y}_{r}^{*{d}_{r}}\ue89e\underset{{r}^{\prime}\in {S}_{r}^{}}{*}\ue89e{y}_{{r}^{\prime}}^{*{d}_{{\mathrm{rr}}^{\prime}}}=\underset{{r}^{\prime}\in {S}_{r}^{+}}{*}\ue89e{y}_{{r}^{\prime}}^{*{d}_{{\mathrm{rr}}^{\prime}}}.& \left(4\right)\end{array}$
In Laplace transform space, from equation (4):
$\begin{array}{cc}{\stackrel{~}{y}}_{r}^{{d}_{r}}\ue89e\prod _{{r}^{\prime}\in {S}_{r}^{}}\ue89e{\stackrel{~}{y}}_{{r}^{\prime}}^{{d}_{{\mathrm{rr}}^{\prime}}}=\prod _{{r}^{\prime}\in {S}_{r}^{+}}\ue89e{\stackrel{~}{y}}_{{r}^{\prime}}^{{d}_{{\mathrm{rr}}^{\prime}}}.& \left(5\right)\end{array}$
Given empirical estimates of {y_{r}_{′}:r′∈S} one can use numerical Laplace transform inversion to recover all y_{r}. The current method uses equation (4) directly in order to obtain bounds on the distributions y_{r}.
Let V_{i},i=1,2, . . . , n be independent random variables and let V=Σ_{i=1}^{n}V_{i }be their sum. Let Q_{p}(V_{i}.) denote the pquantile of V_{i}, i.e.,
Pr[V≦s]≧pQ_{p}(V)≦x (6)
The following result formalizes the statement that if one knows that V_{1}≦x a fraction p of the time, and V_{2}≦y a fraction q of the time, then one can conclude that ν_{1}+ν_{2 }is less than x+y no less than a fraction pq of the time.
Let V_{i},i=1,2, . . . , n be independent random variables with sum V=Σ_{i=1}^{n}V_{i}, and let p_{i}∈(0,1] with p=Π_{i=1}^{n}p_{i}, then
$\begin{array}{cc}{Q}_{p}\ue8a0\left(V\right)\le \sum _{i=1}^{n}\ue89e{Q}_{{p}_{i}}\ue8a0\left({V}_{i}\right).& \left(7\right)\end{array}$
For network quantile bounds, denote
Y_{r}^{±}=Σ_{r}_{′}_{∈S:}Y_{r}_{′}^{(d}^{n}^{′)}, then
Q_{p}(Y_{r})≧(d_{r})^{−1}Q_{p}_{dr}(Y_{r}^{(d,)}): (i)
Q_{p}(Y_{r}^{(d,)})≧Q_{pq}(Y_{r}^{+})−Q_{q}(Y_{r}^{−}); and (ii)
Q_{p}(Y_{r})≧(d_{r})^{−1}sup_{q∈(0,1]}(Q_{p}_{dr}_{1}(Y_{r}^{+})−Q_{q}(Y_{r}^{−})). (iii)
The above inequalities for network quantiles provide a lower bound on the quantiles, or, equivalently, an upper bound on the cumulative distribution. Thus, the inequalities underestimate the frequency with which a given level is exceeded. This may or may not be desirable if the measured quantiles are to be used for detecting service level agreement violations (i.e., raising alarms). On the one hand false positives will be reduced, while at the same time some high quantiles may be underestimated. A knowledge of the topology of measured paths may be used to adjust alarm thresholds in order to mitigate the effects of quantile underestimation.
The method first discretizes the distributions before performing convolution. A positive discrete mass distribution is specified by a tuple (ε,n,m={m_{i}:i=0, . . . , n}) where ε is the bin width, with a mass m_{i }in bin [iε,(i+1)ε) for i=0,1, . . . , n−1, and mass m_{n }in [nε,∞). The two such distributions (ε,n,m) and (ε′,n′,m′) have convolution:
(e,n,m)*(e′,n′,m′)=(ε+ε′,1+(n−1)(n′−1),m′) (9)
where m_{j}^{n}=Σ_{i=0}^{j}m_{i}m_{j−i}^{′}.
Given ε, n, a set of measurements {Y_{r}^{i}:i=1,2, . . . , n_{r}} give rise to an empirical discrete mass distribution (ε,n,m) with m_{i}=#{Y_{r}^{i}:Y_{r}^{i}∈[iε,(i+1)ε)} for i=0,1, . . . , n−1 and m_{n}=#{Y_{r}^{i}:Y_{r}^{i}≧nε}. The distribution of each {Σ_{r}_{′}_{∈S}_{r}_{±}Σ_{i=1}^{d}^{rr}^{′}y_{rr}_{′}:y_{rr}_{′}∈Ω_{r}} is then estimated by taking the grand convolution over r′∈S_{r}^{±} of the d_{rr}_{′}fold convolutions of the empirical mass distribution generated from each #{Y_{r}_{′}^{i}:Y_{r}_{′}^{i}∈[iε,(i+1)ε)}. A target resolution ε in the final distribution is achieved by choosing resolutions ε′ for the constituent distribution that sum to ε, for example, ε′=ε/Σ_{r}_{′}_{∈S}_{r}_{±}d_{rr}_{′}. Finally, the method normalizes to a probability distribution by dividing each mass element by n_{r}^{±}. The resulting variables are Ŷ_{r}^{±}, and the method uses them in place of the Y_{r}^{±} in the inequalities (8) above.
FIG. 4 illustrates a flowchart of a method 400 for providing a measurement of performance for a network. For example method 400 can be implemented by application server 212. Method 400 starts in step 405 and proceeds to step 410.
In step 410, method 400 sends one or more probes for a path. For example, the method sends a multiobjective probe for measuring one or more performance parameters on an endtoend path.
In step 420, method 400 receives the one or more probes for the path. For example, the method receives packets that were part of the above multiobjective probe. Note that some of the packets may be lost.
In step 430, method 400 detects or determines one or more performance measurements. For example, the method detects or determines one or more of mean delay, delay variation, packet loss rate, frequency of loss events, duration of loss events, etc. for the path. For example, one or more performance measurement methods as disclosed above can be used.
In optional step 440, method 400 determines network quantile bounds. For example, the method may determine bounds on network delay and/or network loss for network wide compliance monitoring. The method then proceeds back to step 410 to send additional probes or ends in step 450.
It should be noted that the steps that define method 400 can be conducted within the context of a larger set of measurement objectives that are constrained by the amount of probe traffic that is introduced into the network over a given period of time. This budget can be defined by the accuracy of the resulting measurements where, roughly speaking, the larger the probe budget, the higher the resulting accuracy. The budget can also be defined by the probes consumption of network bandwidth where, roughly speaking, the lower the probe bandwidth consumption, the lower the resulting accuracy. The probe budget specification can also take both impact and accuracy into consideration.
It should be noted that although not specifically specified, one or more steps of method 400 may include a storing, displaying and/or outputting step as required for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the method 400 can be stored, displayed and/or outputted to another device as required for a particular application. Furthermore, steps or blocks in FIG. 4 that recite a determining operation, or involve a decision, do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.
FIG. 5 depicts a high level block diagram of a general purpose computer suitable for use in performing the functions described herein. As depicted in FIG. 5, the system 500 comprises a processor element 502 (e.g., a CPU), a memory 504, e.g., random access memory (RAM) and/or read only memory (ROM), a module 505 for providing a measurement of performance for a network, and various input/output devices 506 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, and a user input device (such as a keyboard, a keypad, a mouse, and the like)).
It should be noted that the present invention can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a general purpose computer or any other hardware equivalents. In one embodiment, the present module or process 505 for providing a measurement of performance for a network can be loaded into memory 504 and executed by processor 502 to implement the functions as discussed above. As such, the present process 505 for providing a measurement of performance for a network (including associated data structures) of the present invention can be stored on a computer readable medium or carrier, e.g., RAM memory, magnetic or optical drive or diskette and the like.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the abovedescribed exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.