# Throughput and delay analysis of network coded ALOHA in wireless networks

- Hyun-kwan Lee
^{1}, - June Hwang
^{2}, - Seong-Lyun Kim
^{1}Email author and - Riku Jäntti
^{3}

**2012**:277

https://doi.org/10.1186/1687-1499-2012-277

© Lee et al.; licensee Springer. 2012

**Received: **9 December 2011

**Accepted: **9 August 2012

**Published: **30 August 2012

## Abstract

The purpose of this article is to analyze the impact of network coding in wireless networks. We consider a network coded ALOHA that performs bi-directional network coding over the ALOHA MAC protocol in a star topology network. The transmission probabilities of each outer node and the center node, and the target signal-to-interference-plus-noise ratio (SINR) are jointly optimized to achieve the maximum throughput of coded ALOHA. We analyze and compare the optimal performance of slotted and coded ALOHA. Under the unsaturated traffic condition at the center node, we derive practical throughput and delay, considering the network coding opportunity and the maximum queue length of the center node. Under the saturated traffic condition, we obtain a throughput upper bound of coded ALOHA to judge the ideal gain of network coding. The impact of asymmetric topology is evaluated with simulations.

## Keywords

## Introduction

The demand for high-quality mobile services has stimulated the development of new wireless network technologies. In contrast to wired networks, in which the quality of service (QoS) can be improved by increasing infrastructure density (server, communication line, router, and switch, etc.), a wireless (access) network is not easy to improve by means of infrastructure deployment. One reason is that the radio frequency is restricted and is a finite resource, and the same frequency channel cannot be used at the same time and in the same space. Due to this scarcity of radio resources, many researchers have tried to improve the performance of wireless links.

Medium access control (MAC) has been studied in order to allocate radio resources by resolving the conflicts from multiple users’ access to the common medium and improve the channel access efficiency in wireless networks. ALOHA [1], a classic MAC, was created in 1970, and has been widely used and highlighted for its simplicity. Many variations to ALOHA have also been proposed. Currently, this protocol is used in RFID [2]. The most importantly, ALOHA formed the basis for the random access MAC in wireless sensor networks and wireless LAN. However, despite its simplicity of operation, the original ALOHA has low throughput, while the slotted ALOHA, an improvement over the original, has more or less double the capacity.

The relatively low performance of ALOHA originates from its random access nature. The node having a packet accesses the medium through a Bernoulli trial with a given probability. High access probability makes for high collisions, while a low probability results in under-utilization of the radio medium. The resulting optimal access probability still shows low throughput, even in a slotted ALOHA. The variations of ALOHA mostly focus on improving time-synchronization [3, 4], channel reservation [5–7], and cross-layer optimization [8–10]. Physical layer technologies such as MIMO [11, 12] and cognitive radio [13, 14] are combined with ALOHA, and their performances are analyzed. Most of these efforts, with the exception of the adoption of new physical layer characteristics, aim to reduce idle or collision time in the overall time scale.

In the previous studies, the complex operation is required to increase the throughput of ALOHA. However, it may reduce the merit of ALOHA that is simple and easy to implement. In this article, we analyze a network coded ALOHA, which is a different type of remedy for the low throughput of ALOHA. Network coding [15] is a promising technique in improving network throughput in multi-hop networks. Intermediate nodes in the network combine code packets, and intermediate or destination receivers decode these coded packets using known packets. From the medium usage point of view, network coding gives better performance by using the medium less when compared to the traditional communication method, in which each packet uses the medium exclusively [16, 17].

To verify the effect of network coding, we investigate and analyze embedding the network coding into the ALOHA protocol^{a} in the star topology, where the center node communicates with source/destination nodes one hop away. The network throughput can be improved when the network coding opportunity in the center node increases. Outer nodes put more packets into the center node in order to increase the network coding opportunity. Therefore, the optimal access probability for each node should be calculated in the network coded situation. Besides, the impact of network coding on the delay performance should be considered. With the simulation, we also evaluate the impact of asymmetric distance in the star topology, and find the tendency of the optimal transmission probability.

There has been research into combination of ALOHA and network coding. A similar model was considered in previous studies [18, 19]. In [19], routing, MAC, and network coding are jointly optimized, but both [18, 19] did not consider the queuing effects for network coding at the intermediate node. Other than this, the most relevant article [20] analyzed the throughput and delay of network coded ALOHA. However, they considered a protocol (collision) channel model and restricted the topology to two-way relay networks. The protocol channel model is not sufficient to represent the wireless channel (e.g., transmission errors due to the channel gain and capture effect). These assumptions are relaxed in our article. Network coding gain has been analyzed [17] within the CSMA/CA MAC layer, and we determined the set of the target signal-to-interference ratio (SIR) value and the carrier-sensing range that jointly maximize the throughput. Our results in this article are summarized as follows: (1) The maximum throughput of coded ALOHA is greater than that of the conventional ALOHA (coding gain is about 1.3). (2) Under the same parameters (transmission probability and target SINR), coded ALOHA shows less delay. (3) With the optimal parameters that maximize the throughput, coded ALOHA has a tendency to increase delay. (4) A throughput upper bound on coded ALOHA is obtained to judge the gain of network coding.

