# An Optimal Algorithm for Relay Node Assignment in Cooperative Ad Hoc Networks

**ABSTRACT** Recently, cooperative communications, in the form of having each node equipped with a single antenna and exploit spatial diversity via some relay node's antenna, is shown to be a promising approach to increase data rates in wireless networks. Under this communication paradigm, the choice of a relay node (among a set of available relay nodes) is critical in the overall network performance. In this paper, we study the relay node assignment problem in a cooperative ad hoc network environment, where multiple source-destination pairs compete for the same pool of relay nodes in the network. Our objective is to assign the available relay nodes to different source-destination pairs so as to maximize the minimum data rate among all pairs. The main contribution of this paper is the development of an optimal polynomial time algorithm, called ORA, that achieves this objective. A novel idea in this algorithm is a “linear marking” mechanism, which maintains linear complexity of each iteration. We give a formal proof of optimality for ORA and use numerical results to demonstrate its capability.

**0**Bookmarks

**·**

**224**Views

- [Show abstract] [Hide abstract]

**ABSTRACT:**In this paper, the analytical expressions for the outage probability of different decode-and-forward (DF) relaying strategies for two-source two-destination networks are evaluated allowing an investigation of their effectiveness in energy saving to be determined. Each source node transmits data to an interested destination node with the help of the remaining source node in a cooperative DF manner. Specifically, we consider four DF protocols, including repetition DF (RDF), parallel DF (PDF), network coding-based RDF (NC-RDF), and dirty paper coding-like network coding-based PDF (DPC-NC-PDF). The closed-form expression of the outage probability for each protocol is derived at high signal-to-noise ratio. The results show that the DPC-NC-PDF protocol achieves the best performance while the NC-RDF protocol is better than both the RDF and PDF protocols with proper linear NC coefficients. All the DF protocols are shown to achieve diversity order one and the highest multiplexing gain is achieved with the NC-RDF and DPC-NC-PDF protocols. Finally, simulation results are presented to verify the analytical findings and show the system throughput comparison of various DF protocols.Wireless Personal Communications 04/2013; 69(4):1969-1981. · 0.43 Impact Factor - SourceAvailable from: Quoc-Tuan Vien[Show abstract] [Hide abstract]

**ABSTRACT:**This paper investigates retransmission (RT) mechanisms in wireless regenerative multirelay networks. Conventionally, the RT can be realized in a cooperative manner with the assistance of all available relays. However, this may result in high overall power consumption due to the RT of the same packets across the nodes, particularly when the number of relays is large. We propose a cooperative RT (CR) scheme based on relay cooperation (RC) and binary xor operations to significantly reduce the number of packets retransmitted to produce a more power-efficient system with nonoverlapped RTs. Significantly, we also derive the error probability of RT decisions at the source and relays and show that the proposed CR scheme improves the reliability of the RTs. Furthermore, by deriving the average number of packets to be retransmitted at the source and relays, we not only show that the proposed CR scheme reduces the number of RTs and removes overlapped retransmitted packets but determine the optimized number of relays used for the RT phase as well. Finally, simulation results are presented to demonstrate the validity of the analytical expressions.IEEE Transactions on Vehicular Technology 01/2013; 62(2):735-747. · 2.06 Impact Factor -
##### Conference Paper: Joint relay assignment and channel allocation for energy-efficient cooperative communications

[Show abstract] [Hide abstract]

**ABSTRACT:**Cooperative communication (CC) has been proposed to achieve spatial diversity without requiring multiple antennas on a single device. Many efforts in exploiting the benefits of CC focus on improving the performance in terms of outage probability and channel capacity. However, the energy efficiency of CC, which is critical for the applications with energy constraints, has been little studied. In this paper, we study the problem of energy-efficient CC in cognitive radio networks by taking power control, relay assignment and channel allocation into consideration. We obtain the optimal power control for a single source-destination pair. After that, a heuristic algorithm is proposed to solve the the relay assignment and channel allocation problem for multiple source-destination pairs. Extensive simulations are conducted to show that the proposed algorithm can significantly improve the performance of energy efficiency over the direct transmission approach.Wireless Communications and Networking Conference (WCNC), 2013 IEEE; 01/2013

Page 1

1

An Optimal Algorithm for Relay Node Assignment

in Cooperative Ad Hoc Networks

Sushant Sharma, Student Member, IEEE, Yi Shi, Member, IEEE, Y. Thomas Hou, Senior Member, IEEE,

Sastry Kompella, Member, IEEE

Abstract—Recently, cooperative communications, in the form

of having each node equipped with a single antenna and exploit

spatial diversity via some relay node’s antenna, is shown to

be a promising approach to increase data rates in wireless

networks. Under this communication paradigm, the choice of

a relay node (among a set of available relay nodes) is critical

in the overall network performance. In this paper, we study the

relay node assignment problem in a cooperative ad hoc network

environment, where multiple source-destination pairs compete

for the same pool of relay nodes in the network. Our objective is

to assign the available relay nodes to different source-destination

pairs so as to maximize the minimum data rate among all pairs.

The main contribution of this paper is the development of an

optimal polynomial time algorithm, called ORA, that achieves

this objective. A novel idea in this algorithm is a “linear marking”

mechanism, which maintains linear complexity of each iteration.

We give a formal proof of optimality for ORA and use numerical

results to demonstrate its capability.

Index Terms—Cooperative communications, relay node assign-

ment, achievable rate, ad hoc network, optimization.

I. INTRODUCTION

S

coping fading in wireless channel. However, equipping a wire-

less node with multiple antennas may not be practical, as the

footprint of multiple antennas may not fit on a wireless node

(particularly on a handheld wireless device). To achieve spatial

diversity without requiring multiple transceiver antennas on

the same node, the so-called cooperative communications has

been introduced [10], [16], [17]. Under cooperative communi-

cations, each node is equipped with only a single transceiver

and spatial diversity is achieved by exploiting the antenna on

another (cooperative) node in the network.

We consider two categories of cooperative communications,

namely, amplify-and-forward (AF) and decode-and-forward

(DF) [10]. Under AF, the cooperative relay node amplifies the

signal received from the information source before forwarding

PATIAL diversity, in the form of employing multiple

transceiver antennas, is shown to be very effective in

Manuscript received May 26, 2009; revised January 29, 2010 and August

23, 2010; approved by IEEE/ACM TRANSACTIONS ON NETWORKING Editor

S. Diggavi.

An abridged version of this paper was published in ACM MobiHoc 2008

under the title “Optimal Relay Assignment for Cooperative Communications”.

S. Sharma is with the Department of Computer Science, Virginia Poly-

technic Institute and State University, Blacksburg, VA 24061 USA (e-mail:

sushant@cs.vt.edu).

Y. Shi and Y.T. Hou are with the Bradley Department of Electrical and

Computer Engineering, Virginia Polytechnic Institute and State University,

Blacksburg, VA 24061 USA e-mail: (yshi@vt.edu; thou@vt.edu).

S. KompellaiswiththeInformation

Naval Research Laboratory, Washington, DC 20375 USA (e-mail: kom-

pella@itd.nrl.navy.mil).

TechnologyDivision,US

it to the destination node. Under DF, the cooperative relay

node decodes the received signal, and re-encodes it before

forwarding it to the destination node. Regardless of AF or

DF, the choice of a relay node plays a critical role in the

performance of cooperative communications [1], [2], [24]. As

we shall see in Section III, an improperly chosen relay node

may offer a smaller data rate for a source-destination pair than

that under direct transmission.

In this paper, we study the relay node assignment problem

in a cooperative ad hoc network environment. Specifically,

we consider an ad hoc network where there are multiple

active source-destination pairs and the remaining nodes can be

exploited as relay nodes. We want to determine the optimal

assignment of relay nodes to the source-destination pairs so as

to maximize the minimum data rate among all pairs. Although

solution to this problem can be found via exhaustive search

(among all possible relay node assignments), the complexity

is exponential. Our goal in this paper is to find an algorithm

with polynomial-time complexity to solve this problem.

A. Main Contributions

In this paper, we study how to assign a set of relay nodes

to a set of source-destination pairs so as to maximize the

minimum achievable data rate among all the pairs. The main

contributions of this paper are the following.

• We develop an algorithm, called Optimal Relay Assign-

ment (ORA) algorithm, to solve the relay node assign-

ment problem. A novel idea in ORA is a “linear marking”

mechanism, which is able to offer a linear complexity at

each iteration. Due to this mechanism, ORA is able to

achieve polynomial time complexity.

• We offer a formal proof of optimality for the ORA

algorithm. The proof is based on contradiction and hinges

on a clever recursive trace-back of source nodes and relay

nodes in the solution by ORA and another hypothesized

better solution.

• We show a number of nice properties associated with

ORA. These include: (i) the algorithm works regardless

of whether the number of relay nodes in the network is

more than or less than the number of source-destination

pairs; (ii) the final achievable rate for each source-

destination pair is guaranteed to be no less than that

under direct transmissions; (iii) the algorithm is able to

find the optimal objective regardless of initial relay node

assignment.

Page 2

Report Documentation Page

Form Approved

OMB No. 0704-0188

Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and

maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information,

including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington

VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it

does not display a currently valid OMB control number.

1. REPORT DATE

23 AUG 2010

2. REPORT TYPE

3. DATES COVERED

00-00-2010 to 00-00-2010

4. TITLE AND SUBTITLE

An Optimal Algorithm for Relay Node Assignment in Cooperative Ad

Hoc Networks

5a. CONTRACT NUMBER

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

6. AUTHOR(S)

5d. PROJECT NUMBER

5e. TASK NUMBER

5f. WORK UNIT NUMBER

7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

Naval Research Laboratory,Information Technology

Division,Washington,DC,20375

8. PERFORMING ORGANIZATION

REPORT NUMBER

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES)

10. SPONSOR/MONITOR’S ACRONYM(S)

11. SPONSOR/MONITOR’S REPORT

NUMBER(S)

12. DISTRIBUTION/AVAILABILITY STATEMENT

Approved for public release; distribution unlimited

13. SUPPLEMENTARY NOTES

to appear in IEEE/ACM Transactions on Networking, Issue to be determined

14. ABSTRACT

Recently, cooperative communications, in the form of having each node equipped with a single antenna

and exploit spatial diversity via some relay node?s antenna, is shown to be a promising approach to

increase data rates in wireless networks. Under this communication paradigm, the choice of a relay node

(among a set of available relay nodes) is critical in the overall network performance. In this paper, we

study the relay node assignment problem in a cooperative ad hoc network environment, where multiple

source-destination pairs compete for the same pool of relay nodes in the network. Our objective is to assign

