COSFI-RIMAC: A Cooperative Short Frame Identifier Receiver Initiated MAC Protocol for Wireless Sensor Network

Power consumption is the most important factor to evaluate the performance of Wireless Sensor Networks. Most sensor network Medium Access Control (MAC) protocols operate based on a duty cycle mechanism. The asynchronous receiver-initiated MAC duty cycle protocols are popular due to their relatively higher energy efficiency. However, recent advances harnessing the benefits of cooperative communication have become one of the solutions of MAC duty cycle protocol. In this article, we improve the RI-MAC protocol by introducing a short frame identifier to notify the sender when the receiver wakes up. This resolution reduces idle listening, which increases energy performance. When the sender node receives a short frame identifier, it cooperates with neighboring senders, which minimizes collisions. Our protocol is called: a Cooperative Short Frame Identifier Receiver Initiated MAC protocol, COSFI-RIMAC is an asynchronous MAC protocol cooperative service cycle initiated by the receiver. The simulation result on the NS2 simulator shows that the COSFI-RIMAC mechanism reduces power consumption, produces minor latency, and increases the rate of packet delivery.


Introduction
Nowadays, Wireless Sensor Network (WSN) offers great promise for information capture and processing for different applications, such as animal tracking, precision farming, environmental monitoring, security and surveillance, military applications, smart buildings, health care, and so on. A WSN consists of several detection stations called sensor nodes. The power of each sensor node comes from a battery. A problem of such sensor devices is the limited lifetime because of the limitation of the battery capacity [1]. However, Energy efficiency is essential to extend the life of the network. Media Access Protocols (MAC) is responsible for assembling data into frames and for disassembling frames to retrieve information [2]. The MAC sub-layer has widely been targeted by researchers to improve the performance of WSN. This is because the MAC layer coordinates directly with the radio of the node and can therefore play a vital role in managing energy usage [3]. The main objective of MAC protocol design is to minimize the energy waste due to idle listening, overhearing, packet overhead, collision, etc.
The basic idea of short duty cycle protocols is that sensor nodes can turn their radio on or off. In this way, we reduce the time during which a node is inactive or goes to hear unnecessary activity by putting the node on standby. For contention-based MAC protocols, the WSN hub typically accesses the media when it needs to pass data to each other [4]. Once a node wakes up, it listens to the channel for any activity before transmitting or receiving packets. If no packet is to be transmitted or received, the node returns to the standby state. A complete cycle consisting of a sleep period and a listening period is called a sleep/wake-up period. Indeed the ideal condition for low duty cycle protocols is when a node is on standby most of the time and only wakes up when it transmits or receives packets. Dynamic MAC protocols are contention-based protocols and adapt to topology changes. In contention-based MAC protocols, dynamic channel allocation is performed by contention algorithms such as CSMA, CSMA / CA; in which the communication resources are allocated dynamically, as a result, the design of a parallel transmission protocol must take into account not only the allocation of communication resources but also the process of exchanging control information.

Synchronous Low Duty Cycle MAC Protocols
Each node has two modes which are the wake and sleep nodes, synchronous duty cycling MAC protocols reduce the energy consumption by synchronizing the sensor node's sleep and wake-up. Synchronous MAC protocols such as S-MAC [5] and T-MAC [6], require synchronization of sender and receiver clocks. Synchronous schemes can be based either on contention or on reserved time-slots. In both cases, a portion of the active state is used to synchronize all the nodes to a global sleep/wake-up schedule. Several protocols have been proposed for the same purpose, such as Speed-MAC [7], MC-LMAC [8], SEA-MAC [9]. Synchronous MAC protocols generate a large number of control messages to achieve synchronization before data exchange. Each transmitting node will create its way to the receiving node before transmission, which limits its usefulness when the duration of the node's activity is very short, which also may increase the latency of data delivery. Likewise, the implementation of the synchronization is complex and difficult to be achieved when the number of sensor nodes is large.

