# Analysis of Client Relay Network with Opportunistic Cooperation

Sergey Andreev, Olga Galinina, Alexandra Lokhanova, Yevgeni Koucheryavy

<figure><img src="image_1.png" /></figure>

## To cite this version:

Sergey Andreev, Olga Galinina, Alexandra Lokhanova, Yevgeni Koucheryavy. Analysis of Client Relay Network with Opportunistic Cooperation. 9th Wired/Wireless Internet Communications (WWIC), Jun 2011, Vilanova i la Geltrú, Spain. pp.247-258, 10.1007/978-3-642-21560-5_21. hal-01583660

HAL Id: hal-01583660

https://inria.hal.science/hal-01583660

Submitted on 7 Sep 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>
# Analysis of Client Relay Network with Opportunistic Cooperation

Sergey Andreev¹, Olga Galinina¹,
Alexandra Lokhanova², and Yevgeni Koucheryavy¹

Tampere University of Technology¹ (TUT), FINLAND
sergey.andreev@tut.fi, olga.galinina@tut.fi, yk@cs.tut.fi
St. Petersburg Speech Technology Center² (STC), RUSSIA
alokhanova@yandex.ru

**Abstract.** In this work, we consider a client relay wireless system, where users cooperate to send uplink data packets. We focus on the simplest, but realistic network topology and derive the primary performance metrics, including throughput, mean packet delay, and energy efficiency. Importantly, our model enables opportunistic reception and transmission of relay packets thus allowing for many useful insights into realistic network performance. We conclude that opportunistic behavior is crucial for both spectral efficient and energy efficient system operation.

**Keywords:** client relay, wireless network, throughput, packet delay, energy efficiency, opportunistic cooperation.

## 1 Introduction and motivation

Recent advances in wireless cellular networking are being shaped by the next-generation telecommunication standards [1] and [2]. For the emerging wireless systems, the concept of client quality-of-service becomes cornerstone, as diverse end user requirements should be satisfied simultaneously given limited network resources and variable wireless channel conditions [3].

Consequently, the concept of spectral efficiency maximization has long been dominant in wireless cellular network design [4]. However, recent research efforts tend to shift toward energy efficiency improvement [5], [6] primarily for battery-driven mobile devices [7]. We argue that accounting for spectral and energy efficiency is equally important for novel communication technologies [1], [2], which is in turn crucial for advanced resource management [8].

Recently, cooperative networking receives increasing attention from the research community [9], [10]. Typically, some network clients with favorable channel conditions transmit data more reliably and spend less power [11]. These users may help others by relaying some data packets on behalf of the users with poor communication link [12]. Previously, we demonstrated that spectral and energy efficiency may be improved if uplink cooperation among neighboring clients is forced [13]. Cooperative gain from a relay may also decrease packet transmission delays and reduce inter-cell interference. Therefore, client relay technique
is believed to be an effective solution to improve performance of future wireless cellular networks.

In this paper, we extend our earlier client relay research [13], [8] to a more practical scenario enabling opportunistic cooperation and include the relevant control parameters into consideration. As such, the relay may balance its extra energy expenditure and cooperative benefits for the network by reasonably choosing a client relay policy. In what follows, we detail the system model and analytically establish the primary performance metrics of cooperative networking, such as throughput, mean packet delay, energy expenditure, and energy efficiency. Finally, we conclude with some guidelines on choosing the client relay strategy.

## 2 Opportunistic cooperative system

In this section, we briefly refresh the basic client relay system model from our previous work [13] and then extend it to the more realistic opportunistic scenario with non-mandatory reception and transmission of relay packets. For the sake of analytical tractability, we study the simplest but practical network topology (see Figure 1) and summarize our main assumptions below.

<figure><img src="image_3.png" /><figcaption>Fig. 1. Considered client relay system</figcaption></figure>

### 1. The system

- System time is slotted

- All communicated data packets have equal size

- Transmission of each packet takes exactly one slot