the available relay nodes to different source-destination pairs so as to maximize the minimum data rate

among all pairs. The main contribution of this paper is the development of an optimal polynomial time

algorithm, called ORA, that achieves this objective. A novel idea in this algorithm is a ?linear marking?

mechanism, which maintains linear complexity of each iteration. We give a formal proof of optimality for

ORA and use numerical results to demonstrate its capability.

15. SUBJECT TERMS

16. SECURITY CLASSIFICATION OF:

17. LIMITATION OF

ABSTRACT

Same as

Report (SAR)

18. NUMBER

OF PAGES

14

19a. NAME OF

RESPONSIBLE PERSON

a. REPORT

unclassified

b. ABSTRACT

unclassified

c. THIS PAGE

unclassified

Standard Form 298 (Rev. 8-98)

Prescribed by ANSI Std Z39-18

Page 3

2

• We provide a sketch of a possible implementation of the

ORA algorithm. Some practical issues and overhead in

the implementation are discussed.

B. Paper Organization

In Section II, we discuss related work and contrast them

with this paper. Section III gives a brief overview of coopera-

tive communications, so as to set the context of our study. In

Section IV, we describe the relay node assignment problem

in a cooperative ad hoc network environment. Section V

presents our ORA algorithm. In Section VI, we give a proof

of optimality for ORA. Section VII presents numerical results,

and Section VIII presents a sketch of how ORA can be

implemented. Section IX concludes this paper.

II. RELATED WORK

The concept of cooperative communications can be traced

back to the three-terminal communication channel (or a relay

channel) in [20] by Van Der Meulen. Shortly after, Cover and

El Gamal studied the general relay channel and established an

achievable lower bound for data transmission [4]. These two

seminal works laid down the foundation for the present-day

research on cooperative communications that can be broadly

classified into the following three categories.

(a) Physical Layer Schemes.

to exploit distributed antennas on other nodes in the network.

This has resulted in several protocols at the physical layer [5],

[7], [8], [10], [14], [16], [17]. These protocols describe various

ways through which nodes can cooperate at the physical layer.

In [10], Laneman et al. studied the mutual information

between a pair of nodes using a third cooperating node

under the so-called fixed relaying schemes (AF or DF). The

underlying physical layer model for CC in this paper is based

on these two schemes. In addition to fixed relaying schemes,

the authors also presented selection relaying, in which nodes

can switch between AF or DF (depending on instantaneous

channel conditions), and incremental relaying, which utilizes

limited feedback from the receiving node to further improve

the performance of CC.

In [7], Gunduz and Erkip studied an opportunistic coopera-

tion scheme in which a feedback channel among cooperating

nodes can be used to share channel state information and

help perform power control. The authors showed that the

performance of DF improves when power control is employed.

This kind of opportunistic DF is an alternative to the physical

layer fixed DF considered in our work.

Another alternative physical layer scheme could be the

delay-tolerant DF presented in [5]. In this delay-tolerant DF

scheme, distributed space-time codes are used to address the

issue of asynchrony (transmission delay) among cooperative

transmitters.

Additionally, in [8] and [14], authors studied multi-hop

cooperative protocols that involve cooperation among multiple

transmitting nodes along the path. In [16] and [17], the

authors performed an in-depth study on the practical issues

of implementing user cooperation in a conventional CDMA

system.

Current research on CC aims

(b) Network Layer Schemes for Multi-hop Networks.

Recent efforts on CC at the network layer include [9], [15],

[22]. In [9], Khandani et al. studied minimum energy routing

problem (for a single message) by exploiting both wireless

broadcast advantage and CC. However, their proposed solu-

tions cannot provide any performance guarantee for general

ad hoc networks. In [22], Yeh and Berry aimed to generalize

the well known maximum differential backlog policy [18] in

the context of CC. They formulated a challenging nonlinear

program with exponential number of variables that character-

izes the network stability region, but only provided solutions

for a few simple network topologies. In [15], Scaglione et al.

proposed two architectures for multi-hop cooperative wireless

networks. Under these architectures, nodes in the network

can form multiple cooperative clusters. They showed that

the network connectivity can be improved by using such

cooperative clusters. However, problems related with optimal

routing and relay node assignment were not discussed in their

work.

(c) Relay Node Assignment for Ad hoc Networks.

most relevant research to our work (i.e. relay node assignment)

include [1], [2], [13], [21], [24]. In [24], Zhao et al. showed

that for a single source-destination pair, in the presence of

multiple relay nodes, it is sufficient to choose one “best”

relay node, instead of multiple relay nodes. This result is

interesting, as it paves the way for research on assigning no

more than one relay node to a source-destination pair, which

is the setting that we have adopted in this paper. In [21],

Wang et al. showed how game theory can be used by a

single session to select the best cooperative relay node. In [1],

Bletsas et al. proposed a distributed scheme for relay node

selection based on the instantaneous channel conditions at the

relay node. In contrast to [1], [21], and [24], our paper is

not limited to a single-session, and considers the relay node

assignment for multiple competing sessions with the goal of

maximizing the minimum data rate among all of them. In [13],

Ng and Yu studied an important utility maximization problem

for the joint optimization of relay node selection, cooperative

communications, and resource allocation in a cellular network.

However, their solution procedure has non-polynomial running

time. In [2], Cai et al. studied relay node selection and power

allocation for AF-based wireless relay networks, and proposed

a heuristic solution. Additionally, both [2] and [13] have

different objectives from our work.

The

III. COOPERATIVE COMMUNICATIONS: A PRIMER

The essence of cooperative communications is best ex-

plained by a three-node example in Fig. 1. In this figure, node

s is the source node, node d is the destination node, and node

r is a relay node. Transmission from s to d is done on a frame-

by-frame basis. Within a frame, there are two time slots. In

the first time slot, source node s makes a transmission to the

destination node d. Due to the broadcast nature of wireless

communications, this transmission is also overheard by the

relay node r. In the second time slot, node r forwards the

data received in the first time slot to node d. Note that such a

two-slot structure is necessary for cooperative communications

due to the half-duplex nature of most wireless transceivers.

Page 4

3

r

s

d

Fig. 1.A three-node schematic for cooperative communication.

In this section, we give expressions for achievable data rate

under cooperative communications and direct transmissions

(i.e., no cooperation). For cooperative communications, we

consider both amplify-and-forward (AF) and decoded-and-

forward (DF) modes [10].

Amplify-and-Forward (AF)

hrd capture the effects of path-loss, shadowing, and fading

between nodes s and d, s and r, and r and d, respectively.

Denote zd[1] and zd[2] the zero-mean background noise at

node d in the first time slot and second time slot, respectively,

both with variance σ2

noise at node r in the first time slot, with variance σ2

Denote xs the signal transmitted by source node s in the

first time slot. Then the received signal at destination node d,

ysd, can be expressed as

Under this mode, let hsd, hsr,

d. Denote zr[1] the zero-mean background

r.

ysd= hsdxs+ zd[1] ,

(1)

and the received signal at the relay node r, ysr, is

ysr= hsrxs+ zr[1] .

(2)

In the second time slot, relay node r transmits to destination

node d. The received signal at d, yrd, can be expressed as

yrd= hrd· αr· ysr+ zd[2] ,

where αr is the amplifying factor at relay node r and ysr is

given in (2). Thus, we have

yrd= hrdαr· (hsrxs+ zr[1]) + zd[2] .

(3)

The amplifying factor αrat relay node r should satisfy power

constraint α2

transmission powers at nodes s and r, respectively. So, αris

given by

r(|hsr|2Ps+ σ2

r) = Pr, where Psand Prare the

α2

r=

Pr

|hsr|2Ps+ σ2

r

.

We can re-write (1), (2) and (3) into the following compact

matrix form

Y = Hxs+ BZ ,

where

Y =

?

ysd

yrd

?

, H =

?

hsd

αrhrdhsr

?

,

B =

?

01

0

0

1

αrhrd

?

, and Z =

zr[1]

zd[1]

zd[2]

.

(4)

It has been shown in [10] that the above channel, which

combines both direct path (s to d) and relay path (s to r to d),

can be modeled as a one-input, two-output complex Gaussian

noise channel. The achievable data rate CAF(s,r,d) from s to

d can be given by

CAF(s,r,d) =W

2

log2[det(I+(PsHH†)(BE[ZZ†]B†)−1)] ,

(5)

where W is the bandwidth, det(·) is the determinant function,

I is the identity matrix, the superscript “†” represents the

complex conjugate transposition, and E[·] is the expectation

function.

After putting (4) into (5) and performing algebraic ma-

nipulations, we have CAF(s,r,d) =

W

2

log

?

1 +Ps

σ2

d

|hsd|2

+

Ps|hsr|2Pr|hrd|2

d|hsr|2+ Prσ2

d|hsd|2, SNRsr =

have

Psσ2

r|hrd|2+ σ2

Ps

σ2

rσ2

d

?

.DenoteSNRsd

=

Ps

σ2

r|hsr|2, and SNRrd =

Pr

σ2

d|hrd|2. We

CAF(s,r,d) = W · IAF(SNRsd,SNRsr,SNRrd) ,

(6)

where IAF(SNRsd,SNRsr,SNRrd) =

SNRsr·SNRrd

SNRsr+SNRrd+1

Decode-and-Forward (DF)

decodes and estimates the received signal from source node s

in the first time slot, and then transmits the estimated data to

destination node d in the second time slot. The achievable data

rate for DF under the two time-slot structure is given by [10]

as

1

2log2

?

1 + SNRsd

+

?

.

Under this mode, relay node r

CDF(s,r,d) = W · IDF(SNRsd,SNRsr,SNRrd) ,

where

IDF(SNRsd,SNRsr,SNRrd) =1

(7)

2min{log2(1 + SNRsr),

log2(1 + SNRsd+ SNRrd)}. (8)

Note that IAF(·) and IDF(·) are increasing functions of Ps

and Pr, respectively. This suggests that, in order to achieve the

maximum data rate under either mode, both source node and

relay node should transmit at maximum power. In this paper,

we let Ps= Pr= P.

Direct Transmission

When cooperative communications

(i.e., relay node) is not used, source node s transmits to

destination node d in both time slots. The achievable data rate

from node s to node d is

CD(s,d) = W log2(1 + SNRsd) .

Based on the above results, we have two observations.

First, comparing CAF (or CDF) to CD, it is hard to say that

cooperative communications is always better than the direct

transmission. In fact, a poor choice of relay node could make

the achievable data rate under cooperative communications to

be lower than that under direct transmission. This fact under-

lines the significance of relay node selection in cooperative

communications. Second, although AF and DF are different

mechanisms, the capacities for both of them have the same

form, i.e., a function of SNRsd, SNRsr, and SNRrd. Therefore,

a relay node assignment algorithm designed for AF is also

applicable for DF. In this paper, we develop a relay node

assignment algorithm for both AF and DF. Table I lists the

notation used in this paper.

Page 5

4

TABLE I

NOTATION

Symbol

CR(si,rj)

Definition

Achievable rate for si-dipair when relay node rj is

used

Achievable rate for si-dipair under direct transmission

The minimum rate among all source-destination

pairs

Effect of path-loss, shadowing, and fading from node

u to node v

Set of source nodes in the network

Set of relay nodes in the network

= |Ns|, number of source nodes in the network

= |Nr|, number of relay nodes in the network

Number of all the nodes in the network

Maximum transmission power

The j-th relay node, rj∈ Nr

The relay node assigned to siunder ψ

The i-th source node, si∈ Ns

The source node that uses rjunder ψ

The signal noise ratio between nodes u and v

Channel bandwidth

Signal transmitted by node s

Received signal at node v (form node u)

Background noise at node v during time slot t

Amplifying factor at relay r

Variance of background noise at node v

A solution for relay node assignment

CR(si,∅)

Cmin

huv

Ns

Nr

Ns

Nr

N

P

rj

Rψ(si)

si

Sψ(rj)

SNRuv

W

xs

yuv

zv[t]

αr

σ2

ψ

v

IV. THE RELAY NODE ASSIGNMENT PROBLEM

Based on the background in the last section, we consider

relay node assignment problem in a network setting. There

are N nodes in an ad hoc network, with each node being

either a source node, a destination node, or a potential relay

node (see Fig. 2). In order to avoid interference, we assume

that orthogonal channels are available in the network (e.g.,

using OFDMA), which is proposed for cooperative communi-

cations [10]. The channel gain from node u to v is captured by

variable huv. Denote Ns= {s1,s2,···,sNs} the set of source

nodes, Nd= {d1,d2,···,dNd} the set of destination nodes,

and Nr= {r1,r2,···,rNr} the set of relays (see Fig. 2). We

consider unicast transmission where every source node si is

paired with a destination node di, i.e., Nd = Ns. We also

consider that each node is equipped with a single transceiver

and can transmit/receive within one channel at a time. We

assume that each node can only serve a unique role of source,

destination, or relay. That is, Nr = N − 2Ns. Further, we

assume that a session utilizes one relay node for CC [24].

Note that a source node may not always get a relay node.

There are two possible scenarios in which this may happen.

First, there may not be sufficient number of relay nodes in the

network (e.g., Nr< Ns). In this case, some source nodes will

not have relay nodes. Second, even if there are enough relay

nodes, a sender may choose not to use a relay node if it leads

to a lower data rate than direct transmission (see discussion at

the end of Section III).

We now discuss the objective function of our problem.

Although different objectives can be used, a widely-used

objective for CC is to increase the achievable data rate of

individual sessions. For the multi-session network environment

considered in this paper (see Fig. 2), each source-destination

pair will have a different achievable data rate after we apply

a relay node assignment algorithm. So, a plausible objective

is to maximize the minimum data rate among all the source-

Sender

ReceiverPotential Relay Node

Fig. 2. A cooperative ad hoc network consisting of source nodes, destination

nodes, and relay nodes.

destination pairs.

More formally, denote R(si) the relay node assigned to si,

and S(rj) as the source node that uses rj. For both AF and

DF, the achievable data rate of the session can be written as

(see Section III)

WIR(SNRsi,di,SNRsi,R(si),SNRR(si),di) ,

with IR(·) = IAF(·) when AF is employed, and IR(·) = IDF(·)

when DF is employed. In case si does not use a relay, we

denote R(si) = ∅, and the data rate is the achievable rate

under direct transmission, i.e.,

CR(si,∅) = CD(si,di) .

Combining both these cases, we have

CR(si,R(si)) =

Note that we do not list diin function CR(si,R(si)) since for

each source node si, the corresponding destination node diis

deterministic.

Denote Cmin as our objective function, which is the mini-

mum rate among all source nodes. That is,

WIR(SNRsi,di,SNRsi,R(si),

SNRR(si),di)

W log(1 + SNRsi,di)

if R(si) ?= ∅

if R(si) = ∅

(9)

Cmin= min{CR(si,R(si)) : si∈ Ns}.

Our objective is to find an optimal relay node assignment for

all the source-destination pairs such that Cminis maximized.

In subsequent sections, we present a polynomial time so-

lution to the relay node assignment problem along with a

correctness proof.

V. AN OPTIMAL RELAY ASSIGNMENT ALGORITHM

A. Basic Idea

The optimal polynomial-time algorithm we will present is

called Optimal Relay Assignment (ORA) algorithm. Figure 3

shows the flow chart of the ORA algorithm.

Initially, the ORA algorithm starts with a random but

feasible relay node assignment. By feasible, we mean that

each source-destination pair can be assigned at most one relay

node and that a relay node can be assigned only once. Such

initial feasible assignment is easy to construct, e.g., direct

transmission between each source-destination pair (without the

use of a relay) is a special case of feasible assignment.

Starting with this initial assignment, ORA adjusts the as-

signment during each iteration, with the goal of increasing

the objective function Cmin. Specifically, during each iteration,

ORA identifies the source node that corresponds to Cmin.

Page 6

5

BEGIN

Better solution found.

NO

YES

NO

Preprocessing, and

Initial relay assignment

Can we find

a better solution?

YES

NO

Start the search

Return

YES

Return

NO

END

YES

Mark this relay, and denote

its corresponding source as s

BEGIN

Find_Another_Relay(s )

YES

NO

Is this relay

already assigned?

Can we find an

unmarked relay for s

with data rate larger

than Cmin?

For s , use

j

Find_Another_Relay(s ) to

determine if another

relay can be

assigned

Identify the source s

with minimum data rate Cmin.

b

i

Clear marks on

all relays.

Use Find_Another_Relay(s ) to

improve the data rate of s ,

and return the outcome.

b

b

i

j

j

Fig. 3.A flow chart of the ORA algorithm.

Then, ORA helps this source node to search a better relay

such that this “bottleneck” data rate can be increased. In the

case that the selected relay is already assigned to another

source node, further adjustment of relay node for that source

node is necessary (so that its current relay can be released).

Such adjustment may have a chain effect on a number of

source nodes in the network. It is important that for any

adjustment made on a relay node, the affected source node

should still maintain a data rate larger than Cmin. There are

only two outcomes from such search in an iteration: (i) a better

assignment is found, in which case, ORA moves on to the next

iteration; or (ii) a better assignment cannot be found, in which

case, ORA terminates.

There are two key technical challenges we aim to address

in the design. First, for any non-optimal solution, the algo-

rithm should be able to find a better solution. As a result,

upon termination, the final assignment is optimal. Second,

its running time must be polynomial. We will show that

s

cannot find

another relay

3

s4

r4

s2

r2

6

r1

r3

5

5

6

7

cannot find

another relay

can be

assigned to

1

r

r

r

s

s

s

6

s

Fig. 4.

solution.

An example tree topology in ORA algorithm for finding a better

ORA addresses both problems successfully. Specifically, we

show the complexity of the ORA algorithm is polynomial

in Section V-D. We will also give a correctness proof of its

optimality in Section VI.

B. Algorithm Details

In the beginning, ORA algorithm performs a “preprocess-

ing” step. In this step, for each source-destination pair, the

source node si considers each relay node rj in the network

and computes the corresponding data rate CR(si,rj) by (9).

Each source node sialso computes the rate CR(si,∅) by (9)

under direct transmissions (i.e., without the use of a relay

node). After these computations, each source node si can

identify those relay nodes that can offer an increase in its

data rate compared to direct transmissions, i.e., those relays

with CR(si,rj) > CR(si,∅). Obviously, it only makes sense to

consider these relays for CC. In the case that no relay can offer

any increase of data rate compared to direct transmissions, we

will just employ direct transmissions for these source nodes.

After the preprocessing step, we enter the initial assignment

step. The objective of this step is to obtain an initial feasible

solution for ORA algorithm so that it can start its iteration.

In the pre-processing step, we have already identified the list

of relay nodes for each source node that can increase its data

rate compared to direct transmission. We can randomly assign

a relay node from this list to a source node. Note that once a

relay node is assigned to a source node, it cannot be assigned

again to another source node. Thus, if there is no relay node

available to a source node, then this source node will simply

employ direct transmission as its initial assignment. Upon the

completion of this assignment, each source node will have the

data rate no less than that under direct transmission.

The next step in the ORA algorithm is to find a better

assignment, which represents an iteration process. This is the

key step in the ORA algorithm. The detail of this step is shown

in the bottom portion of Fig. 3. As a starting point of this step,

ORA algorithm identifies the smallest data rate Cmin among

all sources. ORA algorithm aims to increase this minimum

rate for the corresponding source node, while having all other

source nodes maintain their data rates above Cmin. Without

loss of generality, we use Fig. 4 to illustrate a search process.

• Suppose ORA identifies that s1has the smallest rate Cmin

under the current assignment (with relay node r1). Then

Page 7

6

s1examines other relays with a rate larger than Cmin. If it

cannot find such a relay, then no better solution is found

and the ORA algorithm terminates.

In case of a tie, i.e., when two or more source nodes have

the same smallest data rate, the tie is broken by choosing

the source node with the highest node index.

• Otherwise, i.e., if there are better relays, we consider

these relays in the non-increasing order in terms of data

rate (should it be assigned to s1). That is, we try the relay

that can offer the maximum possible increase in data rate

first. In case of a tie, i.e., when two or more relay nodes

offer the same maximum data rate, the tie is broken by

choosing the relay node with the highest node index.

• Suppose that source node s1considers relay node r2. If

this relay node is not yet assigned to any other source

node, then r2can be immediately assigned to s1. In this

simple case, we find a better solution and the current

iteration is completed.

• Otherwise, i.e., r2is already assigned to a source node,

say s2, we mark r2to indicate that r2is “under consid-

eration” and check whether r2can be released by s2.

• To release r2, source node s2needs to find another relay

(or use direct transmission) while making sure that such

new assignment still has its data rate larger than Cmin.

This process is identical to what we have done for s1,

with the only (but important) difference that s2will not

consider a relay that has already been “marked”, as that

relay node has already been considered by a source node

encountered earlier in the search process of this iteration.

• Suppose that source node s2 now considers relay r3. If

this relay node is not yet assigned to any source node,

then r3can be assigned to s2; r2can be assigned to s1;

and the current iteration is completed. Moreover, if the

relay under consideration by s2 is the one that is being

used by the source node that initiated the iteration, i.e.,

relay r1, then it is easy to see that r1can be taken away

from s1. A better solution, where r1 is assigned to s2,

and r2is assigned to s1, is found and the current iteration

is completed. Otherwise, we mark r3 and check further

to see whether r3 can be released by its corresponding

source node, say s3. We also note that s2 can consider

direct transmission if it offers a data rate larger than Cmin.

• Suppose that s3 cannot find any “unmarked” relay that

offers a data rate larger than Cmin, and its data rate under

direct transmission is no more than Cmin. Then s2cannot

use r3as its relay.

• If any “unmarked” relay that offers a data rate larger

than Cmin cannot be assigned to s2, then s1 cannot use

r2 and will move on to consider the next relay on its

non-increasing rate list, say r4.

• The search continues, with relay nodes being marked

along the way, until a better solution is found or no better

solution can be found. For example, in Fig. 4, s6 finds

a new relay r7. As a result, we have a new assignment,

where r7is assigned to s6; r6is assigned to s4; and r4

is assigned to s1.

Note that the “mark” on a relay node will not be cleared

Main algorithm

1. Perform preprocessing and an initial relay node assignment.

2. Set all the relay nodes in the network as “unmarked”.

3.Denote sbthe source node with Cmin,?the smallest data

rate among all source nodes. The corresponding destination

node of sbis dband the corresponding relay node is R(sb).

4.Find Another Relay (sb,R(sb),Cmin).

5.If sbfinds a better relay, then go to line 2.

6.Otherwise, the algorithm terminates.

Subroutines

Find Another Relay(S(rj),rj,Cmin):

7. For every “unmarked” relay rkwith CR(S(rj),rk) > Cmin,

do the following in the non-increasing order of CR(S(rj),rk).?

8.Run Check Relay Availability(rk,Cmin).

9.If rkis available, then do the following:

10.Remove relay node rj’s assignment to S(rj);

11.Assign relay node rkto S(rj).

12.Otherwise, continue on to next rkand go to line 8.

13. If all relays are unavailable, then S(rj) cannot find another relay.

Check Relay Availability(rj,Cmin):

14. If rj is not assigned to any source node, then rjis available.

15. If rj= R(sb) or rj= ∅, then rjis available.

16. Otherwise,

17.Set rjas “marked”.

18.Run Find Another Relay (S(rj),rj,Cmin).

19.If S(rj) can find another relay, then rj is available.

20.Otherwise rjis unavailable.

?A tie is broken by choosing the node with the largest node index.

Fig. 5.Pseudocode for the ORA algorithm.

throughout the search process in the same iteration. We call

this the “linear marking” mechanism. These marks will only

be cleared when the current iteration terminates and before

the start of the next iteration. A pseudocode for the ORA

algorithm is shown in Fig. 5.

We now use an example to illustrate the operation of the

ORA algorithm, in particular, its “linear marking” mechanism.

Readers who already understood the ORA algorithm can skip

this example.

Example 1: Suppose that there are seven source-destination

pairs and seven relay nodes in the network.

Table II(a) shows the data rate for each source node si

when relay node rj is assigned to it. The symbol ∅ indicates

direct transmission. Also shown in Table II(a) is an initial

relay node assignment, which is indicated by an underscore

on the intersecting row (si) and column (rj). Note that the

preprocessing step before the initial assignment ensures that

the data rate for each source-destination pair in the initial

assignment is no less than that under direct transmission.

Under the initial relay node assignment in Table II(a), source

s3 is identified as the bottleneck source node sb with the

smallest rate of Cmin= 13. Since consideration of relay nodes

is performed in the order of non-increasing (from largest to

smallest) data rate for the source node under consideration,

r4is therefore considered for s3. Since r4is already assigned

to source node s2, we “mark” r4now. Now s2needs to find

another relay. But any other relay (or direct transmission) will

result in a data rate no greater than the current objective value

Cmin= 13. This means that r4cannot be taken away from s2.

Since r4does not work out for s3, s3will then consider the

next relay node that offers the second largest data rate value,

i.e., relay node r7. Since r7is already assigned to sender s4,

we “mark” r7now. Next, ORA algorithm will check to see if

s4 can find another relay. It turns out that none of the relay

Page 8

7

TABLE II

AN EXAMPLE.

(a) Initial relay node assignment.

∅

r1

r2

14724

98 10

111013

1289

10918

71812

1619

r3

5

11

17

12

19

6

4

r4

14

20

21

11

24

11

14

r5

15

10

8

10

9

11

19

r6

17

12

9

9

13

17

8

r7

9

11

19

18

23

20

12

s1

s2

→ s3

s4

s5

s6

s7

(b) Assignment after the first iteration.

∅

r1

r2

147 24

9810

11 10 13

1289

109 18

718 12

1619

r3

5

11

17

12

19

6

4

r4

14

20

21

11

24

11

14

r5

15

10

8

10

9

11

19

r6

17

12

9

9

13

17

8

r7

9

11

19

18

23

20

12

→ s1

s2

s3

s4

s5

s6

s7

(c) Assignment after the second iteration.

∅

r1

r2

14724

98 10

111013

1289

10918

71812

1619

r3

5

11

17

12

19

6

4

r4

14

20

21

11

24

11

14

r5

15

10

8

10

9

11

19

r6

17

12

9

9

13

17

8

r7

9

11

19

18

23

20

12

s1

s2

s3

s4

s5

s6

→ s7

(d) Final assignment upon termination.

∅

r1

r2

14724

98 10

11 1013

1289

10918

7 1812

1619

r3

5

11

17

12

19

6

4

r4

14

20

21

11

24

11

14

r5

15

10

8

10

9

11

19

r6

17

12

9

9

13

17

8

r7

9

11

19

18

23

20

12

s1

s2

→ s3

s4

s5

s6

s7

nodes except r7 can offer a data rate larger than the current

Cmin to s4. As a result, r7 cannot be taken away from s4.

Source node s3will now check for the relay node that offers

next largest rate, i.e., r3. Since r3is already assigned to sender

s5, we “mark” r3now. Next, ORA algorithm checks to see if

s5can find another relay. Then s5checks relay nodes in non-

increasing order of data rate values. Since r4 (with largest

rate), r7(with the second largest rate), and r3(with the third

largest rate) are all marked, they will not be considered. The

relay with the fourth largest rate is r2, which offers a rate of

18 > Cmin= 13. Moreover, r2is the relay node assigned to

sb= s3. Thus, s5 can choose r2. The new assignment after

the first iteration is shown in Table II(b). Now the objective

value, Cmin, is updated to 15, which corresponds to s1. Before

the second iteration, all markings done in the first iteration are

cleared.

In the second iteration, ORA algorithm will identify s1as

the source node with a minimum data rate in the network.

The algorithm will then perform a new search for a better

relay node for source s1. Similar to the first iteration, the

assignments for other source nodes can change during this

search process, but all assignments should result in data rates

larger than 15.

The iteration continues and the final assignment upon ter-

mination of ORA algorithm is shown in Table II(d), with the

optimal (maximum) value of Cminbeing 17.

It should be clear that ORA works regardless of whether

Nr≥ Nsor Nr< Ns. For the latter case, i.e., the number of

relay nodes in the network is less than the number of source

nodes, it is only necessary to consider relay node assignment

for a reduced subset of Nrsource nodes, where the data rate

of each source in this subset under direct transmission is less

than the data rate of those (Ns−Nr) source nodes not in this

subset. As a result, in the case of Ns > Nr, ORA will run

even faster due to a smaller problem size.

C. Caveat on the Proposed Marking Mechanism

We now re-visit the marking mechanism in the ORA

algorithm. Although different marking mechanisms may be

designed to achieve the optimal objective, the algorithm

complexity under different marking mechanisms may differ

significantly. In this section, we first present a marking mech-

anism, which appears to be a natural approach but leads to an

exponential complexity for each iteration. Then we discuss our

proposed marking mechanism and show its linear complexity

for each iteration.

A natural approach is to perform both marking and un-

marking within an iteration. This approach is best explained

with an example. Again, let’s look at Fig. 4. Source node

s1 first considers r2. Since r2 is being considered by s1 in

the new solution and is used by s2 in the current solution,

r2is marked. Source node s2considers r3, which is already

assigned to s3. Since s3 cannot release r3 without reducing

its data rate below the current Cmin, this branch of search is

futile and s1 now considers a different relay node r4. Since

r4 is currently assigned to s4, we mark r4 and try to find a

new relay for s4. Now the question is: shall we remove those

marks on r2and r3that we put on earlier in the process within

this iteration? Under this natural approach, r2 and r3 should

be unmarked so that they can be considered as candidate

relay nodes for s4 in its search. Similarly, when we try to

find a relay for s6, relay nodes r2,r3, r4 and r5 should be

unmarked so that they can be considered as candidate relay

nodes for s6, in addition to r7. It is not hard to show that

such marking/unmarking mechanism will consider all possible

assignments and can guarantee to find an optimal solution

upon termination. However, the complexity of such approach

is exponential within each iteration.

In contrast, under the ORA algorithm, there is no unmarking

mechanism within an iteration. That is, relay nodes that are

marked earlier in the search process by some source nodes will

remain marked. As a result, any relay node will be considered

at most once in the search process, which leads to a linear

complexity for each iteration. Unmarking for all nodes is

performed only at the end of an iteration so that there is a

clean start for the next iteration.

An immediate question regarding our marking mechanism

is: how could such a “linear marking” lead to an optimal

solution, as it appears that many possible assignments that may

increase Cminare not considered. This is precisely the question

that we will address in Section VI, where we will prove that

ORA can guarantee that its final solution is optimal.

Page 9

8

D. Complexity Analysis

We now analyze the computational complexity of ORA

algorithm. During each iteration, due to the “linear marking”

mechanism in our algorithm, a relay node is checked for

its availability at most once. Thus, the complexity of each

iteration is O(Nr).

Now we examine the maximum number of iterations that

ORA can execute. The number of improvements in data rate

that an individual source node can have is limited by Nr.

As a result, in worst case, the number of iterations that

the algorithm can go through are O(NsNr). This makes the

overall complexity of ORA algorithm to be O(NsN2

r).

VI. PROOF OF OPTIMALITY

In this section, we give a correctness proof of the ORA

algorithm. That is, upon the termination of the ORA algorithm,

the solution (i.e., objective value and the corresponding relay

node assignment) is optimal.

Our proof is based on contradiction. Denote ψ the final

solution obtained by the ORA algorithm, with the objective

value being Cmin. For ψ, denote the relay node assigned to

source node sias Rψ(si). Conversely, for ψ, denote the source

node that uses relay node rj as Sψ(rj).

We now assume that there exists a solutionˆψ better than ψ.

That is, the objective value byˆψ, denoted asˆCmin, is greater

than that by ψ, i.e.,ˆCmin> Cmin. Forˆψ, we denote the relay

node assigned to source node sias Rˆ ψ(si). Conversely, forˆψ,

we denote the source node that uses relay node rjas Sˆ ψ(rj).

The key idea in the proof is to exploit the marking status

of relay nodes at the end of its last iteration, which is a non-

improving iteration. Specifically, in the beginning of this last

iteration, ORA will select a “bottleneck” source node, which

we denote as sb. ORA will then try to improve the solution

by searching for a better relay node for this bottleneck source

node. Since the last iteration is a non-improving iteration,

ORA will not find a better solution, and thus will terminate.

We will show that Rψ(sb) is not marked at the end of the last

iteration of ORA. On the other hand, by assuming that there

exists a better solutionˆψ than ψ, we will show that Rψ(sb)

will be marked at the end of the last iteration of ORA. This

leads to a contradiction and thusˆψ cannot exist. We begin our

proof with the following fact.

Fact 1: For the bottleneck source node sbunder ψ, its relay

node Rψ(sb) is not marked at the end of the last iteration of

the ORA algorithm.

Proof: In the ORA algorithm, a relay node rjis marked

only if rj ?= Rψ(sb) (see Check Relay Availability() in

Fig. 5). Thus, Rψ(sb) cannot be marked at the end of the

last iteration of the ORA algorithm.

Fact 1 will be the basis for contradiction in our proof for

Theorem 1, the main result of this section.

Now we present the following three claims, which recur-

sively examine relay node assignment underˆψ. First, for the

relay node assigned to sb inˆψ, i.e., Rˆ ψ(sb), we have the

following claim.

Claim 1: Relay node Rˆ ψ(sb) must be marked at the end of

the last iteration of the ORA algorithm. Further, it cannot be

(marked)

^

^

^

^

n

G (s )

n

s

(unmarked)

(marked)

(marked)

(marked)

b

b

b

b

b

b

b

k

G (s )

k

b

b

^

R ( G (s ) )

^

R (s )

G (s )

R (s )

^

^

R ( G (s ) )

R ( G (s ) )

Fig. 6.The sequence of nodes under analysis in the proof of optimality.

∅ and must be assigned to some source node under solution

ψ.

Proof: Sinceˆψ is a better solution than ψ, we have

CR(sb,Rˆ ψ(sb)) ≥ˆCmin> Cmin. Thus, by construction, ORA

will consider the relay node Rˆ ψ(sb)’s availability for sb in

its last iteration. Since ORA algorithm cannot find a better

solution in its last iteration, relay Rˆ ψ(sb) should be marked

and then the outcome for checking Rˆψ(sb)’s availability must

be unavailable. By “linear marking”, the mark on Rˆ ψ(sb)

will not be cleared throughout the search process in the last

iteration. Thus, the relay node Rˆ ψ(sb) is marked at the end

of the last iteration of ORA algorithm.

We now prove the second statement by contradiction. If

Rˆ ψ(sb) is ∅, then sbwill choose ∅ in the last iteration since

it can offer CR(sb,Rˆ ψ(sb)) > Cmin. But this contradicts to

the fact that we are now in the last iteration of ORA, which

is a non-improving iteration. So Rˆ ψ(sb) cannot be ∅. Further,

since we proved that Rˆ ψ(sb) is marked at the end of the last

iteration of the ORA algorithm, it must be assigned to some

source node already.

By the definition of Sψ(·), we have that Rˆ ψ(sb) is assigned

to source node Sψ(Rˆ ψ(sb)) in solution ψ. To simplify nota-

tion, define function Gψ(·) as

Gψ(·) = Sψ(Rˆ ψ(·)) .

(10)

Thus, relay node Rˆψ(sb) is assigned to source node Gψ(sb)

in ψ (see top portion of Fig. 6).

Since Rˆ ψ(sb) ?= Rψ(sb), they are assigned to different

source nodes in ψ, i.e., Gψ(sb) ?= sb. Now, we recursively

investigate the relay node assigned to source Gψ(sb) under

solutionˆψ, i.e., Rˆ ψ(Gψ(sb)). We have the following claim

(also see Fig. 6).

Claim 2: Relay node Rˆ ψ(Gψ(sb)) must be marked at the

end of the last iteration of the ORA algorithm. Further, it

cannot be ∅ and must be assigned to some source node under

solution ψ.

The proofs for both statements in this claim follow the same

token as that for Claim 1.

Page 10

9

Again, by the definition of Sψ(·), we have that relay node

Rˆ ψ(Gψ(sb)) is assigned to source node Sψ(Rˆ ψ(Gψ(sb))) in

solution ψ. By (10), we have source Sψ(Rˆ ψ(Gψ(sb))) =

Gψ(Gψ(sb)). To simplify the notation, we define function

G2

G2

ψ(·) = Gψ(Gψ(·)) .

ψ(·) as

Thus, relay node Rˆ ψ(Gψ(sb)) is assigned to source node

G2

or may not be a node in {sb,Gψ(sb)}. If source node G2

is a node in {sb,Gψ(sb)}, then we terminate our recursive

procedure. Otherwise, we can further consider its relay node

inˆψ.

In general we can use the following notation.

ψ(sb) in ψ. Now we have two cases: source node G2

ψ(sb) may

ψ(sb)

G0

Gk

ψ(sb) =

sb,

Gψ(Gk−1

ψ(sb) =

ψ

(sb))(k ≥ 1).

(11)

Since the numbers of source nodes are finite, our recursive

procedure will terminate in finite steps. Suppose that we

terminate at k = n.

Following the same token for Claims 1 and 2, we can

obtain a similar claim for each of the relay nodes Rˆ ψ(G2

Rˆ ψ(G3

Thus, we can generalize the statements in Claims 1 and 2 for

relay node Rˆ ψ(Gk

Claim 3: Relay node Rˆψ(Gk

end of the last iteration of the ORA algorithm. Further, it

cannot be ∅ and must be assigned to some source node under

solution ψ, k = 0,1,2,···,n.

Proof: Sinceˆψ is a better solution than ψ, we can say that

CR(Gk

some source node in the solution ψ obtained by ORA, whereas

Rˆ ψ(Gk

the hypothesized better solutionˆψ. Our goal is to show that

ORA should have marked this relay node in its last iteration.

Since CR(Gk

not assigned to Gk

construction of ORA, ORA must have checked Rˆ ψ(Gk

availability for Gk

and then determined it to be unavailable for Gk

due to “linear marking”, this mark on Rˆ ψ(Gk

there after the last iteration of ORA. Thus, we can conclude

that Rˆ ψ(Gk

the ORA algorithm.

We now prove the second statement by contradiction. If

Rˆ ψ(Gk

since it can offer CR(Gk

sbwill be able to get a better relay node. But this contradicts

with the fact that this last iteration is a non-improvingiteration.

So, Rˆ ψ(Gk

Rˆψ(Gk

ORA algorithm, it must be assigned to some source node

already.

Referring to Fig. 6, we have Claim 3 for a set of relay nodes

Rˆ ψ(sb),Rˆ ψ(Gψ(sb)),···, Rˆ ψ(Gn

dure terminates at Rˆ ψ(Gn

node in solution ψ is a node in {sb,Gψ(sb),···,Gn

ψ(sb)),

ψ(sb)), ···,Rˆ ψ(Gk

ψ(sb)),···,Rˆ ψ(Gn

ψ(sb)) (see Fig. 6).

ψ(sb)) and have the following claim.

ψ(sb)) must be marked at the

ψ(sb),Rˆ ψ(Gk

ψ(sb))) ≥ˆCmin> Cmin. Note that Gk

ψ(sb) is

ψ(sb)) is the relay node assigned to this source node in

ψ(sb),Rˆ ψ(Gk

ψ(sb) in the last iteration of ORA, then by

ψ(sb))) > Cminand Rˆ ψ(Gk

ψ(sb)) is

ψ(sb))’s

ψ(sb) during the last iteration, then marked it,

ψ(sb). Moreover,

ψ(sb)) should be

ψ(sb)) is marked at the end of the last iteration of

ψ(sb)) is ∅, then Gk

ψ(sb) will choose ∅ in the last iteration

ψ(sb),Rˆ ψ(Gk

ψ(sb)) > Cmin, and finally

ψ(sb)) cannot be ∅. Further, since we proved that

ψ(sb)) is marked at the end of the last iteration of the

ψ(sb)). Our recursive proce-

ψ(sb)) because its assigned source

ψ(sb)}. We

are now ready to prove the following theorem, which is the

main result of this section.

Theorem 1: Upon the termination of the ORA algorithm,

the obtained solution ψ is optimal.

Proof: Under Claim 3, we proved that the relay node

Rˆ ψ(Gn

obtained by ORA. Since our recursive procedure terminates

at Rˆ ψ(Gn

a node in {sb,Gψ(sb),···,Gn

under ψ, source nodes Gψ(sb), G2

have relay nodes Rˆ ψ(sb), Rˆ ψ(Gψ(sb)), Rˆ ψ(G2

Rˆ ψ(Gn−1

ψ

(sb)), respectively. Thus, Rˆ ψ(Gn

relay node that can be assigned to sb in solution ψ. On the

other hand, relay node assigned to sbin solution ψ is denoted

by Rψ(sb). Thus, we have Rˆ ψ(Gn

Now, Claim 3 states that Rˆ ψ(Gn

the last iteration, whereas Fact 1 states that the relay node

assigned to the bottleneck source node, i.e., Rψ(sb), cannot

be marked. Since both Rψ(sb) and Rˆ ψ(Gn

relay node, we have a contradiction. Thus our assumption that

there exists a solutionˆψ better than ψ does not hold. The proof

is complete.

Note that the proof of Theorem 1 does not depend on the

initial assignment in ORA. So we have the following important

property.

Corollary 1.1: Under any feasible initial relay node assign-

ment, the ORA algorithm can find an optimal relay node

assignment.

ψ(sb)) is assigned to some source node in solution ψ

ψ(sb)), its assigned source node in solution ψ is

ψ(sb)}. But we also know that

ψ(sb), G3

ψ(sb), ···, Gn

ψ(sb)), ···,

ψ(sb)) is the only

ψ(sb)

ψ(sb)) = Rψ(sb).

ψ(sb)) must be marked after

ψ(sb)) are the same

VII. NUMERICAL RESULTS

In this section, we present some numerical results to demon-

strate the properties of the ORA algorithm.

A. Simulation Setting

We consider a 100-node cooperative ad hoc network. The

location of each node is given in Table III. For this network, we

consider both the cases of Nr≥ Nsand Nr< Ns. In the first

case, we have 30 source-destination pairs and 40 relay nodes.

While in the second case, we have 40 source-destination pairs

and only 20 relay nodes. The role of each node (either as a

source, destination, or relay) for each case is shown in Figs. 7

and 9, respectively, with details given in Table III.

For the simulations, we assume W = 10 MHz bandwidth

for each channel. The maximum transmission power at each

node is set to 1 W. Each relay node employs AF for cooper-

ative communications. We assume that hsdonly includes the

path loss component between nodes s and d and is given by

|hsd|2= ||s−d||−4, where ||s−d|| is the distance (in meters)

between these two nodes and 4 is the path loss index. Note

that the working of the ORA algorithm does not depend on the

mode of CC and the channel gain model. As long as channel

gains and achievable rates are known, ORA will give optimal

assignment. For the AWGN channel, we assume the variance

of noise is 10−10W at all nodes.

Page 11

10

TABLE III

LOCATIONS AND ROLES OF ALL THE NODES IN THE NETWORK.

Node

Location

(75, 500)

(170, 430)

(170, 500)

(250, 650)

(400, 550)

(340, 230)

(390, 150)

(460, 280)

(700, 500)

(750, 360)

(800, 90)

(900, 160)

(1125, 300)

(1000, 340)

(1025, 540)

(100, 1120)

(150, 920)

(330, 1110)

(450, 890)

(650, 1050)

(700, 640)

(820, 880)

(1150, 1060)

(1480, 1120)

(1160, 720)

(1050, 50)

(1350, 450)

(1380, 110)

(1500, 800)

(1500, 300)

(200, 50)

(520, 240)

(40, 100)

RoleNode

Location

(220, 190)

(660, 190)

(430, 630)

(180, 620)

(750, 625)

(310, 480)

(1100, 180)

(1110, 360)

(875, 600)

(700, 300)

(650, 550)

(740, 170)

(410, 810)

(550, 1100)

(150, 790)

(210, 1110)

(530, 720)

(800, 1140)

(1080, 1100)

(940, 790)

(1360, 640)

(1280, 1120)

(1260, 350)

(1500, 50)

(1450, 605)

(1030, 910)

(1150, 230)

(80, 370)

(110, 280)

(160, 300)

(280, 520)

(375, 580)

(385, 450)

RoleNode

Location

(380,370)

(300,350)

(410,650)

(470,500)

(660,525)

(600,425)

(510,200)

(575,325)

(750,560)

(800,360)

(860,260)

(980,450)

(950,310)

(950,200)

(100,1000)

(310,980)

(250,800)

(460,1010)

(610,930)

(680,760)

(700,900)

(910,1120)

(970,970)

(1360, 910)

(1200, 920)

(1250, 690)

(1290, 180)

(150,360)

(1380, 380)

(1220, 60)

(1190, 510)

(500,40)

(50,805)

(1510, 920)

Role

Case 1

s1

s2

s3

s4

s5

s6

s7

s8

s9

s10

s11

s12

s13

s14

s15

s16

s17

s18

s19

s20

s21

s22

s23

s24

s25

s26

s27

s28

s29

s30

d1

d2

d3

Case 2

s1

s2

s3

s4

s5

s6

s7

s8

s9

s10

s11

s12

s13

s14

s15

s16

s17

s18

s19

s20

s21

s22

s23

s24

s25

s26

s27

s28

s29

s30

d1

d2

d3

Case 1

d4

d5

d6

d7

d8

d9

d10

d11

d12

d13

d14

d15

d16

d17

d18

d19

d20

d21

d22

d23

d24

d25

d26

d27

d28

d29

d30

r1

r2

r3

r4

r5

r6

Case 2

d4

d5

d6

d7

d8

d9

d10

d11

d12

d13

d14

d15

d16

d17

d18

d19

d20

d21

d22

d23

d24

d25

d26

d27

d28

d29

d30

d31

r2

r3

r4

d39

r6

Case 1

r7

r8

r9

r10

r11

r12

r13

r14

r15

r16

r17

r18

r19

r20

r21

r22

r23

r24

r25

r26

r27

r28

r29

r30

r31

r32

r33

r34

r35

r36

r37

r38

r39

r40

Case 2

s31

r8

s33

d40

s39

s40

s38

r14

r15

r16

r17

r18

r19

d37

s32

r12

d32

r13

d34

s34

r20

d35

s35

r9

r11

d36

r10

r5

r7

s37

s36

d38

d33

r1

400

s1

s3

s2

s4

s5

s6

s7

s8

s9

s15

s14

s10

s11

s12

s13

d3

d1

d7

d9

d2

d13

d15

d10

d4

d6

d14

d8

d12

d11

d5

r3

r1

r4

r8

r7

r6

r5

r9

r10

r11

r12

r13

r14

r15

r16

r18

r17

r19

r20

r2

0

800

Senders

Receivers

Potential Relays

100

200

300

500

600

700 800

900

1000

1100 1200

100

200

300

400

500

600

700

(meters)

(meters)

0

1300 1400 1500 1600

900

1000

1100

1200

s16

s17

s18

s19

s20

s21

s22

s23

s24

s25

s26

s27

s28

s29

s30

d16

d17

d18

d19

d20

d21

d22

d23

d24

d25

d26

d27

d28

d29

d30

r21

r22

r23

r24

r25

r26

r27

r28

r29

r30

r31

r32

r33

r34

r35

r36

r37

r38

r39

r40

Fig. 7.

Ns= 30 and Nr = 40.

Topology for a 100-node network for Case 1 (Nr ≥ Ns), with

B. Results

Case 1: Nr ≥ Ns.

source-destination pairs and 40 relay nodes.

Under ORA, after preprocessing, we start with an initial

relay node assignment in the first iteration. Such initial as-

signment is not unique. But regardless of the initial relay

node assignment, we expect the objective value to converge

to the optimum (by Corollary 1.1). To validate this result, in

Table IV, we show the results of running the ORA algorithm

under two different initial relay node assignments, denoted as

In this case (see Fig. 7), we have 30

????????????????

????????????

?????????????

???????????????????????????????

??????????????????????????

??????????????????????????

Fig. 8.

ORA algorithm under two different initial relay node assignments.

Case 1 (Nr ≥ Ns): The objective value Cminat each iteration of

I and II (see Table IV).

In Table IV, the second column shows the data rate for

each source-destination pair under direct transmissions. Note

that the minimum rate among all pairs is 1.83 Mbps, which

is associated with s7. The third to fifth columns are results

under initial relay node assignment I and sixth to eighth

columns are results under initial relay node assignment II.

The symbol ∅ denotes direct transmissions. Note that initial

relay node assignments I and II are different. As a result, the

final assignment is different under I and II. However, the final

Page 12

11

TABLE IV

OPTIMAL ASSIGNMENTS FOR CASE 1 (Nr ≥ Ns) UNDER TWO DIFFERENT

INITIAL RELAY NODE ASSIGNMENTS.

Relay Assignment IRelay Assignment II

Ses-

sion

CD

(Mbps)

Final

Rate

(Mbps)

6.54

9.46

8.73

4.66

6.47

9.25

4.76

7.22

9.81

4.80

9.13

5.89

4.84

7.87

4.86

7.29

5.62

7.37

8.76

6.95

4.90

8.71

11.26

4.43

5.87

6.81

5.44

5.29

4.68

9.65

Final

Rate

(Mbps)

6.54

9.46

7.21

4.66

6.47

9.25

4.76

7.22

9.81

4.80

9.13

5.55

7.32

5.29

5.84

7.29

5.62

6.26

8.76

6.95

4.90

8.71

11.26

4.43

5.87

6.81

5.44

5.29

4.68

9.65

InitialFinalInitialFinal

s1

s2

s3

s4

s5

s6

2.62

4.60

3.81

2.75

3.15

4.17

1.83

2.99

4.92

4.80

4.13

3.23

3.68

4.23

2.62

3.30

4.17

6.03

8.76

6.95

1.90

7.65

7.55

2.12

3.90

6.08

3.61

2.04

2.32

6.60

∅

r8

∅

∅

∅

∅

r6

∅

r12

r18

r16

∅

∅

∅

r17

∅

∅

r21

∅

∅

r27

r28

r29

r3

r7

r2

r4

r14

r6

r3

r8

r1

r4

r7

r10

r3

r7

r1

r4

r14

r6

s7

s8

s9

s10

s11

s12

s13

s14

s15

s16

s17

s18

s19

s20

s21

s22

s23

r8

r12

r10

∅

r20

r19

r18

r16

r17

r22

r24

r21

∅

∅

r27

r28

r29

r6

r16

r12

∅

r17

r18

r19

r15

r20

r22

r24

r23

∅

∅

r27

r28

r29

∅

∅

r36

∅

∅

∅

r34

r8

r12

r10

∅

r20

r18

r17

r15

r19

r22

r24

r23

∅

∅

r27

r28

r28

s24

s25

s26

s27

s28

s29

s30

r40

∅

r36

∅

r35

r30

r34

r40

r30

r36

r34

r35

r31

r33

r40

r30

r36

r34

r35

r31

r33

400

s1

s3

s2

s4

s5

s6

s7

s8

s9

s15

s14

s10

s11

s12

s13

d3

d1

d7

d9

d2

d13

d15

d10

d4

d6

d14

d8

d12

d11

d5

r3

d31

r4

r8

s31

r6

d39

s33

d40

s39

s40

s38

r14

r15

r16

r18

r17

r19

d37

r2

0

Senders

Receivers

Potential Relays

100

200

300

500

600

700800

900

1000

1100 1200

(meters)

(meters)

0

1300 1400 1500 1600

1100

1200

s16

s17

s18

s19

s20

s21

s22

s23

s24

s25

s26

s27

s28

s29

s30

d16

d17

d18

d19

d20

d21

d22

d23

d24

d25

d26

d27

d28

d29

d30

s32

r12

d32

r13

d34

s34

r20

d35

s35

r9

r11

d36

r10

r5

r7

s37

s36

d38

d33

r1

800

100

200

300

400

500

600

700

900

1000

Fig. 9.

Ns= 40 and Nr = 20.

Topology for a 100-node network for Case 2 (Nr < Ns), with

objective value (i.e., Cmin) under I and II is identical (4.43

Mbps).

Figure 8 shows the objective value Cmin at each iteration

under initial relay node assignments I and II. Under either

initial relay node assignments I or II, Cminis a non-decreasing

function of iteration number. Note that a higher initial value

of Cmin does not mean that ORA will converge faster. The

increase of Cmin by cooperative communications over direct

transmissions is significant (from 1.83 Mbps to 4.43 Mbps).

Case 2: Nr < Ns.

In this case (see Fig. 9), we have 40

TABLE V

OPTIMAL ASSIGNMENTS FOR CASE 2 (Nr < Ns) UNDER TWO DIFFERENT

INITIAL RELAY NODE ASSIGNMENTS.

Relay Assignment I Relay Assignment II

Ses-

sion

CD

(Mbps)

Final

Rate

(Mbps)

6.62

4.60

3.81

4.66

3.80

4.17

4.76

4.43

4.92

4.80

4.13

5.55

8.04

4.23

5.60

7.30

4.17

6.03

8.76

6.95

4.90

7.65

7.55

5.15

3.91

6.08

5.27

5.29

4.68

6.60

11.06

17.47

4.86

31.34

37.87

29.79

10.65

38.27

12.10

41.70

Final

Rate

(Mbps)

6.54

4.60

3.81

5.20

3.80

4.16

4.76

4.43

4.92

4.80

4.13

5.55

8.04

4.23

5.60

7.30

4.17

6.03

8.97

6.95

4.90

7.65

7.55

5.15

3.91

6.08

5.27

5.29

4.68

6.60

11.06

17.47

4.86

31.34

37.87

29.79

10.65

38.27

12.10

41.70

InitialFinal InitialFinal

s1

s2

s3

s4

2.62

2.60

3.81

2.75

3.15

4.17

1.83

2.99

4.92

4.80

4.13

3.23

3.68

4.23

2.62

3.30

4.17

6.03

8.76

6.95

1.90

7.65

7.55

2.12

3.91

6.08

3.61

2.04

2.32

6.60

11.06

17.47

4.86

31.34

37.87

29.79

10.65

38.27

12.10

41.70

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

r2

∅

∅

r5

r3

∅

∅

r8

r3

∅

∅

r5

s5

s6

r6

∅

r8

r14

∅

∅

∅

r18

r19

∅

r16

r12

∅

∅

∅

∅

r20

∅

∅

r9

∅

∅

r10

r7

r11

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

r14

∅

r6

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

r13

r12

r20

∅

∅

r11

∅

∅

r10

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

r6

∅

r8

r14

∅

∅

∅

r18

r19

∅

r16

r12

∅

∅

r13

∅

r20

∅

∅

r9

∅

∅

r10

r7

r11

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

s7

s8

s9

s10

s11

s12

s13

s14

s15

s16

s17

s18

s19

s20

s21

s22

s23

s24

s25

s26

s27

s28

s29

s30

s31

s32

s33

s34

s35

s36

s37

s38

s39

s40

????????????????

?????????????

????????????

???????????????????????????????

??????????????????????????

??????????????????????????

Fig. 10.

ORA algorithm under two different initial node assignments.

Case 2 (Nr < Ns): The objective value Cminat each iteration of

source-destination pairs and 20 relay nodes.

Table V shows the results of this case under two different

initial relay node assignments I and II. The second column

Page 13

12

TABLE VI

AN EXAMPLE ILLUSTRATING THE IMPORTANCE OF PREPROCESSING.

Without Preprocessing

Sender

CD

Final

Rate

(Mbps)

6.54

4.60

8.73

4.66

6.47

9.25

4.76

7.22

4.92

4.80

9.13

5.55

7.32

7.87

5.84

7.30

5.62

7.37

4.81

7.25

4.90

8.71

11.26

4.43

5.87

7.55

5.45

5.29

4.68

6.60

(Mbps)InitialFinal

s1

s2

s3

s4

s5

s6

s7

s8

s9

s10

s11

s12

s13

s14

s15

s16

s17

s18

s19

s20

s21

s22

s23

2.62

4.60

3.81

2.75

3.15

4.17

1.83

2.99

4.92

4.80

4.13

3.24

3.68

4.23

2.62

3.30

4.17

6.03

8.76

6.95

1.90

7.65

7.55

2.12

3.91

6.08

3.61

2.04

2.33

6.60

r3

∅

∅

r8

r14

∅

r6

∅

∅

∅

∅

∅

∅

∅

∅

∅

∅

r23

r39

r26

∅

r28

r29

∅

∅

r33

∅

∅

∅

∅

r3

∅

r2

r4

r14

r6

r8

r12

∅

∅

r20

r18

r17

r16

r19

r22

r24

r21

r39

r26

r27

r28

r29

s24

s25

s26

s27

s28

s29

s30

r40

r30

r33

r34

r35

r31

∅

in Table V lists the data rate under direct transmissions. As

discussed at the end of Section V-B, for the case of Nr <

Ns, it is only necessary to consider relay node assignment

for Nr = 20 source nodes corresponding to the 20 smallest

achievable rates under direct transmission.

Again in Table V, the objective value Cminis identical (3.80

Mbps) regardless of different initial relay node assignments

(I and II). Note that despite the difference in final relay

node assignments under I and II, the objective value Cmin is

identical. The increase of Cminby cooperative communications

over direct transmissions is significant (from 1.83 Mbps to

3.80 Mbps).

Figure 10 shows the objective value Cminat each iteration

under initial relay node assignments I and II. Again, we

observe that in Fig. 10, Cminis a non-decreasing function of

iteration number under both initial relay node assignments I

and II.

Significance of Preprocessing:

numerical results to show the significance of preprocessing

in our ORA algorithm. We consider the same network in

Fig. 7 with 30 source-destination pairs and 40 relay nodes.

Now we remove the preprocessing step in the ORA algorithm.

As an example, the third column of Table VI shows an initial

assignment without first going through the preprocessing step.

Although the objective value Cmin also reaches the same

optimal value (4.43 Mbps) as that in Table IV, the final data

rate for some non-bottleneck source nodes could be worse

than direct transmissions. For example, for s19, its final rate is

Now we use a set of

4.81 Mbps, which is less than its direct transmission rate (8.76

Mbps). Such event is undetectable without the preprocessing

step, as 4.81 Mbps is still greater than the optimal objective

value (4.43 Mbps).

On the other hand, when the preprocessing step is employed,

ORA can ensure that the final rate for each source-destination

pair is no less than that under direct transmission, as shown

in Table IV.

VIII. A SKETCH OF A POSSIBLE IMPLEMENTATION

In this section, we present a sketch of a possible implemen-

tation of the ORA algorithm. This implementation follows the

link-state approach. Note that although a link-state approach

is not considered fully distributed, it is nevertheless a viable

implementation, as evidenced by the widespread deployment

of OSPF [12] in the Internet and acceptance of OLSR [3] in

wireless ad hoc networks.

A. Ensuring Identical Optimal Solution at Source Nodes

In the presentation of the ORA algorithm in Section V, we

have learned that the ORA algorithm can start with any random

initial relay node assignment and can still obtain an optimal

solution. However, in the link-state based implementation,

each source node in the network will run ORA independently

on its own. As such, the randomness in initial relay assignment

must be removed in implementation so as to ensure that

each source node can obtain an identical optimal solution.

Otherwise, we may run into a situation that the same relay

node may be assigned to multiple source nodes.

A simple way to ensure identical initial relay node assign-

ment is to have each source node choose direct transmission,

i.e. ∅ as its initial relay assignment. Given such identical initial

assignment and that ORA is a deterministic algorithm, each

source node will obtain an identical final optimal solution.

B. Some Implementation Details

Under such implementation, each relay node collects its

link state information with its neighboring source nodes; each

destination node also collects its link state information with

its source node and neighboring relay nodes. To do this,

each source node sends a broadcast packet to its neighboring

relay nodes and its destination node; each relay node sends

a broadcast packet to its neighboring destination nodes. As

shown in [6] by Gollakota and Katabi, this broadcast packet

transmission can be used by the receiver of each wireless

link to accurately determine the link state. It was also shown

in [6] that such an approach is practically feasible, and was

demonstrated in their implementation of 802.11 receivers.

However, we point out that in an uncontrolled environment,

estimating channel state is not trivial.

Upon obtaining the link-state information, each relay and

destination node will distribute such information to all the

source nodes in the network. This will ensure that each source

node will have global link-state information. Such link-state

dissemination can be achieved by using one of the many effi-

cient flooding techniques (see e.g. [23]) for wireless networks.

Page 14

13

The overhead of this operation is small when compared to

potential gain in achievable rate in optimal assignment (see

Section VIII-C).

Once each source node has global link-state information, it

can now run ORA locally, with an identical initial assignment

as discussed in Section VIII-A. As discussed, the final optimal

solution obtained at each source node will be identical.

C. Overhead

An important consideration in our implementation is the

overhead incurred in distributing link-state information in the

network. This can be measured by comparing such overhead

with the potential gain in achievable rate in the optimal

solution. We now analyze such overhead and show that the

ratio between the two is small, thus affirming the efficacy of

our proposed implementation.

First of all, Mandke et al. [11] conducted extensive exper-

iments and showed that the CSI for the 10 MHz band in 2.4

GHz spectrum changes every 300 mSec on average. Their

experiments showed that CSI distribution does not need to

be performed more frequently than every 300 mSec (or 0.3

Sec).

To run the ORA algorithm locally, each source node must

obtain global link-state information. This can be done by

having all relay nodes and destination nodes flood their local

link-state information in the network. To estimate an upper

bound for such flooding overhead, we assume that 32 bits

(commonly used for floating variables) are used to represent

each link-state value. Then the total link-state information

collected at each relay node has Or= Ns×32 bits. Similarly,

the total link-state information collected at each destination

node has Od = (Nr+ 1) × 32 bits. As a result, the total

overhead (in b/s) due to flooding at every node is:

O =Nr· Or+ Nd· Od

0.3

.

(12)

As an example, for Case 1 in the numerical results in Sec-

tion VII-B, it can be shown that the total overhead is 170.83

Kb/s at each node. On the other hand, the gain in the bottleneck

data rate by ORA is 4.43−1.83 = 2.6 Mb/s. The ratio between

the two is only 6.4%. That is, the overhead is much less than

the gain of CC.

We acknowledge that in some environments, the overhead

could be large if CSI in the network varies on a smaller time

scale. Under such environment,fast and efficient dissemination

of CSI remains an open problem.

IX. CONCLUSION

Cooperative communications is a powerful communication

paradigm to achieve spatial diversity. However, the perfor-

mance of such communication paradigm hinges upon the

assignment of relay nodes in the network. In this paper,

we studied this problem in a cooperative ad hoc network

environment, where multiple source-destination pairs compete

for the same pool of relay nodes. Our objective is to assign the

available relay nodes to different source-destination pairs so as

to maximize the minimum data rate among all the pairs. The

main contribution of this paper is a polynomial time optimal

algorithm that achieves this objective. A novel idea in this

algorithm is a “linear marking” mechanism, which is able to

achieve linear complexity at each iteration. We gave a formal

proof of optimality for the algorithm and used numerical

results to demonstrate its efficacy.

Although we offered a sketch of a possible implementation

of ORA, a number of issues remain challenging in practice.

In particular, fast and efficient method for collecting and

disseminating CSI in moderate and large sized networks

remain an open problem. Nevertheless, the theoretical results

presented here can be used as a performance benchmark for

other proposed solutions in practice.

ACKNOWLEDGMENTS

The authors thank Editor Suhas Diggavi, who handled the

review of this paper. The authors also thank the anonymous re-

viewers who offered very constructive comments on improving

the presentation of this paper. Y.T. Hou, S. Sharma, and Y. Shi

were supported in part by National Science Foundation under

Grant CCF-0946273 and Naval Research Laboratory under

Grant N00173-10-1-G-007. S. Kompella has been supported

in part by the Office of Naval Research.

REFERENCES

[1] A. Bletsas, A. Khisti, D. Reed, and A. Lippman, “A simple cooperative

diversity method based on network path selection,” IEEE Journal

on Selected Areas in Communications, vol. 24, no. 3, pp. 659–672,

March 2006.

[2] J. Cai, S. Shen, J.W. Mark, and A.S. Alfa, “Semi-distributed user

relaying algorithm for amplify-and-forward wireless relay networks,”

IEEE Transactions on Wireless Communication, vol. 7, no. 4, pp. 1348–

1357, April 2008.

[3] T. Clause and P. Jacquet, “Optimized link state routing protocol,” IETF

RFC 3626, October 2003.

[4] T.M. Cover and A. EL Gamal, “Capacity theorems for the relay

channel,” IEEE Transactions on Information Theory, vol. 25, issue 5,

pp. 572–584, 1979.

[5] M.O. Damen and A.R. Hammons, “Delay-tolerant distributed-TAST

codes for cooperative diversity,” IEEE Transactions on Information

Theory, vol. 53, no. 10, pp. 3755–3773, Oct. 2007.

[6] S. Gollakota and D. Katabi, “Zigzag decoding: combating hidden

terminals in wireless networks,” In Proceedings of ACM SIGCOMM,

pp. 159–170, Seattle, WA, August 17–22, 2008.

[7] D. Gunduz and E. Erkip, “Opportunistic cooperation by dynamic

resource allocation,” IEEE Transactions on Wireless Communications,

vol. 6, no. 4, pp. 1446–1454, April 2007.

[8] O. Gurewitz, A. de Baynast, and E.W. Knightly, “Cooperative strategies

and achievable rate for tree networks with optimal spatial reuse,” IEEE

Transactions on Information Theory, vol. 53, no. 10, pp. 3596–3614,

Oct. 2007.

[9] A.E. Khandani, J. Abounadi, E. Modiano, and L. Zheng, “Cooperative

routing in static wireless networks,” IEEE Transactions on Communica-

tions, vol. 55, no. 11, pp. 2185–2192, Nov. 2007.

[10] J.N. Laneman, D.N.C. Tse, and G.W. Wornell, “Cooperative diversity

in wireless networks: Efficient protocols and outage behavior,” IEEE

Transactions on Information Theory, vol. 50, no. 12, pp. 3062–3080,

Dec. 2004.

[11] K. Mandke, R.C. Daniels, S. Choi, S.M. Nettles, and R.W. Heath Jr.,

“Physical concerns for cross-layer prototyping and wireless network

experimentation,” In Proc. ACM Int’l Workshop on Wireless Network

Testbeds, Experimental Evaluation and Characterization (in conjunction

with ACM MobiCom 2007), pp. 11–18, Montreal, Quebec, Canada,

Sept. 10, 2007.

[12] J. Moy, “Open shortest path first version 2,” IETF RFC 2328, April

1998.

Page 15

14

[13] T. C-Y. Ng and W. Yu, “Joint optimization of relay strategies and

resource allocations in cooperative cellular networks,” IEEE Journal

on Selected Areas in Communications, vol. 25, no. 2, pp. 328–339,

Feb. 2007.

[14] S. Savazzi, and U. Spagnolini, “Energy aware power allocation strategies

for multihop-cooperative transmission schemes,” IEEE Journal on Se-

lected Areas in Communications, vol. 25, no. 2, pp. 318–327, February

2007.

[15] A. Scaglione, D.L. Goeckel, and J.N. Laneman, “Cooperative communi-

cations in mobile ad hoc networks,” IEEE Signal Processing Magazine,

vol. 23, no. 5, pp. 18–29, Sept. 2006.

[16] A. Sendonaris, E. Erkip, and B. Aazhang, “User cooperation diversity

– part I: System description,” IEEE Transactions on Communications,

vol. 51, no. 11, pp. 1927–1938, Nov. 2003.

[17] A. Sendonaris, E. Erkip, and B. Aazhang, “User cooperation diversity

– part II: implementation aspects and performance analysis,” IEEE

Transactions on Communications, vol. 51, no. 11, pp. 1939–1948,

Nov. 2003.

[18] L. Tassiulas and A. Ephremides. “Stability properties of constrained

queueing systems and scheduling policies for maximum throughput in

multihop radio networks,” IEEE Transactions on Automatic Control,

vol. 37, no. 12, pp. 1936–1948, 1992.

[19] E.C. van der Meulen and P. Vanroose. “The capacity of a relay channel,

both with and without delay,” IEEE Transactions on Information Theory,

vol. 53, no. 10, pp. 3774–3776, October 2007.

[20] E.C. van der Meulen, “Three terminal communication channels,” Ad-

vances in Applied Probability, vol. 3, pp. 120-154, 1971.

[21] B. Wang, Z. Han, and K.J.R. Liu, “Distributed relay selection and

power control for multiuser cooperative communication networks using

buyer/seller game,” In Proc. IEEE INFOCOM, pp. 544–552, Anchorage,

AL, May 6–12, 2007.

[22] E.M. Yeh and R.A. Berry, “Throughput optimal control of cooperative

relay networks,” IEEE Transactions on Information Theory, vol. 53,

no. 10, pp. 3827–3833, Oct. 2007.

[23] Y. Yi, M. Gerla, and T.J. Kwon, “Efficient flooding in ad hoc networks:

a comparative performance study,” IEEE International Conference on

Communications, vol. 2, pp. 1059-1063, May 11-15 2003.

[24] Y. Zhao, R.S. Adve, and T.J. Lim, “Improving amplify-and-forward relay

networks: optimal power allocation versus selection,” in Proc. IEEE In-

ternational Symposium on Information Theory, pp. 1234–1238, Seattle,

WA, July 9–14, 2006.

Sushant Sharma (S’06) received his B.E. degree in

computer engineering from the University of Pune,

India, in 2002, and the M.S. degree in computer

science from the University of New Mexico, Albu-

querque, in 2005. He is currently pursuing the Ph.D

degree in Computer Science at Virginia Polytech-

nic Institute and State University (“Virginia Tech”),

Blacksburg, VA. His research interests include devel-

oping algorithms to solve cross-layer optimization

problems in ad hoc wireless networks.

Yi Shi (S’02–M’08) received his B.S. degree from

the University of Science and Technology of China,

Hefei, China, in 1998, a M.S. degree from Institute

of Software, Chinese Academy of Science, Beijing,

China, in 2001, a second M.S. degree from Virginia

Polytechnic Institute and State University (“Virginia

Tech”), Blacksburg, VA, in 2003, all in computer

science, and a Ph.D. degree in computer engineering

from Virginia Tech, in 2007. He is currently a

Research Scientist in the Department of Electrical

and Computer Engineering at Virginia Tech. Dr.

Shi’s research focuses on algorithms and optimization for cognitive radio

networks, MIMO and cooperative communication networks, sensor networks,

and ad hoc networks. He was a recipient of IEEE INFOCOM 2008 Best Paper

Award. He was a recipient of Chinese Government Award for Outstanding

Ph.D. Students Abroad in 2006. While an undergraduate, he was a recipient

of Meritorious Award in International Mathematical Contest in Modeling

in 1997 and 1998, respectively. He served as a TPC member for many

major international conferences (including ACM MobiHoc 2009 and IEEE

INFOCOM 2009–2011).

Y. Thomas Hou (S’91–M’98–SM’04) received his

Ph.D. degree in Electrical Engineering from Poly-

technic Institute of New York University in 1998.

From 1997 to 2002, Dr. Hou was a Researcher at

Fujitsu Laboratories of America, Sunnyvale, CA.

Since 2002, he has been with Virginia Polytechnic

Institute and State University (“Virginia Tech”), the

Bradley Department of Electrical and Computer

Engineering, Blacksburg, VA, where he is now an

Associate Professor.

Prof. Hou’s research interests are cross-layer de-

sign and optimization for cognitive radio wireless networks, cooperative

communications, MIMO-based ad hoc networks, and new interference man-

agement schemes for wireless networks. He is a recipient of an Office of Naval

Research (ONR) Young Investigator Award (2003) and a National Science

Foundation (NSF) CAREER Award (2004) for his research on optimizations

and algorithm design for wireless ad hoc and sensor networks.

Prof. Hou is currently serving as an Area Editor of IEEE Transactions on

Wireless Communications, and Editor for IEEE Transactions on Mobile Com-

puting, IEEE Wireless Communications, ACM/Springer Wireless Networks

(WINET), and Elsevier Ad Hoc Networks. He was a past Associate Editor

of IEEE Transactions on Vehicular Technology. He was Technical Program

Co-Chair of IEEE INFOCOM 2009.

Prof. Hou recently co-edited a textbook titled Cognitive Radio Commu-

nications and Networks: Principles and Practices, which was published by

Academic Press/Elsevier, 2010.

Sastry Kompella (S’04–M’07) received the Ph.D.

degree in electrical and computer engineering from

Virginia Polytechnic Institute and State University,

Blacksburg, VA, in 2006. Currently, he is a Re-

searcher with the Information Technology Division,

U.S. Naval Research Laboratory, Washington, DC.

His research focuses on complex problems in cross-

layer optimization and scheduling in wireless net-

works.