## 5 BN-MAC Protocol Design
### Intra-Semi-Synchronized Transmission Schedule
This increased number of slots reduces congestion and latency and allows higher throughput to be obtained. We have used different numbers of congestion window slots, with 30% of the active sensor node contenders allocated to each window slot. These experiments indicated that BN-MAC produces the maximum throughput when 256 slots are used, as shown in Figure 4. Similarly, we have checked the performance of hybrid MAC protocols on their existing window size slots and compared the hybrid MAC protocols with BN-MAC. The simulation results demonstrated that BN-MAC successfully delivers 99.8% of packets, whereas other MAC protocols only successfully deliver 46%-72.7% of packets, as shown in Figure 5. Hence, the use of 256 window slots increases the throughput considerably. Sensor nodes also perform automatic buffering within the region during intra-communication to reduce the drop rate and prolong the network lifetime. We demonstrate the process of long permeable (LPL), short permeable (X-MAC), and BN-MAC in Figure 6.  
Figure 4: Throughput at different congestion window slots. X-MAC uses a short preamble with a target address to access the channel to communicate with another node. However, all of the nodes en route will remain awake until the short preambles are received by the destination node, which results in increased energy consumption. X-MAC also has a delay of transmission for sending the packets until the receiver wakes up [36]. The BN-MAC protocol does not use the target address of the node when sending a short preamble message. Thus, all of the nodes in the network are received by the destination node, which results in increased energy consumption. Figure 5: Successful delivery of packets _versus_ event monitoring time. Figure 6: Comparison of the timelines of duty-cycle MAC protocols. nodes do not continue to wait; instead, only the intended node wakes up to receive the short preamble. Thus, each node is in sleep mode for a longer period of time. In addition, BN-MAC uses an automatic packet buffering process similar to that used in [37]; this process reduces the wake-up time and increases the network lifetime. In the automatic buffering process, the node uses a promiscuous mode that enables the node to listen to all ongoing data traffic and coordinates, if requested. Furthermore, the node saves a copy of the received packet regardless of the intended destination of the data packet until receipt of the packet is acknowledged by the destination node. Such buffering requires a relay that is used by the saturated conditions because each node is able to cooperate in sending data packets to other buffers. As mentioned above, a short preamble consumes less energy and prolongs the network lifetime. Let us find the energy consumed for channel sampling and short preamble messages. The consumed energy for channel sampling is \"\(\gamma\)\", the check period is \(\mathrm{\SIUnitSymbolE}\), and the average energy consumed for channel sampling is \"\(\gamma\)\":  
\[\gamma=\frac{\psi}{\mathrm{\SIUnitSymbolE}} \tag{1}\]  
The energy consumed for a short preamble \"\(\tau\)\" consists of the average energy consumed for channel sampling, \"\(\gamma\)\", and the energy consumed in sending and receiving synchronization, \"\(\omega\)\":  
\[\tau=\gamma*\ 2\omega*\ \Delta_{t}^{2} \tag{2}\]  
We use clock drift, \"\(\Delta_{t}^{2}\)\", which is the time consumed sending and receiving the synchronization, and \"\(2\omega\)\" is the energy consumed by the sender and receiver for synchronization. During intra-communication, the node that transmits its clock to the one-hop neighbor is called the parent, and the receiving node at the one-hop neighborhood is called the child. The nodes that are synchronized with the clock often use a short preamble without the target address of the node that reduces the energy consumption. Let us assume that the average energy consumed by the parent and child nodes for one work cycle is \"\(\alpha\)\" and \"\(\beta\)\", respectively.