- Source node A is termed the originator. It generates new data packets with the mean arrival rate of $λ_A$ packets per slot

- Source node R is termed the relay. It generates new data packets with the mean arrival rate of $λ_R$ packets per slot
- Node $R$ may eavesdrop on the transmissions from node $A$ and store the packets from node $A$ for the subsequent retransmission

- Node $R$ is incapable of simultaneous reception and transmission

- Sink node $B$ is termed the base station. It controls the system and receives data packets from both node $A$ and node $R$

- Fair stochastic round-robin scheduler operates at node $B$. It alternates source nodes accessing the wireless channel

- Scheduling information is immediately available to both source nodes over a separate channel. In practice, this information is typically available in the downlink channel and this assumption only simplifies the understanding of the model

## 2. The traffic

- Numbers of new data packets arriving to either node $A$ or node $R$ during consecutive slots are i.i.d. random variables. For simplicity, Poisson arrival flow is assumed. Node $B$ has no outgoing traffic

- Both node $A$ and $R$ have unbounded queues to store own data packets

- Node $R$ has an extra memory location to keep a single relay packet from node $A$

See Figure 2 as an example operation of the system in Figure 1, without additional packet arrivals. Here light gray is a packet from $A$, whereas dark gray is a packet from $R$, and the numbers correspond to sequential packet numbers in Figure 1.

<figure><img src="image_4.png" /><figcaption>Fig. 2. Example client relay system behavior</figcaption></figure>

## 3. The channel

- Communication channel is error-prone. It is based on the multi-packet reception channel model [10]

- A data packet is received by the destination successfully with the constant probability. It depends only on the link type (direct or relay) and on which nodes are transmitting simultaneously

- The following non-zero success probabilities are defined: $p_{AB}$, $p_{RB}$, $p_{AR}$, and $p_{CB}$. It is expected that $p_{AR} > p_{AB}$, as well as $p_{CB} > p_{AB}$

- Feedback information is immediately available to both source nodes over a separate channel. In practice, this information is typically available in the downlink channel and this assumption only simplifies the understanding of the model

- If the packet is not received successfully, it is retransmitted by its source. The maximum number of allowable retransmission attempts is unlimited
Table 1 summarizes the main system parameters. It comprises three parts: the input parameters discussed in this section, the auxiliary parameters introduced during the analysis, and the output parameters derived in the following section.

<table><caption>**Table 1.** Input, auxiliary, and output system parameters</caption><thead><tr><th>Notation</th><th>Parameter description</th></tr></thead><tbody><tr><td>λ<sub>A</sub></td><td>Mean arrival rate of packets in node A</td></tr><tr><td>λ<sub>R</sub></td><td>Mean arrival rate of packets in node R</td></tr><tr><td>p<sub>AB</sub></td><td>Probability of successful reception from A at B when A transmits</td></tr><tr><td>p<sub>RB</sub></td><td>Probability of successful reception from R at B when R transmits</td></tr><tr><td>p<sub>AR</sub></td><td>Probability of successful reception from A at R when A transmits</td></tr><tr><td>p<sub>CB</sub></td><td>Probability of successful reception from A at B when A and R cooperate</td></tr><tr><td>p<sub>rx</sub></td><td>Probability of eavesdropping by node R</td></tr><tr><td>p<sub>tx</sub></td><td>Probability of cooperative transmission by node R</td></tr><tr><td>τ<sub>AR</sub></td><td>Mean service time of a packet from node A</td></tr><tr><td>τ<sub>RA</sub></td><td>Mean service time of a packet from node R</td></tr><tr><td>ρ<sub>AR</sub></td><td>Queue load coefficient of node A</td></tr><tr><td>ρ<sub>RA</sub></td><td>Queue load coefficient of node R</td></tr><tr><td>q<sub>A</sub></td><td>Mean queue length of node A</td></tr><tr><td>q<sub>R</sub></td><td>Mean queue length of node R</td></tr><tr><td>δ<sub>A</sub></td><td>Mean packet delay of node A</td></tr><tr><td>δ<sub>R</sub></td><td>Mean packet delay of node R</td></tr><tr><td>η<sub>A</sub></td><td>Mean departure rate of packets from node A (throughput of A)</td></tr><tr><td>η<sub>R</sub></td><td>Mean departure rate of packets from node R (throughput of R)</td></tr><tr><td>ε<sub>A</sub></td><td>Mean energy expenditure of node A</td></tr><tr><td>ε<sub>R</sub></td><td>Mean energy expenditure of node R</td></tr><tr><td>φ<sub>A</sub></td><td>Mean energy efficiency of node A</td></tr><tr><td>φ<sub>R</sub></td><td>Mean energy efficiency of node R</td></tr></tbody></table>