The remainder of the article is organized as follows: In Section ‘System model’, we explain our system model. In Section ‘Network throughput analysis’, the throughput of ALOHA and coded ALOHA is analyzed under the finite and infinite buffers in the center node. In Section ‘Packet delay analysis’, we derive the packet delay. Our numerical results are described in Section ‘Numerical results’. Finally in Section ‘Conclusions’, we conclude the article.

## System model

### Network model

*k*+ 1 nodes in Figure 1[18]. Nodes are divided into

*k*outer nodes and one relay node in the center. This network constitutes a block in ad hoc or mesh networks, in which the multiple routes go through the center node. Let

*k*be an even number. The

*k*outer nodes are equally spaced on a circle (radius =

*r*). Every outer node (

*n*

_{1}

*n*

_{2},…,

*n*

_{ k }) establishes a bi-directional communication pair with the node in the opposite direction, and communicate with it through the center node. In Figure 1, for example, node

*n*

_{1}and

*n*

_{5}are the pair. The role of the center node is to relay packets to the appropriate outer nodes using the decode-and-forward mode. The center node does not generate its own packets. There is only two-hop communication through the center node.

We consider the capture effect so that, even if more than two nodes transmit at the same time, the data or information from source node can be decoded successfully at receiver when the signal-to-interference-plus-noise ratio (SINR) is greater than the target threshold *Θ*. The source nodes can acknowledge success or failure of the transmitted packet (ACK). We assume that such ACK feedback is through the out-of-band transmission.

### Medium access control and bi-directional network coding

The time is divided into equal-sized slots, each of which corresponds to one packet. Every node is synchronized with these time slots. At the beginning of each time slot, every outer node transmits a packet with transmission probability *p*, and the center node transmits with *p*_{
c
}. Each outer node always has packets to transmit to its destination on the opposite side. The center node relays received packets from outer nodes with the transmission probability *p*_{
c
} to appropriate destination nodes. The center node has the finite queue length, *M* in the real situation. The infinite queue length case is investigated for the asymptotic analysis. If transmission fails, the node retransmits the same packet with the same transmission probability until success is achieved.

We use bi-directional network coding at the center node, where network coding is applied for two bi-directional packets—a header packet in the queue of the center node and an opposite packet. The opposite packet is sent by the opposite node of the header packet’s transmitter. For example, when node *n*_{1} and *n*_{5} are bi-directional pair, node *n*_{1} sends packet *X*_{1} to the center node in time slot 1, node *n*_{5} sends packet *X*_{5} to the center node in time slot 2, and the center node broadcasts coded packet (*X*_{1} XOR *X*_{5}) in time slot 3. In this example, *X*_{1} is the header packet, and *X*_{5} is the opposite packet. The destination node performs the XOR operation on the coded packet with its own transmitted packet. The ACK packet from the destination node implicitly means that the coded packet is successfully delivered and decoded at the destination node.

However, when there is no opposite packet in the queue, the center node transmits the header packet as a native packet without network coding. This opportunistic scheduling is optimal in terms of the sum rate maximization for the bi-directional traffic [21].

### Transmission success probability

In Figure 1, there are three types of transmissions. First, outer nodes inject packets to the center node. Second, the center node relays the received packets to one of the outer nodes without any network coding. Finally, the center node (network) codes two bi-directional packets and transmits the coded packet to the two outer nodes. Let us denote the probability that each transmission succeeds by *P*_{in}, *P*_{out}, and *P*_{nc}, respectively.

where *n* is the number of interfering nodes, *d*_{0} is the distance between a source and its destination node, *d*_{
i
} is the distance from the interfering node *i* to the destination node, *p*_{
i
} is the transmission probability of the interfering node *i*, *P*_{0} is the transmission power of all transmitting nodes, *N*_{0} is the noise power, and *Θ* is the target SINR threshold. In this article, we assume that every outer node has the same transmission probability *p*_{
i
} = *p* and the center node has *p*_{
c
}. This probability is conditioned that the source node transmits and the receiver node does not participate the transmission.

*P*

_{in}, by replacing

*d*

_{ i }=

*d*

_{0}=

*r*and

*n*=

*k*− 1:

*P*

_{out}, by replacing

*d*

_{0}=

*r*and the other distances ${d}_{i}=2\phantom{\rule{1em}{0ex}}rsin\left(\frac{\mathrm{\Pi i}}{k}\right),i=1,\dots ,k-1$, when the center node transmits and the destination outer node does not transmit:

*P*

_{nc}, consists of three probabilities $\{{P}_{\mathrm{n}c}^{\left(1\right)},{P}_{\mathrm{n}c}^{\left(2\right)},{P}_{\mathrm{n}c}^{\left(3\right)}\}$ with the condition that the center node transmits. One of three events occurs when the coded packet is successfully transmitted: (i) Two destination nodes successfully receive the coded packet with probability ${P}_{\mathrm{n}c}^{\left(1\right)}$. (ii) One destination node receives the coded packet, while another destination node fails due to a collision with itself with probability ${P}_{\mathrm{n}c}^{\left(2\right)}$ (i.e., one of two destination nodes transmits). (iii) One destination receives and another destination fails due to channel errors with probability ${P}_{\mathrm{n}c}^{\left(3\right)}$ (i.e., both destination nodes does not transmit). These probabilities are derived in Appendix 1 as:

