1: %
2: %
3: %
4: %
5: \documentclass[11pt]{IEEEtran2e} %
6: \pdfoutput=1
7: \usepackage{times}
8: \usepackage{amsmath}
9: \usepackage{subfigure}
10: \usepackage{colordvi}
11: \usepackage{subfigure}
12: \usepackage{epsfig}
13: \usepackage{amsfonts}
14: \usepackage{graphicx}
15: \usepackage{latexsym}
16: \usepackage{delarray}
17: %
18: %
19: %
20: %
21: \def\exptwowidth{0.4\textwidth}
22: \def\subcapsize{\footnotesize}
23: \def\IEEEmembership#1{{\sublargesize\normalfont\textit{#1}}}
24: \def\figadjust{\vspace{-5mm}}
25: \newcommand{\urlBiBTeX}[1]{\url{#1}}
26: \newcommand{\urlbibteX}[1]{\url{#1}}
27: \def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
28: T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
29: %
30: \def\Ain{A}
31: \def\Aout{D}
32: \def\C{{\cal C}}
33: \def\conv{*}
34: \def\deconv{\oslash}
35: \def\eps{\varepsilon}
36: \def\E{{E}} %
37: %
38: \def\G{{\cal G}}
39: \def\Geff{\G^{\eps}}
40: \def\H{{\cal H}}
41: \def\Heff{{\cal H}^{l, \, \eps}}
42: %
43: \def\P{{P}} %
44: %
45: %
46: \def\S{{\cal S}}
47: %
48: \def\Smin{\underline{S}}
49: \def\Smax{\overline{S}}
50: \def\Four{{\mathcal{F}}}
51: \def\Legendre{{\mathcal{L}}}
52: %
53: \def\Seff{{\cal S}^{\eps_{s}}}
54: \def\Seffo#1{{\cal S}^{\eps_{s_{#1}}}}
55: \def\Seffn#1{{\cal S}^{#1,\eps_{s_{#1}}}}
56: \def\Geff{{\cal G}^{\eps_{g}}}
57: \def\Geffo#1{{\cal G}^{\eps_{g_{#1}}}}
58: \def\Geffn#1{{\cal G}^{#1,\eps_{g_{#1}}}}
59: \def\R{{\mathcal{R}}}
60: \def\paran#1{\left(#1\right)}
61: \def\any{\forall\text{ }}
62:
63: \newtheorem{theorem}{Theorem}
64: \newtheorem{definition}{Definition}
65: \newtheorem{lemma}{Lemma}
66: \newtheorem{corollary}{Corollary}
67: \newtheorem{Proposition}{Proposition}
68:
69:
70: \begin{document}
71: \title{A System Theoretic Approach to Bandwidth Estimation}
72:
73: \author{
74: J\"{o}rg Liebeherr, ~Markus Fidler,
75: ~Shahrokh Valaee
76: \vspace{-4mm}
77: \thanks{
78: J. Liebeherr and S. Valaee are with the Department of Electrical and Computer Engineering, University of Toronto. M. Fidler is with the Technical University of Darmstadt.
79: }
80: \thanks{
81: The research in this paper is supported in part by the National
82: Science Foundation under grants CNS-0435061, two NSERC Discovery
83: grants, and an Emmy Noether grant from the German Research
84: Foundation. }
85: }
86: %
87: %
88: %
89: %
90:
91:
92: %
93: %
94: %
95: \maketitle
96:
97: \begin{abstract}
98: It is shown that bandwidth estimation in packet networks can be viewed in terms of min-plus linear system theory. The available bandwidth of a link or complete path is expressed in terms of a {\em service curve}, which is a function that appears in the network calculus to express the service available to a traffic flow.
99: The service curve is estimated based on measurements of a sequence of probing packets or passive measurements of a sample path of arrivals. It is shown that existing bandwidth estimation methods can be derived in the min-plus algebra of the network calculus, thus providing further mathematical justification for these methods.
100: Principal difficulties of estimating available bandwidth from measurement of network probes are related to potential non-linearities
101: of the underlying network. When networks are viewed as systems that operate either in a linear or in a non-linear regime, it is argued that probing schemes extract the most information at a point when the network crosses from a linear to a non-linear regime. Experiments on the Emulab testbed at the University of Utah evaluate the robustness of the system theoretic interpretation of networks in practice. Multi-node experiments evaluate how well the convolution operation of the min-plus algebra
102: provides estimates for the available bandwidth of a path from estimates of individual links.
103:
104:
105: \end{abstract}
106: \begin{keywords}
107: Network Calculus, Bandwidth Estimation, Min-Plus Algebra.
108: \end{keywords}
109:
110:
111: %
112:
113: %
114:
115:
116:
117: \section{Introduction}
118:
119: The benefits of knowing how much network bandwidth is available to
120: an application has motivated the development of techniques that
121: infer bandwidth availability from traffic
122: measurements \cite{akella:bfind,cprobe,dovrolis:packetdispersion,hu:IGI,jain:slops,jain:pathload,jain:pathvar,kapoor:capprobe,topp,paxson:measurements,ribeiro:pathchirp,strauss:spruce}.
123: With a large number of methods available and much empirical experience gained, recently an increasing effort has been
124: put towards improving the theoretic understanding of measurement based estimation of available bandwidth, e.g., \cite{baccelli06,loguinov04,loguinov08,BinTariq}.
125:
126: This paper presents a new foundational approach to reason about
127: available bandwidth estimation as the analysis of a min-plus
128: linear system. Min-plus linear system theory has provided the
129: mathematical underpinning for the deterministic network calculus
130: \cite{chang:performanceguarantees,leboudec:networkcalculus}. We will use min-plus system
131: theory to explain how
132: bandwidth estimation methods infer information about a network
133: and find bandwidth estimation methods that can extract the most
134: information from a network. Some key difficulties encountered when
135: measuring available bandwidth become evident in a system theoretic
136: view.
137:
138: We view bandwidth estimation as the problem of determining
139: unknown functions that describe the available bandwidth based on
140: measurements of a sequence of probing packets or passive
141: measurements of a sample path of arrivals. These functions
142: correspond to the {\em service curves} that appear in
143: the network calculus \cite{cruz:qualityofserviceguarantees}, where
144: they are used to express the available service at a network link or
145: an end-to-end path. Working within the context of the network
146: calculus, we can apply a result that allows us to compute the
147: service curve of a network path from service curves of
148: the links of the path. This is done by applying the convolution
149: operator of the min-plus algebra
150: \cite{chang:performanceguarantees,leboudec:networkcalculus}. We
151: explore how well the convolution of the available bandwidth of
152: multiple links, expressed as service curves, can describe
153: the available bandwidth of an end-to-end path.
154:
155: Our formulation of available bandwidth estimation in min-plus linear system theory reveals that the underlying problem is intrinsically hard, requiring the solution to a maximin optimization problem.
156: The optimization problem becomes more tractable when the network satisfies the property of `min-plus
157: linearity'. We show that some existing estimation techniques can be
158: accurately characterized if we interpret them as analyzing a network with linear input-output relationships.
159: The discovery of an implicit assumption of min-plus linearity in existing measurement methods is seemingly at odds with empirical evidence that these methods have been successfully applied in networks that do not satisfy linearity. For example, even a single FIFO link violates the requirements of min-plus linearity.
160: We resolve this apparent contradiction by showing that some networks
161: can be decomposed into disjoint min-plus linear and
162: non-linear regions. These networks behave as a min-plus linear system at low load, and become non-linear if the load exceeds a certain threshold.
163: The crossing of the linear and non-linear regions marks the point where the available bandwidth can be observed.
164:
165: The arguments in this paper draw from known relationships
166: between linear system theory and the network calculus. The success
167: in describing relatively complex probing schemes using min-plus
168: algebra and the ability to concatenate the available bandwidths of multiple links using the min-plus convolution
169: hints at a possibly stronger link
170: between bandwidth estimation and network calculus.
171:
172: The assumptions in this paper on network and traffic characteristics
173: are analogous to those in most papers on bandwidth estimation techniques (see Section~\ref{sec-probe}).
174: The available bandwidth is represented by a random process, where the source of randomness
175: is the variability of network traffic. A major assumption is that the time scale of network measurements is
176: small compared to the time scale at which characteristics of network traffic or network links change.
177: This assumption is not justified when properties of a network link vary on short time scales, e.g., on wireless
178: transmission channels with random noise. Consequently, such networks are not adequately described in our min-plus system theoretic formulation.
179:
180: The objective of this paper is to offer an alternative interpretation for bandwidth estimation, that potentially enables the development of improved bandwidth estimation schemes.
181: We previously mentioned that the convolution operator in the min-plus algebra can be exploited to compute bandwidth estimates for end-to-end paths.
182: Additionally, by generalizing the available bandwidth in terms of service curves we can express multiple data rates at different time scales. This makes it possible to distinguish a short-term reduction of the data rate due to temporary link congestion from the long-term utilization of a link or a path.
183: While we discuss and evaluate implementations of bandwidth probing schemes in measurement experiments on a testbed network,
184: we emphasize that our objective is a validation of the system theoretic interpretation of these methods, and not an empirical comparison of existing probing schemes.
185:
186: The remainder of this paper is structured as follows. In
187: Section~\ref{sec-probe}, we discuss bandwidth estimation methods and
188: other related work. In Section~\ref{sec-LTI}, we review the min-plus
189: linear system interpretation of the deterministic network
190: calculus.
191: In Section~\ref{sec-probetheory}, we formulate bandwidth estimation
192: as the solution to an inversion problem in min-plus algebra.
193: In Section~\ref{sec-inverse}, we derive solutions to
194: compute the inversion, and relate them to probing schemes
195: from the literature. In
196: Section~\ref{sec-fifo}, we justify how these probing schemes can be
197: applied in networks that are not min-plus linear. In Section~\ref{sec-emulab}, we present measurement experiments of probing schemes suggested by the min-plus system theoretic concepts from this paper. We present brief
198: conclusions in Section~\ref{sec-concl}.
199:
200:
201:
202:
203: %
204: \section{Available Bandwidth Estimation Techniques}
205: \label{sec-probe}
206: %
207:
208:
209: The goal of bandwidth estimation is to infer from measurements a
210: reliable estimate of the unused capacity at a multi-access link,
211: a single switch, or a network path.
212: The available bandwidth of a network link $i$ in a time interval
213: $[t, t+\tau)$ can be specified as \cite{strauss:spruce}
214: \[
215: \alpha_i (t, t+\tau) = \frac{1}{\tau} \int_{t}^{t+\tau} C_i (x) - \lambda_i (x) dx \ ,
216: \]
217: where $C_i (t)$ and $\lambda_i (t)$ are the capacity
218: and total traffic, respectively, on link~$i$ at time $t$.
219: We note that individual definitions of available bandwidth used in the literature may deviate from the above definition. It is generally assumed that link capacities have a constant rate, i.e., $C_i (x) = C_i$.
220: Then, the available bandwidth can be interpreted as a random process, where the randomness stems from the variability of network traffic.
221:
222: If available bandwidth estimates for single links are available, the available bandwidth of an end-to-end network path with $H$ links
223: is computed as \cite{jain:bandwidthestimationpitfalls}
224: \begin{equation}
225: \alpha (t, t+\tau) = \min_{i = 1, \ldots, H} \alpha_i (t, t+\tau) \ .
226: \label{eq:alpha-new}
227: \end{equation}
228: The link at which the minimum is attained is often referred to as the {\em tight link}.
229: Available bandwidth methods measure the transmission of a sequence of control (probe) packets
230: and use the measurements to estimate or bound the available bandwidth. Closely related are probing
231: schemes that seek to determine the minimum capacity along a path,
232: referred to as {\em bottleneck capacity} or {\em capacity of the narrow link}.
233: If the time scale of measurements is
234: small compared to the time scale at which characteristics of network traffic changes, network traffic can be described by a deterministic function or even constant rate function.
235: In this case, a single sample of the available bandwidth can be interpreted as being conditioned on the state of the network; Evaluating a large number of samples corresponds to computing a conditional average.
236: Under a broad set of assumptions, such as stationarity of the distribution of traffic, the conditional averages are computed correctly.
237: When network characteristics change on a short time scale, e.g., a wireless channels with random noise, a description of traffic
238: and link by deterministic functions is not suitable.
239:
240: Almost all proposed probing schemes perform measurements of packet pairs or packet trains.
241: Packet pairs consist of two
242: packets with a defined spacing, and packet trains consist of more
243: than two packets. Since it was first suggested in
244: ~\cite{jacobson88,keshav91}, packet pair probing has evolved
245: significantly, and has been used for estimating the bottleneck capacity
246: (e.g., {\em Bprobe}~\cite{cprobe}, {\em
247: CapProbe}~\cite{kapoor:capprobe}), the available
248: bandwidth (e.g., {\em ABwE} \cite{ABwE}, {\em
249: Spruce}~\cite{strauss:spruce}), and the distribution of
250: cross traffic~\cite{baccelli07}. The rationale behind these
251: methods builds on the relation of packet dispersion and available
252: bandwidth resources, i.e., packet pairs with a defined gap may be
253: spaced out on slow or loaded links and thus carry information
254: about the network path. Some techniques, e.g.,
255: \cite{baccelli07,strauss:spruce} build on a model of a single link whose capacity is assumed to be known.
256:
257: The majority of proposed methods employ packet trains for
258: bottleneck capacity estimation (e.g., {\em
259: PBM}~\cite{paxson:measurements}, {\em Cprobe}~\cite{cprobe}, {\em
260: pathrate}~\cite{dovrolis:packetdispersion}), and for available
261: bandwidth estimation (e.g., {\em
262: pathload}~\cite{jain:pathload,jain:slops}, {\em
263: pathvar}~\cite{jain:pathvar}, {\em TOPP}~\cite{topp}, {\em
264: PTR/IGI}~\cite{hu:IGI}, {\em pathchirp}~\cite{ribeiro:pathchirp},
265: and {\em BFind}~\cite{akella:bfind}). The general approach is to
266: adaptively vary the rate of probing traffic to induce congestion
267: in the network. A comprehensive discussion of all techniques is
268: beyond the scope of this paper. For details and empirical
269: evaluations of packet train and packet pair methods we
270: refer to a series of available articles
271: \cite{jain:bandwidthestimationpitfalls,shriram07,shriam05,sommers,strauss:spruce}.
272: Some studies have found that packet trains provide more reliable bandwidth estimates than packet pairs \cite{jain:bandwidthestimationpitfalls,loguinov07}.
273: The wide spectrum of bandwidth estimation methods indicates the
274: complexity of measuring available bandwidth in a network. In particular, the comparative evaluations of bandwidth estimation
275: methods sometimes widely disagree in their conclusions on the capabilities and limitations of individual methods.
276:
277: For the purposes of this paper, the two packet train methods {\em pathload} and {\em pathchirp} are particularly relevant.
278: {\em Pathload} uses a sequence of constant rate packet trains, where the transmission rate of consecutive trains is iteratively
279: varied until it converges to
280: the available bandwidth.
281: In {\em pathchirp}, the rate is varied within a single packet train using geometrically decreasing inter-packet gaps. Both methods interpret increasing delays as an indication of overload, i.e. to detect if the probing rate exceeds the available bandwidth.
282:
283: Most estimation techniques are designed with an assumption that the network as a whole exhibits the behavior of a single link
284: with constant rate fluid cross traffic. Often it is assumed that the network behaves as
285: a single FIFO system~\cite{hu:IGI,loguinov04,liu:packetpairdispersion,loguinov07,loguinov08,baccelli07,topp,melander:fcfsprobing,ribeiro:pathchirp,strauss:spruce}. This is justified by the particular packet dispersion of FIFO systems which
286: is matched by empirical data~\cite{melander:fcfsprobing}. It has been found that the best
287: estimates are obtained if the probing traffic increases the load
288: close to, but not beyond, an overloaded state.
289:
290: Some probing methods suggest that probing traffic should follow a
291: Poisson process
292: \cite{loguinov04,padhye04,loguinov07,paxson:measurements,strauss:spruce,yzhang},
293: since it can benefit from the PASTA (Poisson Arrivals See Time
294: Averages) property. Briefly, the PASTA property states that, under
295: a broad set of assumptions, a Poisson arrival process observes the
296: average state of the system. An empirical study \cite{BinTariq}
297: found that Poisson probing does not necessarily lead to improved
298: estimates of the available bandwidth.
299: Also, \cite{baccelli06} points out that in case of
300: non-intrusive probing, Poisson probing is not justified by
301: default and may even be inferior to other schemes, since it does
302: not minimize estimation variance nor does it provably reduce
303: inversion bias, e.g. when deriving quantities of interest such as
304: available bandwidths from observations.
305:
306: A set of analytical studies \cite{liu:packetpairdispersion,loguinov07,loguinov08}
307: characterizes the dispersion of probing traffic over single hop and multi hop paths in terms of probing-response curves, and extracts the available bandwidth from these curves.
308: Under the assumption of fluid constant rate cross-traffic probing-response curves feature a sharp bend at the available bandwidth that is used as criterion by some methods, e.g. TOPP \cite{topp}. The mode of operation of many other methods, e.g. the detection of overload by {\em pathload}, can be related to these curves \cite{loguinov07}. Under general bursty cross-traffic the unique turning point of probing-response curves diminishes, whereas it can be recovered under idealized conditions, e.g. using packet trains of infinite length, as shown in \cite{liu:packetpairdispersion,loguinov07,loguinov08}.
309:
310:
311: An alternative approach to sending probe packets is to obtain estimates of the available bandwidth through passive measurements of user traffic. This is the preferred approach in measurement based
312: admission control (MBAC), which seeks to determine if a
313: network has sufficient resources to support minimal service
314: requirements for a traffic flow or aggregate \cite{cetinkaya:egressadmissioncontrol,Jiang05}. In
315: comparison to passive measurements, probing schemes have an
316: additional degree of freedom since they can control the
317: traffic profile of probing packets.
318:
319: We note that links between network calculus and bandwidth estimation have been made before mostly in the context of MBAC
320: \cite{cetinkaya:egressadmissioncontrol,Jiang05,valaee:adhocadmissioncontrol,Wu03}. Since MBAC studies are set in a context of providing service guarantees, they generally seek to obtain a worst-case description of the available service or traffic, in terms of time-invariant envelope functions. Worst-case characterizations, even if relaxed to stochastic bounds, tend to be highly conservative. In this paper, we do not use envelopes to describe traffic or service.
321: For traffic that is transmitted at a lower priority as in
322: \cite{Jiang05,valaee:adhocadmissioncontrol}, the network calculus permits a concise description of the available bandwidth as the leftover capacity which is unused by higher priority traffic.
323: Aspects of a min-plus system theoretic interpretation of available bandwidth can be found in \cite{agharebparast:slopedomain}, which
324: exploits a known relationship between the Legendre transform of the backlog and the available bandwidth.
325:
326:
327: %
328: \section{Min-Plus Linear System Theory for Networks}
329: \label{sec-LTI}
330: %
331:
332: This section reviews the linear system representation of networks
333: and introduces needed concepts and notation.
334: We consider a continuous-time setting.
335:
336: \begin{figure}
337: \centering \epsfig{file=figure1, width=0.7 \linewidth}
338: \caption{Linear time-invariant system and min-plus linear
339: network.} \label{fig:LTIsystem}
340: \end{figure}
341:
342: Classical linear system theory deals with linear time-invariant
343: (LTI) systems with input signal $A(t)$ and output signal $D(t)$ (see
344: Fig.~\ref{fig:LTIsystem}). Linear means that for any two pairs of
345: input and output signals $(A_1, D_1)$ and $(A_2, D_2)$, any linear
346: combination of input signals $b_1 A_1(t) + b_2 A_2(t)$
347: results in the linear combination of output signals $b_1
348: D_1(t) + b_2 D_2(t)$. Time-invariant means that for any pair of
349: inputs and outputs $(A, D)$, a time-shifted input $A(t-\tau)$
350: results in a shifted output $D(t-\tau)$.
351:
352: Let $S(t)$ be the impulse response of the system, that is, the output
353: signal generated by the system if the input signal is a unity
354: (Dirac) impulse at time zero. The basic property of an LTI system is
355: that it is completely characterized by its impulse response, where
356: the output of the system is expressed as the convolution of the
357: input signal and the impulse response:
358: \begin{equation*}
359: D(t) = \int_{-\infty}^{\infty} A(\tau) S(t-\tau) d\tau =: A \ast S
360: (t).
361: \end{equation*}
362: %
363: \subsection{Min-Plus Algebra in the Network Calculus}
364: %
365: A significant discovery of networking research from the 1990's is
366: that networks can often be viewed as linear systems, when the usual
367: algebra is replaced by a so-called min-plus algebra
368: \cite{agrawal:flowcontrolprotocols,chang:performanceguarantees,leboudec:networkcalculus}. In a min-plus algebra
369: \cite{baccelli:synchronizationlinearity}, addition is replaced by a
370: minimum (we write infimum) and multiplication is replaced by an
371: addition. Similar to LTI systems, a min-plus linear system is a
372: system that is linear under the min-plus algebra. This means that a min-plus
373: linear combination of input functions $\inf \{ b_1 + A_1(t), b_2 +
374: A_2(t) \}$ results in the corresponding linear combination of output signals
375: $\inf \{ b_1 + D_1(t), b_2 + D_2(t) \}$.
376: In min-plus system theory, the burst function
377: \begin{equation}
378: \delta(t) =
379: \begin{cases}
380: \infty \ , & \text{if } t > 0 \ ,\\
381: 0 \ , & \text{otherwise} \ ,
382: \end{cases}
383: \label{eq:burstfunction}
384: \end{equation}
385: takes the place of the Dirac impulse function.
386:
387: Let $S(t)$ be the impulse response, that is, the output when the
388: input is the burst function $\delta(t)$. Any time-invariant min-plus
389: linear system is completely described by its impulse response, and
390: the output of any min-plus linear system can be expressed as a
391: linear combination of the input and shifted impulse responses
392: by
393: \begin{equation*}
394: D(t) = \inf_{\tau} \{A(\tau) + S(t-\tau)\} =: A \ast S (t).
395: \label{eq:minplusconvolution}
396: \end{equation*}
397: In analogy to LTI systems, this operation is referred to as
398: convolution of the min-plus algebra
399: \cite{baccelli:synchronizationlinearity}.\footnote{We re-use the
400: symbol of the operator for notational simplicity. The context makes this slight
401: abuse of notation non-ambiguous.}
402: If there exists a
403: function $S(t)$ such that $D(t) = A \ast S(t)$ for all
404: pairs $(A, D)$, then it follows that the system is min-plus
405: linear.
406:
407: The min-plus convolution shares many properties with the
408: usual convolution, e.g., it is commutative and associative.
409: The associativity of min-plus convolution is of particular
410: importance since it implies an easy way of
411: concatenating systems in series. Given a tandem of two min-plus
412: linear systems $S_1(t)$ and $S_2(t)$, the output can be computed
413: iteratively as $D(t) = (A \conv S_1) \conv S_2(t)$ and, with
414: associativity, $D(t) = A \conv (S_1 \conv S_2)(t)$ holds. Generalizing, a tandem of $N$ systems that are characterized by
415: impulse responses $S_1, S_2, \ldots , S_N$
416: is equivalent to a single system with impulse response
417: \begin{equation}
418: S(t) = S_1 \conv S_2 \conv \ldots \conv S_N (t) \ .
419: \label{eq-conv}
420: \end{equation}
421:
422: The observation that some networks can be adequately modeled by a
423: min-plus linear system led to the min-plus formulation of the
424: network calculus \cite{agrawal:flowcontrolprotocols,chang:performanceguarantees,leboudec:networkcalculus}. Here, a
425: system is a network element or entire network, input and output
426: functions $A$ and $D$ are arrivals and departures, respectively, and
427: the impulse response $S$, called the {\em service curve}, represents
428: the service guarantee by a network element. Network elements that
429: are known to be min-plus linear include work-conserving constant
430: rate links ($S(t)=C \, t$, where $C$ is the link capacity), traffic shapers
431: ($S(t)=\sigma + \rho \, t$, where $\sigma$ is a burst size and
432: $\rho$ is a rate), and rate-latency servers ($S(t)= r \, (t -d)_+$,
433: where $r$ is a rate, $d$ is a delay, and $(x)_+=\max (x,0)$), and
434: their concatenations. As in~\cite{agrawal:flowcontrolprotocols,chang:performanceguarantees,leboudec:networkcalculus} we make the convention that functions in the min-plus linear system theory are non-decreasing
435: non-negative functions that pass through the origin.
436:
437: The relevance of the network calculus as a tool for the analysis of
438: networks results from an extension of its formal framework to
439: networks that do not satisfy the conditions of min-plus linearity.
440: Non-linear systems implement more complex mappings $\Pi$ of arrival
441: to departure functions $D(t) = \Pi(A)(t)$. In the network calculus,
442: these are replaced by linear mappings that provide bounds of the
443: form $D(t) \ge A \ast \Smin (t)$ or $D(t) \le A \ast \Smax (t)$
444: (\cite{leboudec:networkcalculus}, pp. {\em xviii}).
445: Here, $\Smin$
446: is referred to as a {\em lower service curve} and $\Smax$ is
447: referred to as an {\em upper service curve}, indicating that they are
448: bounds on the available service. In a min-plus linear system, the
449: service curve $S$ is both an upper and a lower service curve
450: ($S=\Smin=\Smax$), which is therefore frequently referred to as {\em exact
451: service curve}.
452:
453:
454: %
455: \subsection{Legendre transform in Min-Plus Linear Systems}
456: \label{subsec-legendre}
457: %
458: In classical linear system theory, the Fourier transform of $f(t)$, denoted
459: by $\Four_f(\omega)$, establishes a dual domain, the frequency
460: domain, for analysis of LTI systems. In the frequency domain, the
461: Fourier transform turns the convolution to a multiplication, that
462: is, $\Four_{f \ast g}(\omega) = \Four_f (\omega) \cdot
463: \Four_g(\omega)$.
464:
465: In min-plus linear systems, the {\em Legendre transform}, also
466: referred to as convex Fenchel conjugate, plays a similar role. The
467: Legendre transform of a function $f(t)$ is defined as
468: %
469: \begin{equation*}
470: \Legendre_f (r) = \sup_{\tau} \{r\tau - f(\tau) \}.
471: \end{equation*}
472: %
473: Since $r$ can be interpreted as a rate, one may view the domain
474: established by the Legendre transform as a rate domain. The Legendre
475: transform takes the min-plus convolution to an
476: addition~\cite{baccelli:synchronizationlinearity,rockafellar:convexanalysis},
477: that is,
478: \footnote{Whenever
479: possible, from now on we use the shorthand notation $f$ to mean
480: `$f (t)$ for all $t \geq 0$', and $\Legendre_f$ to
481: mean `$\Legendre_f (r)$ for all $r \geq 0$'.}
482: %
483: \begin{equation}
484: \Legendre_{f \ast g} = \Legendre_f + \Legendre_g \ .
485: \label{eq:leg-add}
486: \end{equation}
487: Other properties of the Legendre transform that we exploit in this
488: paper are that, for convex functions $f$, we have
489: \begin{equation}
490: \Legendre(\Legendre_f) = f \ .
491: \label{eq:leg-convex}
492: \end{equation}
493: In other words, a convex function $f$ can be recovered from
494: $\Legendre_f$ by reapplying the Legendre transform
495: \cite{rockafellar:convexanalysis}. In general, we only have
496: \begin{equation}
497: \Legendre(\Legendre_f) \le f \quad \mbox{ and } \quad
498: \Legendre(\Legendre_f) = \text{conv}_f \ , \label{eq:leg-nonconvex}
499: \end{equation}
500: where $\text{conv}_f$ denotes the convex hull of $f$, defined as the
501: largest convex function smaller than $f$.
502:
503: Another property that will be used is that the
504: Legendre transform reverses the order of an inequality, i.e.,
505: \begin{equation}
506: f \ge g \Rightarrow \Legendre_f \le \Legendre_g \ .
507: \label{eq:leg-rev}
508: \end{equation}
509: The statement is an equivalency when $g$ is convex.
510: Applications of the Legendre transform in the network calculus
511: have been previously studied in \cite{agharebparast:slopedomain,fidler:legendre,hisakado:legendre,naudts:trafficparametermeasurement}.
512:
513: \section{A Min-Plus Algebra Formulation of the Bandwidth Estimation Problem}
514: \label{sec-probetheory}
515:
516: We view a network as a min-plus linear or non-linear
517: system that converts input
518: signals (arrivals) into output signals (departures) according to a
519: fixed but unknown service curve $S$.
520: The service curve of the network expresses the available bandwidth,
521: which can be a constant-rate or a more complex function.
522: Measurements of a
523: network probe, defined as a sequence of at least two packets, can be
524: characterized by an arrival function $A^p(t)$ and a departure
525: function $D^p(t)$, where the functions represent the cumulative
526: number of bits seen in the interval $[0,t]$ and time~0 denotes the beginning of the probe.
527: We assume that the system satisfies time-invariance over the duration of a probe. This corresponds to an assumption stated in Section~\ref{sec-probe} that network characteristics do not change over the duration of a measurement.
528: The arrival and departure
529: functions of a probe are constructed from timestamps of the transmission and
530: reception of packets, and from knowledge of the packet size. In
531: Fig.~\ref{fig-probe} we illustrate a network probe consisting of
532: five packets of equal size with fixed spacing between
533: consecutive packets. The vertical distance between
534: arrivals and departures is defined as the virtual backlog $B^p(t)= A^p(t) - D^p(t)$.
535: The horizontal distance is defined as the virtual delay $W^p(t)$.
536:
537:
538: %
539:
540: \begin{figure}
541: \centering \epsfig{file=figure2, width=0.75 \linewidth}
542: \caption{Example arrival and departure function of a probe of five
543: packets.}\label{fig-probe}
544: \end{figure}
545:
546: Representing the network by a min-plus linear system, we interpret a probing scheme as trying to determine from a specific sample of
547: functions $A^p$ and $D^p$ an estimate of an unknown lower service
548: $\Smin$, such that $D\geq A \conv \Smin$ holds for {\sl all}
549: pairs $(A,D)$ of arrival and departure functions.
550: Ideally, the estimate should
551: be a maximal $\Smin (t)$, i.e., there is no other lower service curve larger than $\Smin (t)$ that satisfies the definition.\footnote{We define a partial ordering of functions such that
552: $f \leq g$ iff. $f (t) \leq g (t)$ for all $t$.} The goal of a probing scheme is to select a probing
553: pattern, i.e., a function $A^p$, that reveals a
554: maximal service curve.
555: A maximal lower service curve $\Smin$ computed from $A^p$ and $D^p$ yields a sample of the available bandwidth.
556:
557:
558: Putting these considerations into a problem formulation, $\Smin$ is the solution to the following optimization problem:
559: \begin{tabbing}
560: \= xxxxxxxxxxxxx \=xxxxxxxxxxxx \= \kill
561: \>{\sc maximize} \> $\Smin$ \\
562: \>{\sc subject to} \> $D(t) \geq \inf_{\tau}
563: \{A(\tau) + \Smin (t-\tau)\}$, \\
564: \>\> \hspace{1cm} $\forall t \geq 0, \mbox{ for all pairs } (A, D)$.
565: \end{tabbing}
566: This problem has the structure of a maximin optimization, a class of problems which is fundamentally hard.
567: The formulation does not consider that service curves only form a partial ordering. Therefore, there may not be an optimal solution, but only solutions that cannot be further improved.
568:
569: The bandwidth estimation problem is easier when the network can be
570: described by a min-plus linear system.
571: As we will see in Section~\ref{sec-fifo}, some
572: non-linear networks, such as FIFO systems,
573: are min-plus linear under low load conditions. Recalling that a system is min-plus linear
574: if it can be described by an exact service curve, the bandwidth
575: estimation problem is reduced to solving the inversion of
576: $$
577: D(t) = A \conv S (t) \, \mbox{for all } t \geq 0.
578: $$
579:
580:
581: If we can take a measurement of $A^p$ and $D^p$ which solves the
582: equation for $S$, then, due to min-plus linearity, we have a
583: solution for {\sl all} possible arrival and departure functions. From
584: Section~\ref{sec-LTI}, we can infer that a solution is obtained
585: by using the burst function of Eq.~(\ref{eq:burstfunction}) as
586: probing pattern, i.e., $A^p (t) = \delta(t)$.
587: This follows since the service curve is the impulse response of
588: a min-plus system, that is, $D^p(t) = \delta \conv S (t) = S(t)$.
589: However, sending a probe as a burst
590: function is not practical, since it assumes the instantaneous
591: transmission of an infinite sized packet sequence. While a burst
592: function can be approximated by a sufficiently large back-to-back
593: packet train, a high-volume transmission of probes consumes
594: network resources and interferes with other packet traffic. In
595: fact, the service curve of a burst function (or its
596: approximation) may cause some networks that operate in a min-plus
597: linear regime to become non-linear. The observation that large
598: packet trains can lead to unreliable estimates has been noted
599: in the literature~\cite{dovrolis:packetdispersion}.
600:
601: In the next section, we present derivations for three
602: bandwidth estimation methods in min-plus linear systems. We are able
603: to relate two of these methods to previously proposed probing schemes.
604: We will later discuss how these schemes can be applied to certain non-linear systems.
605:
606: We conclude this section with remarks on some general aspects of
607: probing schemes and their representations in min-plus
608: linear system theory.
609:
610: \noindent$\bullet$ {\bf Timestamps and asynchrony of clocks:}
611: When clocks at the sender and receiver of a probing packet are
612: perfectly synchronized, and the sender includes the transmission time
613: into each probing packet, the receiver can
614: accurately construct the functions $A^p$ and $D^p$.
615: In practice, however, clocks are not synchronized.
616: When clocks have a fixed offset (but no drift), the arrival
617: function $A^p$ can be viewed as being
618: time-shifted by an unknown offset $T$. In the min-plus algebra a
619: time-shift can be expressed by a convolution, i.e.,
620: $A^p (t - T) = A^p \conv \delta_{T} (t)$
621: where $\delta_{T}(t)=\delta(t-T)$. Here, the convolution of arrival
622: function and service curve becomes $(A^p \conv \delta_T) \conv \Smin$,
623: which due to associativity and commutativity of the convolution
624: operation, can be rewritten as $A^p \conv (\Smin \conv \delta_T)$.
625: Hence, when the offset is fixed but unknown, even an ideal probing
626: scheme can only compute a service curve that is a time-shifted
627: version of the actual service curve of the network. Drifting clocks
628: make the problem harder. Many bandwidth
629: estimation schemes circumvent the problem of asynchronous clocks by
630: returning probes to the sender ~\cite{akella:bfind,cprobe},
631: or by only recording time differences of incoming
632: probes~\cite{hu:IGI,jain:pathload,topp,ribeiro:pathchirp,strauss:spruce}. A moment's
633: consideration shows that knowledge of the differences between the
634: transmission and arrival of probing packets has the same
635: limitations as dealing with an unknown clock offset $T$ between the sender
636: and receiver of probing packets.
637:
638: \noindent$\bullet$ {\bf Losses:} Probe packets that are dropped in the network can be thought of as incurring an infinite delay. The presentation of arrival and departure functions in Fig.~\ref{fig-probe} is not well suited for accommodating packet losses. An alternative presentation, which expresses arrival and departure times of probe packets (on the y-axis) as a function of the sequence numbers (on the x-axis) can deal with packet losses more elegantly, but may appear less intuitive. Such a description of traffic with flipped axes leads to a dual representation of the network calculus which is based on a max-plus algebra \cite{chang:performanceguarantees,leboudec:networkcalculus}.
639:
640: \noindent$\bullet$ {\bf Packet pairs:} The arrival and departure
641: functions of a packet pair have each only three points, i.e., the
642: origin and the two timestamps related to the packet pair. If it can
643: be assumed that the service curve has a certain shape, e.g., a
644: rate-latency curve $S(t) =r\cdot(t-d)_+$, the service curve can be
645: recovered. In the absence of such an assumption, packet pair methods
646: may not be able to recover more complex service curves.
647: This is reflected in observations that bandwidth estimates from packet pairs tend to be less reliable compared to packet trains if cross-traffic is bursty \cite{jain:bandwidthestimationpitfalls,loguinov07}.
648:
649:
650:
651:
652:
653: \section{Min-Plus Theory of Network Probing Methods}
654: \label{sec-inverse}
655: %
656:
657: In this section, we derive bandwidth estimation methods as solutions
658: to finding an unknown service curve for a min-plus system.
659: For the derivations, we make a number of idealizing assumptions. First, we consider a fluid
660: flow view of traffic and service. This assumption can be
661: relaxed at the cost of additional notation. Unless stated otherwise,
662: we assume that the network represents a min-plus linear system. This
663: assumption will be relaxed in Section~\ref{sec-fifo}. We generally assume
664: that accurate timestamps for transmission and arrival of probes are
665: feasible. If measurements only record time differences
666: between events or include an unknown clock offset between sender
667: and receiver, the computed service curves need
668: to be time shifted by some constant value.
669:
670:
671: \subsection{Passive Measurements}
672:
673:
674: We first try to answer the question: {\em How much
675: information about the available bandwidth can be extracted from
676: passive measurements of traffic?} To provide an answer we first
677: introduce the deconvolution operator of the min-plus algebra, which
678: is defined for two functions $f$ and $g$ by
679: \begin{equation*}
680: f \deconv g (t) = \sup_{\tau} \{f(t+\tau) - g(\tau)\}.
681: \end{equation*}
682: The deconvolution operation is {\em not} an inverse to the
683: convolution ($g \neq f \deconv (f \conv g)$), however, it
684: has aspects of such an inverse. This is expressed in the following
685: duality statement from \cite{leboudec:networkcalculus}, which states
686: that for functions $f$, $g$ and $h$, the following equivalency
687: holds:\footnote{We use
688: shorthand notation $f = g \conv h $ to mean `$f (t) = (g \conv h) (t)$
689: for all $t \geq 0$'.}
690: \begin{equation}
691: \begin{split}
692: f \le g \conv h \quad \Leftrightarrow \quad
693: h \ge f \deconv g.
694: \end{split}
695: \label{eq:duality}
696: \end{equation}
697: We will exploit this property to formulate the following lemma.
698:
699:
700: %
701: \begin{lemma}
702: \label{prop:composition}
703: %
704: For two functions $g$ and $h$,
705: we have
706:
707: $$((h \conv g) \deconv g) \conv g = h
708: \conv g \ . $$
709: \end{lemma}
710:
711: \begin{proof}
712: The proof makes two applications of Eq.~(\ref{eq:duality}).
713: Let us define $\tilde{h} = f \deconv g$ and $f = g\conv h$.
714: By definition of $\tilde{h}$ we can conclude with Eq.~(\ref{eq:duality}) that $f \le g \conv
715: \tilde{h}$.
716:
717: By definition of $f$, we see from
718: Eq.~(\ref{eq:duality}) that $h\geq f \deconv g$.
719: By our definition of $\tilde{h}$, this gives us $h \geq \tilde{h}$. From $h \geq
720: \tilde{h}$ and $f = g \conv h$ we get $f \ge g \conv \tilde{h}$.
721:
722: Combining the two statements about the relationship of
723: $f$ and $g \conv \tilde{h}$ gives us $f = g \conv \tilde{h}$. Now,
724: by inserting our definition $\tilde{h} = f \deconv g$,
725: we obtain $f = g \conv (f \deconv g)$. Inserting our second
726: definition $f=g \conv h$ yields $g \conv h = g \conv ((g \conv h)
727: \deconv g)$. Reordering the expression using commutativity of the
728: min-plus convolution completes the proof.
729: %
730: \end{proof}
731:
732:
733: %
734: The lemma justifies the following passive
735: measurement scheme. Let us denote the arrival and departure
736: functions measured from a traffic trace of one or more flows by
737: $A^{p}$ and $D^{p}$. By assumption of linearity, we know that
738: $D^{p} = A^{p} \conv S$ holds, but the shape of $S$ is unknown.
739: Suppose we compute a function $\tilde{S}$ from the trace as the
740: deconvolution of the departures and the arrivals, i.e., we set
741: \begin{equation}
742: \tilde{S} = D^{p} \deconv A^{p} \ .
743: \label{eq:deconv-x0}
744: \end{equation}
745: With this, we can derive as follows:
746: \begin{eqnarray*}
747: D^p & = & S \conv A^p \\
748: & = & ((S \conv A^p) \deconv A^p) \conv A^p \\
749: & = & (D^p \deconv A^p) \conv A^p \\
750: & = & \tilde{S} \conv A^p
751: \end{eqnarray*}
752: Equality in the first line holds because of our assumption of linearity. In the second line we apply Lemma~\ref{prop:composition}. The third line uses again the linearity assumption.
753: In the fourth line, we insert Eq.~(\ref{eq:deconv-x0}).
754: We can therefore conclude with Lemma~\ref{prop:composition} that
755: \begin{equation}
756: D^{p} = A^{p} \conv \tilde{S} \ . \label{eq:deconv-x1}
757: \end{equation}
758: Applying the duality property from Eq.~(\ref{eq:duality}) to
759: $D^p = A^p \conv S$, we obtain $S \geq D^p \deconv A^p$. Then,
760: with Eq.~(\ref{eq:deconv-x0}) we have
761: $$
762: \tilde{S} \leq S \ .
763: $$
764: Hence, by deconvolving $D^p$ and $A^p$ as in Eq.~(\ref{eq:deconv-x0}), the result $\tilde{S}$ is a lower service curve, i.e., for all
765: pairs of arrival and departure functions $(A, D)$,
766: we have $D \geq A \conv \tilde{S}$. Since, from
767: Eq.~(\ref{eq:deconv-x1}), $\tilde{S}$ can completely reconstruct
768: the departure function from the arrival function, we can conclude
769: that $\tilde{S}$ is the best possible estimate of the actual
770: service curve that can be justified from measurements of $A^{p}$ and
771: $D^{p}$, in the sense that it extracts the most information from the
772: measurements.
773: Since the above deconvolution computes
774: the largest available bandwidth that can be
775: justified from a given traffic trace, the described method will perform no
776: worse than any existing MBAC method from the MBAC literature
777: \cite{cetinkaya:egressadmissioncontrol}.
778:
779:
780: The main drawback of this method is that it can only be applied to
781: linear networks. For networks that do not satisfy min-plus
782: linearity, i.e., that can only be described by a lower service curve
783: ($D \geq A \conv \underline{S}$) or upper service curve
784: ($D \leq A \conv \overline{S}$), $\tilde{S}$ only computes a (not
785: useful) lower bound for an upper service curve $\overline{S}$.
786: As another remark, note that Lemma~\ref{prop:composition} does not
787: help us with designing a probing scheme,
788: since it does not tell us how to select the traffic $A^{p}$ for the
789: network probes.
790:
791: For illustration of the passive measurement scheme, we now present two numerical examples.
792:
793: {\bf Example 1: Sensitivity of Passive Measurements. }
794: We study the the sensitivity of the passive measurement method with
795: respect to the burstiness of the trace, the fraction of available
796: bandwidth that is utilized by the flows, and the length of the
797: measurement period.
798: We consider an idealized fluid flow traffic at a min-plus linear system, which is
799: governed by a service curve
800: \[ S(t) = (b+rt) \ast (R[t-T]^+) \ .
801: \]
802:
803: The system represents a
804: network where the input is regulated with a leaky-bucket with
805: parameters $b$ and $r$, and the service is described by a
806: latency-rate service curve with delay $T$ and rate $R$. We set
807: $b=0.75$~Mb, $r=25$~Mbps, $R=100$~Mbps, and $T=10$~ms.
808:
809:
810: \begin{table}[t]
811: \centering
812: \caption{Example 1: Parameters of On-Off sources.}
813: \label{tab:onoff}
814:
815: \begin{tabular}{|c||r|r|r|}
816: \multicolumn{4}{c}{\small (a) \sc high load} \\
817: \hline Burstiness & high & med & low \\
818: \hline Number of sources & 1 & 5 & 25 \\
819: Source peak rate [Mbps] & 200 & 40 & 8 \\
820: Total average rate [Mbps] & 20 & 20 & 20 \\
821: \hline
822: \end{tabular}
823:
824: \begin{tabular}{|c||r|r|r|}
825: \multicolumn{4}{c}{\small (b) \sc low load} \\
826: \hline Burstiness & high & med & low \\
827: \hline Number of sources & 1 & 5 & 25 \\
828: Source peak rate [Mbps] & 200 & 40 & 8 \\
829: Total average rate [Mbps] & 10 & 10 & 10 \\
830: \hline
831: \end{tabular}
832:
833: \end{table}
834:
835:
836: As traffic trace, we use an arrival sample path that
837: represents the aggregate arrivals from a set of statistically
838: independent On-Off traffic sources. In the {\em On state}, each source
839: generates traffic at a given peak rate. In the {\em Off state},
840: no data is generated. In each time slot of duration one millisecond, a source switches from the
841: {\em On state} to the {\em Off state} with probability $p$, and from the {\em Off state} to the {\em On state} with
842: with probability $q$.
843:
844: The parameters are depicted in Table~\ref{tab:onoff}. In the {\em
845: high load} setting,
846: we set $p=0.09$ and $q= 0.01$, resulting in a total arrival rate
847: of $20$~Mbps. In {\em low load},
848: we set $p=0.19$ and $q= 0.01$, which leads to an
849: average total traffic rate of $10$~Mbps.
850: We control the burstiness of
851: the traffic by increasing the number of flows, and accordingly
852: decrease the peak rate of each flow. Due to statistical
853: multiplexing, an aggregate of multiple On-Off sources is less bursty
854: than a single flow with the same peak and average rate. In our plots
855: burstiness levels of {\em high}, {\em medium}, and {\em low}
856: correspond to a trace with 1,~5, and 25~sources.
857:
858:
859: In Fig.~\ref{fig:onoffa}-\ref{fig:onoffd} we show the estimates of the
860: lower service curves $\tilde{S}$ obtained with the deconvolution described above,
861: and compare them to the actual service curve $S$, indicated as a
862: thick (red) line in each graph. The length of the measurement is
863: taken over 1~second (plots on the left), 10~seconds (plots on the
864: right). In all plots, we see that burstier traffic leads to better
865: estimates of the service curve. This is expected since we know that the
866: burstiest traffic, i.e., a burst impulse, can perfectly recover $S$
867: (see Section~\ref{sec-probetheory}). For the same reason, the
868: estimates improve when the traffic trace has a higher utilization of
869: the available bandwidth. Observe that all estimates improve with
870: increasing length of the evaluation period. This follows from the
871: definition of the supremum in the min-plus deconvolution operation.
872:
873:
874: %
875: \begin{figure}
876:
877: \centering
878: %
879: \subfigure[High load, after 1
880: second.]{\epsfig{file=figure3a, width=0.49\linewidth}\label{fig:onoffa}}
881: %
882: \subfigure[High load, after 10
883: seconds.]{\epsfig{file=figure3b, width=0.49\linewidth}\label{fig:onoffb}}
884: %
885: \subfigure[Low load, after 1
886: second.]{\epsfig{file=figure3c, width=0.49\linewidth}\label{fig:onoffc}}
887: %
888: \subfigure[Low load, after 10
889: seconds.]{\epsfig{file=figure3d, width=0.49\linewidth}\label{fig:onoffd}}
890: %
891: %
892:
893: \caption{Example 1: Passive measurement of multiplexed On-Off traffic.\label{fig:video}}
894: \end{figure}
895:
896:
897: {\bf Example 2: The Dilemma of Passive Measurements. }
898: To illustrate the limitations of passive measurements for
899: bandwidth estimation, we now present as a second example an ns-2 simulation \cite{ns2} of
900: measurements at a single node with capacity~$C$. There is a propagation delay of 10~ms at the ingress link and a 10~ms delay at the egress link. The packet scheduling algorithm is
901: either FIFO or Deficit Round Robin (DRR). DRR approximates a fair
902: queuing discipline, which can distribute capacity equally among cross and probe traffic. The cross traffic at this link
903: consists of CBR traffic which is transmitted in 800 byte packets.
904: The rate of cross traffic is set to half the link capacity.
905: The traffic source for passive measurements is a small
906: segment of a high-bandwidth variable bit rate video trace
907: \cite{Reissleintrace} with an average rate of 17.1~Mbps and a peak
908: rate of 154~Mbps. (We have used two seconds of the video
909: trace entitled {\em From Mars to China}.) We evaluate the bandwidth estimation, when the link capacity is set to
910: $C=70,~50,~30$~Mbps. The resulting service curves
911: are shown in Fig.~\ref{fig:video}. In each
912: figure, the exact service curve (red line) is a latency rate service curve with delay~20~msec and
913: rate $C/2$. The computed estimates are indicated by a dashed line for FIFO
914: and a solid line for DRR scheduling. For $C=70$~Mbps, the
915: available bandwidth is clearly underestimated. The estimates
916: improve for $C=50$~Mbps, where the video trace accounts for a
917: larger fraction of the unused bandwidth. For $C=30$~Mbps, the
918: available bandwidth is estimated with high accuracy for the DRR
919: link, but overestimated for the FIFO link. The overly optimistic estimates at a FIFO link occur when the variable bit rate of the video traffic overloads the link,
920: thereby preempting cross traffic. An explanation for this outcome
921: is given in Section~\ref{sec-fifo}, where we discuss non-linearities observed in overloaded FIFO systems. The video trace example indicates a fundamental dilemma
922: with passive measurements. On the one hand, if the traffic
923: intensity of the measured trace is too low, the trace does not
924: extract enough information from the network. On the other hand,
925: if the traffic intensity is too high, the traffic trace may
926: preempt other traffic, thus leading to inaccurate estimates.
927:
928:
929: %
930: \begin{figure}
931: \centering
932: %
933: \subfigure[$C=70$~Mbps.]{\epsfig{file=figure4a,
934: width=0.49 \linewidth}\label{fig:videoa}}
935: %
936: \subfigure[$C=50$~Mbps.]{\epsfig{file=figure4b,width=0.49
937: \linewidth}\label{fig:videob}}
938: %
939: \subfigure[$C=30$~Mbps.]{\epsfig{file=figure4c,width=0.49 \linewidth}\label{fig:videoc}}
940: %
941: %
942: %
943: \caption{Example 2: Passive measurement simulation with a video source.}
944: \end{figure}
945:
946: \subsection{Rate Scanning}
947: \label{subsec:ratescan}
948: %
949: We now consider an active probing scheme that transmits packet trains at a constant rate, but varies the rate of subsequent trains, e.g., such as
950: {\em pathload}~\cite{jain:slops,jain:pathload}.
951: We provide a justification for this approach, which we refer to as {\em rate scanning}, using min-plus system theory.
952:
953: Given arrival and departure functions $A$ and $D$, using the
954: earlier definition of backlog, the maximum backlog
955: can be computed as
956: %
957: \begin{equation*}
958: B_{max} = \sup_{t} \{A(t) - D(t) \}.
959: \end{equation*}
960: %
961: If the arrivals are a constant rate function, that is, $A(t) = r t, $
962: and the network satisfies min-plus linearity,
963: we can write $B_{max}$ as a function of $r$ as follows:
964: %
965: \begin{equation*}
966: \begin{split}
967: B_{max}(r) &= \sup_{t} \{rt - \inf_{\tau} \{r \tau + S(t-\tau) \}\} \\
968: &= \sup_{t} \{ \sup_{\tau} \{r (t -\tau) - S(t-\tau) \}\} \\
969: &= \sup_{t} \{rt - S(t) \}.
970: \end{split}
971: \end{equation*}
972: %
973: The first line uses that output in min-plus linear systems can be
974: characterized by $D= A \conv S$. The second line moves the infimum in
975: front of the substraction, where it
976: becomes a supremum. The third line is simply a substitution.
977:
978: Recalling the definition of the Legendre transform from
979: Subsection~\ref{subsec-legendre}, the right hand side
980: of the last equation can be written as the Legendre transform of $S$, that is,
981: $B_{max} (r) = \Legendre_S (r)$. This relation has been observed
982: in~\cite{Cruz91,fidler:legendre,naudts:trafficparametermeasurement}.
983: We now take a further step by applying the relation in the reverse transform.
984: Due to Eq.~(\ref{eq:leg-convex}), we have for convex service curves
985: $S$ that
986: %
987: \begin{equation*}
988: S(t) = \Legendre ( \Legendre_S ) (t) = \Legendre_{B_{max}} (t) = \sup_r \{rt
989: - B_{max}(r) \} \ .
990: \end{equation*}
991: Thus, every convex
992: service curve can be completely recovered by measurements of the maximum
993: backlog $B_{max}$. For service curves that are not convex
994: one recovers, using Eq.~(\ref{eq:leg-nonconvex}), a lower bound
995: for the service curve. The interpretation of rate scanning is
996: that each constant bit rate stream with rate $r$ reveals one point
997: $B_{max}(r)$ of the service curve in the Legendre domain
998: $\Legendre_S (r)$.
999: If we specify a {\em rate
1000: increment}, which sets the rate increase between packet
1001: trains and a {\em rate limit}, which sets the maximum rate at
1002: which the network is scanned, we realize a rate scanning method
1003: that computes a service curve consisting of piecewise linear segments. The
1004: choice of the rate increment determines the length of the segments,
1005: and, in this way, the accuracy of the computed service
1006: curve. We note that
1007: rate scanning is capable of tracking a convex service
1008: curve up to a time where the derivative of the service
1009: curve reaches the rate limit. The higher the maximum rate, the more
1010: information about the service curve is recovered. The number of packets in a packet train must be large enough so that the maximum backlog can be accurately measured.
1011:
1012: A criterion for
1013: picking the rate limit suggested by our derivations is to stop
1014: rate scanning when increasing the scanning rate does not yield an
1015: improvement of the service curve. This criterion, however, may fail when the
1016: underlying network is not min-plus linear.
1017: The rate scanning method {\em pathload} ~\cite{jain:slops,jain:pathload} uses an iterative procedure which
1018: varies the rate $r$ of consecutive packet trains until measured
1019: delays indicate an increasing trend. In
1020: Section~\ref{sec-fifo} we will find that similar criteria can
1021: be justified to determine a rate limit in a non-linear system.
1022:
1023: In Fig.~\ref{fig:ratescanninga} we present an example of the rate
1024: scanning approach for a fluid-flow service curve with a quadratic
1025: form $S(t) = 0.4 t^2$. In the example, rate scanning is performed
1026: at rates $10,~20, \ldots , 80$~Mbps. In Fig.~\ref{fig:ratescanninga},
1027: we plot the maximum backlog observed for each scanning rate. The
1028: function $B_{max}(r)$ is constructed by connecting the measured data
1029: points by lines. For rates $r$ exceeding the rate limit we can set $B_{max} (r) = \infty$ to obtain a conservative
1030: Legendre transform for all rate values.
1031: In Fig.~\ref{fig:ratescanningb}, we show the
1032: service curves that are obtained with different rate limits. The
1033: higher the rate limit, the more accurate the results.
1034: Decreasing the increment of the rate will improve the accuracy of
1035: the service curve.
1036: We point out that both the backlog plot in
1037: Fig.~\ref{fig:ratescanninga} and the service curves in
1038: Fig.~\ref{fig:ratescanningb} consist of linear segments.
1039:
1040:
1041:
1042: \begin{figure}
1043: \centering
1044: %
1045: \subfigure[Maximum Backlog $B_{max} (r)$.
1046: ]{\epsfig{file=figure5a, width=0.49
1047: \linewidth}\label{fig:ratescanninga}}
1048: %
1049: \subfigure[Rate scanning results with different rate limits.]
1050: {\epsfig{file=figure5b, width=0.49
1051: \linewidth}\label{fig:ratescanningb}}
1052: %
1053: \caption{Service curve estimation with rate scanning.\label{fig:ratescanning}}
1054: \end{figure}
1055:
1056: \begin{figure}
1057: \centering
1058: %
1059: \subfigure[Rate Chirps.] {\epsfig{file=figure6a,
1060: width=0.49 \linewidth}\label{fig:ratechirpa}}
1061: %
1062: \subfigure[Rate chirp results with different spread factors.]
1063: {\epsfig{file=figure6b, width=0.49
1064: \linewidth}\label{fig:ratechirpb}}
1065: %
1066: \caption{Service curve estimation with rate
1067: chirps.\label{fig:ratechirp}}
1068: \end{figure}
1069:
1070: \subsection{Rate Chirps}
1071: \label{subsec:ratechirp}
1072:
1073: The need of rate scanning to measure a possibly large number of
1074: packet trains has motivated the {\em pathchirp} method \cite{ribeiro:pathchirp}, where available bandwidth estimates are based on the measurement of a single packet train, with a geometrically decreasing
1075: inter-packet spacing. The approach takes inspiration from chirp
1076: signals in signal processing, which are signals
1077: whose frequencies change with time. We refer to this approach as {\em
1078: rate chirp}, since the decreased gap between packets corresponds to
1079: an increase of the transmission rate.
1080: We will show that a rate chirp scheme can be justified in min-plus system theory using properties of the
1081: Legendre transform.
1082:
1083: Suppose we have a lower service curve $\Smin$ satisfying
1084: $D \geq A \conv \Smin$ for all pairs $(A,D)$. Taking
1085: the Legendre transform we
1086: obtain with the order reversing property of Eq.~(\ref{eq:leg-rev}) and
1087: with Eq.~(\ref{eq:leg-add}), that
1088: \begin{equation*}
1089: \Legendre_D \le \Legendre_{A \conv \Smin}
1090: = \Legendre_A + \Legendre_{\Smin} \label{eq:upperlegendrefirsttransform} \ .
1091: \end{equation*}
1092: We can re-write this as
1093: \[
1094: \Legendre_{\Smin} \ge \Legendre_D - \Legendre_A \ ,
1095: \]
1096: as long as the difference
1097: $\Legendre_D (r) - \Legendre_A(r)$ is defined for all $r$.
1098: A sufficient condition is that $\Legendre_A (r) < \infty$,
1099: since it prevents both transforms $\Legendre_D$ and
1100: $\Legendre_A$ from becoming infinite at the same value of $r$.
1101: Another application of Eq.~(\ref{eq:leg-rev}) yields
1102: \[
1103: \Legendre(\Legendre_{\Smin}) \! \leq \! \Legendre(\Legendre_D - \Legendre_A) \ .
1104: \]
1105: If the system is min-plus linear, that is, $D = A \conv S$, we
1106: get,
1107: \[
1108: \Legendre(\Legendre_S) \! = \! \Legendre(\Legendre_D - \Legendre_A) \ .
1109: \]
1110: If $S$ is also convex, then by Eq.~(\ref{eq:leg-convex}),
1111: we have
1112: $S = \Legendre(\Legendre_D - \Legendre_A)$.
1113:
1114: This provides us with a justification for
1115: {\em pathchirp} \cite{ribeiro:pathchirp} as a probing method. If we depict
1116: the transmission of a packet chirp as a fluid flow function, we see
1117: that it grows to an infinite rate, thus, yielding a Legendre
1118: transform that is finite for all rates. By measuring arrivals and
1119: departures of the chirp, denoted by $A^{chrp}$ and $D^{chrp}$, we
1120: can compute a function $\tilde{S}$ by
1121: \begin{equation}
1122: \tilde{S} (t) = \Legendre(\Legendre_{D^{chrp}} - \Legendre_{A^{chrp}}) (t) \ .
1123: \label{eq-chrp}
1124: \end{equation}
1125: If the network satisfies $D = A \conv S$ for all arrivals, then
1126: the right hand side of Eq.~(\ref{eq-chrp}) computes $\Legendre(\Legendre_S)$.
1127: With Eq.~(\ref{eq:leg-nonconvex}), we obtain
1128: $ \tilde{S} \leq S$,
1129: which tells us that $\tilde{S}$ is a lower
1130: service curve that satisfies $D \geq A \conv \tilde{S}$ for any
1131: traffic with arrival function $A$ and departure function $D$.
1132: If $S$ is convex we have $\tilde{S} = S$,
1133: and we can recover the service curve exactly.
1134:
1135: In practical probing schemes, our fluid flow interpretation where a packet chirp can grow to an infinite rate is idealized, since a rate chirp cannot be transmitted faster than the data rate at the
1136: sender of probe packets.
1137: For a packet chirp that is transmitted
1138: in a time interval $[0, t^A_{max}]$ and
1139: where $D$ is observed over an interval $[0, t^D_{max}]$,
1140: the following adjustment complies with the formal requirements of
1141: our equations:
1142: \begin{eqnarray}
1143: \tilde{A}^{chrp} (t) & = &
1144: \begin{cases}
1145: A^{chrp} \ , & \mbox{if } 0 \leq t \leq t^A_{max} \ , \\
1146: \infty \ , & \mbox{if } t > t^A_{max} \ ,
1147: \end{cases}
1148: \nonumber \\
1149: \tilde{D}^{chrp} (t) & = &
1150: \left\{
1151: \begin{array}{l}
1152: D^{chrp} \ , \mbox{if } 0 \leq t \leq t^D_{max} \ , \\
1153: D^{chrp} (t^D_{max}) + (t - t^D_{max}) \frac{d D^{chrp}}{dt} (t^D_{max}) \ , \\\
1154: \qquad\qquad \mbox{if } t > t^D_{max} \ .
1155: \end{array}
1156: \right. \nonumber
1157: \end{eqnarray}
1158: The arrival function is simply set to $\infty$ past the
1159: last measurement. The departure function is continued
1160: at a rate that corresponds to its slope at the time of the last
1161: measurement. For convex service curves $S$, the above extensions are conservative.
1162:
1163: In Fig.~\ref{fig:ratechirpa} we show several rate chirps for a
1164: network probe. The rate chirp consists of a step-function which emulates a sequence of probing packets of 1200~bytes. The packets are transmitted at an increasing rate, starting
1165: at 10~Mbps and growing to 200~Mbps. The rate is increased by
1166: reducing the elapsed time between the transmission of the first bit
1167: of two consecutive packets, by a constant factor $\gamma$, which is
1168: called the spread factor in~\cite{ribeiro:pathchirp}. Larger values
1169: for $\gamma$ lead to shorter chirps that grow faster to the maximum
1170: rate. In Fig.~\ref{fig:ratechirpb}, we show the service curves
1171: computed from the chirps in Fig.~\ref{fig:ratechirpa}. The actual
1172: service curve is $S(t) = 0.4 t^2$, indicated as a thick (red) line in the
1173: figure. A chirp with a smaller spread factor
1174: $\gamma$, which transmits more packets over longer time interval,
1175: leads to better estimates of the service curve.
1176:
1177:
1178:
1179: %
1180:
1181:
1182: \section{Bandwidth estimation in non-linear systems}
1183: \label{sec-fifo}
1184:
1185:
1186:
1187: Extending bandwidth estimation to systems that are not min-plus
1188: linear, i.e., cannot be described by an exact service curve, raises
1189: difficult questions. First, the problem formulation of bandwidth estimation at the beginning of Section~\ref{sec-probetheory} has shown that the problem has the structure of a maximin optimization. Moreover, in
1190: networks with non-linearities the network service available to a traffic flow may depend on the traffic transmitted by this flow. If this is the case, knowledge of the available bandwidth may not help with predicting network behavior.
1191:
1192: In this section, we provide solutions for a class of networks that
1193: can be decomposed into disjoint min-plus linear and
1194: non-linear regions. These networks behave like a min-plus linear system at low load, and become non-linear when the traffic rate is increased beyond a threshold.
1195: In such a network, the goal of
1196: bandwidth estimation should be to determine the available bandwidth of the linear region.
1197: The interpretation is that the available bandwidth denotes the maximum additional load that the network can carry without
1198: degrading to a non-linear system.
1199: Our work is motivated by studying the available bandwidth at a FIFO link. While we conjecture that most networks can be adequately described by a system that behaves linearly at low loads, the actual scope of this class of networks remains
1200: an open problem.
1201:
1202: \begin{figure}
1203: \centering
1204: %
1205: \subfigure[Cross and probe traffic.] {\epsfig{file=figure7a,
1206: width=0.49 \linewidth}\label{fig:fifofig}}
1207: %
1208: \subfigure[Departures of probes.]
1209: {\epsfig{file=figure7b, width=0.49
1210: \linewidth}\label{fig:fifo}}
1211: %
1212: \caption{FIFO system.}
1213: %
1214: \end{figure}
1215:
1216: \subsection{Non-linearity of FIFO systems}
1217:
1218: Consider the FIFO system shown in Fig.~\ref{fig:fifofig} with
1219: capacity $C$. Assume that we have constant-bit rate traffic that is transmitted in
1220: 800~byte packets. The FIFO queue experiences (cross) traffic at a
1221: rate of $r_c$, and probing traffic is sent according to $A(t) = r
1222: t$. Assuming a link capacity of $C=50$~Mbps and cross traffic of
1223: $r_c=25$~Mbps, we consider a probing rate of $r=25,50,75,100$~Mbps.
1224: For an {\em ns-2} simulation of this system, Fig.~\ref{fig:fifo} depicts the departure function of the probe
1225: packets for the range of probing rates. As seen previously for passive measurements at a FIFO queue (see
1226: Fig.~\ref{fig:video}), once the probing traffic
1227: exceeds the unused capacity, it preempts cross traffic and results
1228: in an overly optimistic estimate of the available bandwidth.
1229: Empirical observations of FIFO systems with CBR cross and probe
1230: traffic in~\cite{melander:fcfsprobing} suggested the following departure
1231: function:
1232: \begin{equation}
1233: D(t) = \begin{cases} rt \ , & \text{if } r \le C-r_c \ , \\
1234: \frac{r}{r+r_c} Ct \ , & \text{if } r > C-r_c \ .
1235: \end{cases}
1236: \label{eq:fifo1}
1237: \end{equation}
1238: %
1239: Thus, if the probing rate is above the threshold $C-r_c$, the
1240: capacity allocated to the probe and cross traffic is proportional to
1241: their respective rates. As a result, probing traffic gets more
1242: bandwidth when its rate is increased.
1243:
1244:
1245:
1246: We now offer a min-plus system interpretation of bandwidth
1247: estimation for the depicted FIFO scenario. Consider the function
1248: $S_{fifo} (t) = (C- r_c) t$. From the empirical departure
1249: characterization $D$ of a FIFO system from Eq.~(\ref{eq:fifo1}), we
1250: can verify that the following is satisfied for all $t \geq 0$:
1251: \begin{equation}
1252: \begin{array}{l l}
1253: D(t) & = ( rt ) \conv S_{fifo} \ , \text{if } r \le C-r_c \\
1254: D(t) & \geq ( rt ) \conv S_{fifo} \ , \text{if } r > C-r_c \ .
1255: \end{array}
1256: \label{eq:fifo2}
1257: \end{equation}
1258: Therefore, $S_{fifo}$ is an exact service curve for $A(t) = rt$
1259: when $r \leq C - r_c$, and $S_{fifo}$ is a lower service curve when
1260: the arrivals exceed the threshold value. In fact, $S_{fifo}$ is the
1261: largest lower service curve for a FIFO system, and a solution to the
1262: maximization in Section~\ref{sec-probetheory}. Any function larger
1263: than $S_{fifo}$ may not be a lower service curve for rates $r> C-r_c$,
1264: indicating that a FIFO system is not min-plus linear in this range.
1265:
1266: These considerations suggest to view a FIFO network as a system that
1267: is min-plus linear at rates $r \le C-r_c$, and crosses into a
1268: non-linear region when the rate exceeds the threshold. The crossing
1269: of these regions coincides with the point where the available
1270: bandwidth $S_{fifo}$ can be observed.
1271:
1272:
1273: Probing schemes that vary the rate of probe traffic can sometimes be
1274: interpreted in terms of searching for the crossover from a linear to
1275: a non-linear regime. In particular, the rules in {\em pathload} and
1276: {\em pathchirp} to stop measurements when increasing delays are
1277: observed can be justified in terms of crossing the non-linear
1278: region (at least in a FIFO system), since a probing rate above $C -
1279: r_c$ is the turning point when the buffer of the FIFO system fills up. In the
1280: remainder of this section, we address the problem of locating this
1281: crossover point using systems-theoretic arguments.
1282:
1283: \subsection{Stopping Criteria}
1284: \label{subsec:stop}
1285:
1286: We address the problem of determining the threshold
1287: probing rate for a system with
1288: disjoint linear and non-linear regions. The threshold probing rate can be interpreted as the maximum rate at which the network can be probed without leaving the linear region. We refer to a condition that determines the maximum probing rate as a {\em stopping criterion.}
1289:
1290: {\em Non-linearity Criterion: } In a min-plus linear system, the service curve is independent of the traffic intensity of the probe traffic. If we have obtained, under assumption of min-plus linearity, a lower service curve $\tilde{S}$ from a measurement probe with functions $(A, D)$, then $\tilde{S}$ must be a lower service curve for any other arbitrary measurement probe $(A', D')$, that is, $D' (t) \geq A' \conv \tilde{S} (t)$ for all times $t$. A violation of the inequality indicates that the assumption of linearity used for the computation of $\tilde{S}$ is false.
1291:
1292: A simple non-linearity test can be devised for systems where increased traffic does not result in decreased output.
1293: Consider a sequence of probes $(A_i, D_i)_{i=1,2,\ldots, n}$, where the traffic intensity of subsequent probes is increased, that is, $A_{i+1} \geq A_i$. By assumption, we also have $D_{i+1} \geq D_i$. Each probe results in an estimate $\tilde{S}_k (t)$.
1294: If there is a $k$ for which $\tilde{S}_k$ violates linearity for some $i \leq k$, that is, $D_i (t) < A_i \conv \tilde{S}_k (t)$ for some $t$, then the network is no longer in the linear region for the probe $(A_k, D_k)$.
1295:
1296: The described criterion can be directly applied to a rate scanning approach with increasing probing rates where $A_i (t) = r_i t$ with $r_{i+1} > r_i$. As an alternative, one could modify the scanning rate
1297: to perform a search for the maximum scanning rate in the linear region. This makes the criterion more similar to the scanning pattern in {\em pathload}.
1298:
1299: Applying the non-linearity criterion to a rate chirp approach is less straightforward, since there is only a single
1300: arrival function $A^{chirp}$. Generating multiple arrival functions from a single rate chirp by
1301: truncating the arrival functions merely produces truncated versions of the same service curve. Transmitting multiple rate chirps with different spread factors (see Fig.~\ref{fig:ratechirpa}) makes the criterion applicable, yet, it loses the main advantage of rate chirps of requiring only a single packet train.
1302: Thus, with only a single packet train, we are unable to justify a stopping criteria from min-plus linear systems theory.
1303:
1304: %
1305: {\em Backlog Convexity Criterion:} This method is applicable to the rate scanning methods, with probing rates $r \in [r_1, r_2, \dots, r_n]$ with $r_{i+1} > r_i$. Assume that the maximum backlog measurement is $B_{\max}(r)$ for rate $r$. Recall from
1306: Subsection~\ref{subsec:ratescan}, that a linear system satisfies
1307: $S(t) = \Legendre_{B_{\max}}(t)$ and $B_{\max}(r) =
1308: \Legendre_S(r)$ holds for all $r$. This motivates a test for
1309: linearity that exploits properties of the Legendre transform
1310: discussed in Subsection~\ref{subsec-legendre}. Under the assumption
1311: of linearity, an estimate of the service is obtained from
1312: \[
1313: \tilde{S} (t) = \Legendre_{B_{\max}}(t) \ ,
1314: \]
1315: and $B_{\max}(r) = \Legendre_{\tilde{S}}(r)$ holds for all $r$.
1316: Using Eq.~(\ref{eq:leg-convex}) and Eq.~(\ref{eq:leg-nonconvex}), if
1317: there exists an $r$ such that $B_{\max}(r)$ is not convex, i.e.,
1318: %
1319: \begin{equation*}
1320: B_{\max}(r) \neq \text{conv}_{B_{\max}} (r)
1321: \end{equation*}
1322: %
1323: for some $r$, we have $B_{\max}(r) \neq \Legendre_{\tilde{S}}(r)$,
1324: and, hence, the hypothesis of a linear system is dismissed.
1325:
1326: For systems that are linear at low probing rates and cross into a
1327: non-linear region after a threshold is reached, a convexity test
1328: can be easily devised for schemes
1329: that incrementally increase the probing rate. After each rate
1330: step, one simply performs a test for equality of $B_{\max}(r)$ and
1331: $\Legendre(\Legendre_{B_{\max}})(r)$. If
1332: $B_{\max}(r) \neq \Legendre(\Legendre_{B_{\max}})(r)$, the
1333: system has reached the non-linear region and the rate
1334: scan is terminated. Otherwise, it is assumed that the system
1335: is still linear, and the probing rate is increased.
1336:
1337: To avoid false positives and negatives in the test for equality, we suggest a heuristic that can
1338: account for variability in the measurements. For each value of $r$, we compute the difference
1339: %
1340: \begin{equation*}
1341: \Delta B(r) = B_{\max}(r) -
1342: \Legendre(\Legendre_{B_{\max}})(r)
1343: \end{equation*}
1344: %
1345: Note that $\Delta B(r)$ is generally positive since
1346: $B_{\max}(r) \ge \text{conv}_{B_{\max}}(r)$. When the normalized difference $\Delta B(r) /r$ exceeds a threshold value, we assume that
1347: the system is no longer in the linear region.
1348: Outliers that are due to random fluctuations can be eliminated by median filtering $\Delta B(r)/r$ before applying the threshold test.
1349: In our experiments, we
1350: use a threshold of $\alpha = 4$~ms and perform median filtering.
1351:
1352: An additional issue is that, since packet trains
1353: have a certain length, the maximum backlog $B_{\max}$
1354: may not be attained by a train. In order to
1355: apply the backlog convexity criterion to finite-length packet trains, it
1356: must be shown that the backlog that is created by fixed length
1357: packet trains also violates convexity once the boundary to the
1358: non-linear region is crossed. As an example, for FIFO systems, we obtain from
1359: Eq.~(\ref{eq:fifo1}) that the maximum backlog generated by a
1360: packet train of $L$ bits is
1361: %
1362: \begin{equation*}
1363: B^L_{\max}(r) =
1364: \begin{cases}
1365: 0 \; , & \text{ if } r \le C - r_c \\
1366: L \cdot \left( 1 - \frac{C}{r + r_c} \right) \; , & \text{ if } r
1367: > C - r_c.
1368: \end{cases}
1369: \end{equation*}
1370: %
1371: For all $r > C - r_c$ the second derivative of $B^L_{\max}(r)$ is
1372: negative and thus $B^L_{\max}(r)$ is strictly concave, while it is
1373: convex for $r \le C - r_c$. Thus, the backlog convexity criterion can be
1374: applied for finite packet trains in this case.
1375:
1376:
1377: \section{Experimental Validation}
1378: \label{sec-emulab}
1379:
1380: In this section, we present measurement experiments on an IP network
1381: that provide an empirical evaluation of the proposed
1382: system theoretic approach to bandwidth estimation.
1383: Specifically, we attempt to provide answers to the following questions:
1384: \begin{itemize}
1385: \item How well does the described min-plus systems theory which
1386: assumes an idealized fluid-flow characterization of traffic and
1387: service translate in a packet based environment?
1388: \item How robust are the available bandwidth methods to changes of the distribution of the cross traffic?
1389: \item How well is a min-plus systems theoretical approach suitable for finding end-to-end estimates
1390: over multiple links?
1391: \end{itemize}
1392:
1393: We conduct a series of measurement experiments on the {\em Emulab}
1394: network testbed at the University of Utah \cite{emulab}, where
1395: experiments are run on a cluster of PCs that are interconnected by a switched Ethernet network. Propagation delays are emulated by PCs
1396: that buffer packets in transmission. Emulab provides a realistic IP network environment, yet it
1397: offers a controlled lab
1398: environment where traffic and resource availability can be explicitly configured. The ability to precisely control network resources enables us to evaluate how well available bandwidth estimates match the configured availability of network resources.
1399:
1400: In our experiments, we take advantage of the fact that
1401: system clocks in the Emulab testbed are synchronized up to 1~ms. According to our discussion in
1402: Section~\ref{sec-probetheory}, if synchronized clocks are not available, then
1403: the service curves computed in this section should be interpreted as being horizontally displaced by an unknown amount.
1404:
1405:
1406: We have implemented the probing schemes for rate-scanning (Section~\ref{subsec:ratescan}) and rate chirps (Section~\ref{subsec:ratechirp}) using the {\em rude-crude} traffic generator \cite{rude-crude}. In addition, in some experiments we include for benchmark comparison the results of measurements using an unmodified version of the {\em pathload} software.
1407:
1408:
1409:
1410: \begin{figure}
1411: \centering \epsfig{file=figure8, width=0.7 \linewidth}
1412: \caption{Dumbbell topology.} \label{fig:dumbbell}
1413: \end{figure}
1414:
1415: We first present measurements on a dumbbell topology as shown in
1416: Fig.~\ref{fig:dumbbell}, where each node is realized by a PC of
1417: the Emulab network. The figure indicates the capacity and the
1418: latency of each link. Packet sizes are set to 800 bytes for cross
1419: traffic and 1472 bytes for probing traffic. The average data rate
1420: of the cross traffic is set to 25~Mbps. The probing method
1421: seeks to determine the unused capacity of the link in
1422: the center of the figure.
1423: The measurements do not address losses of
1424: probe traffic. In fact, when a probe packet is dropped, the
1425: measurement for this packet is ignored.
1426:
1427:
1428:
1429:
1430: \begin{figure}
1431: \centering
1432: %
1433: \subfigure[Rate Scanning.] {\epsfig{file=figure9a,
1434: width=0.49 \linewidth}\label{fig:chirp-vs-scan-a}}
1435: %
1436: \subfigure[Rate Chirp.] {\epsfig{file=figure9b,
1437: width=0.49 \linewidth}\label{fig:chirp-vs-scan-b}}
1438: %
1439: \label{fig:chirp-vs-scan} \caption{Experiment 1: Service curve
1440: estimates with CBR cross traffic.}
1441: \end{figure}
1442:
1443: \subsection{Experiment 1: Rate scanning vs. Rate chirps}
1444: We first compare
1445: the effectiveness of the Rate Scanning and Rate Chirp methods from
1446: Sections~\ref{subsec:ratescan} and ~\ref{subsec:ratechirp} in the
1447: dumbbell topology. We assume that CBR cross traffic is sent at a rate of 25~Mbps.
1448:
1449: For the rate scanning method, each packet
1450: train has 400 packets, transmitted in increments of 4~Mbps, up to at most 60~Mbps. The stopping criterion is the backlog convexity
1451: criterion from Section~\ref{subsec:stop}
1452: with a threshold of $\alpha = 4$~ms and a window size of $W=3$ for median filtering.
1453:
1454: For the rate chirp method, the initial spacing of probe packets is
1455: set to a rate of 4~Mbps, where the spacing between subsequent
1456: packets is governed by spread factor of $\gamma = 1.05$.
1457: The chirp is stopped once its instantaneous rate reaches 100~Mbps,
1458: resulting in 66 packets for each chirp.
1459: The reason we let the rate chirps go up
1460: to 100~Mbps whereas the rate scans only go up to 60 Mbps is that
1461: data points at the end of the chirps become quite sparse due to
1462: the geometric increase of the chirp's rate.
1463: For rate chirps, we employ the stopping criterion proposed in \cite{ribeiro:pathchirp}, which aims at finding the instantaneous data rate at which one way
1464: packet delays start growing due to persistent overload.
1465: (Note that an application of the non-linearity criterion from Section~\ref{subsec:stop} to the rate chirp method would require multiple rate chirps.)
1466:
1467:
1468: In Figs.~\ref{fig:chirp-vs-scan-a} and~\ref{fig:chirp-vs-scan-b}
1469: we present the results of 100 repeated estimates of the available bandwidth in
1470: terms of the computed service curves (shown as black graphs) for
1471: the rate scanning and rate chirp method, respectively.
1472: As noted in Section~\ref{sec-probe}, each sample of the available bandwidth can be thought of being conditioned on the state of the network.
1473: We include,
1474: as a red graph, a rate-latency curve with the minimal delay (of
1475: approximately 21~ms)\footnote{The minimal delay consists of 20~ms
1476: propagation delay and approximately 1~ms transmission delay.} and the average available
1477: bandwidth (25~Mbps). This curve is referred to as {\em reference
1478: service curve} and serves as an a priori bound for the available bandwidth computations.
1479:
1480: A comparison of Figs.~\ref{fig:chirp-vs-scan-a} and~\ref{fig:chirp-vs-scan-b} shows that rate scanning provides more reliable estimates of the service curve than rate chirps.
1481: We note that the {\em pathchirp} method from \cite{ribeiro:pathchirp}, would yield better results since it smoothes the available bandwidth over 11 estimates to deal with the variability of estimates from single rate chirps.
1482: Rate scanning and rate chirps perform equally in an ideal linear time-invariant system, while while rate chirps are more susceptible to random noise.
1483:
1484: In the remaining experiments, we only consider the rate scanning
1485: method.
1486:
1487:
1488: %
1489: \begin{figure}
1490: \centering
1491: %
1492: \subfigure[Exponential cross traffic.]
1493: {\epsfig{file=figure10a, width=0.49
1494: \linewidth}\label{fig:linearity-vs-overload-a}}
1495: %
1496: \subfigure[Pareto cross traffic.]
1497: {\epsfig{file=figure10b, width=0.49\linewidth} \label{fig:pareto-a}}
1498: %
1499: \label{fig:linearity-vs-overload} \caption{Experiment 2: Rate scanning with different cross traffic.}
1500: \end{figure}
1501:
1502: \subsection{Experiment 2: Different cross traffic distributions.}
1503:
1504: In this experiment we evaluate the rate scanning method for
1505: different distributions of the cross traffic on the dumbbell topology.
1506: We consider cross traffic where interarrivals follow an exponential or Pareto distribution (with shape parameter set to 1.5).
1507: All other parameters are as in Experiment~1. In particular, the average traffic rate of cross traffic is 25~Mbps.
1508:
1509: In Figs.~\ref{fig:linearity-vs-overload-a} and~\ref{fig:pareto-a}, respectively, we show the results for exponential distribution and Pareto cross traffic. The reference service curve is shown in red.
1510: Is is apparent that, compared to CBR cross traffic in Experiment~1, the higher variance
1511: of the cross traffic results in a higher variability of the service
1512: curve estimates. At the same time, even for Pareto traffic, almost all estimates of the available bandwidth provide a conservative bound for the reference service curve.
1513:
1514:
1515:
1516:
1517:
1518:
1519:
1520: \begin{figure}
1521:
1522: \centering \epsfig{file=figure11,
1523: width=0.7 \linewidth} \caption{Results from Experiments 1--2:
1524: Derivative of service curves.}
1525: \label{fig:pareto-b}
1526: \end{figure}
1527: \begin{table}[t]
1528: \begin{center}
1529: \begin{tabular}{|l|r|r|}
1530: \hline
1531: Cross traffic & lower bound & upper bound \\
1532: \hline
1533: CBR & 22.6 Mbps & 22.8 Mbps \\
1534: Exponential & 17.7 Mbps & 25.4 Mbps \\
1535: Pareto & 15.9 Mbps & 29.3 Mbps \\
1536: \hline
1537: \end{tabular}
1538: \end{center}
1539: \caption{Pathload measurements.} \label{tab:pathload1}
1540: \end{table}
1541:
1542:
1543:
1544: In Fig.~\ref{fig:pareto-b} we reconcile the results from
1545: Figs.~\ref{fig:chirp-vs-scan-a},~\ref{fig:linearity-vs-overload-a}
1546: and ~\ref{fig:pareto-a} in a single graph. We compute the
1547: derivatives of the service curves and plot the mean value averaged
1548: over the 100~estimates (with 95\%~confidence
1549: intervals). The graph also includes the derivative of the reference service curve (in red). The plot for the reference service
1550: curve shows a sudden increase at time 21~ms, where the service
1551: curve jumps to a rate of 25~Mbps. The derivatives of the
1552: service estimates for CBR, exponential, and Pareto cross traffic provide lower bounds, which become more pessimistic with increasing variance of the cross traffic distribution.
1553:
1554: As a point of reference, we now show results of the {\em pathload}
1555: application available from \cite{pathloadsources} for the same
1556: network and cross traffic parameters. {\em Pathload} is frequently
1557: used as a benchmark to evaluate bandwidth estimation
1558: techniques. The {\em pathload} application views available
1559: bandwidth as a rate and returns a range that is averaged over a time interval $\tau$ which bounds the observed distribution of the available bandwidth. For each cross traffic type, we ran {\em
1560: pathload} 100 times and computed the average values of the lower and upper bounds of the estimated available bandwidth range. The results are summarized in Table~\ref{tab:pathload1}. A comparison of the table with Fig.~\ref{fig:pareto-b} shows that the lower bounds of the min-plus theoretic estimation yield service curves, whose long term average rate is similar to or above the lower bound of {\em pathload} measurements. As expected, the variation range increases if the cross-traffic has a higher variability.
1561:
1562:
1563:
1564: \begin{figure}
1565: \centering \epsfig{file=figure12, width=0.95 \linewidth}
1566: \caption{Topology with multiple bottleneck links.}
1567: \label{fig:dumbbell-2}
1568: %
1569: %
1570: %
1571: \subfigure[Two bottleneck links.]
1572: {\epsfig{file=figure13a, width=0.49
1573: \linewidth}\label{fig:2node-endtoend}}
1574: %
1575: \subfigure[Three bottleneck links.]
1576: {\epsfig{file=figure13b, width=0.49
1577: \linewidth}\label{fig:3node-endtoend}}
1578:
1579: \centerline{ \subfigure[Four bottleneck links.]
1580: {\epsfig{file=figure13c, width=0.49
1581: \linewidth}\label{fig:4node-endtoend}} }
1582: \caption{\label{fig:end-to-end}Experiment 4: Derivative of service curves in multi-node
1583: measurements.}
1584: %
1585:
1586: \end{figure}
1587: \begin{table}
1588: \begin{center}
1589: \begin{tabular}{|l|c|c|}
1590: \hline
1591: No. bottle- & End-to-End & Per-link probing \\
1592: neck links& probing & with Eq.~(\ref{eq:alpha-new}) \\
1593: \hline
1594: 2 & $[14.3, 20.5]$~Mbps & $[15.1, 22.6 ]$~Mbps\\
1595: 3 & $[12.2, 18.2]$~Mbps & $[13.3, 19.9]$~Mbps\\
1596: 4 & $[11.7, 17.1]$~Mbps & $[11.8, 18.1]$~Mbps\\
1597: \hline
1598: \end{tabular}
1599: \end{center}
1600: \caption{Pathload measurements: Multiple Bottlenecks.}
1601: \label{tab:pathload2}
1602: \end{table}
1603:
1604:
1605: \subsection{Experiment 3: Multiple bottleneck links}
1606:
1607: We now present measurements over networks with multiple bottleneck links. Fig.~\ref{fig:dumbbell-2} depicts the network setup in Emulab with two bottleneck links. The bottleneck links have a capacity of 50~Mbps. The interarrival distribution of cross traffic is exponential with
1608: parameters as discussed earlier in this section.
1609: As probing scheme, we again use rate scanning with the backlog convexity stopping criterion.
1610:
1611: For each network, we compute the end-to-end service curve using two
1612: methods. In the first method, called {\em End-to-End (E2E)
1613: Probing}, we send probe traffic end-to-end over all bottleneck links. In
1614: the second method, referred to as {\em Convolution} we send probe traffic separately over bottleneck link and construct a service curve for each link. Then, we compute
1615: an end-to-end service curve using the convolution operation following Eq.~(\ref{eq-conv}).
1616: The convolution can be done efficiently in the Legendre domain, where the convolution becomes a simple addition.
1617:
1618: Note that in our computation of the available bandwidth over multiple links, the convolution from Eq.~(\ref{eq-conv}) replaces the minimum in the widely used Eq.~(\ref{eq:alpha-new}).
1619: For the special case that the available bandwidths of links are constant-rate functions
1620: the convolution over multiple links is equal to the minimum of the rates. Formally, if $S_i (t) = r_i t$ for all $i$, we obtain
1621: $S(t) = S_1 \conv S_2 \conv \ldots \conv S_N (t) = \min_i r_i$.
1622: Thus, the convolution expression is a true generalization of the currently prevailing method for composing bandwidth estimation
1623: of multiple links.
1624:
1625: In Figs.~\ref{fig:2node-endtoend}--\ref{fig:4node-endtoend},
1626: we present the outcomes of our experiments for two, three, and four bottleneck links, respectively. As in Fig.~\ref{fig:pareto-b}, we
1627: present derivatives of the service curves. We depict the
1628: average values of 100 measurements, as well as the 95\%~confidence
1629: intervals. The
1630: reference service curve (in red) is a latency rate
1631: service curve with a delay of 10~ms for each traversed bottleneck link and a rate equal to the average unused link capacity.
1632: We observe that the results of E2E probing are lower at shorter time scales. Over longer time intervals, the results of
1633: the Convolution method yields larger estimates.
1634: The long-term average rate of the computed service curves degrades with the number of hops.
1635:
1636:
1637:
1638: In Table~\ref{tab:pathload2} we show as benchmark the results of {\em pathload} measurements. We include the range of values of end-to-end probing, as well as the results of applying Eq.~(\ref{eq:alpha-new}) to per-link measurements. The degradation of available bandwidth estimates as the number of bottleneck links is increased is similar as observed in Fig.~\ref{fig:end-to-end}. The long-term average of the service curve in Fig.~\ref{fig:end-to-end} yields more
1639: optimistic results than the range of values in Table~\ref{tab:pathload2}. While the results of the system theoretic approach for paths with multiple nodes are clearly encouraging, we caution against a
1640: generalization to other topologies and production networks.
1641:
1642: \nocite{fidler07}
1643:
1644: \clearpage
1645: \section{Conclusions}
1646: \label{sec-concl}
1647:
1648: We have developed an interpretation of bandwidth estimation as
1649: a problem in min-plus linear systems, where the available bandwidth
1650: is represented by a service curve. Using service curves as opposed to constant-rate functions permits a description of bandwidth availability at different time-scales.
1651: We have related difficulties with network probing to non-linearities of the underlying system.
1652: By interpreting a network as a system that is min-plus linear at low loads, and becomes non-linear when the network load exceeds a
1653: threshold, we have argued that the crossing of the linear and non-linear regions marks the point where the available bandwidth can be observed.
1654: A series of measurement experiments showed that the min-plus linear approach to bandwidth estimation lends itself to the development
1655: of effective probing schemes. In particular, the min-plus convolution operator can be applied to obtain end-to-end estimates from per-link measurements.
1656:
1657:
1658: %
1659: \section*{Acknowledgments}
1660: The authors thank A. Burchard for many insights and
1661: suggestions.
1662:
1663: \small{
1664: \renewcommand{\baselinestretch}{1.1}
1665: %
1666: \begin{thebibliography}{10}
1667:
1668: \bibitem{ns2}
1669: ns-2 network simulator.
1670: \newblock http://www.isi.edu/nsnam/ns/.
1671:
1672: \bibitem{agharebparast:slopedomain}
1673: F.~Agharebparast and V.~C.~M. Leung.
1674: \newblock Slope domain modeling and analysis of data communication networks: A
1675: network calculus complement.
1676: \newblock In {\em Proc. {IEEE} {ICC}}, pages 591--596, June 2006.
1677:
1678: \bibitem{agrawal:flowcontrolprotocols}
1679: R.~Agrawal, R.~L. Cruz, C.~Okino, and R.~Rajan.
1680: \newblock Performance bounds for flow control protocols.
1681: \newblock 7(3):310--323, June 1999.
1682:
1683: \bibitem{akella:bfind}
1684: A.~Akella, S.~Seshan, and A.~Shaikh.
1685: \newblock An empirical evaluation of wide-area internet bottlenecks.
1686: \newblock In {\em Proc. {ACM} {IMC}}, pages 101--114, 2003.
1687:
1688: \bibitem{baccelli:synchronizationlinearity}
1689: F.~Baccelli, G.~Cohen, G.~J. Olsder, and J.-P. Quadrat.
1690: \newblock {\em Synchronization and Linearity: An Algebra for Discrete Event
1691: Systems}.
1692: \newblock John Wiley \& Sons Ltd., West Sussex, Great Britain, 1992.
1693:
1694: \bibitem{baccelli06}
1695: F.~Baccelli, S.~Machiraoju, D.~Veitch, and J.~Bolot.
1696: \newblock The role of {PASTA} in network measurement.
1697: \newblock In {\em Proc. {ACM} {SIGCOMM}}, pages 231--242, Pisa, September 2006.
1698:
1699: \bibitem{cprobe}
1700: R.~L. Carter and M.~E. Crovella.
1701: \newblock Measuring bottleneck link speed in packet switched networks.
1702: \newblock {\em Performance Evaluation}, 27 and 28:297--318, 1996.
1703:
1704: \bibitem{cetinkaya:egressadmissioncontrol}
1705: C.~Cetinkaya, V.~Kanodia, and E.~W. Knightly.
1706: \newblock Scalable services via egress admission control.
1707: \newblock 3(1):69--81, March 2001.
1708:
1709: \bibitem{chang:performanceguarantees}
1710: C.-S. Chang.
1711: \newblock {\em Performance Guarantees in Communication Networks}.
1712: \newblock Springer-Verlag, London, Great Britain, 2000.
1713:
1714: \bibitem{Cruz91}
1715: R.~Cruz.
1716: \newblock A calculus for network delay, parts {I} and {II}.
1717: \newblock {\em IEEE Transactions on Information Theory}, 37(1):114--141,
1718: January 1991.
1719:
1720: \bibitem{cruz:qualityofserviceguarantees}
1721: R.~L. Cruz.
1722: \newblock Quality of service guarantees in virtual circuit switched networks.
1723: \newblock 13(6):1048--1056, August 1995.
1724:
1725: \bibitem{Reissleintrace}
1726: G.~Van der Auwera, P.~T. David, and M.~Reisslein.
1727: \newblock Bit rate-variability of h.264/avc frext.
1728: \newblock Technical report, Arizona State University, April 2006.
1729:
1730: \bibitem{pathloadsources}
1731: C.~Dovrolis and M.~Jain.
1732: \newblock Pathload: A measurement tool for the available bandwidth of network
1733: paths.
1734: \newblock http://www.cc.gatech.edu/fac/Constantinos.Dovrolis/pathload.html.
1735:
1736: \bibitem{dovrolis:packetdispersion}
1737: C.~Dovrolis, P.~Ramanathan, and D.~Moore.
1738: \newblock What do packet dispersion techniques measure?
1739: \newblock In {\em Proc. {IEEE} {INFOCOM}}, pages 905--914, April 2001.
1740:
1741: \bibitem{fidler:legendre}
1742: M.~Fidler and S.~Recker.
1743: \newblock Conjugate network calculus: A dual approach applying the legendre
1744: transform.
1745: \newblock {\em Computer Networks}, 50(8):1026--1039, June 2006.
1746:
1747: \bibitem{hisakado:legendre}
1748: T.~Hisakado, K.~Okumura, V.~Vukadinovic, and L.~Trajkovic.
1749: \newblock Characterization of a simple communication network using legendre
1750: transform.
1751: \newblock In {\em Proc. Internationl Symposium on Circuits and Systems
1752: {(ISCAS)}}, pages 738--741, May 2003.
1753:
1754: \bibitem{hu:IGI}
1755: N.~Hu and P.~Steenkiste.
1756: \newblock Evaluation and characterization of available bandwidth probing
1757: techniques.
1758: \newblock 21(6):879--894, August 2003.
1759:
1760: \bibitem{jacobson88}
1761: V.~Jacobson.
1762: \newblock Congestion avoidance and control.
1763: \newblock In {\em Proc. {ACM} {SIGCOMM}}, pages 314--329, August 1988.
1764:
1765: \bibitem{jain:slops}
1766: M.~Jain and C.~Dovrolis.
1767: \newblock End-to-end available bandwidth: Measurement methodology, dynamics,
1768: and relation with {TCP} throughput.
1769: \newblock In {\em Proc. {ACM} {SIGCOMM}}, pages 295--308, October 2002.
1770:
1771: \bibitem{jain:pathload}
1772: M.~Jain and C.~Dovrolis.
1773: \newblock Pathload: A measurement tool for end-to-end available bandwidth.
1774: \newblock In {\em Proc. Passive and Active Measurement (PAM) Workshop}, pages
1775: 14--25, March 2002.
1776:
1777: \bibitem{jain:bandwidthestimationpitfalls}
1778: M.~Jain and C.~Dovrolis.
1779: \newblock Ten fallacies and pitfalls on end-to-end available bandwidth
1780: estimation.
1781: \newblock In {\em Proc. {ACM} {IMC}}, pages 272--277, 2004.
1782:
1783: \bibitem{jain:pathvar}
1784: M.~Jain and C.~Dovrolis.
1785: \newblock End-to-end estimation of the available bandwidth variation range.
1786: \newblock In {\em Proc. {ACM} {SIGMETRICS}}, pages 265--276, June 2005.
1787:
1788: \bibitem{Jiang05}
1789: Y.~Jiang, P.J. Emstad, A.~Nevin, V.~Nicola, and M.~Fidler.
1790: \newblock Measurement-based admission control for a flow-aware network.
1791: \newblock In {\em Proc. of 1st EuroNGI Conference on Next Generation Internet
1792: Networks Traffic Engineering}, pages 318-- 325, April 2005.
1793:
1794: \bibitem{loguinov04}
1795: S.-R. Kang, X.~Liu, M.~Dai, and D.~Loguinov.
1796: \newblock Packet-pair bandwidth estimation: Stochastic analysis of a single
1797: congested node.
1798: \newblock In {\em Proc. IEEE ICNP}, pages 316--325, October 2004.
1799:
1800: \bibitem{kapoor:capprobe}
1801: R.~Kapoor, L.-J. Chen, L.~Lao, M.~Gerla, and M.~Y. Sanadidi.
1802: \newblock {CapProbe} a simple and accurate capacity estimation technique.
1803: \newblock In {\em Proc. {ACM} {SIGCOMM}}, pages 67--78, August/September 2004.
1804:
1805: \bibitem{keshav91}
1806: S.~Keshav.
1807: \newblock A control-theoretic approach to flow control.
1808: \newblock In {\em Proc. {ACM} {SIGCOMM}}, pages 3--15, September 1991.
1809:
1810: \bibitem{rude-crude}
1811: J.~Laine, S.~Saaristo, and R.~Prior.
1812: \newblock Rude/crude.
1813: \newblock http://rude.sourceforge.net/.
1814:
1815: \bibitem{padhye04}
1816: K.~Lakshminarayanan, V.~N. Padmanabhan, and J.~Padhye.
1817: \newblock Bandwidth estimation in broadband access networks.
1818: \newblock In {\em Proc. {ACM} {IMC}}, pages 314--321, October 2004.
1819:
1820: \bibitem{leboudec:networkcalculus}
1821: J.-Y. {Le Boudec} and P.~Thiran.
1822: \newblock {\em Network Calculus A Theory of Deterministic Queuing Systems for
1823: the Internet}.
1824: \newblock Springer-Verlag, Berlin, Germany, 2001.
1825:
1826: \bibitem{fidler07}
1827: J.~Liebeherr, M.~Fidler, and S.~Valaee.
1828: \newblock Min-plus system interpretation of bandwidth estimation.
1829: \newblock In {\em Proc. {IEEE} {INFOCOM}}, May 2007.
1830:
1831: \bibitem{liu:packetpairdispersion}
1832: X.~Liu, K.~Ravindran, and D.~Loguinov.
1833: \newblock What signals do packet-pair dispersions carry?
1834: \newblock In {\em Proc. {IEEE} {INFOCOM}}, pages 281--292, March 2005.
1835:
1836: \bibitem{loguinov07}
1837: X.~Liu, K.~Ravindran, and D.~Loguinov.
1838: \newblock A queuing-theoretic foundation of available bandwidth estimation:
1839: Single-hop analysis.
1840: \newblock {\em IEEE/ACM Transactions on Networking}, 15(4):918--931, August
1841: 2007.
1842:
1843: \bibitem{loguinov08}
1844: X.~Liu, K.~Ravindran, and D.~Loguinov.
1845: \newblock A stochastic foundation of available bandwidth estimation: Multi-hop
1846: analysis.
1847: \newblock {\em IEEE/ACM Transactions on Networking}, 16(2), April 2008.
1848: \newblock (To appear).
1849:
1850: \bibitem{baccelli07}
1851: S.~Machiraju, D.~Veitch, F.~Baccelli, and J.~Bolot.
1852: \newblock Adding definition to active probing.
1853: \newblock {\em ACM SIGCOMM Computer Communication Review}, 37(2):19--28, April
1854: 2007.
1855:
1856: \bibitem{topp}
1857: B.~Melander, M.~Bj{\"o}rkman, and P.~Gunningberg.
1858: \newblock A new end-to-end probing and analysis method for estimating bandwidth
1859: bottlenecks.
1860: \newblock In {\em Proc. {IEEE} {GLOBECOM}}, pages 415--420, November 2000.
1861:
1862: \bibitem{melander:fcfsprobing}
1863: B.~Melander, M.~Bj{\"o}rkmann, and P~Gunningberg.
1864: \newblock First-come-first-served packet dispersion and implications for {TCP}.
1865: \newblock In {\em Proc. {IEEE} {GLOBECOM}}, pages 2170--2174, November 2002.
1866:
1867: \bibitem{naudts:trafficparametermeasurement}
1868: J.~Naudts.
1869: \newblock Towards real-time measurement of traffic control parameters.
1870: \newblock {\em Computer Networks}, 34(1):157--167, July 2000.
1871:
1872: \bibitem{ABwE}
1873: J.~Navratil and R.~L. Cottrell.
1874: \newblock {ABwE}: A practical approach to available bandwidth estimation.
1875: \newblock In {\em Proc. Passive and Active Measurement (PAM) Workshop}, pages
1876: 1--11, April 2003.
1877:
1878: \bibitem{paxson:measurements}
1879: V.~Paxson.
1880: \newblock {\em Measurements and Analysis of End-to-End Internet Dynamics}.
1881: \newblock PhD thesis, Univ. of California, Berkeley, April 1997.
1882:
1883: \bibitem{ribeiro:pathchirp}
1884: V.~Ribeiro, R.~Riedi, R.~Baraniuk, J.~Navratil, and L.~Cottrell.
1885: \newblock {PathChirp}: Efficient available bandwidth estimation for network
1886: paths.
1887: \newblock In {\em Proc. Passive and Active Measurement Workshop}, April 2003.
1888:
1889: \bibitem{rockafellar:convexanalysis}
1890: R.~T. Rockafellar.
1891: \newblock {\em Convex Analysis}.
1892: \newblock Princeton University Press, 1972.
1893:
1894: \bibitem{shriram07}
1895: A.~Shriram and J.~Kaur.
1896: \newblock Empirical evaluation of techniques for measuring available bandwidth.
1897: \newblock In {\em Proc. {IEEE} {INFOCOM}}, pages 2162--2170, May 2007.
1898:
1899: \bibitem{shriam05}
1900: A.~Shriram, M.~Murray, Y.~Hyun, N.~Brownlee, A.~Broido, M.~Fomenkov, and K.~C.
1901: Claffy.
1902: \newblock Comparison of public end-to-end bandwidth estimation tools on
1903: high-speed links.
1904: \newblock In {\em Proc. Passive and Active Measurement Workshop}, pages
1905: 306--320, March 2005.
1906:
1907: \bibitem{sommers}
1908: J.~Sommers, P.~Barford, and W.~Willinger.
1909: \newblock Laboratory-based calibration of available bandwidth estimation tools.
1910: \newblock {\em Microprocessors and Microsystems}, 31(4):222--235, June 2007.
1911:
1912: \bibitem{strauss:spruce}
1913: J.~Strauss, D.~Katabi, and F.~Kaashoek.
1914: \newblock A measurement study of available bandwidth estimation tools.
1915: \newblock In {\em Proc. {ACM} {IMC}}, pages 39--44, 2003.
1916:
1917: \bibitem{BinTariq}
1918: M.~M.~Bin Tariq, A.~Dhamdhere, C.~Dovrolis, and M.~Ammar.
1919: \newblock Poisson versus periodic path probing (or, does {PASTA} matter?).
1920: \newblock In {\em Proc. 5th Conference on Internet Measurement}, pages
1921: 119--124, October 2005.
1922:
1923: \bibitem{valaee:adhocadmissioncontrol}
1924: S.~Valaee and B.~Li.
1925: \newblock Distributed call admission control for ad hoc networks.
1926: \newblock In {\em Proc. of IEEE 56th Vehicular Technology Conference (VTC 2002-Fall)}, pages 1244--1248, September 2002.
1927:
1928: \bibitem{emulab}
1929: B.~White and et. al.
1930: \newblock An integrated experimental environment for distributed systems and
1931: networks.
1932: \newblock In {\em Proc. of OSDI 2002}, pages 255--270, December 2002.
1933:
1934: \bibitem{Wu03}
1935: D.~Wu and R.~Negi.
1936: \newblock Effective capacity: A wireless link model for support of quality of
1937: service.
1938: \newblock {\em IEEE Transactions on Wireless Communications}, 2(4):630--643,
1939: July 2003.
1940:
1941: \bibitem{yzhang}
1942: Y.~Zhang, N.~Duffield, V.~Paxson, and S.~Shenker.
1943: \newblock On the constancy of internet path properties.
1944: \newblock In {\em Proc. ACM SIGCOMM Internet Measurement Workshop}, pages
1945: 197--211, November 2001.
1946:
1947: \end{thebibliography}
1948:
1949: %
1950: %
1951: }
1952:
1953:
1954: \end{document}
1955:
1956:
1957: \vspace{-1cm}
1958: %
1959: \begin{biography}{J\"{o}rg Liebeherr}
1960: (S'88, M'92, SM'03, F'08) received the Ph.D. degree
1961: in Computer Science from the Georgia Institute of Technology in 1991.
1962: He was on the faculty of the Department of Computer Science at
1963: the University of Virginia from 1992--2005.
1964: Since Fall 2005, he is with the University of Toronto as Professor
1965: of Electrical and Computer Engineering and
1966: Nortel Chair of Network Architecture and Services. He is a Fellow of the IEEE.
1967: \end{biography}
1968:
1969: \vspace{-1cm}
1970: \begin{biography}{Markus Fidler} (M'04) received the doctoral degree in computer engineering from RWTH Aachen University, Germany, in 2004. He was a postdoctoral fellow of NTNU Trondheim, Norway, in 2005 and the University of Toronto, Canada, in 2006. Since 2007 he leads an Emmy Noether research group funded by the German Research Foundation at the Multimedia Communications Lab at TU Darmstadt, Germany.
1971: \end{biography}
1972:
1973:
1974: \vspace{-1cm}
1975: \begin{biography}{Shahrokh Valaee}(S'88, M'00, SM'02) received
1976: the Ph.D. degree from McGill University, Montreal,
1977: in Electrical Engineering. From 1994 to 1995, he was a Research Associate at INRS Telecom in Montreal. From 1996 to 2001, he was an Assistant
1978: Professor of Electrical Engineering,
1979: at Tarbiat Modares University in Teheran. Since September 2001, he has been an Associate Professor of Electrical and Computer Engineering at the University of
1980: Toronto and holds the Nortel Institute Junior Chair
1981: of Communication Networks.
1982: \end{biography}
1983:
1984: