Keywords

1 Introduction

Machine-to-machine (M2M) communication is a basic form of communications in the Internet of Things (IoT), mainly involving seamless exchange of information among a large number of devices without human interference [1]. M2M applications include all aspects of life, such as smart home, smart health, smart grid and industrial automation [2]. In these applications, the number of nodes is very large, for example, in the field of smart meters, the number of smart meters is expected to be 35,670/cell with a radius of 2 km in urban London [3]. In such an environment, it is crucial to ensure such a large number of nodes can successfully access the channel. In addition, the energy efficiency is also a key metric for devices powered by battery, e.g. in IoT. 3GPP organization has specified that the battery life should reach to more than 10 years in Massive IoT [4]. To achieve this goal, the access mechanism should have high energy efficiency.

There have been many solutions aiming to alleviate channel contention for M2M communications. In [5], authors introduced a protocol that each node takes turns to access the channel. Although the wireless source can be allocated flexibly in a time division protocol, the strict time synchronization is difficult to implement. Authors in [6] divided the space into several parts, and used different timing alignment (TA) values for each location to distinguish between different nodes. Besides the time and space division, nodes can be grouped by using different frequency bands. In [7, 8], authors proposed multi-channel Carrier Sense Multiple Access (CSMA) protocols. In particular, spectrum sensing was adopted in [7], with which, the coordinator will help each node to choose one less crowded channel to improve the spectral efficiency if the load in one channel is too heavy. [8] adopted an adaptive backoff algorithm, enabling each station to attempt data transmissions on the high signal-to-noise ratio (SNR) sub-channel. These schemes aimed to improve the throughput, yet did not characterize the delay and energy efficiency performance.

In this paper, we apply a multi-channel non-persistent CSMA protocol for M2M communications. By dividing the whole frequency band into n sub-bands, the number of competing nodes in each sub-band is reduced, leading to a lower collision probability. With a narrower bandwidth of each sub-band, nevertheless, the transmission time of each packet becomes longer. To see whether the band partitioning is beneficial, we characterize the delay and energy efficiency performance of multi-channel non-persistent CSMA. It is found that the delay and energy efficiency performance of multi-channel CSMA is critically determined by the traffic load. When the traffic load exceeds certain thresholds, a larger number of sub-channels is preferable. Moreover, the packet size and the SNR has a crucial effect on the thresholds. Based on this, the number of sub-channels can be optimally chosen accordingly to the traffic load to make sure that the system operates in the optimum working zone.

The rest of the paper is structured as follows: Sect. 2 describes the system model and multi-channel CSMA protocol. We then analyse the performance of multi-channel CSMA protocol in Sect. 3. In Sect. 4, we present the performance of multi-channel CSMA with different number of sub-channels. Finally, Sect. 5 concludes the paper.

2 System Model

Considering a cell with a large number of IoT nodes scattered in the cell. Each node adopts CSMA to access the channel, as this protocol does not require additional control overhead and can adapt well to changes in the number of nodes accessing the Base Station (BS) [9]. Generally, CSMA protocol has three mechanisms, namely 1-persistent CSMA, p-persistent CSMA and non-persistent CSMA. Among them, non-persistent CSMA does not continue to listen on the channel. If the channel is busy, it will wait for a while and listen again. If the channel is idle, the data will be sent immediately. Due to its simplicity, we focus on non-persistent CSMA in this paper.

Fig. 1.
figure 1

n-channel non-persistent CSMA.

When the traffic load is heavy, nevertheless, the CSMA protocol will lead to a serious conflict among nodes. To alleviate the channel contention, we consider a multi-channel CSMA protocol, where the entire frequency band is divided into several sub-bands, and nodes that use the same sub-band belongs to one group. As an example, it is shown in Fig. 1b that the entire frequency band is divided into three sub-bands and 6 nodes are divided into 3 groups. Nodes from different groups can transmit data at the same time without causing collisions. As each node only competes with other nodes in the same sub-channel, the channel contention can be alleviated.

Fig. 2.
figure 2

Cycle structure of non-persistent CSMA.

3 Performance Analysis

To analyze the performance of the networks, we can focus on one of these n channels. Figure 2 demonstrates that the channel has two states, including the busy state and the idle state. The transition probability between the two states is 1, and the probability of being idle and being busy is same, so we have \({\pi _{idle}} = {\pi _{busy}} = 0.5\). Let g (packets per second) denote aggregated packets arrival rate from all nodes to BS, which consists the arrival rates of new packets and retransmitted packets, respectively. The mean channel idle period between two consecutive packets is given by \(T_{i}=\frac{1}{g}\). All packets’ length are fixed to be D, and the transmission time is given by

