Keywords

1 Introduction

Internet of Things (IoT) is one of the booming technologies in recent years. IoT industries, such as smart meter, smart grid, smart city, and healthcare, is expected to grow radiantly in next 10 years. Wireless communication technologies play a key role in meeting the flexible and ubiquitous communication demand of IoT devices. In particular, because the wide deployment scope and limited battery life of IoT devices, several Low-Power WAN (LPWAN) technologies have been developed to fit the demand of long distance but small data volume transmission. Among them, NB-IoT proposed by 3GPP becomes the most promising LPWAN technology due to its reliable infrastructure and licensed communication band [1].

In the NB-IoT network, devices need to perform a Random Access (RA) procedure [2] to communicate with an eNB before data transmission using preambles. There are two types of RA procedures, contention-based and contention-free. They use different set of preambles. The contention-based RA procedure is initiated by devices and used when the devices have demands for accessing the network. On the other hand, contention-free RA procedure is initiated by eNB and assign dedicated preamble to device directly. In most cases, devices need to perform contention-based RA procedure when first attached to an eNB. Only after the RA procedure, devices can achieve the uplink frequency synchronization and access the NB-IoT network. There are four steps in the contention-based RA procedure.

Step1. Random Access Preamble (MSG1)

The resource allocation in the frequency domain is a set of starting preambles. Preambles are carried in the Physical Random Access Channel (PRACH) which is a part of an uplink resource of a NB-IoT network. Each starting preamble is equivalent to the first NB-IoT PRACH (NPRACH) symbol group and associated with a specific 3.75 kHz tone. The set of starting preambles is determined by a subcarrier offset and a number of spanned subcarriers. The time-domain allocation is defined by a periodicity, a starting time with the period, and the number of repetitions associated with the NPRACH resource. Allocation of the PRACH in a subframe is determined by the prach-ConfigIndex of System Information Block 2 (SIB2) announced by an eNB [3]. Devices then randomly choose one preamble for contention-based RA procedure and send it to the eNB. If a device does not receive the Random Access Response (RAR) in a RAR window, its contention for RA is failed.

Step2. Random Access Response (MSG2)

When an eNB receives a preamble from a device, a RAR message is sent to the device. The RAR consists of the preamble index, uplink time synchronization, uplink grant, and Temporary Cell-Radio Network Temporary Identifier (TC-RNTI). Once a device succeeds in the RA procedure, its TC-RNTI is changed to C-RNTI. During this step, it is possible that more than one device selects the same preamble. In this situation, if the preamble can be received correctly, a RAR will be replied and the contention is solved in Step 4. However, due to the signal collision, the eNB is more likely not able to receive the preamble. In this study, we assume that when more than one device sends the same preamble, the RA will fail due to collision.

Step3. Scheduled Transmission (MSG3)

When a device receives a RAR, it replies with a MSG3 to the eNB. The uplink resource allocated in the RAR is used to transmit the MSG3, which consists of the device ID and the RRC connection request.

Step4. Contention Resolution (MSG4)

When an eNB receives a MSG3, it has to decide which devices succeed in the contention. The eNB transmits the MSG4 to devices that send the MSG3. The MSG4 consists of the device ID and the RRC connection setup. If a device finds that the device ID in the MSG4 is itself, its contention succeeds. The TC-RNTI of the device changes to C-RNTI and the status changes to RRC_CONNECTED. Otherwise, the device knows its contention failed and starts the RA procedure all over again.

In order to achieve maximum energy loss of 144 dB, 154 dB, and 164 dB against Maximum Coupling Loss (MCL), there are three coverage levels in NB-IoT. The system information sets the specifications for each CE Level, such as the period in which the channel appears, the position of the channel on the frequency axis, the position of the channel on the time axis, the number of subcarriers used by the channel, and the maximum number of retries for the preamble. The base station will determine the threshold of the two reference signals (Reference Signal Received Power, RSRP). The transmission device will find out which CE level it is based on the measured RSRP. UE will perform random access procedure with corresponding NPRACH configuration.