The client relay network operation is summarized by Algorithm 1. Accordingly, a single memory location for the eavesdropped data packets at the relay suffices for the considered client relay system operation. Importantly, the originator is unaware of the cooperative help from the relay and the relay sends no explicit acknowledgments to the originator by contrast to the approach from [10]. This enables tailoring the proposed client relay model to the contemporary cellular standards [1], [2].

The relay improves the throughput of the originator by sacrificing its own energy efficiency. Extra energy is spent by the relay on the eavesdropping, as well as on the simultaneous packet transmissions with the originator. To save some of its energy, the relay may act opportunistically. As such, in each time slot the relay may decide not to eavesdrop on the transmissions from the originator with probability $1 - p_{rx}$ and/or not to relay a packet with probability $1 - p_{tx}$. The probabilities $p_{rx}$ and $p_{tx}$ correspond to a particular client relay policy and may be used to trade overall system throughput for total energy expenditure.
# 3 Performance evaluation

## 3.1 Previous results

Our analytical approach to the performance evaluation of the client relay system [13] is based on the notion of the packet service time. The service time of the tagged packet from a node starts when this packet becomes the first one in the queue of this node and ends when its successful transmission ends. We denote the service time of a packet from node A as $T_{AR}(\lambda_A, \lambda_R) \triangleq T_{AR}$, where '△' reads as "equal by definition". Additionally, we introduce the mean service time of a packet from node A as $\tau_{AR}(\lambda_A, \lambda_R) \triangleq \tau_{AR} = E[T_{AR}]$ (see Table 1). Further, we denote by $\tau_{AR}(\lambda_A, 0) \triangleq \tau_{A0}$ the mean service time of a packet from node A conditioning on the fact that $\lambda_R = 0$. Symmetrically, we introduce respective characteristics $T_{RA}$, $\tau_{RA}$, and $\tau_{R0}$ for node R.

We established in [13] that for both system with cooperation (when $p_{AR} > 0$) and system without cooperation (when $p_{AR} = 0$) it holds that $\tau_{R0} = p_{RB}^{-1}$, whereas only for the system without cooperation it holds that $\tau_{A0} = p_{AB}^{-1}$. The derivation of $\tau_{A0}$ for the system with cooperation is a more complicated task and will be addressed below. Denote the numbers of data packets in the queues of the nodes A and R at the beginning of a particular slot t by $Q_A^{(t)}$ and $Q_R^{(t)}$ respectively. As we observe the client relay system in stationary conditions, we omit the upper index t of variables $Q_A^{(t)}$ and $Q_R^{(t)}$.

Finally, we denote the queue load coefficient of node A as $\rho_{AR}(\lambda_A, \lambda_R) \triangleq \rho_{AR}$. By definition, we have $\rho_{AR} = \Pr\{Q_A \neq 0\} = \lambda_A \tau_{AR}$. In particular, queue load coefficient of node A conditioning on the fact that $\lambda_R = 0$ may be established as $\rho_{AR}(\lambda_A, 0) \triangleq \rho_{A0} = \lambda_A \tau_{A0}$. For the system without cooperation $\rho_{A0}$ further simplifies to $\rho_{A0} = \lambda_A/p_{AB}$. The queue load coefficients $\rho_{RA}$ and $\rho_{R0}$ of node R are introduced analogously. For both systems with and without cooperation $\rho_{R0}$ further simplifies to $\rho_{R0} = \lambda_R/p_{RB}$.

Consider now the queue at node A and set $\rho_{A0} > \rho_{R0}$ as an example. The following propositions may thus be formulated [13].

**Proposition 1.** For the queue load coefficient of node A it holds:

$$ \rho_{AR} \leq \frac{\rho_{A0}}{1 - \rho_{R0}}. $$

**Proposition 2.** For the queue load coefficients of nodes A and R it holds:

$$ \rho_{AR} - \rho_{RA} = \rho_{A0} - \rho_{R0}. $$

**Proposition 3.** For the queue load coefficient of node R it holds:

$$ \rho_{RA} = \rho_{AR} - \rho_{A0} + \rho_{R0} \leq \frac{\rho_{A0}}{1 - \rho_{R0}} - \rho_{A0} + \rho_{R0}. $$

The established upper bounds on $\rho_{AR}$ and $\rho_{RA}$ hold for both systems with and without cooperation. Below we list our previous results for the system without cooperation (when $p_{AR} = 0$) and then extend the proposed analytical ap-
proach to the system with opportunistic cooperation. Firstly, our approach is applicable for establishing the exact mean departure rate of packets from (throughput of) nodes A and R. In particular, the throughput of A is given by:

$$ \eta_A = \begin{cases} \lambda_A, & \text{no saturation} \\ (1 - \lambda_R \tau_{R0}) \tau_{A0}^{-1}, & \text{saturation for A} \\ (2 \tau_{A0})^{-1}, & \text{saturation for A, R.} \end{cases} $$

The throughput of R may be derived similarly. Here, the saturation conditions are defined as follows:

- For A: $(\lambda_A \tau_{A0} + \lambda_R \tau_{R0} > 1)$ and $(\lambda_R \tau_{R0} < 0.5)$.

- For R: $(\lambda_A \tau_{A0} + \lambda_R \tau_{R0} > 1)$ and $(\lambda_A \tau_{A0} < 0.5)$.

- For both A and R: $(\lambda_A \tau_{A0} > 0.5)$ and $(\lambda_R \tau_{R0} > 0.5)$.

Secondly, we study the behavior of node A within the framework of the queueing theory. Due to the fact that the queues of nodes A and R are mutually dependent, the notorious Pollazek-Khinchine formula may not be used to obtain the exact mean queue length of node A. We, however, apply this formula to establish the approximate value of the mean queue length of node A as:

$$ q_A \approx \rho_{AR} + \frac{\lambda_A^2 E[T_{AR}^2]}{2(1 - \rho_{AR})}. $$

We introduce the following auxiliary probability:

$$ \gamma_A \triangleq \Pr\{Q_R \neq 0 | Q_A \neq 0\} = \frac{\Pr\{Q_R \neq 0, Q_A \neq 0\}}{\Pr\{Q_A \neq 0\}}. $$

Clearly, the scheduler either assigns the subsequent slot to node R with probability $0.5\gamma_A$ or assigns it to node A with the complementary probability $1-0.5\gamma_A$. After some derivations and accounting for the above propositions, we establish:

$$ 0.5\gamma_A = 1 - \frac{\rho_{A0}}{\rho_{AR}}. $$

We may obtain the following distribution for the service time of a packet from node A:

$$ \Pr\{T_{AR} = n\} = p_{AB}(1 - 0.5\gamma_A)(1 - p_{AB}(1 - 0.5\gamma_A))^{n-1}. $$

The above expression accounts for the fact that out of n slots spent to serve a packet from node A the last slot was assigned to node A and its transmission in this slot was successful. The previous n-1 slots were either not assigned to node A or its transmissions in these slots were unsuccessful.