Asynchronous Low Duty Cycle MAC Protocols
In contrast (to the precedent case), asynchronous duty cycling MAC protocols, do not require synchronization which may decrease energy consumption. However, asynchronous MAC protocols allow nodes to start their activity and inactivity periods independently. Asynchronous MAC protocols are distinguished by their short cycle time and their low communication cost. In the following, we describe the two main categories of asynchronous protocols: sender-initiated protocols (e.g. B-MAC [10], WiseMAC [11], and X-MAC [12]) and receiver-initiated protocols (e.g. RI-MAC [13], PW-MAC [14] and EE-RI-MAC [15]). In sender-initiated MAC protocols, the transmission and data communication is decided and initiated by the sender node. Before sending data packets, a sender transmits a preamble to notify that there are data communications unaware of the state of the receiver (sleep or awake). Once a node wakes up during its regular period wake-up, it detects the preamble and will stay awake until it determines if it is the receiving node. This can require a large amount of energy from the transmitting node. The receiver-initiated MAC protocol shows better performance compared to the sender-initiated MAC protocols. In receiver-initiated protocols, receivers wake up independently to indicate their availability to receive data by sending a beacon. With this mechanism, the receiver beacon does not occupy the channel as long as the preambles in the sender-initiated protocols.
In this paper, we present a new protocol based on the RI-MAC protocol (COSFI-RIMAC), which is based on two main reasons: The first reason is the idle listening in receiver-initiated MAC protocols, which represents the main source of energy consumption. In Fig. 1, which represents the basic description of RI-MAC [13], senders have to listen unnecessarily for a large time STidle (a few seconds), while a sender data transaction (STdata) can take a few milliseconds (ms). The energy consumption of this idle listening affects the energy performance of the RI-MAC protocol. Our COSFI-RIMAC protocol minimizes the idle listening for the nodes (senders and receivers) which we divide by small periods thus avoiding early wake-up. The second reason is to minimize the overhead in receiver-initiated MAC protocols caused by a collision between nodes, which is the reason for communication delay in receiver-initiated protocols. Our COSFI-RIMAC proposal reduces collisions between nodes by using a collision avoidance technique based on cooperation between sending nodes, which minimizes the energy associated with data retransmission.
The rest of this article is organized as follows: Sect. 2 presents the related work. The COSFI-RIMAC protocol is described in Sect. 3. The evaluation and comparison of the performance of the proposed protocol with other protocols are presented in Sect. 4. Finally, the conclusion and the future scope of this work are presented in Sect. 5.

Related Work
Due to the drawbacks of sender-initiated protocols, researchers turned their attention to the receiver-initiated approach. In this section, we first describe RI-MAC [13]; which is the first asynchronous receiver-initiated MAC protocol. As seen in Fig. 1, in RI-MAC nodes sleep when not engaged in communication. Periodically, the receiver broadcasts a beacon after its wakeup, announcing that it is awake and ready to receive packets. Upon the beacon reception, the sender transmits its packet. The sender will enter the sleep mode after completing the data transmission. If the sender remains silent after a beacon, the receiver node will also enter into sleep mode.
Several works use cooperative communication in WSN. Among these different works, some proposals are based on asynchronous receiver-initiated communication.
In this work, we discuss some asynchronous receiver-initiated cooperative protocols. OC-MAC [16] improves RI-MAC by exploiting the cooperation between active senders to reduce their latency, especially in a network where the nodes have many neighbors which saves more energy. In OC-MAC, active neighboring senders are allowed to exchange their frames with each other while waiting for the receiver to wake up. Thus, after having designated a relay that waits for the receivers to be available and to have transmitted their frames to it, the other senders can go into sleep mode, which reduces the energy consumption of the senders. ASYM-MAC [17,18] works over RI-MAC designed for asynchronous low-power duty-cycled. ASYM-MAC combines sender and receiver-initiated MAC protocols. By default, the system operates on receiver-initiated mode (R-mode), when the link is determined to be asymmetric; Asym-MAC switches its mode to the sender-initiated protocol (T-mode). When the sender cannot get a beacon from its receiver, it needs to stay in the listening state for time 't' until the beacon packet arrives, and then switches to sender initiated mode where it sends its data followed by a long preamble. However, when the sender gets a beacon from the receiver but the sender cannot send data due to link asymmetry, this protocol performs very poorly. COASYM-MAC [19,20] is a cooperative asynchronous duty cycle MAC protocol for WSNs proposed to minimize the harmful effects of asymmetric links and to meet sufficient quality of service requirements. It designs an efficient tree technique to select an efficient helper node and resolve link asymmetry between sender and recipient, recipient to sender, or both. In addition, COASYM-MAC provides an algorithm for the wake-up schedule for each node. COASYM-MAC works much better than a MAC protocol that manages asymmetric links: ASYM-MAC. EnRI-MAC [21], is a protocol based on RI-MAC. In EnRI-MAC, cooperation between senders is performed by sending a notification message by each sender before receiving the recipient's tag, to inform other senders of the same intended recipient that they have data to send. Despite obtaining beacons from the intended receiver, other nodes refrain from sending data in the current cycle. In the case of link asymmetry, other senders cannot receive the wake-up notification. In such a case, multiple senders transmit their data to the receiver that may increase the packet collision rate. RIVER-MAC [22] is a receiver-initiated asynchronous duty cycle MAC protocol. It offers two major changes to RI-MAC: Rendezvous CCA to reduce idle listening, and beacon flow-based collision resolution to reduce conflict between receivers. The first major improvement is a Rendezvous based on the CCA. They adapted this mechanism in the CCA strobe and then applied it on the sender side to reduce idle listening.

Proposed COSFI-RIMAC Protocol
In this article, we propose a new cooperative asynchronous receiver-initiated MAC protocol called Cooperative Short Frame Identifier Receiver Initiated MAC protocol (COSFI-RIMAC). Our main contribution is to reduce collision and idle listening, and thus energy consumption. Our scheme is based on RI-MAC. We offer two improvements: First, the sender's nodes listen to the channel independently during a short period and wait for a Short Frame Identifier (SFI) from a potential receiver, if it does not receive it goes back to sleep mode in a dynamic interval which minimizes idle listening enormously. The second improvement, introducing cooperation between the sender's nodes, which minimizes collisions. This protocol also introduces a dynamic adaptation mechanism of the service cycle, which aims to converge the waking and waking hours to data traffic conditions.
The objectives of the COSFI-RIMAC protocol are mentioned as follows: • Minimize idle listening power consumption.
• Cooperation between sender nodes.
• Reduce the number of collisions.
• Reduce the number of transmissions, • Reduce the energy consumption.

Protocol Design
The COSFI-RIMAC protocol is a contention, asynchronous, duty cycle, and receiverinitiated MAC protocol is based on the following main axes: • The duty cycle is not fixed, but dynamic.
• The receiver does not immediately go into sleep mode after an ACK packet but rather waits for another. • Potential DATA packet from a sender. • The SFI frame contains more information to inform the sender when the receiver wakes up.
Now we describe our proposed protocol COSFI-RIMAC in detail. Table 1 describes the notations used in this paper.

Protocol Operations Diagrams
COSFI-RIMAC improves RI-MAC by reducing the energy wastage of the sender when it waits for a receiver to wake up. As seen in Figs. 2, 3 and 4 the COSFI-RIMAC, has three phases: Asynchronous cooperation wake-up (Asynch Coop-Wake-up), synchronous wake-up data transmission (Synch Wake-up Data Transmission), and the appointment wake-up data transmission phases.

Phase Asynch-Coop Wake-Up
In COSFI-RIMAC at the start, each node has its duty cycle, during the asynchronous wake-up period AsynRI SFI , The receiver makes small RWI SFI wakes between dynamic RT sleep intervals to send short SFI frames, each SFI contains the information: wake-up time of Receiver and Receiver Address.
The sending of the next SFI frame is related to the previous TR sleep interval time and calculated as shown in the following Eq. (1): In the Asynch Wake-up phase, the receivers do perform a small AsynRWI wake-up, then they remain in AsynRI sleep sleep mode most of the time as indicated in Eqs. (2,3) (1) RT sleepj+1 = RT sleepj + RTa sleep * j ∕2   If a sender receives an SFI j from the expected receiver, it will synchronize its data transmission wake-up. After the receiver goes into RI sleep sleep mode to save power. When a node has a frame to send DATA, it listens to the channel for short time ST idle and waits for an SFIj from a potential receiver, if it does not receive it returns to sleep mode in a dynamic interval STsleep calculated as shown in Eq. (4): The transmitting node makes a small SWICOOP wake-up to cooperate with their neighboring senders by sending a SWsyn frame after the STCOsleep interval calculate as shown in Eq. (5), after which it also goes into SIsleep sleep mode, to save energy.
In this phase as indicated in algorithm 1, the COSFI-RIMAC protocol minimizes the idle listening of the sender nodes (AsynSIidle) which only becomes the sum of the ST idle , as indicated in Eq. (6), which gives the majority of the senders time to go into sleep mode AsynSI sleep as shown in Eq. (7).

Phase Synch Wake-Up Data Transmission
This phase consists of the synchronization between nodes (transmitter, receiver) for the transmission of data. In this synchronous communication cycle SynWI data , the sender (7) AsynSI sleep= ST sleep + STCO sleep + SI sleep node which receives an SFI wakes up (a synchronized wake-up) simultaneously with the receiver node, this time the sender starts sending this data immediately, as soon as the receiver sends the short Beacon signal indicating their awake; The time required to send the data as shown in Eq. (8).
Once the receiver receives the data, it sends an ACK indicating that the data was received successfully. After the transmitted beacon, the receiver R1 waits for another transmission from the sender S1 and then goes into the AppR sleep state. If there is a Wake-up appointment, the sender S1 goes into the AppS sleep state, otherwise, it waits for an SFI from another receiver R2 to synchronize its wake-up and goes into SYNC Wake up data transmission phase.
A formal description of the Phase SYNC Wakes up data transmission is presented in Algorithm 2.

Phase Appointment Wake-Up Data Transmission
In the previous phase, the response ACK indicates the next wake-up of nodes as appointment Wake-up. In this phase, the sender S1 sends to DATA after the reception of a beacon from the receiver R1. The sender sends the next DATA (if it exists) after each ACK. If there is the next communication, the nodes pass another appointment Wake-up. Otherwise, the sender S1 waits for an SFI for another receiver R2 to synchronize its wake-up and go to the SYNC wake-up data transmission phase, otherwise go to the Asynch-Coop wake-up phase.
A formal description of the Phase Appointment Wake-up data transmission is presented in Algorithm 3.

Cooperation and Collision Settlement
The RI-MAC protocol is more vulnerable to collisions because the senders immediately transmit the data after receiving a Beacon to the same receiver, which is also a source of wasted energy. As seen in Fig. 5, the scenario below shows the collision avoidance technique used by our COSFI-RIMAC protocol.
When the sender node S1 receives an SFI, it makes a small SWICOOP wake-up to cooperate with their neighbors after SWsleep by sending a SWsyn 1 frame which contains the information of the SFI and wake-up time and SynWIdata of S1 and it goes into a sleep state. The sender S2 is already in the SWI SFI period, in this case, the S2 receives SWsyn 1, it synchronizes its data transmission after S1, in the same cooperation mechanism S2 informs their neighbors. In our example, the RI-MAC protocol case, all the sending nodes (S1, S2, S3, and S4) perform a back-off, on the other hand in the COSFI -RIMAC only S3 and S4 which perform a back-off which minimizes the number of collisions and therefore data retransmissions, which reduces power consumption and increases the delivery rate of data packets.

Simulation Environment
In this section, we evaluate and compare our SFI-RIMAC proposals (our proposal without cooperation) and our final COSFI-RIMAC protocol (SFI-RIMAC plus cooperation) with the RI-MAC. These simulations are carried out using the NS-2 network simulator by performing different scenarios. Table 2 illustrates the simulation parameters for COSFI-RIMAC. The simulation lasted 200 seconds, during which 10, 20, 30, 40, and 50 nodes were randomly deployed in an area of 550 square meters.

Result and Discussion
Energy consumption is often presented in joules/bits and is calculated as the ratio of the total energy consumed by the total number of data bits transmitted. The smaller this value, the more efficient the protocol will be. Figure 6a shows the results of power consumption by the number of nodes. When the number of nodes increases, the power consumption increases in COSFI-RIMAC, SFI-RIMAC, and RI-MAC as the number of retransmission increases. In addition, our proposal has reduced the power consumption compared to RI-MAC, as it reduces idle listening time and minimizes the number of collisions.
The average end-to-end delay is a measure of the delay between the sending of the message by the source node and its receipt by the receiving node. Figure 6b shows the end-to-end average delay results. Compared to RI-MAC, synchronization between sender and receiver minimizes average end-to-end delays in SFI-RIMAC and COSFI-RIMAC protocols, and cooperation between senders improves COSFI-RIMAC. Figure 6c represents the number of packets received; our SFI-RIMAC and COSFI-RIMAC proposals minimize the number of collisions which gives more data transformation than in RIMAC protocol. Packet Delivery Rate (PDR) is the percentage of successfully received packets divided by the number of data packets sent. Figure 6d shows the results for the packet delivery rate for the COSFI-RIMAC, SFI-RIMAC, and RI-MAC protocols. In general, the simulation results show that the SFI-RIMAC protocol has a higher packet delivery rate than RI-MAC due to the insertion of the SFI short frame identifier. Also, our proposed mechanism COSFI-RIMAC increases the rate of packet delivery.
Latency is the time it takes for a data packet to travel from a node to the sink. Figure 6e shows a comparison of the latency results between our proposals SFI-RIMAC, COSFI-RIMAC, and the RI-MAC protocol. Typically, latency increases as the number of nodes increase for all protocols. However, due to the use of all three transmission phases (Asynch-Coop Wake-up, Synch Wake-up Data Transmission, Appointment Wake-up Data Transmission), the proposed COSFI-RIMAC protocol exhibited the least latency compared to RI-MAC. The average throughput determines the number of packets transmitted from a source to a destination node per unit time. To express it, we use the size of the packets in bits, thus the result is in bits/seconds. Figure 6f represents the comparison of the average flow between our proposals SFI-RIMAC, COSFI-RIMAC, and RI-MAC protocol. The average throughput in the three protocols increases linearly with the increase in the number of nodes, the minimization of collisions in our proposals (SFI-RIMAC and COSFI-RIMAC) reduces the average throughput compared to the RI-MAC protocol.

Conclusion
In this paper, we have proposed a high-performance; collision-minimizing and energyefficient cooperative receiver-initiated MAC protocol, called COSFI-RIMAC, for wireless sensor networks. COSFI-RIMAC dynamically minimizes node wakeups and cooperates between neighboring senders to synchronize sleep/wakeup periods that reduce idle listening and minimize the number of collisions.
Simulation results show that COSFI-RIMAC significantly improves energy consumption, average throughput, average end-to-end delay, and latency. In addition, COSFI-RIMAC allows more data to be transferred and increases the packet delivery rate. Future work includes improving our protocol to support cooperation between receiving nodes.
Funding Not applicable.
Data Availability Not applicable.