cs0701001/s.tex
1: %\documentclass[12pt,journal,draftclsnofoot,onecolumn]{IEEEtran}
2: %\documentclass[journal,draftcls,onecolumn]{IEEEtran}
3: \documentclass[final]{IEEEtran}
4: 
5: %\usepackage{cite}
6: \usepackage{graphicx}
7: %\usepackage{psfrag}
8: \usepackage{subfigure}
9: %\usepackage{url}
10: %\usepackage{stfloats}
11: 
12: \usepackage{amsmath}
13: \usepackage{amssymb}
14: \usepackage{algorithmic}
15: \usepackage{algorithm}
16: 
17: \hyphenation{op-tical net-works semi-conduc-tor}
18: 
19: \newtheorem{theorem}{Theorem}
20: \newtheorem{lemma}{Lemma}
21: \newtheorem{proposition}{Proposition}
22: \newtheorem{definition}{Definition}
23: \newtheorem{remark}{Remark}
24: 
25: \newcommand{\dotcup}{\ensuremath{\mathaccent\cdot\cup}}
26: 
27: \begin{document}
28: 
29: \title{On High Spatial Reuse Link Scheduling in STDMA Wireless Ad Hoc Networks}
30: 
31: \author{Ashutosh~Deepak~Gore\thanks{A.D. Gore and A. Karandikar are
32:     with the Information Networks Laboratory, Department of Electrical
33:     Engineering, Indian Institute of Technology - Bombay, Mumbai
34:     400076, India.  Email:
35:     \{adgore,karandi\}@ee.iitb.ac.in},~Srikanth~Jagabathula\thanks{S.
36:     Jagabathula is with the Laboratory for Information and Decision
37:     Systems, Massachusetts Institute of Technology, Cambridge, MA
38:     02139, USA.  Email: jskanth@mit.edu}~and~Abhay~Karandikar }
39: 
40: \maketitle
41: 
42: \begin{abstract}
43: Graph-based algorithms for point-to-point link scheduling in Spatial
44: reuse Time Division Multiple Access (STDMA) wireless ad hoc networks
45: often result in a significant number of transmissions having low
46: Signal to Interference and Noise density Ratio (SINR) at intended
47: receivers, leading to low throughput. To overcome this problem, we
48: propose a new algorithm for STDMA link scheduling based on a graph
49: model of the network as well as SINR computations.  The performance of
50: our algorithm is evaluated in terms of spatial reuse and computational
51: complexity.  Simulation results demonstrate that our algorithm
52: achieves better performance than existing algorithms.
53: \end{abstract}
54: 
55: \begin{keywords}
56: Wireless Ad hoc Networks, Spatial Time Division Multiple Access, Link
57: Scheduling, Physical Interference Model, Spatial Reuse.
58: \end{keywords}
59: 
60: \section{Introduction}
61: 
62: \PARstart{A}{} wireless ad hoc network consists of a finite number of
63: radio units (nodes) that are geographically distributed in a terrain
64: without any preplanned or fixed infrastructure. They communicate with
65: each other via the untethered and broadcast wireless medium.  In order
66: to use the scarce and expensive wireless spectrum efficiently, we need
67: to exploit channel spatial reuse, i.e., allow concurrent communication
68: between source-destination pairs which are ``reasonably" far from each
69: other using either the same time slot or frequency band.
70: 
71: A commonly used scheme for channel reuse is Spatial Time Division
72: Multiple Access (STDMA), in which time is divided into fixed-length
73: slots that are organized cyclically. An STDMA schedule describes the
74: transmission rights for each time slot in such a way that
75: communicating pairs assigned to the same slot do not collide.  STDMA
76: scheduling algorithms can be categorized into link scheduling
77:  and broadcast/node scheduling algorithms
78: \cite{ramanathan_lloyd__scheduling_algorithms}. In a wireless ad hoc
79: network, a link is an ordered pair of nodes $(t,r)$, where $t$ is a
80: transmitter and $r$ is a receiver. In link scheduling, the
81: transmission right in every slot is assigned to certain links. On the
82: other hand, in broadcast scheduling, the transmission right in every
83: slot is assigned to certain nodes. Thus, there is no apriori binding
84: of transmitter and receiver and the packet transmitted can be received
85: by every neighbor.  Link scheduling is suitable for unicast traffic,
86: while broadcast scheduling is suitable for broadcast traffic. In this
87: paper, we will concentrate on link scheduling for STDMA
88: networks. Specifically, we consider centralized link scheduling, i.e.,
89: the link transmission schedule is computed by a central
90: entity. Centralized scheduling is applicable for scenarios where the
91: time scale of topology change is much larger than the duration of the
92: schedule.
93: 
94: \subsection{Related Work}
95: 
96: The concept of STDMA for multihop wireless ad hoc networks was
97: formalized in \cite{nelson_kleinrock__spatial_tdma}. Centralized
98: algorithms \cite{hajek_sasaki__link_scheduling}
99: \cite{funabiki_takefuji__parallel_algorithm} as well as distributed
100: algorithms \cite{chlamtac_lerner__fair_algorithms}
101: \cite{chlamtac_pinter__distributed_nodes} have been proposed for
102: generating reuse schedules. The problem of determining an optimal
103: minimum-length STDMA schedule for a general multihop ad hoc network is
104: NP-complete for both link and broadcast scheduling
105: \cite{ramanathan_lloyd__scheduling_algorithms}.  In fact, this is
106: closely related to the problem of determining the minimum number of
107: colors to color all the edges (or vertices) of a graph under certain
108: adjacency constraints.  However, most wireless ad hoc networks can be
109: modeled by planar or close-to-planar graphs and thus near-optimal edge
110: coloring algorithms can be developed for these restricted classes of
111: graphs.
112: 
113: A significant work in STDMA link scheduling is reported in
114: \cite{ramanathan_lloyd__scheduling_algorithms}, in which the authors
115: show that tree networks can be scheduled optimally, oriented graphs
116: can be scheduled near-optimally and arbitrary networks can be
117: scheduled such that the schedule is bounded by a length proportional
118: to the graph thickness\footnote{The thickness of a graph is the
119: minimum number of planar graphs into which the given graph can be
120: partitioned.} times the optimum number of colors.
121: 
122: A probabilistic analysis of the throughput performance of graph-based
123: scheduling algorithms under the physical interference model is derived
124: in \cite{behzad_rubin__performance_graph}. The authors determine the
125: optimal number of simultaneous transmissions by maximizing a lower
126: bound on the physical throughput and subsequently propose a truncated
127: graph-based scheduling algorithm that provides probabilistic
128: guarantees for network throughput.
129: 
130: In \cite{guo_roy__spatial_reuse}, the authors present an analytical
131: framework to investigate co-channel spatial reuse in dense wireless ad
132: hoc networks based on path loss and log-normal shadowing models for
133: a 1-D infinite regular chain topology and a 2-D infinite
134: hexagonally-tessellated topology. They derive the minimum ratio of
135: inter-transmitter distance to transmitter-receiver distance, while
136: still maintaining desirable Signal to Interference and Noise
137: density Ratio (SINR) at the receivers. Their results
138: demonstrate that increasing transmission power improves spatial reuse
139: in ambient noise dominated environments. However, in co-channel
140: interference limited scenarios, increasing transmission power has
141: little effect on spatial reuse.
142: 
143: The performance of centralized graph-based and interference-based
144: STDMA scheduling via simulations is evaluated and compared in
145: \cite{gronkvist_hansson__comparison_between}.  To generate a
146: graph-based conflict-free schedule, the authors use a two-level graph
147: model with certain SINR threshold values chosen based on heuristics
148: and examples. To generate an interference-based conflict-free
149: schedule, the authors employ a method suggested in
150: \cite{somarriba__multihop_packet} which describes heuristics based on
151: two path loss models, namely terrain-data based ground wave propagation
152: model and Vogler's five knife-edge model.
153: 
154: In \cite{brar_blough_santi__computationally_efficient}, the authors
155: investigate throughput improvement in an 802.11-like wireless mesh
156: network with Carrier Sense Multiple Access with Collision Avoidance
157: (CSMA/CA) channel access scheme replaced by STDMA. For a successful
158: packet transmission, they mandate that two-way communication be
159: successful. Under this `extended physical interference model', they
160: present a greedy algorithm which computes the transmission schedule in
161: a centralized manner. Assuming a uniform random node distribution and
162: using results from occupancy theory, they derive an approximation
163: factor for the length of this schedule relative to the shortest
164: schedule.
165: 
166: Link scheduling for power-controlled STDMA
167: networks under the physical interference model is analyzed in
168: \cite{moscibroda_wattenhofer__complexity_connectivity}. The authors
169: define the scheduling complexity as the minimum number of time slots
170: required for strong connectivity of the network. They develop an
171: algorithm employing non-linear power assignment and show that its
172: scheduling complexity is polylogarithmic in the number of nodes.
173: 
174: In a related work
175: \cite{moscibroda_wattenhofer_zollinger__topology_control}, the authors
176: investigate the time complexity of scheduling a set of communication
177: requests in an arbitrary network.  They consider a `generalized
178: physical model' wherein the actual received power of a signal can
179: deviate from the theoretically received power by a
180: multiplicative factor. Their algorithm successfully schedules all
181: links in time proportional to the squared logarithm of the number of
182: nodes times the static interference measure
183: \cite{rickenbach_schmid__robust_interference}.
184: 
185: In \cite{kim_lim_hou__improving_spatial}, the authors investigate the
186: tradeoff between the average number of concurrent transmissions
187: (spatial reuse) and sustained data rate per node for an 802.11
188: wireless network.  Assuming that the channel data rate is given by the
189: Shannon capacity, they show that spatial reuse depends only on the
190: ratio of transmit power to carrier sense threshold. Keeping the
191: carrier sense threshold fixed, they propose a distributed power and
192: rate control algorithm based on interference measurement and evaluate
193: its performance via simulations.
194: 
195: In \cite{lim_lim_hou__coordinate_based}, the authors investigate
196: mitigation of inter-flow interference in an 802.11e wireless mesh
197: network from a temporal-spatial diversity perspective.  Measurements
198: of received signal strengths are used to construct a virtual
199: coordinate system to identify concurrent transmissions with minimum
200: inter-flow interference. Based on this new coordinate system, the
201: gateway node determines the scheduling order for downlink frames of
202: different connections. Through extensive simulation with real-life
203: measurement traces, the authors demonstrate throughput improvement
204: with their algorithms.
205: 
206: In \cite{kodialam_nandagopal__characterizing_achievable}, the authors
207: consider wireless mesh networks with half duplex and full duplex
208: orthogonal channels, wherein each node can transmit to at most one
209: node and/or receive from at most $k$ nodes ($k \geqslant 1$) during
210: any time slot. They investigate the joint problem of routing flows and
211: scheduling link transmissions to analyze the achievability of a given
212: rate vector between multiple source-destination pairs. The scheduling
213: problem is solved as an edge-coloring problem on a multi-graph and the
214: necessary conditions from scheduling problem lead to constraints on
215: the routing problem, which is then formulated as a linear optimization
216: problem. Correspondingly, the authors present a greedy coloring
217: algorithm to obtain a 2-approximate solution to the chromatic index
218: problem and describe a polynomial time approximation algorithm to
219: obtain an $\epsilon$-optimal solution of the routing problem using the
220: primal dual approach. Finally, they evaluate the performance of their
221: algorithms via simulations.
222: 
223: \subsection{Contributions of our Work}
224: 
225: In most STDMA algorithms, a link schedule is usually determined from a
226: graph model of the network
227: \cite{ramanathan_lloyd__scheduling_algorithms}
228: \cite{behzad_rubin__performance_graph}
229: \cite{gronkvist_hansson__comparison_between}. However, graph-based
230: scheduling algorithms assume a limited knowledge of the interference
231: and result in low network throughput. On the other hand, SINR-based
232: scheduling algorithms
233: \cite{brar_blough_santi__computationally_efficient}
234: \cite{moscibroda_wattenhofer__complexity_connectivity}
235: \cite{moscibroda_wattenhofer_zollinger__topology_control}
236: \cite{kim_lim_hou__improving_spatial} require a complete knowledge of
237: the interference and lead to higher throughput.  Existing literature
238: on SINR-based STDMA link scheduling consider system models which are
239: different from our system model. For example,
240: \cite{brar_blough_santi__computationally_efficient}
241: \cite{kim_lim_hou__improving_spatial} consider a variant of 802.11
242: wireless networks, \cite{lim_lim_hou__coordinate_based}
243: \cite{kodialam_nandagopal__characterizing_achievable} consider
244: wireless mesh networks and
245: \cite{moscibroda_wattenhofer__complexity_connectivity}
246: \cite{moscibroda_wattenhofer_zollinger__topology_control} assume
247: non-uniform transmit power at all nodes.
248: 
249: In this paper, we consider an STDMA wireless ad hoc network with
250: uniform transmit power at all nodes and propose a link scheduling
251: algorithm based on the graph model as well as SINR computations. We
252: introduce spatial reuse as an important performance metric and argue
253: that a high value of spatial reuse directly translates to high
254: long-term network throughput. We show that the proposed algorithm has
255: low computational complexity and high spatial reuse compared to
256: existing algorithms.
257: 
258: The rest of the paper is organized as follows. In Section \ref{xkybv},
259: we describe our system model along with the physical and protocol
260: interference models, discuss the limitations of graph-based scheduling
261: algorithms, formulate the problem and summarize the differences
262: between our work and existing work in SINR-based scheduling
263: algorithms. Section \ref{lxvym} describes the proposed link scheduling
264: algorithm. The performance of our algorithm is evaluated in Section
265: \ref{cymoe} and its computational complexity is derived in Section
266: \ref{mbxgt}. We conclude and suggest directions for future work in
267: Section \ref{eiovv}.
268: 
269: \section{System Model}
270: \label{xkybv}
271: 
272: Consider an STDMA wireless ad hoc network with $N$ static nodes
273: (wireless routers) in a two-dimensional plane.  During a time slot, a
274: node can either transmit, receive or remain idle. We assume
275: homogeneous and backlogged nodes. Let:
276: 
277: \begin{eqnarray*}
278: (x_j,y_j) &=& 
279: \mbox{Cartesian coordinates of $j^{th}$ node} \;=:\;{\mathbf r}_j\\
280: P &=& \mbox{transmission power of every node}\\
281: N_0 &=& \mbox{thermal noise density}\\
282: D(j,k) &=& \mbox{Euclidean distance between nodes $j$ and $k$}
283: \end{eqnarray*}
284: 
285: We do not consider fading and shadowing effects. The received signal
286: power at a distance $D$ from the transmitter is given by
287: $\frac{P}{D^{\alpha}}$, where $\alpha$ is the path loss factor.
288: 
289: A link schedule effectively assigns sets of links to time slots.
290: Specifically, a link schedule for the STDMA network is denoted by
291: $\Psi(C,{\mathcal S}_1,\cdots,{\mathcal S}_C)$, where
292: \begin{eqnarray*}
293: C &=& \mbox{number of slots in the link schedule}\\
294: {\mathcal S}_i 
295:  &=& \mbox{set of transmitter-receiver pairs which can}\\
296: && \mbox{communicate concurrently in the $i^{th}$ slot}\\
297:  &:=& \{t_{i,1}\rightarrow r_{i,1},\cdots,t_{i,M_i}\rightarrow r_{i,M_i}\}
298: \end{eqnarray*}
299: where $t_{i,j}\rightarrow r_{i,j}$ denotes a packet transmission from
300: node $t_{i,j}$ to node $r_{i,j}$ in the $i^{th}$ slot\footnote{A node
301: is generically denoted by $j$, $j=1,\ldots,N$. However, we have used
302: the notation $t_{i,j}$ to denote a node {\it transmitting} in the
303: $i^{th}$ slot. Similarly, a node {\it receiving} in the $i^{th}$ slot
304: is denoted by $r_{i,j}$.}. Note that $t_{i,j}, r_{i,j} \in
305: \{1,\ldots,N\}$ and $M_i = |{\mathcal S}_i|$.  The SINR at receiver
306: $r_{i,j}$ is given by
307: \begin{eqnarray}
308: {\mbox{SINR}}_{r_{i,j}} &=& 
309:  \frac{\frac{P}{D^{\alpha}(t_{i,j},r_{i,j})}}{N_0+\sum_{\stackrel{k=1}{k\neq j}}^{M_i}\frac{P}{D^{\alpha}(t_{i,k},r_{i,j})}}
310: \label{xvmyw}
311: \end{eqnarray}
312: We define the signal to noise ratio (SNR) at receiver $r_{i,j}$ by
313: \begin{eqnarray}
314: {\mbox{SNR}}_{r_{i,j}} &=& \frac{P}{N_0D^{\alpha}(t_{i,j},r_{i,j})}
315: \label{xklfy}
316: \end{eqnarray}
317: 
318: \subsection{Physical and Protocol Interference Models}
319: 
320: According to the {\it physical interference model}
321: \cite{gupta_kumar__capacity_wireless}, $t_{i,j}\rightarrow r_{i,j}$ is
322: successful if and only if (iff) the SINR at receiver $r_{i,j}$ is
323: greater than or equal to a certain threshold $\gamma_c$, termed as the
324: communication threshold.
325: \begin{eqnarray}
326: \frac{\frac{P}{D^\alpha(t_{i,j},r_{i,j})}}{N_0+\sum_{\stackrel{k=1}{k\neq j}}^{M_i} \frac{P}{D^\alpha(t_{i,k},r_{i,j})}} \geqslant \gamma_c
327: \label{mnmnx}
328: \end{eqnarray}
329: 
330: \noindent According to the {\it protocol interference model}
331: \cite{gupta_kumar__capacity_wireless},
332: $t_{i,j}\rightarrow r_{i,j}$ is successful if:
333: \begin{enumerate}
334: \item
335: the SNR at receiver $r_{i,j}$ is no less than the communication
336: threshold $\gamma_c$.  From (\ref{xklfy}), this translates to
337: \begin{eqnarray}
338: D(t_{i,j},r_{i,j}) &\leqslant& \left(\frac{P}{N_0 \gamma_c}\right)^\frac{1}{\alpha}
339:  \;\;=:\;\; R_c
340: \label{skbiq}
341: \end{eqnarray}
342: where $R_c$ is termed as communication range. 
343: 
344: \item
345: the signal from any unintended transmitter $t_{i,k}$ is received at
346: $r_{i,j}$ with an SNR less than a certain threshold $\gamma_i$, termed
347: as the interference threshold. This translates to
348: \begin{multline}
349: D(t_{i,k},r_{i,j}) 
350: \geqslant \left(\frac{P}{N_0 \gamma_i}\right)^\frac{1}{\alpha}
351:  =: R_i \\ \;\;\forall\;\; k=1,\ldots,M_i, \;k \neq j 
352: \label{djspd}
353: \end{multline}
354: where $R_i$ is termed as interference range. Note that $0 < \gamma_i <
355: \gamma_c$, thus $R_i > R_c$.
356: 
357: \end{enumerate}
358: The physical model of our system is denoted by $\Phi(N,({\mathbf
359: r}_1,\ldots,{\mathbf r}_N),P, \gamma_c,\gamma_i,\alpha,N_0)$.  
360: 
361: A schedule $\Psi(\cdot)$ is {\it feasible} if it satisfies the
362: following:
363: \begin{enumerate}
364: \item
365: Operational constraint: A node must not perform multiple operations in
366: a single time slot.
367: \begin{multline}
368: \{t_{i,j},r_{i,j}\} \cap \{t_{i,k},r_{i,k}\} = \phi \;\;\forall\;\;
369: i=1,\ldots,C \\\;\;\forall\;\; 1 \leqslant j < k \leqslant M_i
370: \label{xvnid}
371: \end{multline}
372: 
373: \item
374: Communication range constraint: Every receiver is within the
375: communication range of its intended transmitter.
376: \begin{multline}
377: D(t_{i,j},r_{i,j}) \leqslant R_c \;\forall i=1,\ldots,C \;\forall
378:  j=1,\ldots,M_i
379: \label{jdvot}
380: \end{multline}
381: 
382: \end{enumerate}
383: 
384: A schedule $\Psi(\cdot)$ is {\it exhaustive} if it satisfies the
385: following:
386: \begin{multline}
387: D(j,k) \leqslant R_c \Rightarrow j \rightarrow k \in \bigcup_{i=1}^C {\mathcal S}_i
388:  \;\;\mbox{and}\;\; k \rightarrow j \in \bigcup_{i=1}^C {\mathcal S}_i
389:  \\\;\; \forall \;\; 1 \leqslant j < k \leqslant N
390: \label{vuufl}
391: \end{multline}
392: 
393: A schedule $\Psi(\cdot)$ is {\it conflict-free} in terms of SINR, if
394: the SINR at every intended receiver does not drop below the
395: communication threshold.
396: \begin{eqnarray}
397: \mbox{SINR}_{r_{i,j}} \geqslant \gamma_c \;\;\forall\;\; i=1,\ldots,C, 
398: \;\;\forall\;\; j=1,\ldots,M_i
399: \label{pozxm}
400: \end{eqnarray}
401: 
402: \subsection{Graph-Based Scheduling}
403: 
404: The traditional approach in designing reuse schedules is to use a
405: graph model of the network and study the set of edges 
406: \cite{behzad_rubin__performance_graph}
407: \cite{gronkvist_hansson__comparison_between}.  The STDMA
408: network $\Phi(\cdot)$ is modeled by a directed graph ${\mathcal
409: G}({\mathcal V},{\mathcal E})$, where $\mathcal V$ is the set of
410: vertices and $\mathcal E$ is the set of edges. Let $\mathcal V =
411: \{v_1,v_2,\ldots,v_N\}$, where vertex $v_j$ represents the $j^{th}$
412: node in $\Phi(\cdot)$. In general, ${\mathcal E} = {\mathcal E}_c
413: \,\dotcup\, {\mathcal E}_i$, where ${\mathcal E}_c$ and ${\mathcal
414: E}_i$ denote the set of communication and interference edges
415: respectively. If node $k$ is within node $j$'s communication range,
416: then there is a communication edge from $v_j$ to $v_k$, denoted by
417: $v_j \stackrel{c}{\rightarrow} v_k$. If node $k$ is outside node $j$'s
418: communication range but within its interference range, then there is
419: an interference edge from $v_j$ to $v_k$, denoted by $v_j
420: \stackrel{i}{\rightarrow} v_k$. Thus, the mapping from $\Phi(\cdot)$
421: to $\mathcal G(\cdot)$ can be described as follows:
422: 
423: \begin{eqnarray*}
424: D(j,k) \leqslant R_c &\Rightarrow& v_j \stackrel{c}{\rightarrow} v_k \in 
425:  {\mathcal E}_c \;\;\mbox{and}\;\; v_k \stackrel{c}{\rightarrow} v_j \in 
426:  {\mathcal E}_c\\
427: R_c < D(j,k) \leqslant R_i &\Rightarrow& v_j \stackrel{i}{\rightarrow}  v_k \in 
428:  {\mathcal E}_i \;\;\mbox{and}\;\; v_k \stackrel{i}{\rightarrow}  v_j \in 
429:  {\mathcal E}_i
430: \end{eqnarray*}
431: 
432: A communication or an interference edge from $v_j$ to $v_k$ will be
433: denoted by $v_j \rightarrow v_k$.  The subgraph ${\mathcal
434: G}_c({\mathcal V},{\mathcal E}_c)$ consisting of communication edges
435: only is termed as the {\it communication graph}.
436: 
437: The schedule $\Psi(\cdot)$ is then designed from the graph $\mathcal
438: G(\cdot)$. Specifically, an STDMA link scheduling algorithm is
439: equivalent to assigning a unique color to every communication edge in
440: the graph, such that source-destination pairs corresponding to
441: communication edges with the same color transmit simultaneously in a
442: particular time slot. The traditional method for link assignment
443: requires that two communication edges $v_i \stackrel{c}{\rightarrow}
444: v_j$ and $v_k \stackrel{c}{\rightarrow} v_l$ can be colored the same
445: iff:
446: \begin{enumerate}
447: \renewcommand{\theenumi}{\roman{enumi}}
448: \item
449: vertices $v_i$, $v_j$, $v_k$, $v_l$ are all mutually distinct, i.e.,
450: there is no {\it primary edge conflict,} and
451: \label{lgcnn}
452: 
453: \item
454: $v_i \rightarrow v_l \not\in \mathcal G(\cdot)$ and $v_k \rightarrow v_j
455: \not\in \mathcal G(\cdot)$, i.e, there is no {\it secondary edge conflict}.
456: \label{plbbz}
457: \end{enumerate}
458: The first criterion is based on the operational constraint. The second
459: criterion states that a node cannot receive a packet while neighboring
460: nodes are transmitting.
461: 
462: Graph-Based scheduling algorithms utilize various graph coloring
463: methodologies to obtain a non-conflicting schedule, i.e., a schedule
464: devoid of primary and secondary edge conflicts.  To maximize the
465: throughput of an STDMA network, graph-based scheduling algorithms seek
466: to minimize the total number of colors used to color all the
467: communication edges of $\mathcal G(\cdot)$.
468: 
469: \subsection{Limitations of Graph-Based Scheduling Algorithms}
470: \label{bcprd}
471: 
472: Observe that Criteria \ref{lgcnn}) and \ref{plbbz}) are not sufficient
473: to guarantee that the resulting schedule $\Psi(\cdot)$ is
474: conflict-free. The link assignments that fulfill the above criteria do
475: not necessarily satisfy the SINR condition (\ref{pozxm}).
476: 
477: Importantly, graph-based scheduling algorithms do not maximize the
478: throughput of an STDMA network because:
479: \begin{enumerate}
480: 
481: \item
482: \label{mxfiw}
483: Due to hard-thresholding based on communication and interference
484: radii, graph-based scheduling algorithms can lead to high cumulative
485: interference at a receiver \cite{behzad_rubin__performance_graph}
486: \cite{gronkvist_hansson__comparison_between}.  This is because the
487: SINR at receiver $r_{i,j}$ decreases with an increase in the number of
488: concurrent transmissions $M_i$, while $R_c$ and $R_i$ have been
489: defined for a single transmission only.
490: \begin{figure}[thbp]
491: \centering
492: \includegraphics[width=3.4in]{reason1.eps}
493: \caption{Graph-Based algorithms can lead to high cumulative interference.}
494: \label{nvxye}
495: \end{figure}
496: For example, consider Figure \ref{nvxye} with six labeled nodes whose
497: coordinates are $1 \equiv (-360,0)$, $2 \equiv (-450,0)$, $3 \equiv
498: (90,0)$, $4 \equiv (0,0)$, $5 \equiv (360,0)$ and $6 \equiv (450,0)$.
499: The system parameters are $P=10$ mW, $\alpha = 4$, $N_0=-90$ dBm,
500: $\gamma_c = 20$ dB and $\gamma_i=10$ dB, which yields $R_c=100$ m and
501: $R_i=177.8$ m.  A graph-based scheduling algorithm will typically
502: schedule the transmissions $1 \rightarrow 2$, $3 \rightarrow 4$ and $5
503: \rightarrow 6$ in the same time slot, say the $i^{th}$ time slot, since
504: the resulting graph coloring is devoid of primary and secondary edge
505: conflicts. However, our computations show that the SINRs at receivers
506: $r_{i,1}$, $r_{i,2}$ and $r_{i,3}$ are $21.26$ dB, $18.42$ dB and
507: $19.74$ dB respectively.  From the physical interference model,
508: transmission $t_{i,1} \rightarrow r_{i,1}$ is successful, while
509: transmissions $t_{i,2} \rightarrow r_{i,2}$ and $t_{i,3} \rightarrow
510: r_{i,3}$ are unsuccessful. This leads to low throughput.
511: 
512: \item
513: On the other hand, graph-based scheduling algorithms can be extremely
514: conservative and result in a higher number of colors
515: \cite{moscibroda_wattenhofer_weber__protocol_design}.
516: \begin{figure}[thbp]
517: \centering
518: \includegraphics[width=2.4in]{reason2.eps}
519: \caption{Graph-Based algorithms can lead to higher number of colors.}
520: \label{hwerd}
521: \end{figure}
522: For example, with the same system parameters as in \ref{mxfiw}),
523: consider Figure \ref{hwerd} with four labeled nodes whose coordinates
524: are $1 \equiv (0,0)$, $2 \equiv (50,0)$, $3 \equiv (220,0)$ and $4
525: \equiv (170,0)$. Assume there are two transmission requests: $1
526: \rightarrow 2$ and $3 \rightarrow 4$.  If both the transmissions are
527: scheduled in the same slot, say the $i^{th}$ time slot, our
528: computations show that the SINRs at receivers $r_{i,1}$ and $r_{i,2}$
529: are both equal to $20.91$ dB. From the physical interference model,
530: both transmissions $t_{i,1} \rightarrow r_{i,1}$ and $t_{i,2}
531: \rightarrow r_{i,2}$ are successful, since signals levels are so high
532: at the receivers that strong interferences can be tolerated. However,
533: due to secondary edge conflicts, a graph-based scheduling algorithm
534: will schedule the above transmissions in different slots, thus
535: decreasing the throughput.
536: 
537: \item
538: Graph-based scheduling algorithms are not geography-aware, i.e., they
539: determine a schedule without being cognizant of the exact positions of
540: the transmitters and receivers.
541: 
542: \end{enumerate}
543: 
544: \subsection{Problem Formulation}
545: \label{pthme}
546: 
547: In STDMA, we construct a graph model ${\mathcal G}({\mathcal
548: V},{\mathcal E}_c \,\dotcup\, {\mathcal E}_i)$ of the physical network
549: $\Phi(\cdot)$.  The communication graph ${\mathcal G}_c({\mathcal
550: V},{\mathcal E}_c)$ is an approximation of $\Phi(\cdot)$, while the
551: two-tier graph ${\mathcal G}({\mathcal V},{\mathcal E}_c \,\dotcup\,
552: {\mathcal E}_i)$ is a better approximation of $\Phi(\cdot)$.  From
553: $\Phi(\cdot)$ and ${\mathcal G}_c(\cdot)$, one can exhaustively
554: determine the STDMA schedule which yields the highest throughput
555: according to the physical interference model. However, this is a
556: combinatorial optimization problem of prohibitive complexity
557: $(O(|{\mathcal E}_c|^{|{\mathcal E}_c|}))$ and is thus computationally
558: infeasible.
559: 
560: To overcome these problems, we propose a new suboptimal algorithm for
561: STDMA link scheduling based on a more realistic physical interference
562: model.  Our algorithm is based on the communication graph model
563: ${\mathcal G}_c({\mathcal V},{\mathcal E}_c)$ as well as SINR
564: computations.
565: 
566: To evaluate the performance of our algorithm and compare it with
567: existing suboptimal STDMA link scheduling algorithms, we define the
568: following metric: spatial reuse.  Consider the STDMA link schedule
569: $\Psi(\cdot)$ for the network $\Phi(\cdot)$. Under the physical
570: interference model, the transmission $t_{i,j} \rightarrow r_{i,j}$ is
571: successful iff (\ref{mnmnx}) is satisfied.  The {\it spatial reuse} of
572: the schedule $\Psi(\cdot)$ is defined as the average number of
573: successfully received packets per time slot in the STDMA
574: schedule. Thus
575: \begin{multline}
576: \mbox{Spatial Reuse $\;=\; \sigma$} =
577:  \frac{\sum_{i=1}^C\sum_{j=1}^{M_i}I({\mbox{SINR}}_{r_{i,j}}\geqslant\gamma_c)}{C} 
578: \label{qpjkk}
579: \end{multline}
580: where $I(A)$ denote the indicator function for event $A$, i.e.,
581: $I(A)=1$ if event $A$ occurs, $I(A)=0$ if event $A$ does not occur.
582: 
583: The essence of STDMA is to have a reasonably large number of
584: concurrent and successful transmissions.  For an STDMA network which
585: is operational for a long period of time, say $L$ slots, the total
586: number of successfully received packets is $L\sigma$. Thus, a high
587: value of spatial reuse\footnote{Note that spatial reuse in our
588:   system model is analogous to spectral efficiency in digital
589:   communication systems.} directly translates to higher long-term total
590: network throughput and the number of colors $C$ is relatively
591: unimportant.  Hence, spatial reuse turns out to be a crucial metric
592: for the comparison of different STDMA algorithms.
593: 
594: We seek low complexity conflict-free STDMA link scheduling algorithms
595: with high spatial reuse. We only consider STDMA schedules which are
596: feasible and exhaustive. Thus, our schedules satisfy (\ref{xvnid}),
597: (\ref{jdvot}), (\ref{vuufl}) and (\ref{pozxm}).
598: 
599: \subsection{Comparison with SINR-Based Scheduling Algorithms}
600: 
601: In cognizance of our system model and performance metric, our work is
602: reasonably different from existing SINR-based STDMA link scheduling
603: algorithms.
604: 
605: The works in \cite{brar_blough_santi__computationally_efficient}
606: \cite{moscibroda_wattenhofer__complexity_connectivity} focus on
607: minimizing the schedule length, which does not necessarily translate
608: to high network throughput. On the other hand, spatial reuse directly
609: corresponds to network throughput capacity
610: \cite{gupta_kumar__capacity_wireless}.  Power-controlled algorithms
611: can lead to excessively high transmit power (for example, Line 16 in
612: Algorithm 1 \cite{moscibroda_wattenhofer__complexity_connectivity}),
613: which is impractical since all wireless routers have constraints on
614: maximum transmit power. So, similar to
615: \cite{kodialam_nandagopal__characterizing_achievable}, we consider
616: uniform transmit power at all wireless routers.  Existing works on
617: SINR-based link scheduling, which are usually in the context of 802.11
618: wireless networks \cite{brar_blough_santi__computationally_efficient}
619: \cite{kim_lim_hou__improving_spatial} and wireless mesh networks
620: \cite{lim_lim_hou__coordinate_based}
621: \cite{kodialam_nandagopal__characterizing_achievable}, consider many
622: practical aspects of the underlying communication protocol and network
623: architecture. Consequently, their system models are quite different
624: from our pure STDMA network model.
625: 
626: To the best of our knowledge, this is the first attempt to develop a
627: centralized algorithm for SINR-based link scheduling in a pure STDMA
628: wireless ad hoc network with uniform power assignment.  Also, this
629: work is different from previous works due to the focus on spatial
630: reuse.
631: 
632: Hence, we compare the performance of our algorithm with existing
633: graph-based algorithms only.
634: 
635: \section{SINR-Based Link Scheduling Algorithm}
636: \label{lxvym}
637: 
638: \subsection{Structure}
639: 
640: We first describe the essential features of STDMA link scheduling
641: algorithms. The core of every link scheduling algorithm consists
642: of the following modules:
643: \begin{enumerate}
644: 
645: \item
646: An order in which communication edges are considered for coloring.
647: 
648: \item
649: A function which determines the set of all existing colors which can
650: be assigned to the edge under consideration without violating the
651: problem constraints.
652: 
653: \item
654: A {\it BestColor} rule to determine which conflict-free color to
655: assign to the edge under consideration.
656: \end{enumerate}
657: 
658: The second module considers only operational and communication range
659: constraints in graph-based scheduling algorithms. However, in
660: the SINR-based link scheduling algorithm that we propose, SINR
661: constraints are also taken into account. Note that this function is
662: completely described by the problem definition and does not vary from
663: algorithm to algorithm. The ordering of edges for coloring and the
664: BestColor rule play a significant role in determining the performance
665: and computational complexity of an STDMA scheduling algorithm.
666: 
667: \subsection{Motivation}
668: 
669: Recall that graph-based models are inadequate to design efficient link
670: schedules under the physical interference model and brute-force
671: computation of an optimal link schedule that maximizes spatial reuse
672: is prohibitively complex (see Sections \ref{bcprd} and \ref{pthme}).
673: Motivated by techniques from matroid theory
674: \cite{lawler__combinatorial_optimization}, we develop a
675: computationally feasible algorithm with demonstrably high spatial
676: reuse.  The essence of our algorithm is to partition the set of
677: communication edges into subsets (forests) and color the edges in each
678: subset sequentially. The edges in each forest are considered in a
679: random order for coloring, since randomized algorithms are known to
680: outperform deterministic algorithms, esp. when the characteristics of
681: the input are not known apriori
682: \cite{motwani_raghavan__randomized_algorithms}.
683: 
684: A similar matroid-based network partitioning technique is used in
685: \cite{brzezinski_zussman_modiano__enabling_distributed} to generate
686: high capacity subnetworks for a distributed throughput maximization
687: problem in wireless mesh networks.  Techniques from matroid theory
688: have also been employed to develop efficient heuristics for NP-hard
689: combinatorial optimization problems in fields such as distributed
690: computer systems \cite{ramalingom_thulasiraman_das__matroid_theoretic}
691: and linear network theory \cite{petersen__investigating_solvability}.
692: 
693: \subsection{ConflictFreeLinkSchedule Algorithm}
694: \label{xbpyf}
695: 
696: Our proposed SINR-based link scheduling algorithm is
697: ConflictFreeLinkSchedule, which considers the communication graph
698: ${\mathcal G}_c({\mathcal V},{\mathcal E}_c)$ and is described in
699: Algorithm \ref{hidwo}.
700: 
701: In Phase 1 (Line 3), we label all the vertices randomly. Specifically,
702: if ${\mathcal G}_c(\cdot)$ has $v$ vertices, we perform a random
703: permutation of the sequence $(1,2,\ldots,v)$ and assign these labels
704: to vertices with indices $1,2,\ldots,v$ respectively.
705: 
706: In Phase 2 (Line 4), the communication graph ${\mathcal G}_c(\cdot)$
707: is decomposed into what are called as out-oriented and in-oriented
708: graphs $T_1,T_2,\ldots,T_k$
709: \cite{ramanathan_lloyd__scheduling_algorithms}. Each $T_i$ is a forest
710: and every edge of ${\mathcal G}_c(\cdot)$ is in exactly one of the
711: $T_i$'s. This decomposition is achieved by partitioning graph
712: $G_c(\cdot)$, the undirected equivalent of ${\mathcal G}_c(\cdot)$,
713: into undirected forests. The number of forests can be minimized by
714: using techniques from Matroid theory ($k$-forest problem,
715: \cite{gabow_westermann__forests_frames}). However, this optimal
716: decomposition requires extensive computation. Hence, we adopt the
717: speedier albeit non-optimal approach of using successive breadth first
718: searches to decompose $G_c(\cdot)$ into undirected forests. Each
719: undirected forest is further mapped to two directed forests. In one
720: forest, the edges in every connected component point away from the
721: root and every vertex has at most one incoming edge, thus producing an
722: out-oriented graph. In the other forest, the edges in every connected
723: component point toward the root and every vertex has at most one
724: outgoing edge, thus producing an in-oriented graph\footnote{An
725:   in-oriented graph is also constructed by Algorithm 1 in
726:   \cite{moscibroda_wattenhofer__complexity_connectivity} to determine
727:   a link schedule in a power-controlled STDMA network.}.
728: 
729: In Phase 3 (Lines 5-14), the oriented graphs are considered
730: sequentially.  For each oriented graph, vertices are considered in
731: increasing order by label\footnote{In essence, the edges are scanned
732:   in a random order, since labeling is random.} and the unique edge
733: associated with each vertex is colored using the
734: FirstConflictFreeColor function.
735: 
736: \begin{algorithm}
737: \caption{ConflictFreeLinkSchedule}
738: \label{hidwo}
739: \begin{algorithmic}[1]
740: \STATE {\bf input:} Physical network
741: $\Phi(\cdot)$, communication graph ${\mathcal G}_c(\cdot)$
742: \STATE {\bf output:} A coloring $C: {\mathcal E}_c \rightarrow \{1,2,\ldots\}$
743: \STATE label the vertices of ${\mathcal G}_c$ randomly
744: \STATE use successive breadth first searches to partition ${\mathcal G}_c$ into oriented graphs
745: $T_i$, $1 \leqslant i \leqslant k$
746: \FOR{$i \leftarrow 1 \mbox{ to } k$}
747: \FOR{$j \leftarrow 1 \mbox{ to } n$}
748: \IF{$T_i$ is out-oriented}
749: \STATE let $x=(s,d)$ be such that $L(d)=j$
750: \ELSE
751: \STATE let $x=(s,d)$ be such that $L(s)=j$
752: \ENDIF
753: \STATE $C(x) \leftarrow \mbox{FirstConflictFreeColor}(x)$
754: \ENDFOR
755: \ENDFOR
756: \end{algorithmic}
757: \end{algorithm}
758: 
759: The FirstConflictFreeColor function is explained in Algorithm
760: \ref{pecdi}. For the edge under consideration $x$, it discards any
761: color that has an edge with a primary conflict with $x$. Now, we
762: consider the residual set of conflict-free colors sequentially. We
763: choose the first conflict-free color such that the resulting SINRs at
764: the receiver of $x$ and the receivers of all co-colored edges exceed
765: the communication threshold $\gamma_c$. If no such color is found, we
766: assign a new color to $x$. Thus, this function guarantees that the
767: ensuing schedule is conflict-free in terms of SINR. Since we choose
768: the first SINR-compliant color and not the `best' SINR-compliant color
769: according to some BestColor rule, the computational complexity of this
770: function is lower than that of any other function which checks the
771: SINRs at the receivers of all co-colored edges.
772: 
773: \begin{algorithm}
774: \caption{integer FirstConflictFreeColor($x$)}
775: \label{pecdi}
776: \begin{algorithmic}[1]
777: \STATE {\bf input:} Physical network $\Phi(\cdot)$, communication graph 
778: ${\mathcal G}_c(\cdot)$
779: \STATE {\bf output:} A conflict-free color
780: \STATE ${\mathcal C} \leftarrow \mbox{set of existing colors}$
781: \STATE ${\mathcal C}_c \leftarrow \{C(h):h \in {\mathcal E}_c$, $h$ is colored, $x$ and $h$ have a primary edge conflict$\}$
782: \STATE ${\mathcal C}_{cf} = {\mathcal C} \setminus {\mathcal C}_c$
783: \FOR{$i \leftarrow 1 \mbox{ to } |{\mathcal C}_{cf}|$}
784: \STATE $r \leftarrow i^{th} \mbox{ color in } {\mathcal C}_{cf}$
785: \STATE $E_r \leftarrow \{h:h \in {\mathcal E}_c, C(h)=r\}$
786: \STATE $C(x) \leftarrow r$
787: \IF{SINR at all receivers of $E_r \cup \{x\}$ exceed $\gamma_c$}
788: \STATE return $r$
789: \ENDIF
790: \ENDFOR
791: \STATE return $|\mathcal C|+1$
792: \end{algorithmic}
793: \end{algorithm}
794: 
795: \section{Performance Results}
796: \label{cymoe}
797: 
798: \subsection{Simulation Model}
799: \label{zxptb}
800: 
801: In our simulation experiments, the location of every node is generated
802: randomly, using a uniform distribution for its $X$ and $Y$
803: coordinates, in the deployment area. For a fair comparison of our
804: algorithm with the Truncated Graph-Based Scheduling Algorithm
805: \cite{behzad_rubin__performance_graph}, we assume that the deployment
806: region is a circular region of radius $R$. Thus, if $(X_j,Y_j)$ are
807: the Cartesian coordinates of the $j^{th}$ node, $j=1,\ldots,N$, then
808: $X_j \sim U[-R,R]$ and $Y_j \sim U[-R,R]$ subject to $X_j^2 + Y_j^2
809: \leqslant R^2$. Equivalently, if $(R_j,\Theta_j)$ are the polar
810: coordinates of the $j^{th}$ node, then $R_j^2 \sim U[0,R^2]$ and
811: $\Theta_j \sim U[0,2\pi]$.  After generating random positions for $N$
812: nodes, we have complete information of $\Phi(\cdot)$. Using
813: (\ref{skbiq}) and (\ref{djspd}), we compute the communication and
814: interference radii, and then map the network $\Phi(\cdot)$ to the
815: two-tier graph ${\mathcal G}({\mathcal V},{\mathcal E}_c \,\dotcup\,
816: {\mathcal E}_i)$.  Once the link schedule is computed by every
817: algorithm, the spatial reuse is computed using (\ref{qpjkk}).  We use
818: two sets of values for system parameters $P$, $\gamma_c$, $\gamma_i$,
819: $\alpha$, $N_0$, $N$ and $R$, which are prototypical values of system
820: parameters in wireless networks \cite{kim_lim_hou__improving_spatial}
821: and describe them in Section \ref{mclgs}.  For a given set of system
822: parameters, we calculate the spatial reuse by averaging this quantity
823: over one thousand randomly generated networks.  Keeping all other
824: parameters fixed, we observe the effect of increasing the number of
825: nodes $N$ on the spatial reuse $\sigma$.
826: 
827: In our experiments, we compare the performance of the following algorithms:
828: \begin{enumerate}
829: \item
830: ArboricalLinkSchedule \cite{ramanathan_lloyd__scheduling_algorithms}
831: (ALS)
832: 
833: \item 
834:   Truncated Graph-Based Scheduling Algorithm\footnote{In Truncated
835:     Graph-Based Scheduling Algorithm, for the computation of optimal
836:     number of transmissions $M^*$, we follow the exact method
837:     described in \cite{behzad_rubin__performance_graph}. Since $0 <
838:     \xi < \frac{N_0}{P}$, we assume that $\xi = 0.9999\frac{N_0}{P}$
839:     and compute successive Edmundson-Madansky (EM) upper bounds
840:     \cite{madansky__inequalities_stochastic}
841:     \cite{dokov_morton__higher_order} till the difference between
842:     successive EM bounds is less than $0.3\%$. We have experimentally
843:     verified that only high values of $\xi$ lead to reasonable values
844:     for $M^*$, whereas low values of $\xi$, say $\xi =
845:     0.1\frac{N_0}{P}$, lead to the extremely conservative value of
846:     $M^*=1$ in most cases.}  \cite{behzad_rubin__performance_graph}
847:   (TGSA)
848: 
849: \item
850: ConflictFreeLinkSchedule (CFLS)
851: 
852: \end{enumerate}
853: 
854: \subsection{Performance Comparison}
855: \label{mclgs}
856: 
857: In our first set of experiments (Experiment 1), we assume that $R=500$
858: m, $P=10$ mW, $\alpha = 4$, $N_0=-90$ dBm, $\gamma_c = 20$ dB and
859: $\gamma_i=10$ dB. Thus, $R_c=100$ m and $R_i=177.8$ m.  We vary the
860: number of nodes from 30 to 110 in steps of 5. Figure \ref{zowyx} plots
861: the spatial reuse vs. number of nodes for all the algorithms.
862: 
863: \begin{figure}[thbp]
864: \centering
865: \includegraphics[width=3.6in]{sr_expt1.eps}
866: \caption{Spatial reuse vs. number of nodes for Experiment 1.}
867: \label{zowyx}
868: \end{figure}
869: 
870: In our second set of experiments (Experiment 2), we assume that
871: $R=700$ m, $P=15$ mW, $\alpha = 4$, $N_0=-85$ dBm, $\gamma_c = 15$ dB
872: and $\gamma_i=7$ dB. Thus, $R_c=110.7$ m and $R_i=175.4$ m.  We vary
873: the number of nodes from 70 to 150 in steps of 5. Figure \ref{uusvr}
874: plots the spatial reuse vs. number of nodes for all the algorithms.
875: 
876: \begin{figure}[thbp]
877: \centering
878: \includegraphics[width=3.6in]{sr_expt2.eps}
879: \caption{Spatial reuse vs. number of nodes for Experiment 2.}
880: \label{uusvr}
881: \end{figure}
882: 
883: For the ALS algorithm, we observe that spatial reuse increases very
884: slowly with increasing number of nodes.
885: 
886: For the TGSA algorithm, we observe that spatial reuse is $18$-$27\%$
887: lower than that of ALS. A plausible explanation for this behavior is
888: as follows.  The basis for TGSA is the computation of $M^*$, the
889: optimal number of transmissions in every slot.  $M^*$ is determined by
890: maximizing a lower bound on the expected number of successful
891: transmissions in a time slot.  Since the partitioning of a maximal
892: independent set of communication arcs into subsets of cardinality at
893: most $M^*$ is arbitrary and not geography-based, there could be
894: scenarios where the transmissions scheduled in a subset are in the
895: vicinity of each other, resulting in moderate to high interference.
896: In essence, maximizing this lower bound does not necessarily translate
897: to maximizing the number of successful transmissions in a time slot.
898: Also, due to its design, the TGSA algorithm yields higher number of
899: colors compared to ALS.
900: 
901: For our CFLS algorithm, we observe that spatial reuse increases
902: steadily with increasing number of nodes and is consistently
903: $25$-$50\%$ higher than the spatial reuse of ALS and TGSA.
904: 
905: \subsection{Performance Comparison under Realistic Channel
906: Conditions}
907: 
908: In a realistic wireless environment, channel impairments like
909: multipath fading and shadowing affect the received SINR at a receiver
910: \cite{sklar__rayleigh_fading}.  In this section, we compare the
911: performance of the ALS, TGSA and CFLS algorithms in a wireless channel
912: which experiences Rayleigh fading and lognormal shadowing.
913: 
914: In the absence of fading and shadowing, the SINR at receiver $r_{i,j}$
915: is given by (\ref{xvmyw}). We assume that every algorithm (ALS, TGSA
916: and CFLS) considers only path loss in the channel prior to
917: constructing the two-tier graph ${\mathcal G}({\mathcal V},{\mathcal
918:   E}_c \,\dotcup\, {\mathcal E}_i)$ and computing the link schedule.
919: However, when evaluating the performance of each algorithm, we take
920: into account the fading and shadowing channel gains between every pair
921: of nodes. Specifically, for computing the spatial reuse using
922: (\ref{qpjkk}), we assume that the (actual) SINR at receiver $r_{i,j}$
923: is given by
924: \begin{multline*}
925: {\mbox{SINR}}_{r_{i,j}} = 
926:  \frac{\frac{P}{D^{\alpha}(t_{i,j},r_{i,j})}V(t_{i,j},r_{i,j})10^{W(t_{i,j},r_{i,j})}}{N_0+\sum_{\stackrel{k=1}{k\neq j}}^{M_i}\frac{P}{D^{\alpha}(t_{i,k},r_{i,j})}V(t_{i,k},r_{i,j})10^{W(t_{i,k},r_{i,j})}}
927: \end{multline*}
928: where random variables $V(\cdot)$ and $W(\cdot)$ correspond to channel
929: gains due to Rayleigh fading and lognormal shadowing respectively. We
930: assume that $\{V(k,l)|1\leqslant k,l \leqslant N, k \neq l\}$ are
931: independent and identically distributed (i.i.d.) random variables with
932: probability density function\footnote{$u(\cdot)$ is the unit step
933:   function.} (pdf)
934: \cite{tse_viswanath__fundamentals_wireless}
935: \begin{eqnarray*}  
936: f_V(v) &=& \frac{1}{\sigma_V^2}e^{\frac{-v}{\sigma_V^2}}u(v)
937: \end{eqnarray*}
938: and $\{W(k,l)|1\leqslant k,l \leqslant N, k\neq l\}$ are i.i.d. zero mean
939: Gaussian random variables with pdf
940: \cite{goldsmith__wireless_communications}
941: \begin{eqnarray*}
942: f_W(w) &=& \frac{1}{\sqrt{2\pi}\sigma_W}e^{\frac{-w^2}{2\sigma_W^2}}
943: \end{eqnarray*}
944: Random variables $V(\cdot)$ and $W(\cdot)$ are independent of each
945: other and also independent of the node locations.
946: 
947: Our simulation model and experiments are exactly as described in
948: Sections \ref{zxptb} and \ref{mclgs}. In our simulations, we assume
949: $\sigma_V^2 = \sigma_W^2 = 1$.  For Experiment 1, Figure \ref{cvcvb}
950: plots the spatial reuse vs. number of nodes for all the algorithms.
951: For Experiment 2, Figure \ref{vcvcb} plots spatial reuse vs. number of
952: nodes for all the algorithms.
953: 
954: \begin{figure}[thbp]
955: \centering
956: \includegraphics[width=3.6in]{f_sr_expt1.eps}
957: \caption{Spatial reuse vs. number of nodes for Experiment 1 under 
958: multipath fading and shadowing channel conditions.}
959: \label{cvcvb}
960: \end{figure}
961: 
962: \begin{figure}[thbp]
963: \centering
964: \includegraphics[width=3.6in]{f_sr_expt2.eps}
965: \caption{Spatial reuse vs. number of nodes for Experiment 2 under 
966: multipath fading and shadowing channel conditions.}
967: \label{vcvcb}
968: \end{figure}
969: 
970: From Figures \ref{zowyx}, \ref{uusvr}, \ref{cvcvb} and \ref{vcvcb}, we
971: observe that spatial reuse decreases by $20$-$40\%$ in a channel
972: experiencing multipath fading and shadowing effects. A plausible
973: explanation for this observation is as follows. Since the channel
974: gains between every pair of nodes are independent of each other, it is
975: reasonable to assume that the interference power at a typical receiver
976: remains almost the same as in the non-fading case. This is because,
977: even if the power received from few unintended transmitters is low,
978: the power received from other unintended transmitters will be high (on
979: an average); thus the interference power remains constant.
980: Consequently, the change in SINR is determined by the change in
981: received signal power only. If the received signal power is higher
982: compared to the non-fading case, the transmission is anyway successful
983: and spatial reuse remains unchanged (see (\ref{qpjkk})). However, if
984: the received signal power is lower, the transmission is now
985: unsuccessful and spatial reuse decreases. Hence, on an average, the
986: spatial reuse decreases.
987: 
988: Finally, from Figures \ref{cvcvb} and \ref{vcvcb}, we observe that our CFLS
989: algorithm achieves $5$-$17\%$ higher spatial reuse than the ALS
990: algorithm and $40$-$80\%$ higher spatial reuse than the TGSA
991: algorithm, under realistic channel conditions.
992: 
993: \section{Analytical Results}
994: \label{mbxgt}
995: 
996: In this section, we derive upper bounds on the running time complexity
997: (computational complexity) of the ConflictFreeLinkSchedule algorithm.
998: We will use the following notation with respect to the communication
999: graph ${\mathcal G}_c({\mathcal V},{\mathcal E}_c)$:
1000: \begin{eqnarray*}
1001: e &=& \mbox{number of communication edges}\\
1002: v &=& \mbox{number of vertices}\\
1003: \theta &=& \mbox{thickness of the graph}\\
1004: &:=& \mbox{minimum number of graphs into which the}\\
1005: && \mbox{undirected equivalent of ${\mathcal G}_c(\cdot)$ can be partitioned}
1006: \end{eqnarray*}
1007: 
1008: \begin{figure}
1009: \centering
1010: \subfigure[Experiment 1]
1011: {
1012: \label{ywhlv}
1013: \includegraphics[width=3.35in]{theta_expt1_1.eps}
1014: }
1015: \hspace{0.2in}
1016: \subfigure[Experiment 2]
1017: {
1018: \label{drjnb}
1019: \includegraphics[width=3.35in]{theta_expt2.eps}
1020: }
1021: \caption{Comparison of thickness and number of edges with number of vertices.}
1022: \label{wvlpt}
1023: \end{figure}
1024: 
1025: Before we prove our results, it is instructive to observe Figure
1026: \ref{wvlpt}, which shows the variation of $\theta$ and $e$ with $v$
1027: for the two experiments described in Section \ref{mclgs}.  Since
1028: determining the thickness of a graph is NP-hard
1029: \cite{mutzel_odenthal__thickness_graphs}, each value of $\theta$ in
1030: Figure \ref{wvlpt} is an upper bound on the actual thickness based on
1031: the number of forests into which the undirected equivalent of the
1032: communication graph has been decomposed using successive breadth first
1033: searches.  We observe that the graph thickness increases very slowly
1034: with the number of vertices, while the number of edges increases
1035: super-linearly with the number of vertices.
1036: 
1037: \begin{lemma}
1038: \label{apmxr}
1039: An oriented graph $T$ can be colored using no more than $O(v)$ colors
1040: using ConflictFreeLinkSchedule.
1041: \end{lemma}
1042: \begin{proof}
1043: Since an oriented graph with $v$ vertices has at most $v$ edges, the
1044: edges of $T$ can be colored with at most $v$ colors.
1045: \end{proof}
1046: 
1047: \vspace{1.5ex}
1048: 
1049: \begin{remark}
1050: The number of colors obtained by our algorithm depends not only on the
1051: graph representation of the STDMA network, but also on the positions
1052: of the nodes and the values of $P$, $\gamma_c$, $\gamma_i$, $\alpha$
1053: and $N_0$. Since our algorithm is both graph-based and SINR-based
1054: (hybrid), it is not possible to obtain a tighter upper bound in Lemma
1055: \ref{apmxr}.
1056: \end{remark}
1057: 
1058: \vspace{1.5ex}
1059: 
1060: \begin{lemma}
1061: For an oriented graph $T$, the running time of
1062: ConflictFreeLinkSchedule is $O(v^2)$.
1063: \label{dolfb}
1064: \end{lemma}
1065: \begin{proof}
1066: Assuming that an element can be chosen randomly and uniformly from a
1067: finite set in unit time (Chapter 1,
1068: \cite{motwani_raghavan__randomized_algorithms}), the running time of
1069: Phase 1 can be shown to be $O(v)$.  Since there is only one oriented
1070: graph, Phase 2 runs in time $O(1)$. In Phase 3, the unique edge
1071: associated with the vertex under consideration is assigned a color
1072: using FirstConflictFreeColor. From Lemma \ref{apmxr}, the size of the
1073: set of colors to be examined $|{\mathcal C}_c \cup {\mathcal C}_{cf}|$
1074: is $O(v)$.  In FirstConflictFreeColor, the SINR is checked only once
1075: for every colored edge in the set $\bigcup_{i=1}^{|{\mathcal C}_{cf}|}
1076: E_i$ and at most $v$ times for the edge under consideration $x$. With
1077: a careful implementation, FirstConflictFreeColor runs in time $O(v)$.
1078: So, the running time of Phase 3 is $O(v^2)$.  Thus, the total running
1079: time is $O(v^2)$.
1080: \end{proof}
1081: 
1082: \vspace{3ex}
1083: 
1084: \begin{theorem}
1085: For an arbitrary graph $\mathcal G$, the running time of
1086: ConflictFreeLinkSchedule is $O(ev\log v + ev\theta)$.
1087: \end{theorem}
1088: \begin{proof}
1089: Assuming that an element can be chosen randomly and uniformly from a
1090: finite set in unit time
1091: \cite{motwani_raghavan__randomized_algorithms}, the running time of
1092: Phase 1 can be shown to be $O(v)$.  For Phase 2, the optimal
1093: partitioning technique of \cite{gabow_westermann__forests_frames}
1094: based on Matroids can be used to partition the communication graph
1095: ${\mathcal G}_c$ into at most $6\theta$ oriented graphs in time
1096: $O(ev\log v)$.  Thus, $k \leqslant 6\theta$ holds for Phase 3.  From
1097: Lemma \ref{dolfb}, it follows that the first oriented graph $T_1$ can
1098: be colored in time $O(v^2)$. However, consider the coloring of the
1099: $j^{th}$ oriented graph $T_j$, where $2 \leqslant j \leqslant k$.
1100: When coloring edge $x$ from $T_j$ using FirstConflictFreeColor,
1101: conflicts can occur not only with the colored edges of $T_j$, but also
1102: with the edges of the previously colored oriented graphs
1103: $T_1,T_2,\ldots,T_{j-1}$.  This fact is exemplified in Appendix
1104: \ref{jdvow}.  Hence, the worst-case size of the set of colors to be
1105: examined $|{\mathcal C}_c \cup {\mathcal C}_{cf}|$ is $O(e)$. Note
1106: that in FirstConflictFreeColor, the SINR is checked only once for
1107: every colored edge in the set $\bigcup_{i=1}^{|{\mathcal C}_{cf}|}
1108: E_i$ and at most $e$ times for the edge under consideration $x$. With
1109: a careful implementation, FirstConflictFreeColor runs in time $O(e)$.
1110: Hence, any subsequent oriented graph $T_j$ can be colored in time
1111: $O(ev)$. Thus, the running time of Phase 3 is $O(ev\theta)$.
1112: Therefore, the overall running time of ConflictFreeLinkSchedule is
1113: $O(ev\log v + ev\theta)$.
1114: \end{proof}
1115: 
1116: \section{Discussion}
1117: \label{eiovv}
1118: 
1119: In this paper, we have developed ConflictFreeLinkSchedule, an
1120: SINR-based link scheduling algorithm for STDMA multihop wireless ad
1121: hoc networks under the physical interference model.  The performance
1122: of our algorithm is superior to existing link scheduling algorithms
1123: for STDMA networks with uniform power assignment.  A practical
1124: experimental modeling shows that, on an average, our algorithm
1125: achieves $40\%$ higher spatial reuse than the ArboricalLinkSchedule
1126: \cite{ramanathan_lloyd__scheduling_algorithms} and Truncated
1127: Graph-Based Scheduling \cite{behzad_rubin__performance_graph}
1128: algorithms.  Since schedules are constructed offline only once and
1129: then used by the network for a long period of time, these improvements
1130: in performance directly translate to higher long-term network
1131: throughput.
1132: 
1133: The computational complexity of ConflictFreeLinkSchedule is comparable
1134: to the computational complexity of ArboricalLinkSchedule and is much
1135: lower than the computational complexity of Truncated Graph-Based
1136: Scheduling Algorithm. Thus, in cognizance of spatial reuse as well as
1137: computational complexity, ConflictFreeLinkSchedule is a good candidate
1138: for efficient SINR-based STDMA link scheduling algorithms.
1139: 
1140: We have recently developed computationally efficient algorithms for
1141: STDMA broadcast scheduling under the physical interference model. It
1142: would be interesting to apply techniques like simulated annealing,
1143: genetic algorithms and neural networks to compute high spatial reuse
1144: conflict-free STDMA link schedules.
1145: 
1146: \appendices
1147: \section{Example of Primary Edge Conflicts with Previously Colored Oriented Graphs}
1148: \label{jdvow}
1149: 
1150: \begin{figure}[thbp]
1151: \centering \includegraphics[width=1.35in]{Gc.eps}
1152: \caption{A six-node STDMA wireless ad hoc network, its communication graph and node labels.}
1153: \label{hxcvm}
1154: \end{figure}
1155: 
1156: \begin{figure}[thbp]
1157: \centering
1158: \includegraphics[width=3.5in]{T1_4.eps}
1159: \caption{Decomposition of Fig. \ref{hxcvm} into two out-oriented graphs $(T_1,T_3)$ and two in-oriented graphs $(T_2,T_4)$.}
1160: \label{pndiz}
1161: \end{figure}
1162: 
1163: Consider the six-node STDMA wireless ad hoc network shown in Figure
1164:  \ref{hxcvm}, along with its associated communication graph ${\mathcal
1165:  G}_c(\cdot)$ and node labels.  Using successive breadth first
1166:  searches, ${\mathcal G}_c(\cdot)$ is partitioned into four oriented
1167:  graphs $T_1$, $T_2$, $T_3$ and $T_4$, as shown in Figure \ref{pndiz}.
1168:  A conflict-free coloring of the first oriented graph $T_1$ is shown
1169:  in Table \ref{kdhfo}.  Now, when we color an edge from any other
1170:  oriented graph, we must take into account the colors of the edges in
1171:  $T_1$. For example:
1172: \begin{enumerate}
1173: \item
1174: In $T_2$, Edge $6 \rightarrow 3$ cannot be assigned Color $2$ due to a
1175: primary edge conflict with Edge $1 \rightarrow 3$ of $T_1$.
1176: 
1177: \item
1178: In $T_3$, Edge $5 \rightarrow 6$ cannot be assigned Color $1$ due to a
1179: primary edge conflict with Edge $2 \rightarrow 5$ of $T_1$.
1180: 
1181: \item
1182: In $T_4$, Edge $3 \rightarrow 2$ cannot be assigned Color $3$ due to a
1183: primary edge conflict with Edge $1 \rightarrow 2$ of $T_1$.
1184: 
1185: \end{enumerate}
1186: 
1187: \begin{table}[hbtp]
1188: \begin{tabular}{|c|c|} \hline
1189: Edge of $T_1$ & Color \\ \hline
1190: $3 \rightarrow 6$ & 1 \\ \hline
1191: $2 \rightarrow 5$ & 1 \\ \hline
1192: $1 \rightarrow 3$ & 2 \\ \hline
1193: $1 \rightarrow 2$ & 3 \\ \hline
1194: $2 \rightarrow 4$ & 4 \\ \hline
1195: \end{tabular}
1196: \caption{Conflict-free coloring of first oriented graph $T_1$.}
1197: \label{kdhfo}
1198: \end{table}
1199: 
1200: \bibliographystyle{IEEEtran.bst}
1201: 
1202: \bibliography{s}
1203: 
1204: \end{document}
1205: