1. Introduction
Machine-to-machine (M2M) communication empowers devices to seamlessly exchange information with minimal or absolutely no human assistance and is highly regarded as the backbone of Internet of things [
1]. Noteworthy applications of M2M networks from the small-scale personal domain to the intermediate-scale public domain and to the large-scale industrial domain are smart homes and smart healthcare, smart power grids and smart cities, and smart industrial automations, respectively [
2,
3,
4].
From such a wide range of applications, one can easily discern the distinct characteristics of the networks envisioned for M2M communication: various traffic types; frequently varying traffic loads; large number of connected devices. The combination of these characteristics makes an M2M network ‘heterogeneous’ in every sense possible. For instance, both non-critical and time-critical traffic can coexist, or bursty and spontaneous traffics may flow simultaneously. Such heterogeneity poses a new set of networking complexities and challenges, particularly for sharing the channel resources in an ordered and efficient manner [
3]. Therefore, given the high node density in an M2M network coupled with the heterogeneity, it is pertinent to design an efficient channel sharing technique. Conventional standalone medium access control (MAC) protocols, such as carrier sensing multiple access (CSMA) and time division multiple access (TDMA), cannot be directly applied to M2M networks since they cannot handle the aforementioned heterogeneity. For instance, CSMA suffers from high collision rates and relatively high overhead (e.g., CSMA/CA) during high traffic loads and TDMA suffers from low channel usage and low scalability during low traffic loads [
4].
Combining the strengths of two standalone MAC protocols can mitigate their weaknesses, which has led to the study of hybrid MAC protocols [
4,
5,
6,
7]. This combination allows hybrid MAC protocols to seamlessly switch between two standalones, which forms the hybrid, when there is a change in the characteristic of the network. Therefore, hybrid MAC protocols tend to be robust to heterogeneity and this robustness makes them the front-runners of M2M MAC protocols. Over the years, several hybrid MAC protocols for M2M networks have been developed such as CSMA-TDMA hybrid [
5], CSMA-TDMA hybrid with fairness provisioning [
6], and CSMA/CA-PCF (point coordination function) hybrid [
7]. CSMA-FDMA (frequency division multiple access) or CSMA-CDMA (code division multiple access) hybrids are feasible; however, these types of hybrid protocols can incur high hardware cost as in the case of FDMA or require complex operations and stringent power management as in the case of CDMA, which are not suitable for low-power M2M devices. For a detailed survey of M2M hybrid MAC protocols, one may refer to the study [
4].
A common feature shared by the aforementioned hybrids is random-access. This feature makes them susceptible to collisions, which are amplified in densely populated networks even for small traffic loads. The susceptibility to collisions renders the protocols inefficient in M2M networks. Moreover, the delay sensitivity of data traffic is not considered, which can have adverse effects on the performance of the network. Therefore, in this paper, to address both the issues of contention collisions and data loss, we propose a hybrid medium access protocol named
orthogonal coded
medium
access
control (OrMAC). OrMAC extends the principle of distributed queuing collision avoidance protocol (DQCA) [
8] to delay-sensitive M2M networks. The main contributions of the paper are as follows.
Use of pre-assigned orthogonal codes for channel contention to eliminate contention collisions.
Transmission prioritization based on the delay sensitivity of the data packet to mitigate the probability of losing delay-sensitive data.
The near-optimum throughput performance of DQCA is attributed to the use of two distributed logical queues. However, even with a single centralized logical queue—data transmission queue (DTQ)—we show that OrMAC can achieve better throughput performance than DQCA.
The preliminary part of this work was presented at a conference [
9]. This paper is an extended version of [
9] with enhancements made to the prioritization mechanism of the protocol (contribution no. 2). In particular, OrMAC determines the priority based on the urgency of the packets waiting for transmission in the DTQ to begin transmission in order to avoid data loss owing to expiration. New results include the throughput and discarded packet ratio; furthermore, additional results related to the packet delivery ratio and latency are also included. This paper is organized as follows. In
Section 2, a detailed description of OrMAC is presented.
Section 3 provides the simulation results and a discussion on the performance of OrMAC as compared to DQCA. Finally,
Section 4 concludes this study.
2. OrMAC
OrMAC, just as DQCA, is a hybrid MAC protocol that can behave as a random-access-based contention scheme under low traffic environments and switch to a contention-free scheme under high traffic environments. However, a few features distinguish OrMAC from DQCA and we elaborate them in the following paragraphs alongside the description of OrMAC.
First, in OrMAC, the access point (AP) pre-assigns each node with a unique orthogonal code, which can be used for channel access request, whereas DQCA sets aside
n contention slots that the nodes have to select and contend for channel access. The selection process of the contention slots in DQCA is random, which leads to contention collisions since the nodes are not aware that a particular slot has already been selected. Therefore, assigning each node entering the network with a unique orthogonal code, which is generated by a Walsh–Hadamard matrix [
10], eliminates contention collisions, thereby removing the need of a contention resolution algorithm. For the sake of simplicity, we interchangeably refer to the orthogonal code used for channel access as the
contention signal.
The frame structure of OrMAC, which is a modified version of DQCA, is shown in
Figure 1.
A single frame of OrMAC consists of a contention window (CW), data part (DP), and quadripartite feedback packet (FBP). The quadripartite FBP further consists of the fields Next node ID, Data ACK, Additional information, and Final message bit.
- (1)
Contention window: In the CW, the data-ready nodes transmit their contention signal to gain channel access.
- (2)
Data part: The DP carries the data packet of the node that contended in one of the previous frames and obtains the channel access in the current frame. The size of DP is considered to be fixed and therefore, in cases where the size of the message is larger than that of the DP, the message is fragmented into sizes equal to the size of the DP. In order to indicate the final fragment of a fragmented message, the nodes include a ‘
final message bit’ (not shown in the figure) in their data packet [
11].
The combination of CW and DP forms the uplink frame.
- (3)
Feedback Packet: The FBP is broadcasted by the AP, essentially forming the entire downlink frame, and it consists of the following fields: Next node ID, Data ACK, Additional information, and Final message bit. The Next node ID field carries the orthogonal code of the node that is given permission to transmit in the following frame. If the uplink data transmission in the current frame is not completed, the Next node ID remains the same and will continue to carry the code of the current transmitting node. The Data ACK field indicates the successful reception of the data packet in the current uplink frame. Similar to the final message bit of the DP (note the lowercase f), the Final message bit (note the use of uppercase F) field indicates the completed transmission of a fragmented message. The Additional information field can be used to carry miscellaneous information.
Short inter-frame spaces are inserted between the uplink and downlink frames to counterbalance the delays generated by the distance between the nodes and the AP by the turnaround times (switch between receive and transmit modes) and other internal processes.
The second distinct feature of OrMAC is to prioritize the nodes for transmission based on the amount of delay or latency the data of a node can tolerate—i.e., delay sensitivity—unlike DQCA, which implements first-in first-out (FIFO). FIFO observes only the arrival times and may adversely affect the performance of a network with delay-sensitive traffic. Therefore, to support delay-sensitive networks, OrMAC allows data-ready nodes to determine their priority level depending on the delay sensitivity of their data and reflect the priority level information in the transmission power of the contention signal such that the contention signal arrives at the AP with received power of
where
is the maximum achievable received power,
is the maximum number of frames that the
-th node can tolerate after which it should begin data transmission,
is the number of nodes, and
is a non-zero constant (
).
and
are system parameters and are therefore known to the nodes and the AP. The value of
has to be chosen such that
is maintained above a certain SNR (signal-to-noise ratio) threshold. A higher
indicates a smaller
, which further indicates a higher priority.
Figure 2 illustrates the composition of the frames for the
-th data-ready node on a timeline.
Let us suppose that the
-th packet arrives at
and its transmission should be completed by
, which depends on the traffic type. Considering the packet size, the number of frames to be occupied by the
-th packet is given by
where
and
are the size of the
-th packet and the size of
DP, respectively, and [
] denotes the largest integer not greater than
. By subtracting, in reverse, the number of frames the packet will occupy (
) from the total number of frames until packet expiration time (
), a node can obtain the number of tolerable frames (
) until transmission begins. Then, in accordance with Equation (1), a node determines the transmission power of the contention signal. When the AP receives the contention signal, it extracts
from
and sets the priority according to the value of
. The node is subsequently placed in the DTQ according to
. DTQ is a logical queue that stores the nodes for transmission and is managed and monitored by the AP.
In order to monitor the expiration time, , the AP updates by one decrement after every frame; thus, the priority of the -th waiting node is increased. In case the -th node fails to obtain a channel when the value of becomes 0 (the minimum), the data is discarded. In case more than one node has the minimum , the node whose arrival time is the earliest obtains the channel. If the arrival times are also the same, the AP randomly selects the winner. The nodes that fail to obtain the channel until becomes 0 discard their data. We describe, with an example, the working of the priority assignment in the subsequent paragraph.
Let us consider the
k-th frame where nodes
,
,
,
,
, and
are already queued in the ascending order of
in the DTQ, waiting for their turn to transmit. At the start of this frame, nodes
and
, which have data to send, are contending for channel access (shown in
Figure 3). On receiving the requests of nodes
and
, the AP retrieves
and
and calculates
and
, respectively. This step can be represented as a function
. However, since
and
are constants, the function can simply be represented as
. In this example, let us assume that
falls between
and that
falls between
. Subsequently, the AP updates the DTQ in the following order
,
,
,
,
,
,
, and
.
Operation Example of OrMAC
The detailed operation of OrMAC is described in this section. Consider two consecutive frames, denoted by
k and
k + 1, as shown in
Figure 4. In the
k-th uplink frame,
is transmitting its final data packet and
and
are transmitting their contention signals. On receiving the contention signals of
and
, the AP obtains the respective
s and performs the extraction of
. Let us consider
. In the
k-th downlink frame, since
has completed its message transmission, the AP sets the
Next node ID field to
and the
Final message bit field to 1, while
and
continue to wait in the queue. Simultaneously, the AP acknowledges the successful reception of the data packet (in this case, the final data packet of
) through the
Data ACK field. In the
(k + 1)-th uplink frame, no nodes are assumed to be contending for channel access; therefore, the CW field is empty while
is transmitting its data packet. Assuming that
did not complete transmitting its message in the
(k + 1)-th frame, the AP sets the
Final message bit field of the
(k + 1)-th downlink frame to 0. Concurrently, the AP also updates the value of
and
. Further,
continues to transmit its data in the subsequent frame(s).
4. Conclusions
In this paper, a hybrid medium access protocol named OrMAC was proposed for delay-sensitive M2M networks. OrMAC aims to mitigate contention collisions by pre-assigning orthogonal codes, which serve as the channel contention signals, to the nodes entering the network. Furthermore, to avoid data loss owing to expiration, OrMAC prioritizes the data packets based on the urgency of the data packets, which is a key requirement for M2M networks with delay-sensitive data traffic. Therefore, OrMAC allows the nodes to control the transmission power of the contention signal in accordance with the delay sensitivity of the data.
Quantitative analysis through computer simulations shows that OrMAC outperforms DQCA in terms of the PDR, DPR, and latency. Further analysis shows that, for low traffic loads, DQCA and OrMAC achieve similar throughput. For higher traffic loads, it was observed that OrMAC can achieve the maximum achievable throughput, whereas DQCA suffers. Overall, we have demonstrated that OrMAC outperforms DQCA and it establishes the suitability of OrMAC for delay-sensitive M2M networks simply by employing orthogonal codes for channel access and prioritizing the nodes based on the delay sensitivity of a data.