## Network throughput analysis

In this article, the throughput is defined as the average amount of received data by the outer nodes in a unit time slot. It is the result of multiplying the average number of received packets at the outer nodes by the amount of information in a single packet. We can increase the amount of information in a single packet using a high target SINR.

However, at the same time, the high target SINR reduces the transmission success probability and the average number of received packets at the destination nodes. In this section, we obtain the maximum throughput under the both of saturated and unsaturated traffic conditions. The saturated traffic condition means that the center node always has enough packets for the network coding. This condition makes the maximum coding opportunity in the infinite queue length of the center node $(M=\infty )$. From this, we can obtain a throughput upper bound. On the other hand, the unsaturated traffic condition reflects the actual dynamics of the center node’s queue, and gives us a precise throughput with the finite queue length and actual coding opportunity.

### Unsaturated traffic

The center node may have a queue state such that it cannot operate the network coding process and transmits the header packet as a native packet. The state of the center node should be described as a sequence of packets in the queue. Unfortunately, because the state dimension increases with the number of flows, it is difficult to derive the steady state probability. Thus, we approximate the queue state by considering only the number of packets in the queue (the accuracy of our approximation is verified by the numerical evaluation in Section ‘Numerical results’). Let us define *X*_{
t
}as the number of packets in the queue at time *t*, where *M* is the maximum queue length (*X*_{
t
}≤*M*). Let *Π*_{
m
} denotes the stationary probability ${\Pi}_{m}=\underset{t\to \infty}{lim}Pr[{X}_{t}=m]$ of ALOHA and ${\Pi}_{m}^{\mathrm{n}c}$ denotes that of coded ALOHA.

*X*

_{ t }can be derived from transmission success probabilities,

*P*

_{in}and

*P*

_{out}, in Section ‘Transmission success probability’. The probabilities ${\lambda}_{0}=Pr[{X}_{t+1}=1|{X}_{t}=0]$ and $\lambda =Pr[{X}_{t+1}=m+1|{X}_{t}=m]$ where

*m*≥ 1, can be modeled as follows:

*p*

_{ i }=

*p*is the transmission probability of outer node

*i*, and

*p*

_{ c }is that of the center node. For the ALOHA (non-network coding) case, the transition probability $\mu =Pr[{X}_{k+1}=m-1|{X}_{k}=m]$ for

*m*≥ 1, is represented as follows:

*λ*

_{0},

*λ*and

*μ*, the queue of the center node is modeled as a birth-death process in Figure 2. By solving this Markov chain, we can obtain the steady state probability

*Π*

_{ m }.

where $L={log}_{2}(1+\Theta )$ denotes the amount of data successfully delivered through unit bandwidth.

In coded ALOHA, the state diagram of the center node is complicated. With the successful transmission of a coded packet, the queue state moves to the state with two fewer packets. The number of packets in the queue does not provide sufficient information to determine whether network coding is possible. There may be no opposite packet, even if there are many packets in the queue. To quantify this, we introduce *q*(*m*), the network coding probability when there are *m* packets in the queue.

*q*(

*m*), let us define the injection rate,

*r*

_{ i }, which denotes the probability that a packet in the center node queue is from node

*i*. When every outer node has the same condition, the injection rate of every outer node is same to 1/

*k*. Assuming outer node

*i*is the bi-directional pair with outer node

*j*, to do network coding at a given time in the center node, the center node queue has to have the opposite packet for the header one, i.e., if header one is from node

*i*, then packets from node

*j*should exist in the queue. Therefore, the network coding probability can be obtained as follows:

*q*(

*m*), we can calculate the state transition probability. First, let us consider the transmission success probability ${P}_{\mathrm{n}c}^{\left(1\right)}$. In Figure 3, the state transition probability with the network coding ${\mu}_{C}\left(m\right)=Pr[{X}_{t+1}=m-2|{X}_{t}=m]$ is expressed as

*q*(

*m*), the center node transmits a header packet as a native packet. In this case, the state transition is similar to ALOHA. Additionally, the coded packet transmission can be partially successful, with a probability of ${P}_{\mathrm{n}c}^{\left(2\right)}$ or ${P}_{\mathrm{n}c}^{\left(3\right)}$. The single-state transition ${\mu}_{N}\left(m\right)=Pr[{X}_{t+1}=m-1|{X}_{t}=m]$ is the sum of a successful header packet transmission and the partial success of the coded packet. Using ${P}_{\mathrm{n}c}^{\left(2\right)}$ or ${P}_{\mathrm{n}c}^{\left(3\right)}$,

*μ*

_{ N }(

*m*) is summarized as

When there is only one packet in the center node (*m* = 1), the transition probability simplifies to *μ*_{
N
}(1) = *p*_{
c
}(1 − *p*)*P*_{out}.

The detailed derivation of state probabilities ${\Pi}_{m}^{\mathrm{n}c}$ and the throughput are included in Appendix 2.

### Saturated traffic

*q*(

*m*) is equal to 1, we have an upper bound on the throughput. The condition is achieved when the queue length of the center node tends to infinity. To proceed further, we borrow results from our previous article [18]. There are three types of flows: an input flow to the center node, an output flow from the center node, with and without network coding, denoted as ${S}_{\mathrm{in}}^{f}$, ${S}_{\mathrm{nc}}^{f}$ and ${S}_{\mathit{\text{out}}}^{f}$, respectively

^{b}. With the transmission success probabilities in Section ‘Transmission success probability’, we calculate ${S}_{\mathrm{in}}^{f}$, ${S}_{\mathit{\text{out}}}^{f}$, and ${S}_{\mathrm{nc}}^{f}$ as follows:

*packet conservation law*constraint. The packet conservation law at the center node (${S}_{\mathrm{i}n}^{f}={S}_{\mathit{\text{out}}}^{f}$) is needed to maintain the saturated condition at the center node [23, 24]. Consequently, the transmission probability of the center node is given by:

*p*, which satisfies the packet conservation law at the center node:

where (21) is obtained by substituting (20) into (17).

By solving $\frac{\partial}{\mathrm{\partial p}}{S}_{\mathrm{o}\mathrm{ut}}^{f}=0$ and $\frac{\partial}{\mathrm{\partial p}}{S}_{\mathrm{n}c}^{f}=0$, we find the maximal throughput and the optimal transmission probabilities *p*^{∗} and $\phantom{\rule{1em}{0ex}}{p}_{c}^{\ast}$, respectively. Unfortunately, the differential equations do not have solutions as a closed-form. Instead, we provide an approximation for *p*^{∗} and ${p}_{c}^{\ast}$ as follows:

#### Proposition 1

*Θ*increases, then the optimal transmission probability of the outer node

*p*

^{∗}maximizing the throughput in ALOHA and coded ALOHA converges to:

#### Proof

See Appendix 3.

Once we have an approximate value for *p*^{∗}, we can derive the optimal value for ${p}_{c}^{\ast}$ (18) or (20). Our simulations in Section ‘Numerical results’ verify that the formula matches the numerical results, even in low target SINR *Θ* cases. □

## Packet delay analysis

*N*

_{ R }follows the geometric random distribution, with success probability

*P*

_{ R }. The average number of retransmissions is

*E*[

*N*

_{ R }] = (1 −

*P*

_{ R })/

*P*

_{ R }where ${P}_{R}=(1-{p}_{c}){P}_{\mathrm{i}n}(1-{\Pi}_{0}^{\mathrm{n}c})+{P}_{\mathrm{i}n}{\Pi}_{0}^{\mathrm{n}c}=\left(\lambda \right(1-{\Pi}_{0}^{\mathrm{n}c})+{\lambda}_{0}{\Pi}_{0}^{\mathrm{n}c})/\left(\mathrm{kp}\right)$. On average, the outer nodes waits 1/

*p*times to retransmit the packet. Thus the retransmission delay is

*E*

*N*

_{ R }/

*p*. With Little’s law, the queueing delay is derived as ${E}_{\mathrm{n}c}\left[m\right]/\stackrel{\u0304}{\lambda}$ where $\stackrel{\u0304}{\lambda}=\lambda (1-{\Pi}_{0}^{\mathrm{n}c})+{\lambda}_{0}{\Pi}_{0}^{\mathrm{n}c}$ is the average packet arrival rate at the center node, and

*E*

_{nc}is the expected number of packets in the center node of coded ALOHA. In conclusion, the packet delay of coded ALOHA is derived as follows:

The packet delay of ALOHA, *D*, is identical to (22), after replacing ${\Pi}_{m}^{\mathrm{n}c}$ by *Π*_{
m
}. Both ${\Pi}_{m}^{\mathrm{n}c}$ and *Π*_{
m
} are derived in Appendix 2.

In the previous section, we found the optimal parameters that maximize the throughput of ALOHA and coded ALOHA. As shown in the numerical example section that follows, the optimal *p*^{∗} of coded ALOHA is higher than that of ALOHA while the optimal ${p}_{c}^{\ast}$ of coded ALOHA is lower than that of ALOHA. This can be also identified by Proposition 1 under the saturated traffic condition. With a higher *p* and lower *p*_{
c
}, coded ALOHA has a higher packet injection rate from outer nodes to the center node than dose ALOHA. This rate results in more queued packets *E*_{nc}[*m*] at the center node, a higher network coding opportunity, and increases the throughput of coded ALOHA accordingly. However, the packet delay is dominated by the queueing delay, and becomes larger than that of ALOHA. This is the trade-off between throughput and delay in coded ALOHA for the optimal throughput point. In the following section, we show that this trade-off property is not valid for non-optimal solution cases.

### Proposition 2

*Under the same parameters of transmission probabilities* *p*, *p*_{
c
}, *and the target SINR* *Θ*, *coded ALOHA has a less than or equal packet delay when compared to ALOHA,* *D*_{nc} ≤ *D*.

#### Proof

ALOHA and coded ALOHA have the same access delay and arrival rate. However, due to the different service rates, ALOHA and coded ALOHA have a different number of queued packets in the center node (i.e., *E*_{nc}[*m*] ≠ *E*[*m*]). From the throughput of ALOHA, ${S}_{\mathrm{o}\mathrm{ut}}^{q}$ (10), we can define the service rate of ALOHA as *μ*(9). Similarly, the service rate of coded ALOHA can be defined as *μ*_{nc} = 2*μ*_{
C
}(*m*) + *μ*_{
N
}(*m*), from the throughput of coded ALOHA, ${S}_{\mathrm{n}c}^{q}$ (14). When the coding opportunity *q*(*m*) = 0, the service rate of coded ALOHA is equal to that of ALOHA, *μ*_{nc} = *μ*. However, when the coding opportunity *q*(*m*) = 1, the service rate of coded ALOHA is *μ*_{nc} = 2*μ*. Because 0 ≤ *q*(*m*) ≤ 1, the service rate of coded ALOHA exists in the interval of *μ* ≤ *μ*_{nc} ≤ 2*μ*. The higher service rate of coded ALOHA can result in fewer queued packets in the center node, *E*_{nc}[*m*] ≤ *E*[*m*], and less delay, *D*_{nc} ≤ *D*. □

## Numerical results

*P*

_{0}= 1, radius of the topology

*r*= 1, and path loss attenuation factor

*α*= 4. We obtain the maximum throughput by jointly optimizing the transmission probabilities (

*p*and

*p*

_{ c }) and the target SINR (

*Θ*). Figures 4, 5 and 6 depict the relationships between the throughput and the three parameters

*p*,

*p*

_{ c }and

*Θ*, respectively, with the number of outer nodes (

*k*= 4) and the maximum queue length (

*M*= 100) in the unsaturated case.

As shown in Figure 4, there is a unique optimal transmission probability, *p*^{∗}, which achieves the maximum throughput. With the optimal ${p}_{c}^{\ast}$, the throughput of coded ALOHA ${S}_{\mathrm{n}c}^{q}$ (14) is maximized at *p*^{∗} = 0.18 and that of ALOHA ${S}_{\mathrm{o}\mathrm{ut}}^{q}$ (10) at *p*^{∗} = 0.15. Similarly, in Figure 5, there is a unique optimal point in coded ALOHA (${p}_{c}^{\ast}=0.30$) while the throughput of ALOHA monotonically increases and converges to a certain value with the optimal *p*^{∗}. The maximum throughput of ALOHA is achieved in the interval of 0.43 ≤ *p*_{
c
} ≤ 1. These optimal parameters *p*^{∗}and ${p}_{c}^{\ast}$ are obtained from numerical enumeration. In both figures, the maximum throughput values of ALOHA and coded ALOHA are ${S}_{\mathrm{o}\mathrm{ut}}^{q}=1.3256$ and ${S}_{\mathrm{n}c}^{q}=1.6733$, respectively. Using the network coding, a higher throughput is achieved with a smaller transmission probability of the center node. It allows outer nodes to transmit for more packets to the center node, and this makes more coding opportunity in the center node. Although increasing *p* might cause more collision events with other outer nodes or the center node, the network coding gain is much higher than the cost of higher collision. However, for high *p*, both throughput curves converge to zero due to overmany collisions.

In Figure 5, both throughput curves of ALOHA and coded ALOHA converge to 1.3, not to zero when *p*_{
c
} goes to 1. It is because *p*_{
c
} is a conditional transmission probability when the center node has packets in its queue. If there is no packet in the center node queue, the center node cannot participate the transmission even if *p*_{
c
} = 1. Increasing *p*_{
c
} makes higher service rate of the center node queue, which results in higher throughput. However, for high *p*_{
c
}, throughput curve of ALOHA converges to 1.3 due to the limit of injection rate to the center node. For low *p*_{
c
}, coded ALOHA can achieve higher throughput than ALOHA because coded ALOHA can send two packets at once using network coding. However, high *p*_{
c
} reduces the number of packets in the center node and the coding opportunity. Thus, as *p*_{
c
} increases, the coding gain converges to zero, and the throughput of coded ALOHA converges to that of ALOHA. The simulation results are averages of 100 independent samples over 10000 time slots. It can be seen that our analysis matches the simulation results well.