Although in reality, there are many types of IoT devices and applications with very different traffic characteristics and QoS requirements, such as transmission delay and reliability, differentiating the RACH procedure for different types of IoT devices has received very little attention in the literature. In this study, we classify NB-IoT devices (applications) into two categories, the emergency transmission type and the regular transmission type. As the number of NB-IoT devices grow rapidly, it is a big challenge to guarantee the emergency transmission type device to connect to the eNB with a high successful rate and short delay. We aim to design the RACH procedure to handle a large number of IoT devices without affecting the transmission delay of emergent messages. We propose a Dynamic RACH Resource Allocation (DRRA) scheme which integrates with resource allocation scheme and ACB scheme to improve the delay and throughput of the RACH procedure. As compared to the enhanced RA procedure proposed by 3GPP [4], our simulation results show that the proposed DRRA scheme is able to achieve higher access success rate, higher system throughput, and extremely low transmission delay for emergent message.

The remainder of this paper is organized as follows. Section 2 surveys state-of-the-art works on NB-IoT RACH procedure. Section 3 presents the proposed Dynamic RACH Resource Allocation (DRRA), including the Resource Allocation scheme, and the Access Class Barring (ACB) scheme. Simulation results are shown in Sect. 4. Finally, conclusions and future research are given in Sect. 5.

2 Related Works

Surveys on recent advances in NB-IoT standards, key technologies and open issues can be found in [5,6,7]. Quite a few recent works on NB-IoT RACH procedure focused on efficient power consumption issues [8]. Performance modeling on the standard RACH procedure is done in [9]. The authors in [10] proposed a method to determine the required number of preambles for a target RA request arrival rate, but details of the RACH procedure, such as retransmission, were ignored. Preamble repetition was analyzed using stochastic geometry from physical signal aspect in [11] which showed little improvement in a heavy traffic scenario. Authors in [12] also showed that fewer repetitions with more retransmissions can yield higher successful RA probability. Thus, in this work, we will focus on the effect of retransmission.

In general, six basic mechanisms were proposed by 3GPP to enhance the RACH procedure [4], include ACB, separate RACH resource for MTC, dynamic allocation of RACH resources, MTC specific backoff, slotted access, and pull based scheme. Most of the previous works studied how to improve the RACH procedure from one of the above mechanisms. Different from previous works, in this paper, we combine the first three mechanisms to enhance the RACH procedure with goals to provide large number of simultaneous IoT devices access and low delay transmission of emergency messages.

3 Dynamic RACH Resource Allocation (DRRA) Scheme

3.1 System Overview

In this section, a system architecture overview is given of the proposed DRRA. The following assumptions are made.

  • eNBs are aware of preamble collisions

    It is assumed that eNBs are aware of the collisions of the preambles when they happened, and will not reply RAR to those devices.

  • Service types and classes

    It is assumed that a device collects the same service type of data. There are two service types with different delay and reliability requirements (see Table 1).

    Table 1. Types of IoT devices (applications).

Figure 1 shows the overview of the DRRA scheme. Before a device accesses a NB-IoT network, it receives a SIB2 from an eNB, which allocates the RACH resource based on the traffic condition in the previous frame. With the RACH resource allocation, the device attempts to transmit a preamble in a RA-slot. In a heavy traffic load condition, an ACB scheme is triggered. The device has to follow the ACB policy before sending a preamble. The ACB policy sets a probability and the device can only send a preamble according to this probability.

Fig. 1.
figure 1

Architecture of the DRRA scheme

3.2 RACH Resource Allocation Scheme

The DRRA scheme aims to control two types of the RACH resources. One is the number of preambles in a RA-slot, and the other is the number of RA-slots in a frame. They are adjusted to reflect the traffic load to guarantee high successful access probability.

