## 3 Proposed Solution
### E-SA-MMAC and Max-E-SA-MMAC  
The proposed solution, an enhanced SA-MMAC (E-SA-MMAC), extends the SA-MMAC protocol. E-SA-MMAC uses one common control channel and the rest as data channels out of all the orthogonal channels. The contention takes place in the control channel and successful nodes switch to negotiated data channels for data transmission.  
The control frames exchanged in the control channel are as follows:  
* _RTS_: This frame is sent when a node has data to send and it also has additional information about the free channels.
* _CTS_: This frame is sent by the receiver to inform the sender of its reception of the RTS frame and it includes the channel that has been selected for data transmission.
* _ATS_: This frame is used to announce to the neighbors of both the sender and receiver nodes about the data transmission and the negotiated data channel that will be used by these nodes.  
The proposed protocol adopts the idea of bidirectional data exchange between nodes in the data channel as well as the control channel to maximize the throughput of the network during peak traffic conditions. Figure 1 shows the timing diagram for the proposed protocol with four channels (one control and three data channels). The operation of the protocol is as follows:  
* Nodes contend in the control channel and successful nodes send RTS.
* Upon reception of RTS, the receiver replies with a CTS specifying the selected channel to use for data transmission. Moreover, it starts a timer, and upon expiration of this timer, it sends ATS.
* Upon reception of CTS, the sender checks the selected channel and sends ATS.
* Both nodes switch to the negotiated data channel after sending ATS and they commence data transmission. Two frames can be exchanged bi-directionally if the receiver also has data to send.
* If there are no available data channels, the nodes transmit in the control channel. In this protocol, we allow the transmission of two frames in the control channel.
* After data transmission, nodes return to the control channel and wait for two mandatory frame times to avoid collision with any ongoing transmission in the control channel.  
The above protocol operation is described in detail in Figure 2. After the initial contention period, the node that succeeds sends the RTS to the receiver, which then negotiates a data transmission channel, if not in operation. If all the data channels are busy, then the protocol allows this pair of nodes to transmit data in the control channel, bi-directionally, unique to this protocol.  
This protocol utilizes spectrum more efficiently and throughput increases for high contention cases. The deafness and multi-channel hidden terminal problems are solved using the RTS-CTS-ATS exchange and mandatory waiting time. However, the delay incurred for nodes would be higher as more waiting time is needed for nodes to access channels. Additionally, compared to SA-MMAC the fairness would be lower due to two frames being sent in the control channel, increasing the waiting time for queued nodes. In addition to E-SA-MMAC, we propose Max-E-SA-MMAC, which has the same features as the originally proposed protocol but the backoff algorithm has been modified. Initially, the nodes start with \([0,CW_{min})\), and upon success, remain uniformly distributed between this range. In case of collision, the contention window is set to \(CW_{max}\) and nodes choose random backoff times based on uniform distribution \([0,CW_{max})\). This mechanism ensures fairness between nodes with higher throughput from SA-MMAC. Table 1 shows the comparison of different protocol features.