We can increase the throughput by selecting an optimal target SINR *Θ* of the PHY layer. The effect of selecting the target SINR *Θ* is shown in Figure 6. Throughput curves are concave and there is an optimal point in each curve. With a high target SINR, we can send the packet with high spectral efficiency, however, the transmission success probability of that packet is low. In contrast, with a low target SINR, we can send many packets that include little information. As a result of the numerical evaluation, the optimal target SINR that maximizes the throughput is 22.55 dB when transmit power to noise ratio *P*_{0}/*N*_{0} = 30 dB, and is 14.77 dB when transmit power to noise ratio *P*_{0}/*N*_{0} = 20 dB. When the noise level increases, the optimal target SINR should decrease to reduce the channel error.

*k*, and the maximum queue length,

*M*, affect the network performance. Figure 7 depicts the throughput as a function of

*k*. Due to the interference and increase in collisions, the throughput of both ALOHA and coded ALOHA decrease as

*k*increases. This is the cost of the random access scheme. The dash-dot line ($M=\infty $) is a throughput upper bound ${S}_{\mathrm{n}c}^{f}$ (21) that is obtained from the saturated traffic condition of the center node. For convenience, we use the notation $M=\infty $ for the saturated condition. Three solid lines represent the throughput ${S}_{\mathrm{n}c}^{q}$ (14) with the finite queue lengths which are obtained from queueing analysis. The throughput ${S}_{\mathrm{n}c}^{q}$ converges to the throughput upper bound ${S}_{\mathrm{n}c}^{f}$ when the queue length (

*M*) increases. With the small queue size and many outer nodes, the coding opportunity

*q*(

*m*) goes to zero, and the throughput of coded ALOHA diminishes and approaches that of ALOHA. Note that the throughput of ALOHA, ${S}_{\mathit{\text{out}}}^{q}$ (10), is equal to ${S}_{\mathit{\text{out}}}^{f}$ (19), regardless of the queue length (

*M*). The reason is that the optimal solution of ALOHA makes the center node push out the packet received from the outer nodes immediately.

*p*and

*Θ*domain. We see the approximation error is sufficiently small, even with a small transmit power to noise ratio

*P*

_{0}/

*N*

_{0}=10 dB. Thus, we can easily use the closed-form solution of transmission probabilities,

*p*

^{∗}and ${p}_{c}^{\ast}$, instead of those from searching the entire

*p*and

*Θ*domain.

*D*

_{nc}and

*D*are verified by simulations. The coded ALOHA has a unique throughput-optimal parameter set (

*p*

^{∗}, ${p}_{c}^{\ast}$,

*Θ*

^{∗}), while ALOHA has multiple optima due to multiple ${p}_{c}^{\ast}$. The packet delay of ALOHA is set to the minimum value that can be achieved in multiple optimal parameter sets. As a result, the optimal transmission probability of ALOHA, ${p}_{c}^{\ast}$ converges to 1. While

*D*is independent of the queue size, coded ALOHA stores packets to increase the coding opportunity, and it has a longer delay as the queue size

*M*increases.

*M*increases, coded ALOHA achieves a higher throughput and a longer delay than those of ALOHA. To increase the throughput with network coding, the coded ALOHA needs some stored packets to generate network coded packets. Thus, the expected number of queued packets increases with the queue size of

*M*, causing the queueing delay at the center node. With the large number of outer nodes,

*k*, both throughput and delay performance of coded ALOHA degrade due to low coding opportunity.

*p*

_{ c }without changing the other parameters. With a higher service rate at the center node, the actual queue size is reduced and the coding opportunity is decreased. Because the delay is very sensitive to the value of

*p*

_{ c }, it can significantly reduce the delay with the least throughput loss, as shown in Figure 11. Moreover it can be used simply at the center node. (b) Decrease

*p*without changing the other parameters. With a lower injection rate of outer nodes, the center node has a small number of packets in its queue, and so the coding opportunity is decreased. It sustains a larger throughput loss than does the

*p*

_{ c }control case. However, it has a strong point in energy consumption because many outer nodes reduce the transmission trials and save that transmission energy. (c) Decrease

*M*without changing the other parameters. This uses a small queue for a low coding opportunity. It can also be easily adopted at the center node, but it has a high blocking problem at the center node. (d) Scheduling of ALOHA and coded ALOHA. This switches the transmission mode between ALOHA and coded ALOHA. For certain time duration, the center node performs the network coding with optimal parameters, and changes the operation to general ALOHA, afterwards. The performance of scheduling lies on a certain point on the dotted line in Figure 11. From Figure 11, we can notice that delay is much sensitive than throughput to small change of parameters that maximize the throughput. This can be utilized to effectively reduce the delay of coded ALOHA. As a result, increasing

*p*

_{ c }is the best in order to reduce the significant delay with the least throughput loss, and decreasing

*p*may be suitable for sensor networks that need to save transmission energy.

*k*is 2 and the distance between the center node and node 2,

*d*

_{2}, changes from 1 to 2. With the simulation, the maximum throughput and the optimal transmission probabilities of outer nodes,

*p*

_{1}and

*p*

_{2}, are obtained where the target SINR

*Θ*and the transmission probability of the center node

*p*

_{ c }are fixed to the optimal value for

*d*

_{2}= 1 case. It is obvious that longer distance

*d*

_{2}makes worse wireless channel condition and reduces the throughput of the network. As distance

*d*

_{2}increases, the transmission probability of

*n*

_{2}(

*p*

_{2}) increases and that of

*n*

_{1}(

*p*

_{1}) decreases in order to balance the injection rates (

*r*

_{1}and

*r*

_{2}) to the center node. The balanced injection rates are helpful to maintain the high coding opportunity at the center node. When

*d*

_{2}= 2, eventually, the optimal transmission probabilities converse to one directional ALOHA. In the one directional ALOHA, the network can achieve the higher throughput by turning off the close node

*n*

_{1}. It is because the wireless link from the center node to

*n*

_{2}has the lowest capacity due to the long distance

*d*

_{2}and the interference from

*n*

_{1}.

## Conclusions

In this article, we presented a coded ALOHA that performs the bi-directional network coding over ALOHA. We mathematically analyzed the performance of coded ALOHA in terms of throughput and delay. To maximize the throughput of coded ALOHA, the transmission probabilities (*p* and *p*_{
c
}) and the target SINR *Θ* were jointly optimized. The throughput of coded ALOHA was derived under the both unsaturated and saturated traffic conditions at the center node. Under the saturated condition, we obtained a throughput upper bound with the perfect network coding opportunity, and presented a closed form formula for the optimal transmission probability. The result of the unsaturated condition showed that the throughput of coded ALOHA converges to that of the saturated condition with a sufficiently large queue size. Additionally, as the topology becomes asymmetric, the optimal transmission probabilities of outer nodes try to balance the injection rates for higher coding opportunity. In slotted ALOHA, it can bring higher throughput by turning off the close node’s transmission.

With the same parameters, throughput of coded ALOHA is higher than that of ALOHA, and the delay of coded ALOHA is shorter than that of ALOHA. Moreover, with same throughput condition, coded ALOHA can have shorter delay than ALOHA. However, with their own optimal parameters, coded ALOHA has higher throughput and higher packet delay than those of ALOHA. For the optimal parameters, coded ALOHA has higher *p* and lower *p*_{
c
} than those of ALOHA. This solution reflects the increased coding opportunity, since network coding has the benefit only when the system gets the opportunity to do it and this opportunity can be raised by stacking more candidate packets in the coding node repository. However, the packet delay is increasing by this solution since the average queueing delay of packets increases. The existence of significant queueing delay is the main reason of this throughput-delay tradeoff which looks weird at the first glance. In an engineering perspective, coded ALOHA is better to be used in the situation where the traffic is highly generated as of optimal *p*^{∗} and the time bound of application is relatively loose such as sensor network measuring a temperature or humidity of some region (delay tolerant network). Furthermore we compared four ways to consider the delay QoS, and found that increasing *p*_{
c
} has the best performance in term of throughput loss and decreasing *p* can be a good solution in term of energy consumption.

## Endnotes

^{a}For convenience, we shall refer to slotted ALOHA as ALOHA. ^{b}We use the superscript “*f*” to denote the saturated case and “*q*” to denote the unsaturated case in (14).

## Appendix 1

### Derivation of the transmission success probability

*n*=

*k*− 2 and the interfering distance is ${d}_{i}=2\phantom{\rule{1em}{0ex}}rsin\left(\frac{\mathrm{\Pi i}}{k}\right)$ for $i=1,\dots ,k-1$,

*i*≠

*k*/ 2. Then, the transmission success probability ${P}_{\mathrm{n}c}^{\left(1\right)}$ is given by:

