\documentstyle[fullpage,12pt,psfig]{article}
\begin{document}
\title{Competitive Routing}
\author{Note-taker: Chao Chen}
\date{April 2, 1996}
\maketitle
\subsection*{Introduction}
Previously we talked about static and dynamic routing, which involve using
the statistics of the offered traffic to route incoming calls to a network.
But sometimes these statistics are not available, or they change too quickly
to be estimated. We have discussed fully-connected networks. In
this lecture we look at a different approach, which routes
calls without using arrival statistics, and is
applicable to a general topology network.
\subsection*{Design Approach}
This routing scheme first assigns a cost to each link based on the current
number of circuits only. Therefore we avoid using incoming call statistics.
Given a request, we simply find the shortest path from the origin to the
destination according to this metric. If this path's cost is less than some
threshold, then the call is admitted.
The Competitive Analysis Framework chooses the cost function as follows.
Given a general network topology with links $C_1$, \ldots, $C_J$, and a series
of call requests $\beta_1$,\ldots,$\beta_k$, where
\[ \beta_i = (s_i,t_i,T_i^s,T_i^f) \]
where $s_i$ and $t_i$ are the origin and destination nodes, and $T_i^s,T_i^f$
are the start and finish times of all request $i$, and are integers. Here
we assume that the duration of a call is known at the beginning, which is
not necessarily true. Later we will relax this condition and make the
duration a random variable with iid distributions. Define $W^*(\beta_1,...,
\beta_k)$ to be the number of calls routed by the optimal off-line algorithm
given requests $\beta_1,...,\beta_k$. This is the best possible routing
strategy, knowing all requests in advance. Now consider an on-line routing algorithm
$\cal A$, which does not have future call information when each routing decision
is made. This strategy has performance $W_{\cal A}(\beta_1,...,\beta_k)$, which is
the number of calls routed by $\cal A$.
\newtheorem{definition}{Def}
\begin{definition}
$A$ is said to have competitive ratio $r(\cal A)$ where
\[ r({\cal A}) = \min_{k,\beta_1,...,\beta_k} \frac{W_{\cal A}(\beta_1,...,\beta_k)}
{W^*(\beta_1,...,\beta_k)} \]
\end{definition}
Here $r({\cal A})$ is the worst case ratio between number of calls routed by
the real-time scheme $A$ and the best possible strategy.
Now we need to define a cost function. For a link $e$ and request $j$,
let $\lambda_e(j,\tau)$ be the relative load of link $e$ at time $\tau$
due to requests $\beta_1,...,\beta_{j-1}$. Define congestion measure $u_e(j,
\tau)$ such that
\[ u_e(j,\tau) = \mu^{\lambda_e(j,\tau)} - 1 \]
where $\mu$ is a constant that can be chosen.
The length of a route $R$ for request $\beta_j$
is
\[ \sum_{e \in R} \sum_{\tau = T_i^s}^{T_i^f} u_e(j,\tau) \]
Now we are ready to define routing algorithm $\cal A$ as follows. Let $L$ be
the maximum hop count allowed on any route, and let $T$ be the maximum duration
of a call, define
\[ \mu = 2LT^2+1 \]
\begin{definition}
$\cal A$ accepts request $\beta_j$ on route $R$ if $\exists R$ whose cost $l(R)
\leq LT$, else reject.
\end{definition}
\newtheorem{result}{Result}
\begin{result}
\[ r({\cal A}) \geq \frac{1}{2 \log 2 \mu} \]
\end{result}
$\cal A$ tells us whether to accept a call request based on the current load of
the network. Notice according to this scheme,
the competitive ratio $r({\cal A})$ gets worse as $T$ gets
large. Here calls are assumed to arrive at discrete time steps, and
$T$ is an integer which is the maximum time units a call can have.
But it seems unreasonable to expect long calls to
degrade routing performance. The reason for this result is that
this routing scheme gurantees the best worst-case performance. A large
$T$ also means finer granularity, so calls can arrive close together.
However, the worst case is
too conservative for normal traffic, since we would expect the calls to have
some statistical regularity. We can improve on this scheme by assuming well-
behaved holding times rather than guaranteeing the best worst-case situation
for all possible holding times.
\subsection*{Random Holding Times}
Assume iid holding times and define
\[ r'({\cal A}) \equiv \min_{k,\beta_1,...,\beta_k} \frac{E(W_{\cal A}(\beta_1
...,\beta_k))}{E(W^*(\beta_1,...,\beta_k))} \]
\begin{result}
If we assume exponentially distributed holding times (iid), then
one can choose
\[ \log \mu = O(\log L) \]
which gives
\[ r'({\cal A}) \geq \frac{\alpha}{log L} \mbox { for some constant }
\alpha\]
\end{result}
This results tells us that if we assume some statiscal regularity in the
offered traffic, then we can pick a $\mu$ that is less conservative and
routes more calls than the previous scheme. The competitive ratio no
longer depends on $T$. This method gives much better results than the
worst case method for normal traffic.
Simulation results of proportion of rejected calls versus traffic load
show that by tuning $\mu$, one can do better than the minimum hop solution,
which routes calls using the minimum number of links.
\begin{thebibliography}{99}
\bibitem{bib:Plotkin} Serge Plotkin. "Competitive routing of virtual
circuits in ATM networks" {\em IEEE Journal on Selected Areas
In Communications.} Vol 13, No 6, August, 1995.
\end{thebibliography}
\end{document}