Calculating the first and the second moment of the service time ($E[T_{AR}]$ and $E[T_{AR}^2]$), accounting for Pollazek-Khinchine formula and also using Little's formula in the form $q_A = \lambda_A \delta_A$, it is now easy to approximate the mean packet delay of node A as:
$$ \delta_A \cong \frac{\rho_{AR}}{\lambda_A} + \frac{\lambda_A(2 - p_{AB}(1 - 0.5\gamma_A))}{2(1 - \rho_{AR})p_{AB}^2(1 - 0.5\gamma_A)^2}. $$

The performance metrics of node R may be calculated analogously, due to the symmetric nature of the respective direct links. Additionally, we may obtain the exact value of the mean energy expenditure of e.g. node A as:

$$ \varepsilon_A = P_{TX}\eta_A\tau_{A0} + P_I(1 - \eta_A\tau_{A0}). $$

Here $P_{TX}$ is the average power that is spent by a node in the packet transmission state, whereas $P_I$ is the average power that is spent by the same node in the idle state. As such, the mean energy efficiencies of nodes A and R readily follow as $\varphi_A = \eta_A/\varepsilon_A$ and $\varphi_R = \eta_R/\varepsilon_R$ respectively.

## 3.2 Opportunistic cooperative system

Studying the system with opportunistic cooperation, we firstly consider an important special case when the queue at node R is always empty. We establish the distribution of the number of slots required to serve a packet from node A. By using the obtained distribution, we then generalize the proposed approach for the case of non-empty queue at node R. All the respective performance metrics for the system with opportunistic cooperation are marked by symbol '*' in the rest of the text.

**The queue at the relay is always empty** ($\lambda_R = 0$). Similarly to the derivations from the previous subsection, we may establish the sought distribution for the service time of a packet from node A as:

$$ \Pr\{T_{A0}^* = n\} = X(1 - \tilde{p}_{CB})^{n-1} - Y[(1 - p_{AB})(1 - p_{AR} \cdot p_{rx})]^{n-1}, $$

where $\tilde{p}_{CB} = p_{CB} \cdot p_{tx} + (1 - p_{tx}) p_{AB}$,

$$ X = \frac{p_{AR} \cdot p_{rx}(1 - p_{AB})\tilde{p}_{CB}}{1 - \tilde{p}_{CB} - (1 - p_{AB})(1 - p_{AR} \cdot p_{rx})}, \text{ and } Y = X - p_{AB}. $$

Coming now to the mean service time, we have the following:

$$ \tau_{A0}^* = \frac{\tilde{p}_{CB} + (1 - p_{AB})p_{AR} \cdot p_{rx}}{\tilde{p}_{CB}[p_{AB} + (1 - p_{AB})p_{AR} \cdot p_{rx}]} $$

**The queue at the relay is not always empty** ($\lambda_R > 0$).

Omitting lengthy derivations, we give the respective distribution for the service time of a packet from node A as:

$$ \Pr\{T_{AR}^* = n\} = X(1 - 0.5\gamma_A^*)(1 - \tilde{p}_{CB}(1 - 0.5\gamma_A^*))^{n-1} - Y(1 - 0.5\gamma_A^*)(1 - p_A(1 - 0.5\gamma_A^*))^{n-1}, $$

where $0.5\gamma_A^* = 1 - \rho_{A0}^*/\rho_{AR}^*$ and also $p_A = p_{AB} + p_{AR} \cdot p_{rx}(1 - p_{AB})$ for brevity.
Queue load coefficients of nodes A and R ($\rho_{AR}^*$ and $\rho_{RA}^*$) may be calculated similarly to the respective parameters for the system without cooperation accounting for the fact that $\rho_{A0}^* \triangleq \lambda_A \tau_{A0}^*$, where the expression for $\tau_{A0}^*$ is given above.

Finally, calculating the second moment of the service time, we derive the resulting expression for the approximate mean packet delay of node A as:

$$ \delta_A^* \approx \frac{\rho_{AR}^*}{\lambda_A} + \frac{\lambda_A}{2(1-\rho_{AR}^*)(1-0.5\gamma_A^*)^2} \times \\ \times \left[ X \cdot \frac{2-\tilde{p}_{CB}(1-0.5\gamma_A^*)}{\tilde{p}_{CB}^3} - Y \cdot \frac{2-p_A(1-0.5\gamma_A^*)}{p_A^3} \right], $$

where X and Y were also given above.

Accounting for $\tau_{A0}^*$, the resulting approximation for the mean packet delay $\delta_R^*$ of node R, as well as expressions for the throughput $\eta_A^*$ and $\eta_R^*$ of nodes A and R in the system with cooperation are similar to the respective metrics in the system without cooperation from the previous subsection.

Analogously, the mean energy expenditure of node A in the considered case is given by:

$$ \varepsilon_A^* = P_{TX}\eta_A^*\tau_{A0}^* + P_I(1 - \eta_A^*\tau_{A0}^*), $$

whereas the mean energy expenditure of node R may be calculated as:

$$ \varepsilon_R^* = P_{TX} \left( \eta_R^* \tau_{R0} + \eta_A^* p_{tx} \cdot \frac{1-p_{AB}\tau_{A0}^*}{\tilde{p}_{CB}-p_{AB}} \right) + P_{RX} p_{rx} \left( \eta_A^* \tau_{A0}^* - \eta_A^* \cdot \frac{1-p_{AB}\tau_{A0}^*}{\tilde{p}_{CB}-p_{AB}} \right) + \\ + P_I \left( 1 - \eta_R^* \tau_{R0} - \eta_A^* \tau_{A0}^* p_{rx} - (p_{tx} - p_{rx}) \eta_A^* \cdot \frac{1-p_{AB}\tau_{A0}^*}{\tilde{p}_{CB}-p_{AB}} \right) $$

Here $P_{RX}$ is the average power that is spent by a node in the packet reception state. As before, the mean energy efficiencies of nodes A and R are given by expressions $\varphi_A^* = \eta_A^*/\varepsilon_A^*$ and $\varphi_R^* = \eta_R^*/\varepsilon_R^*$ respectively.

# 4 Numerical results and conclusions

In this section, we validate our analytical model derived in the previous section. We use our own time-driven simulator described in [14] and [15]. Partly following [10], the simulation parameters are set as: $p_{AB} = 0.3$, $p_{RB} = 0.7$, $p_{AR} = 0.4$, $p_{CB} = 0.5$, $\lambda_R = 0.15$, whereas $\lambda_A$ is varied across the system stability region. Additionally, we normalize power consumption values from [16] by $P_{TX}$ to obtain $P_{TX} = 1.00$, $P_{RX} = 0.85$, and $P_I = 0.70$.

With respect to opportunistic cooperation, we fix the probability of cooperative transmission $p_{tx} = 1$ and study the influence of the probability of eavesdropping $p_{rx}$. In practice, it is more reasonable to control the opportunistic cooperation via $p_{rx}$ as whenever a packet is eavesdropped by the relay, it is transmitted together with the originator in the next available slot. Thus, the time spent by the relay packet in the memory location of node R is minimized.

The three cases are contrasted: no cooperation ($p_{rx} = 0$), conventional mandatory cooperation ($p_{rx} = 1$), and opportunistic cooperation ($p_{rx} = 0.5$).
<figure><img src="image_5.png" /><figcaption>Fig. 3. Mean packet delay dependence</figcaption></figure>

Firstly, we study the mean packet delay in Figure 3. We notice that the proposed approximation demonstrates excellent accordance with the simulation results. Additionally, mandatory cooperation leads to the maximum delay reduction for the originator, whereas opportunistic cooperation shows moderate mean packet delay decrease.

By contrast, Figure 4 demonstrates the drawback of the mandatory cooperation. Despite considerable delay improvement, using it results also in the highest relay energy expenditure. The relay may thus choose to cooperate opportunistically by falling back to e.g. $p_{rx} = 0.5$ and save its power. Consequently, this will lead to some energy expenditure growth for the originator, as it would have to transmit more packets on its own. As such, opportunistic cooperation makes an important practical mechanism to balance extra relay energy expenditure and cooperative benefits for the entire system.

Finally, in Figure 5 we address the maximum throughput gain of the cooperative system by varying $p_{rx}$ across its feasible range in saturation. We plot the overall throughput of both nodes A and R to conclude that client relay technique may considerably improve the performance of cellular wireless networks.

The proliferation of wireless networks introduces novel important research directions, including client cooperation, energy efficient communication, multi-radio co-existence, spectrum aggregation techniques, and others. These directions are insufficiently addressed by the conventional simulation methodology and existing analytical models, which only cover static or semi-static cellular environments [3]. In this paper, we developed a tractable dynamic model that
<figure><img src="image_6.png" /><figcaption>Fig. 4. Mean energy expenditure dependence</figcaption></figure>

may be useful to study the basic trade-offs of the cooperative networking. Its
development toward more realistic traffic arrival patterns is the direction of our
future work.

References

1. IEEE Std 802.16m (D9), Amendment to IEEE Standard for Local and metropolitan area networks. Advanced Air Interface.

2. LTE Release 10 & beyond (LTE-Advanced).

3. S. Andreev, Y. Koucheryavy, N. Himayat, P. Gonchukov, and A. Turlikov, "Active-mode power optimization in OFDMA-based wireless networks," in *Proc. of the IEEE BWA Workshop of Globecom*, 2010.

4. G. Song and Y. Li, “Asymptotic throughput analysis for channel-aware scheduling,” *IEEE Transactions on Communications*, vol. 54, no. 10, pp. 1827–1834, 2006.

5. L. Benini, A. Bogliolo, and G. de Micheli, “A survey of design techniques for system-level dynamic power management,” *IEEE Transactions on VLSI Systems*, vol. 8, pp. 299–316, 2000.

6. C. Schurgers, *Energy-Aware Wireless Communications*. PhD thesis, University of California, Los Angeles, 2002.

7. G. Miao, N. Himayat, and G. Y. Li, “Energy-efficient link adaptation in frequency-selective channels,” *IEEE Transactions on Communications*, vol. 58, no. 2, pp. 545–554, 2010.

8. S. Andreev, O. Galinina, and A. Vinel, “Performance evaluation of a three node client relay system,” *International Journal of Wireless Networks and Broadband Technologies*, 2011, to appear.
<figure><img src="image_7.png" /><figcaption>Fig. 5. Overall system throughput dependence</figcaption></figure>

9. R. Tannious and A. Nosratinia, "Spectrally efficient relay selection with limited feedback," *IEEE Journal on Selected Areas in Communications*, vol. 26, no. 8, pp. 1419-1428, 2008.

10. B. Rong and A. Ephremides, "On opportunistic cooperation for improving the stability region with multipacket reception," in *Proc. of the NET-COOP Conference*, pp. 45-59, 2009.

11. G. L. Stuber, *Principles of Mobile Communication*. Norwell, MA: Kluwer Academic Publishers, 2001.

12. S. Cui, A. Goldsmith, and A. Bahai, "Energy-efficiency of MIMO and cooperative MIMO techniques in sensor networks," *IEEE Journal on Selected Areas in Communications*, vol. 22, no. 6, pp. 1089-1098, 2004.

13. S. Andreev, O. Galinina, and A. Turlikov, "Basic client relay model for wireless cellular networks," in *Proc. of the ICUMT Congress*, 2010.

14. A. Pyattaev, S. Andreev, A. Vinel, and B. Sokolov, "Client relay simulation model for centralized wireless networks," in *Proc. of the EUROSIM Congress*, 2010.

15. A. Pyattaev, S. Andreev, Y. Koucheryavy, and D. Moltchanov, "Some modeling approaches for client relay networks," in *Proc. of the IEEE CAMAD Workshop*, 2010.

16. K. D. Turck, S. Andreev, S. D. Vuyst, D. Fiems, S. Wittevrongel, and H. Bruneel, "Performance of the IEEE 802.16e sleep mode mechanism in the presence of bidirectional traffic," in *Proc. of the IEEE ICC Conference*, 2009.
<table><caption>**Algorithm 1:** Client relay network operation</caption>
  <tr>
    <td>1:</td>
    <td>Generate new packets for A and R with λ<sub>A</sub> and λ<sub>R</sub></td>
  </tr>
  <tr>
    <td>2:</td>
    <td>{Fair stochastic round-robin scheduling}</td>
  </tr>
  <tr>
    <td>3:</td>
    <td>if both queues at A and R are not empty then</td>
  </tr>
  <tr>
    <td>4:</td>
    <td>Slot is given to either A or R with probability 0.5</td>
  </tr>
  <tr>
    <td>5:</td>
    <td>else if queue at A is not empty then</td>
  </tr>
  <tr>
    <td>6:</td>
    <td>Slot is given to A</td>
  </tr>
  <tr>
    <td>7:</td>
    <td>else if queue at R is not empty then</td>
  </tr>
  <tr>
    <td>8:</td>
    <td>Slot is given to R</td>
  </tr>
  <tr>
    <td>9:</td>
    <td>else</td>
  </tr>
  <tr>
    <td>10:</td>
    <td>Slot is idle</td>
  </tr>
  <tr>
    <td>11:</td>
    <td>{Packet transmission}</td>
  </tr>
  <tr>
    <td>12:</td>
    <td>if slot is given to A then</td>
  </tr>
  <tr>
    <td>13:</td>
    <td>if current packet from A is not stored at R then</td>
  </tr>
  <tr>
    <td>14:</td>
    <td>Packet from A is successful at B with p<sub>AB</sub></td>
  </tr>
  <tr>
    <td>15:</td>
    <td>if R has decided to eavesdrop with p<sub>rx</sub> then</td>
  </tr>
  <tr>
    <td>16:</td>
    <td>Relay eavesdrops on the packet from A</td>
  </tr>
  <tr>
    <td>17:</td>
    <td>Eavesdropping is successful with p<sub>AR</sub></td>
  </tr>
  <tr>
    <td>18:</td>
    <td>else</td>
  </tr>
  <tr>
    <td>19:</td>
    <td>Relay stays idle</td>
  </tr>
  <tr>
    <td>20:</td>
    <td>if packet from A is successful at R then</td>
  </tr>
  <tr>
    <td>21:</td>
    <td>Packet from A is stored at R</td>
  </tr>
  <tr>
    <td>22:</td>
    <td>else</td>
  </tr>
  <tr>
    <td>23:</td>
    <td>if R has decided to cooperate with p<sub>tx</sub> then</td>
  </tr>
  <tr>
    <td>24:</td>
    <td>Relay transmits stored packet simultaneously with A (trying to improve its performance)</td>
  </tr>
  <tr>
    <td>25:</td>
    <td>Packet from A is successful at B with p<sub>CB</sub></td>
  </tr>
  <tr>
    <td>26:</td>
    <td>else</td>
  </tr>
  <tr>
    <td>27:</td>
    <td>Relay stays idle</td>
  </tr>
  <tr>
    <td>28:</td>
    <td>Packet from A is successful at B with p<sub>AB</sub></td>
  </tr>
  <tr>
    <td>29:</td>
    <td>if packet from A is successful at B then</td>
  </tr>
  <tr>
    <td>30:</td>
    <td>Relay empties its single memory location</td>
  </tr>
  <tr>
    <td>31:</td>
    <td>else</td>
  </tr>
  <tr>
    <td>32:</td>
    <td>Originator retransmits in the next available slot</td>
  </tr>
  <tr>
    <td>33:</td>
    <td>else if slot is given to R then</td>
  </tr>
  <tr>
    <td>34:</td>
    <td>Packet from R is successful at B with p<sub>RB</sub></td>
  </tr>
  <tr>
    <td>35:</td>
    <td>else</td>
  </tr>
  <tr>
    <td>36:</td>
    <td>Slot is idle</td>
  </tr>
</table>