where *Q*_{
i
} = *g*_{
ij
}*P*_{
j
}is the received power as an exponential random variable with mean ${\stackrel{\u0304}{Q}}_{i}={P}_{j}/{d}_{\mathrm{ij}}^{\alpha}$, Aggregate interference is $I=\sum _{i=1}^{n}{C}_{i}{Q}_{i}$, and *C*_{
i
} is a sequence of *i.i.d.* Bernoulli random variables with *P*(*C*_{
i
} = 1) = *p* and *P*(*C*_{
i
} = 0) = 1 − *p*. The coded packet is successfully delivered when both destinations have higher SINR than the target SINR *Θ*.

*j*, is busy; and the other,

*i*, is idle. In this case, the node on the opposite side,

*j*, interferes with probability 1. Therefore, it can be derived with

*n*=

*k*− 1 and interfering distance ${d}_{l}=2\phantom{\rule{1em}{0ex}}rsin\left(\frac{\mathrm{\Pi l}}{k}\right),l=1,\dots ,k-1$ as:

*j*, fails to receive the coded packet, while the other destination node,

*i*, successfully receives the coded packet. This success probability can be derived as:

## Appendix 2

### Queueing analysis of network coding

where *z* in (32) is a normalization factor. Combining (32)-(35) and the normalization equation, we can obtain the normalization factor *z* and the steady state probability ${\Pi}_{m}^{\mathrm{n}c}$.

*X*

_{ m }, the system throughput, the average spectral efficiency of successful packet transmission can be 2

*L*

*μ*

_{ C }(

*m*) or

*L*

*μ*

_{ N }(

*m*) depending on the success of network coding. With the successful coded packet transmission, the throughput is doubled since two packets are delivered to their destinations at once. Using ${\Pi}_{m}^{\mathrm{n}c}$, the throughput of network coding ${S}_{\mathrm{n}c}^{q}$ can be represented as:

## Appendix 3

### Proof of proposition 1

*p*, we have:

*p*

_{ c }and

*P*

_{in}are functions of the outer node transmission probability

*p*as (20) and (2), respectively. In (20),

*P*

_{out}/

*P*

_{in}can be simplified when the target SINR

*Θ*increases:

*p*

_{ c }can be rewritten as follows:

*Θ*increases, $\frac{\Theta}{{1}^{\alpha}+\Theta}\to 1$, and the third term of (38) can be rewritten as:

*p*is given as:

*p*

_{ c }in (40) as follows:

## Declarations

### Acknowledgements

This research was supported by the MKE (The Ministry of Knowledge Economy), Korea, under the ITRC (Information Technology Research Center) support program supervised by the NIPA (National IT Industry Promotion Agency), (NIPA-2012-(H0301-12-1003)).

## Authors’ Affiliations

## References

- Abramson N: The ALOHA system - another alternative for computer communication.
*Proceedings of the 1970 Fall Joint computer Conference*vol. 37 (AFIPS Press, 1970), pp. 281–285Google Scholar - EPCglobal: Epc radio-requency identify protocols class-1 generation-2 UHF RFID protocol for communications at 860MHz-960MHz version 1. 2. 0. (2008).Google Scholar
- Kleinrock L, Lam SS: Packet-switching in a slotted satellite channel. Proceedings of National Computer Conference AFIPS Press, 1973. pp. 703–710Google Scholar
- Roberts LG: ALOHA packet system with and without slots and capture.
*ACM SIGCOMM Comp. Commun. R*1975, 5(2):28-42. 10.1145/1024916.1024920View ArticleGoogle Scholar - Roberts LG: Dynamic allocation of satellite capacity through packet reservation.
*Proceedings of National Computer Conference*AFIPS Press, 1973, pp. 711–716Google Scholar - Growther W, Rettberg R, Walden D, Ornstein S, Heart F: A system for broadcast communication: reservation ALOHA.
*Proceedings of 6th Hawaii International Conference on System Sciences*(Honolulu, 1973). pp. 711–716Google Scholar - Binder R: A dynamic packet switching system for satellite broadcast channels.
*Proceedings of IEEE ICC*(San Francisco, 1975). pp. 41.1–41.5Google Scholar - Dimic G, Sidiropoulos ND, Zhang R: Medium access control-physical cross-layer design.
*IEEE Signal Proc. Mag*2004, 21(5):40-50. 10.1109/MSP.2004.1328087View ArticleGoogle Scholar - Wang X, Kar K: Cross-layer rate control for end-to-end proportional fairness in wireless networks with random access.
*IEEE J. Sel. Areas Commun*2006, 24(8):1548-1559.View ArticleGoogle Scholar - Lin X, Shroff NB, Srikant R: A tutorial on cross-layer optimization in wireless networks.
*IEEE J. Sel. Areas Commun*2006, 24(8):1452-1463.View ArticleGoogle Scholar - Lin R, Petropulu AP: A new wireless network medium access protocol based on cooperation.
*IEEE T. Signal Process*2005, 53(12):4675-4684.MathSciNetView ArticleGoogle Scholar - Lin Y, Wong VWS: Cross-layer design of MIMO-enabled WLANs with network utility maximization.
*IEEE T. Veh. Technol*2009, 58(5):2443-2456.View ArticleGoogle Scholar - Choe S: Performance analysis of slotted ALOHA based multi-channel cognitive packet radio network.
*Proceedings of IEEE CCNC*(Las Vegas, 2009. pp. 1–5Google Scholar - Yang Z, Yao YD, Zheng D: Random access in a cognitive radio network with slotted ALOHA for primary users and CSMA for secondary users.
*Proceedings of IEEE Sarnoff Symposium*(Princeton, 2010). pp. 1–5Google Scholar - Ahlswede R, Cai N, Li S-YR, Yeung RW: Network information flow.
*IEEE T. Inf. Theory*2000, 46(4):1204-1216. 10.1109/18.850663MathSciNetView ArticleGoogle Scholar - Katti S, Rahul H, Hu W, Katabi D, Médard M, Crowcroft J: XORs in the air: practical wireless network coding.
*IEEE ACM T. Network*2008, 16(3):497-510.View ArticleGoogle Scholar - Hwang J, Kim S-L: Cross-layer optimization and network coding in CSMA/CA based wireless multihop networks.
*IEEE ACM T. Network*2011, 19(4):1028-1042.View ArticleGoogle Scholar - Lee H-K, Kim S-L: Network coded ALOHA for wireless multihop networks.
*Proceedings of IEEE WCNC*Budapest, Hungary, 2009. pp. 1866–1870Google Scholar - Uddin MF:
*Throughput optimization in multi-hop wireless networks with random access: Ph.D dissertation.*University of Waterloo; 2011.Google Scholar - Umehara D, Hirano T, Denno S, Morikura M, Sugiyama T: Wireless network coding in slotted ALOHA with two-hop unbalanced traffic.
*IEEE J. Sel. Areas Commun*2009, 27(5):647-661.View ArticleGoogle Scholar - Liu CH, Xue F: Network coding for two-way relaying: rate region, sum rate and opportunistic scheduling.
*Proceedings of IEEE ICC*Beijing, China, 2008. pp. 1044–1049Google Scholar - Liu X, Haenggi M: Throughput analysis of fading sensor networks with regular and random topologies.
*EURASIP J. Wirel. Commun*2005, 2005(4):554-564.Google Scholar - Sagduyu YE, Ephremides A: On joint MAC and network coding in wireless ad hoc networks.
*IEEE T. Inf. Theory*2007, 53(10):3697-3713.MathSciNetView ArticleGoogle Scholar - Gitman I: On the capacity of slotted ALOHA networks and some design problems.
*IEEE T. Commun*1975, 23(3):305-317. 10.1109/TCOM.1975.1092805MathSciNetView ArticleGoogle Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.