During the past implementations of CSMA/ECA we managed to change the backoff behaviour from a random backoff counter to a deterministic one after successful transmissions. This modification allowed us to construct a collision-free schedule among successful contenders, effectively increasing the throughput of the network.
Nevertheless, wireless cards are not as precise as we (or the protocol) want them to be. That is, there are time inaccuracies or slots miscounts that prevent the construction of a collision-free schedule when using short deterministic backoffs, like 8 o 16. Further, the testbed we used was not free from external interference, activating the Clear Channel Assessment (CCA) mechanism and deferring transmissions: what resulted in a disruption of the collision-free schedule (if any).
A more precise approach
To avoid this, I teamed up with profesor Francesco Gringoli, from Università degli studi di Brescia, in Italy. I might have mentioned him several times before, in fact, he gave me all the instructions to install OpenWRT in the Alix 2d2. He also developed OpenFWWF, which is the open firmware platform I have been using to test our CSMA/ECA protocol.
Together we tried a instruction that forces the wireless cards to initiate transmission immediately, that is, without sensing the channel free or complying with anything, just transmit now. This tool gave us much more accuracy to schedule the transmission of the nodes, further, it supposed the deactivation of CCA which helps us to avoid making erroneous assumptions of the channel state.
To summarise, we derived a deterministic timer, Tb, which depends on the number of contenders and the modulation used in the network. You might guess that this is not actually a practical assumption (given that knowing the number of contenders in a WLANs has proven to be a challenging metric to obtain), but serves as a research approach to find out if building collision-free schedules is possible using current of-the-shelf hardware and open source firmware.
The proposed Collision-Free MAC
Bellow is the channel access scheme of CSMA/CA (up) and our proposed Collision-Free MAC (CF-MAC) (down). Notice that the main different is the existence of a Timer instead of a countdown from a random backoff. Upon collision, CF-MAC will follow CSMA/CA by generating a random backoff.
This scheme allows the construction of a collision-free schedule, given that successful stations start transmitting periodically. The figure below shows the average Losses Ratio (R = Lost/Transmitted) for different rates and an increased number of nodes.
We can see that CF-MAC has much less losses than CSMA/CA (denoted as /CA in the figure). The green curve follows the model derived by G. Bianchi.
A throughput increase follows this reduction on collisions. The figure below shows the achieved throughput for a test composed of twelve nodes and an increasing data rate. Each rate in X has two bars: the left one is CF-MAC, whereas the right one corresponds to CSMA/CA. Each box composing the bar represents the throughput share of a station sorted in a high-low throughput fashion. Hovering numbers represent the average aggregated throughput for CF-MAC.
CF-MAC is able to achieve greater throughput than CSMA/CA. Furthermore, the throughput is evenly distributed among the users (fair).
P.S.: Thanks F. Gringoli for such an amazing set of figures.