In a NB-IoT network, an eNB broadcasts the prach-ConfigIndex in the SIB2, which then allows the eNB to adjust the number of RA-slots in a frame. In addition to the RACH resource adjustment, the eNB can also control the distribution of preambles for different service classes. As a result, the devices are aware of which preambles they can choose and when to begin the RA procedure.

Table 2 shows the notations used in the DRRA scheme. Arrival rates of Type A and Type B devices are assumed to follow Poisson process.

Table 2. Notations used in the DRRA scheme.

In order to estimate the arrival rate of these two types of devices, the eNB keeps track the number of preambles that are not used by any devices (\( X_{0} ,\,Y_{0} \)) and only one device (\( X_{1} ,\,Y_{1} \)). Following the Poisson distribution, arrival rate per preamble of Type A (B) can be estimated from \( X_{0} \)(\( Y_{0} \)) and \( X_{1} \)(\( Y_{1} \)) by following equations, respectively.

$$ e^{{ - \lambda_{TypeA} }} = \frac{{X_{0} }}{{N_{TypeA} }} $$
(1)
$$ \lambda_{TypeA} e^{{ - \lambda_{TypeA} }} = \frac{{X_{1} }}{{N_{TypeA} }} $$
(2)
$$ e^{{ - \lambda_{TypeB} }} = \frac{{Y_{0} }}{{N_{TypeB} }} $$
(3)
$$ \lambda_{TypeB} e^{{ - \lambda_{TypeB} }} = \frac{{Y_{1} }}{{N_{TypeB} }} $$
(4)

\( \lambda_{TypeA} \) can be derived either from (1) or (2). In this work, \( \lambda_{TypeA} \) is estimated by taking the average of the values from (1) and (2) if both of them yield valid values. Similarly, \( \lambda_{TypeB} \) is calculated in the same way. The blocking probabilities of Type A and Type B devices can then be estimated by using (5) and (6) where \( P_{A} = \left( {\lambda_{TypeA} } \right)e^{{ - \left( {\lambda_{TypeA} } \right)}} \) and \( P_{B} = \left( {\lambda_{TypeB} } \right)e^{{ - \left( {\lambda_{TypeB} } \right)}} \).

$$ P_{b,TypeA} = 1 - \frac{{\mathop \sum \nolimits_{i = 1}^{{N_{TypeA} }} \left( {\begin{array}{*{20}c} {N_{TypeA} } \\ i \\ \end{array} } \right) \times i \times P_{A}^{i} \times \left( {1 - P_{A} } \right)^{{N_{TypeA} - i}} }}{{\lambda_{TypeA} }} $$
(5)
$$ P_{b,TypeB} = 1 - \frac{{\mathop \sum \nolimits_{i = 1}^{{N_{TypeB} }} \left( {\begin{array}{*{20}c} {N_{TypeB} } \\ i \\ \end{array} } \right) \times i \times P_{B}^{i} \times \left( {1 - P_{B} } \right)^{{N_{TypeB} - i}} }}{{\lambda_{TypeB} }} $$
(6)

They are compared with the predefined guaranteed blocking probabilities of \( P_{b,TypeA}^{G} \) and \( P_{b,TypeB}^{G} \) to determine as to whether the traffic load is too heavy or not. If the traffic load is too heavy, the RACH resource and preamble distribution are adjusted to give priority to guarantee the blocking probability of type A devices. The new values of \( N_{TypeA}^{'} \), and \( N_{TypeB}^{'} \) will be used to calculate the updated arrival rates (per preamble), \( \lambda_{TypeA}^{'} \) and \( \lambda_{TypeB}^{'} \), based on Eqs. (7) and (8).

$$ \lambda_{TypeA}^{'} = \frac{{ \lambda_{TypeA} * {\text{N}}_{TypeA} }}{{N_{TypeA}^{'} }} $$
(7)
$$ \lambda_{TypeB}^{ '} = \frac{{ \lambda_{TypeB} * {\text{N}}_{TypeB} }}{{N_{TypeB}^{ '} }} $$
(8)

With the new arrival rates and number of allocated preambles, new blocking probability is calculated again using Eqs. (5) and (6). This process is repeated until suitable \( N_{TypeA}^{'} \), and \( N_{TypeB}^{'} \) are found. Algorithm 1 shows the pseudo code of the RACH Resource Allocation Scheme. In Algorithm 1, when traffic load is low, lines (4)–(9) reallocate preambles to both types of devices according to their arrival rates. On the other hand, if the traffic load is high, lines (10)–(17) increases the preambles allocated to type A traffic first which guarantees the transmission of emergent messages. Finally, lines (19)–(30) adjusts the number of preambles allocated to type B under the constraint of available preamble left over. Notably, if the traffic load is extremely high, we will run out of preambles and cannot guarantee the probability of success probability of RA for either type. In this case, we will need to apply Access Class Barring Scheme proposed in the next section to restrain the arrival rate of IoT devices. In the future work, we will also consider the option of adding RACH resources on non-anchor carriers.

figure a

3.3 Access Class Barring (ACB) Scheme

The ACB scheme is adopted to restrain the RA requests. Since we expect the number of type A devices will be relatively small and they provide life-saving applications, the proposed ACB scheme only applies to the type B devices. In the ACB scheme, an ACB barring factor is set to control devices to perform the RA procedure. A device generates a random number and if the number higher than the ACB barring factor, it has to give up this trial and restart the RA procedure later.

Next, the detail steps of the proposed ACB scheme are presented. Initially, the number of RA requests in a frame sent from type B devices is \( \lambda_{TypeB} * {\text{N}}_{TypeB} \). After setting up an ACB barring factor, the arrival rate of type B devices is reduced to \( \left( {\lambda_{TypeB} \cdot\uprho_{ACB} } \right) \) and the blocking probability can then be calculated by Eq. (6).

The goal of the ACB scheme is to find a suitable ACB barring factor such that the number of RA requests is expected to lower than the system capacity, which is one arrival per preamble. Thus, given current per preamble arrival rate of type B device, \( \lambda_{TypeB} \), the ACB barring factor is set according to following equation.