$$\begin{aligned} \tau _{p}=\frac{n\cdot D}{W\log (1+n\rho )}, \end{aligned}$$
(1)

where W and \(\rho \) denote system bandwidth and received SNR respectively. \(\delta \) and \(\delta _{d}\) denote propagation delay and sensing delay respectively. It means that if a node sends a packet, it takes \(\delta \) seconds before the BS receive the packet, and takes \(\delta _{d}\) seconds before other nodes can sense the channel is busy. Therefore, in the first transmission cycle showed in Fig. 2, channel’s busy state will last \({\tau _p+\delta }\) seconds. Otherwise, if a collision happens, which is showed in the second cycle in Fig. 2, the busy period should be \({\tau _p+\delta +Y}\), where Y denotes the time between the cycle beginning and the last interfering packet was scheduled [10]. As a result, the average busy period can be expressed as \({T_b} = {\tau _p} + \delta _d + \hat{Y}\), where the average value of Y is given by

$$\begin{aligned} \hat{Y} = {\delta } - {\frac{{1 - {e^{ - g{\delta _d}}}}}{g}}. \end{aligned}$$
(2)

In multi-channel CSMA, the entire frequency band is divided into n sub-bands. So the packets arrival rate in each sub-band is \({g_n} = \frac{g}{n}\). From analysis above, it can be seen the condition that the packet is successfully transmitted is that the channel is idle at the time of transmission and no other nodes send data after a certain period of time after transmission. The probability of successful packet transmission can be expressed as \(p_{succ}=p_{i}\cdot p_{s}\), where \(p_i\) represents the probability of channel idle and \(p_s\) represents the probability that no other nodes send packets after the packet is sent for a period of time. It can be obtained that

$$\begin{aligned} {p_i}&= \frac{{{\pi _{idle}}{T_i}}}{{{\pi _{idle}}{T_i} + {\pi _{busy}}{T_b}}}\nonumber \\&= \frac{\frac{1}{{{g_n}}}}{ {\frac{1}{{g_n}}} + {\tau _p} + {\delta _d} + \delta - {\frac{1 - {e^{ - {g_n}{\delta _d}}}}{g_n}}}\nonumber \\&= \frac{1}{{g_n}T + {e^{ - {g_n}{\delta _d}}}}, \end{aligned}$$
(3)

where \(T=\tau _{p}+\delta _{d}+\delta \). From analysis in [10], we know that the probability that a node does not send a packet for a period of time x is \(e^{-gx}\), then \({p_s} = {e^{ - {g_n}{\delta _d}}}\). Accordingly, we have

$$\begin{aligned} {p_{succ}}&= {p_i} \cdot {p_s}\nonumber \\&= \frac{1}{{{g_n}T{e^{{g_n}{\delta _d}}} + 1}}. \end{aligned}$$
(4)

3.1 Delay Analysis

We define delay as the time from the generation of the packet to successful transmission of the packet [11]. The average packet delay is then given by

$$\begin{aligned} {D}({g_n})&= \sum \limits _{k = 0}^{{k_m}} {{{(1 - {p_{succ}})}^k}} {p_{succ}}\cdot [{\tau _p} + k(\frac{{1 - {p_i}}}{{1 - {p_{succ}}}}{\theta _b} + {p_i}\frac{{1 - {p_s}}}{{1 - {p_{succ}}}}({\theta _f} + {\tau _p}))]\nonumber \\&\approx {\tau _p} + (\frac{1}{{{p_{succ}}}} - 1)[\frac{{1 - {p_i}}}{{1 - {p_{succ}}}}{\theta _b} + {p_i}\frac{{1 - {p_s}}}{{1 - {p_{succ}}}}({\theta _f} + {\tau _p})], \end{aligned}$$
(5)

where \({k_m}\) indicates the maximum number of retransmission attempts for the node. \({\theta _b}\) and \({\theta _f}\) indicates the average backoff time due to a busy channel and packet conflict respectively, \(\frac{{1 - {p_i}}}{{1 - {p_{succ}}}}\) and \(\frac{{1 - {p_s}}}{{1 - {p_{succ}}}}\) are the corresponding probabilities.

By dividing one channel into n sub-channels, multi-channel CSMA protocol can alleviate contention in every sub-channel. But a narrower bandwidth may prolong the packet transmission time. When the traffic load is small, the collision probability in single channel CSMA is not high, so dividing the whole bandwidth into n sub-channels may increase delay and reduce the energy efficiency. To see whether n-channel offers any performance gain, we define \(D(\frac{g}{n_{1}})\) and \(D(\frac{g}{n_{2}})\) denote the delay performance of \(n_1\)-channel CSMA and \(n_2\)-channel CSMA, respectively. Here it is clear that \(n_1\)-channel CSMA is better than \(n_2\)-channel CSMA in terms of the delay performance if \(D(\frac{g}{n_{1}})< D(\frac{g}{n_{2}})\). The following lemma shows that whether \(D(\frac{g}{n_{1}})\) is larger than \(D(\frac{g}{n_{2}})\) depends on the traffic load g.

Lemma 1

There exists a delay threshold \(g_{n_{1},n_{2}}^D\), such that if \(g>g_{n_{1},n_{2}}^D\), \(D(\frac{g}{n_{1}})>D(\frac{g}{n_{2}})\); otherwise, if \(g<g_{n_{1},n_{2}}^D\), \(D(\frac{g}{n_{1}})<D(\frac{g}{n_{2}})\).

Proof

See Appendix.

From Lemma 1 we can see with the increment of the traffic load g, multi-channel CSMA outperforms than single-channel CSMA in terms of delay. When the traffic load g is heavy, having more sub-bands is preferable.

To find the optimal \(n^{*.D}\), we have:

  1. (1)

    If \(g<g_{1,2}^D\), then \(n^{*.D}=1\);

  2. (2)

    When \(n\ge 2\), if \(g_{{n-1},n}^D\le g<g_{n,{n+1}}^D\), then \(n^{*.D}=n\).

3.2 Energy Efficiency Analysis

Energy efficiency can be calculated by dividing the average amount of data that can be transferred per packet successfully by the total energy required to send a packet, i.e., we have

$$\begin{aligned} E({g_n})&= \frac{{D{p_{succ}}}}{{{E_{packet}}}} \nonumber \\&= \frac{D}{{{E_{s}} + \frac{{{g_n}T{e^{2{g_n}{\delta _d}}}}}{{1 + {g_n}T{e^{{g_n}{\delta _d}}}}}{E_{f}}+(1 + ({g_n}T - 1){e^{{g_n}{\delta _d}}}){E_{b}}}}, \end{aligned}$$
(6)

where \({E_{packet}}\) denotes the average energy required for each packet to be sent, \({E_{b}}\), \({E_{f}}\) and \({E_{s}}\) denote required energy when the channel is busy, the conflict occurred in the transmission and transmit data successfully. They can be calculated as follows:

$$\begin{aligned} {E_{b}} = {P_l}{\theta _b}, \end{aligned}$$
(7)
$$\begin{aligned} {E_{f}} = {E_{s}} + {P_l}{\theta _f}, \end{aligned}$$
(8)
$$\begin{aligned} {E_{s}} = ({P_c} + \xi {P_t}){\tau _p} + {P_l}{\tau _r}, \end{aligned}$$
(9)

where \({P_l}\), \({P_c}\) and \({P_t}\) denote the power consumption of channel detecting, power consumption of the circuit in the transmission packet mode and the transmission power of the transmission data. \(\xi \) is the reciprocal of the magnification of the power amplifier, before nodes receive acknowledgment packet information transmitted from BS, the node needs to keep listening to the channel, this takes \({\tau _r}\) seconds.

Similarly, we define \(E(\frac{g}{n_{1}})\) and \(E(\frac{g}{n_{2}})\) denote the energy efficiency performance of \(n_1\)-channel CSMA and \(n_2\)-channel CSMA, respectively. The following lemma shows that whether \(E(\frac{g}{n_{1}})\) is larger than \(E(\frac{g}{n_{2}})\) depends on the traffic load g.

Lemma 2

There exist a energy efficiency threshold \(g_{n_{1},n_{2}}^E\), such that if \(g>g_{n_{1},n_{2}}^E\), \(E(\frac{g}{n_{1}})<E(\frac{g}{n_{2}})\); otherwise, if \(g<g_{n_{1},n_{2}}^E\), \(E(\frac{g}{n_{1}})>E(\frac{g}{n_{2}})\).

Proof

See Appendix.

From Lemma 2 we can see with the increment of traffic load g, multi-channel CSMA outperforms than single-channel CSMA in terms of energy efficiency. When the traffic load g is heavy, having more sub-bands is preferable.

To find the optimal \(n^{*.E}\), we have:

  1. (1)

    If \(g<g_{1,2}^E\), then \(n^{*.E}=1\);

  2. (2)

    When \(n\ge 2\), if \(g_{{n-1},n}^E\le g<g_{n,{n+1}}^E\), then \(n^{*.E}=n\).

4 Performance Comparison

In this section, we illustrate numerical results of delay and energy efficiency performance of multi-channel CSMA. To see whether grouping nodes by frequency is beneficial or not, we use the basic single channel CSMA as a benchmark. In addition, we will explore how the packet size D and the SNR \(\rho \) influence the delay threshold and the energy efficiency threshold. Table 1 lists the parameters used in the numerical analysis.

Table 1. Numerical analysis parameters

4.1 Numerical Results of Delay and Energy Efficiency

It can be seen from Fig. 3 that when the traffic load g is small, single channel CSMA protocol has the shortest delay, but in the high load region, its delay performance deteriorates. This is because the collision probability increases dramatically, leading to a huge waste of time. When the traffic load g exceeds certain thresholds, a larger number of sub-channels is preferable. It is because in the high load region, the collision probability is reduced with multi-channel CSMA due to the load in each sub-channel is lower, thereby the delay is reduced.

Fig. 3.
figure 3

Delay performance of n-channel CSMA. D = 50 Kbits, \(\rho =10\).

Fig. 4.
figure 4

\(n^{*,D}\) versus traffic load g. D = 50 Kbits, \(\rho =10\).

Fig. 5.
figure 5

Energy efficiency of n-channel CSMA. D = 50 Kbits, \(\rho =10\).

Fig. 6.
figure 6

\(n^{*,E}\) versus traffic load g. D = 50 Kbits, \(\rho =10\).

Figure 4 shows the \(n^{*,D}\) based on the delay performance. We can find that with the increment of traffic load g, the \(n^{*,D}\) increases. This is because when the traffic load g becomes heavy, the number of nodes in every sub-channels increase, which will cause serious collision problem again, so it is better to use more sub-channels.

Figure 5 shows how the energy efficiency varies with traffic load g. It can be seen that when the traffic load is small, single channel CSMA has the highest energy efficiency. When traffic load g exceeds certain thresholds, the energy efficiency of the multi-channel CSMA protocol is higher than that of single channel CSMA. It is because with multi-channel CSMA, the load in each sub-channel is lower, so the retransmission caused by collision can be reduced, thereby can reduce energy waste.

Figure 6 shows the \(n^{*,E}\) based on the energy efficiency performance. It can be seen that the \(n^{*,E}\) also increases with the traffic load g. With the increment of the traffic load g, the deterioration of the energy efficiency is faster than delay, so the \(n^{*,E}\) based on the energy efficiency increases faster than \(n^{*,D}\). From Figs. 4 and 6, we can conclude that the \(n^{*}\) increases with the increment of traffic load.

Fig. 7.
figure 7

Effect of packet size and SNR on the delay threshold.

Fig. 8.
figure 8

Effect of packet size and SNR on the energy efficiency threshold.

4.2 Delay and Energy Efficiency Threshold

Next, we will demonstrate the delay and the energy efficiency thresholds with \(n_1=1\) and \(n_2=2\). Figure 7 illustrates that delay threshold increases as the SNR and the packet size increase. It is because when SNR and packet size increase, the gap of packet transmission time between the 2-channel CSMA and the single-channel CSMA becomes larger. In order to compensate for this gap, only when the probability of collision is high in the single-channel CSMA protocol, the delay of 2-channel CSMA can be better than that of single-channel CSMA, so the thresholds increases as packet size and SNR increase.

Figure 8 illustrates that energy efficiency threshold increases as the packet size D and SNR \(\rho \) increase, which is similar to the result obtained in the delay thresholds. The reason is that to improve energy efficiency, it is necessary to reduce the waste of energy by having a shorter packet delay. Therefore the delay and energy efficiency thresholds in these two figures are similar.

5 Conclusion

In this paper, the performance of multi-channel CSMA protocol is analyzed. It is found that the number of channels n should be adaptively tuned according to traffic load g. When g exceeds certain thresholds, a larger number of sub-channels is preferable. Moreover the influence of the packet size and SNR on the thresholds is explored, which provides guidance for the optimal tuning of the number of channels towards better delay and energy efficiency performance.