$$ \uprho_{ACB} = \left\{ {\begin{array}{*{20}l} {\frac{1}{{\lambda_{TypeB} }}, } \hfill & {if\, \lambda_{TypeB} > 1} \hfill \\ {1,} \hfill & {if\, \lambda_{TypeB} \le 1} \hfill \\ \end{array} } \right. $$
(9)

4 Performance Evaluation

Performance is evaluated via simulations which are written in C language.

4.1 Simulation Parameters and Performance Metrics

We follow the same parameter settings proposed in [6], as shown Table 3.

Table 3. Simulation parameter setting.

\( P_{b,TypeA}^{G} \) is set to 0.01 and \( P_{b,TypeA}^{G} \) is set to 0.1 unless otherwise stated. Simulation time is 10 min and each simulation is performed 30 times to obtained average performance metric and 95% confidence interval. The confidence interval is very small, thus not shown in following results.

The following metrics are used to evaluate the performance of a RACH scheme.

  • Access success probability: it is the average successful probability of a RA request per RACH period.

  • Average access delay: it is the average access delay given a RA request is successful.

  • Average throughput: it is the average number of successful RA requests per RACH period.

In the following simulation experiments, we will compare the performance of three schemes: the original scheme proposed in 3GPP NB-IoT without ACB, the ACB scheme proposed in [13] which is designed to cope with massive IoT devices, and our DRRA scheme.

4.2 Simulation Case 1: Single CE Level

In the first simulation case, we valid the basic features of the DRRA scheme. We assume there are only CE level 0 devices, and the MaxTry parameter is set to 5. The MaxTry parameter defines how many times a device will retry the RA procedure after failures. Preamble is randomly reselected when a device performs a retry. The arrival rate of CE level 0 devices varies from 10 to 30. For each arrival rate, half of them are type A devices.

Figure 2 shows the average access probability of three schemes. When arrival rate is higher than 20, the system becomes congested. As we can observed from Fig. 2, ACB scheme outperforms the other two schemes when traffic load is light. The rationale is that the ACB scheme restrain the arrival rate even the system is not overloaded. Figure 3 confirms this situation as the average throughput of the ACB scheme is lower than the other two schemes. When the system becomes overloaded with RA requests, the proposed DRRA outperforms the other two schemes both in access success probability and average throughput. This confirms that the proposed DRRA scheme is able to adapt to traffic load better than the other two schemes. Notably, even when the arrival rate is 30, the DRRA scheme is still able to yield a very high throughput.

Fig. 2.
figure 2

Average access success probability of three schemes

Fig. 3.
figure 3

Average throughput of three schemes

Figure 4 compares the average access delay of three schemes. As the DRRA scheme gives priority to type A devices, emergent data is able to be sent in a very short delay. This shows the superior feature of the proposed DRRA scheme. For type B devices, when the traffic load is high, the DRRA scheme also yields smaller delay that the other two schemes.

Fig. 4.
figure 4

Average access delay of three schemes

4.3 Simulation Case 2: Three CE Levels

In the second simulation case, we simulate IoT devices distributed in 3 CE levels. Five sets of arrival rates are simulated, they are (11, 3.5, 2.5), (13, 4, 3), (15, 4.5, 3.25), (17, 5, 3.5), (19, 5.5, 4), where three numbers in each set are the RA request arrival rates of devices of three CE levels, respectively. In this simulation, we show that the MaxTry affects the performance of the RACH procedure significantly. On one hand, increase the MaxTry will increase the chances of RA trials. On the other hand, increase the MaxTry will also increase the traffic load which results in higher chance of collision and unsuccess access probability.

Figure 5 shows the effect of MaxTry on the average throughput of devices of CE level 0. As we can see that the throughput increases as the MaxTry increases initially. However, when the MaxTry is too large, e.g., 7, the throughput decreases as the MaxTry increases, especially for scenario 5 where the traffic load is high.

Fig. 5.
figure 5

Effect of MaxTry on throughput of CE level 0 devices

When the RA request of a CE level 0 device failed after MaxTry times, the device will change its CE level to 1 and continue the RACH procedure. If it failed on this level again, it will increase its CE level to 2. Figures 6 and 7 show the effect of MaxTry on the average throughput of CE level 1 and 2, respectively. The MaxTry affects the throughput of these two levels significantly. Only a small number of MaxTry can increase the throughput of CE level 1. For CE level 2, the average throughput decreases as the MaxTry increases, for most of the scenarios.

Fig. 6.
figure 6

Effect of MaxTry on throughput of CE level 1 devices

Fig. 7.
figure 7

Effect of MaxTry on throughput of CE level 2 devices

5 Conclusion and Future Works

In this paper, we proposed a Dynamic RACH Resource Allocation (DRRA) scheme which integrates with resource allocation scheme and ACB scheme to improve the performance of the RACH procedure. The DRRA scheme classify devices into two types and gives priority to devices that need to send emergent messages, e.g., life-saving alarm messages. Our simulation results show that the DRRA scheme can cope with large RA request rates and yield better throughput and delay than existing schemes. In particular, even under extremely high RA request rate, emergent devices can still have high throughput and low delay.

Several mechanisms can be integrated into the DRRA scheme and requires further study. When the RACH resources of anchor carrier are not enough to accommodate the RA requests, allocating RACH resources on non-anchor carrier has been proposed by 3GPP [5] which requires further investigation. Adjusting backoff timer can also alleviate the bursty traffic load. Repetition number is similar to the MaxTry, may increase access success probability, but consume more resources. More importantly, if collision happens, no matter how many repetitions will not help to avoid collision. Thus, how to perform repetition also requires further study. Finally, we are also investigating the effect of different traffic arrival models, such as MMPP which can capture more bursty arrival pattern. We believe the proposed DRRA can cope with MMPP arrival process better than other schemes.