3.1. Preliminaries and Motivation
The hidden terminal problem and the exposed terminal problem are well-known problems in a carrier sensing-based medium access control protocol. The occurrence of these problems is closely related to the CST. Consider the scenario illustrated in
Figure 1. Nodes A and B are associated with AP1, while node C is associated with AP2. When AP1 transmits a packet to one of its nodes, AP2 overhears the packet. If the received signal strength is higher than its CST, AP2 defers its transmission. If the signal strength is lower than the CST, AP2 will continue the channel contention process and can start transmitting its packet.
In this scenario, whether AP2 should actually transmit concurrently with AP1 depends on AP1’s destination. Let us assume AP2 wants to transmit a packet to node C. If AP1 is transmitting to node A, AP2 can concurrently transmit its packet, because the SNR at both node A and C are high enough to successfully decode the packet. However, if AP1 is transmitting to node B, AP2 must not transmit, because otherwise the packet transmitted by AP1 cannot be successfully decoded at B due to low SNR. The problem is that AP2 does not know where AP1’s packet is heading, nor where the destination node is placed. Thus, AP2 cannot decide whether to transmit or defer accordingly. Instead, AP2 just uses a fixed CST. If CST is set high, AP2 will transmit concurrently with AP1. If AP1 was transmitting to node B, AP2 becomes a hidden terminal causing packet collision at node B. If CST is set low, AP2 will defer its transmission. If AP1 was transmitting to node A, AP1 becomes an exposed terminal to AP2, unnecessarily preventing the transmission and degrading spatial reuse.
A proper CST should satisfy two purposes. A node should not transmit if its destination could not successfully receive the packet. Also, even if its transmission should succeed, the node should not transmit if it will cause another transmission to fail. However, the 802.11 DCF uses a fixed CST for all nodes, without considering how a transmission will affect other transmissions. Also, the DSC protocol (described in the previous section) only considers the former purpose and neglects the latter. Thus, DSC creates a lot of hidden terminals. As shown in the performance evaluation section, although DSC achieves high total throughput, it causes starvation to edge nodes and its channel share is significantly unfair.
In the above scenario, what is the best action of AP2, when it receives a preamble from AP1 and knows that AP1 is currently transmitting? If node A is the destination, AP2 can regard the channel as idle and continue backoff counting (as in DCF). If the backoff counting is over, AP2 can transmit its packet. If node B is the destination of AP1, AP2 should regard the channel as busy and pause backoff counting. Deciding whether channel is busy or idle should depend on the destination of on-going transmission. Since AP2 does not know where the on-going packet is heading, AP1 should tell AP2 (and other neighboring nodes) which node is the destination node.
There are many different ways for AP1 to inform its neighboring nodes which node is the packet destination. It can include the information in a separate message and send the message before the data packet (similar to RTS). Or, AP1 could include the information in the preamble or the MAC header of the packet. Among these design choices, we choose to include the information in the preamble. If the information is included in a separate message, control overhead becomes too large because this message should be transmitted before every data packet. If the information is included in the MAC header, a neighboring node must receive and decode the MAC header before it can cancel the reception and begin concurrent transmission. Also, usually the MAC header is encoded using the same MCS with the payload, so distant neighbors may not be able to decode the MAC header and obtain the information. Thus, it is better to include the information in the preamble.
The next design choice is on what information should be included in the preamble. Since preamble is transmitted at the lowest link rate, minimum number of bits should be used to carry the information. It is not feasible to include a 48-bit MAC address in the preamble. Thus, it is better to include an encoded CST level which should be used by the neighboring node to decide whether it should regard the channel as idle or busy. Consider the scenario in
Figure 1 once again. When AP1 transmits a packet to node A, it includes in the preamble the maximum CST that must be used by the neighboring nodes, to protect its transmission. We call this CST value as advertised CST. For example, suppose AP1 knows that when it transmits a packet to node A, the received signal strength at node A will be −60 dB. Also, suppose AP1 knows that to decode the packet reliably, the SNR at node A must be at least 23 dB. Then, it means the maximum interference that can be tolerated at node A is approximately −83 dBm (neglecting the noise floor.) Thus, AP1 should block any neighboring nodes that can cause interference at node A at a strength higher than −83 dBm. AP1 should select the advertised CST so that these candidate interfering nodes find the channel busy after receiving the preamble. By including CST instead of MAC address, we can use smaller number of bits in the preamble. For example, 6 bits can be allocated to the advertised CST, which can represent 64 different values. It will be sufficient to indicate the advertised CST, ranging from −99 dBm to −36 dBm. If fewer bits are available, quantization can be used to further reduce the size of information at the cost of degraded accuracy. We propose two methods for selecting the CST; model-based scheme and measurement-based scheme. We describe the two schemes in the next sections.
3.2. Model-Based Dynamic CST Control
In the model-based scheme, the CST required for protecting the transmission is calculated using a path loss model. For example, a log-distance path loss model can be used. Consider the scenario shown in
Figure 2. AP1 is trying to send a packet to node S. The advertised CST should be low enough to block all nodes that can potentially interfere with the transmission at the receiver. A potential interferer is a node that can cause SNR at node S to drop below the required SNR to decode the packet.
Suppose
is the received signal strength when the packet from AP1 arrives at node S, and
is the SNR required to reliably decode a packet. Also, suppose another node AP2 transmits concurrently with AP1, so its signal becomes an interference at node S, and the interference strength is
. For the AP1’s packet to be successfully decoded at node S, the following equation should hold. (We ignore the noise floor here, but the noise floor is considered in the simulations). Please note that all values are in dB scale.
We want to find the minimum interference level
, which will make the packet reception fail at node S. We can calculate the minimum
that destroys the packet by converting the inequality in Equation (
2) to equality. To calculate the minimum
, AP1 must know
, assuming
is fixed and known. There are two ways to obtain
. First, node A constantly measures the RSSI of AP1, and send the information to AP1. Second, AP1 measures RSSI of node A whenever A transmits a packet, and assume that the links are symmetric and use that value as
. Regardless of the methods, AP1 can obtain
and thus calculate
using Equation (
3).
There are multiple positions of the interferer where the interference level at node S is
. Among the positions, the farthest point from AP1 is at the opposite direction from node S. Let us assume there is an interferer AP2 placed at that position, as illustrated in
Figure 2. Now, our goal is to calculate the RSSI of AP1, measured at AP2. We use the log-distance model, which calculates path loss according to the following equation.
In the equation,
is the path loss,
is the reference path loss,
d is the distance between the sender and the receiver,
is the reference distance,
is the path loss exponent reflecting the environment, and
is a random variable accounting for channel variations such as fading. Using the model, we define the following two functions. (We set
to 0, and use the margin parameter to account for channel variations).
converts distance to path loss, whereas
estimates distance from path loss. Suppose the distance between AP1 and node S is
, and the distance between AP2 and node S is
. Using the
function, we calculate estimated values of
and
.
In the equations,
is the transmit power, which we assume is fixed and the same for every node.
and
are the path loss between AP1 and S, and AP2 and S, respectively. Since AP2 is at the opposite position of AP1 from node S, the distance between AP1 and AP2 is
. Thus, we can calculate the received signal strength of AP1 at AP2 (
) using the
function as follows.
Since AP2 must be blocked when AP1 is transmitting, AP1 selects
as the maximum CST that can protect its transmission. Thus, the advertised CST (
) is calculated as follows.
In the equation, is the margin parameter. The margin parameter is necessary for various reasons. First, it accounts for the mismatch between the model and the real path loss, caused by factors such as fading effects. Also, the calculated CST is based on assumption that there is a single interferer. In practice, there could be multiple nodes transmitting concurrently, which will increase the interference at the receiver. Since it is difficult to predict how many transmissions will take place near the receiver, we use the margin parameter to account for the possibility of multiple interferers. In this paper, we use a fixed margin that is common for all nodes. However, it could be better to select the margin for each node independently, based on the conditions around the node. For example, a larger margin could be used if the node is experiencing large amount of channel variation, and a smaller margin can be used if the channel condition is more stable. Also, a larger margin could be used for a node positioned in a dense environment, compared to a node positioned in a sparse environment. Dynamically selecting margin based on the current environment is a challenging but important issue in terms of achieving high spectral efficiency, and is left as a future work.
We return to the example scenario in
Figure 1 to continue describing the proposed protocol. Suppose AP1 has calculated the advertised CST and transmitted a packet. When AP2 receives the preamble, it should consider two things before concurrently transmitting its packet with AP1. First, the RSSI of AP1 should be higher than the advertised CST, to protect the on-going transmission. Second, the on-going transmission should not destroy the packet transmitted from AP2 at node C. To find out, AP2 calculates the
required CST (
) that will protect its own transmission. The calculation process is identical to how AP1 calculated
. Then, the CST of AP2 at the moment is selected as the minimum of
and
.
If the current interference level is lower than , AP2 decides the channel is idle and may begin transmitting a packet to its destination. Please note that both and depends on the destinations of the potential concurrent transmitters.
In the scenario, suppose when AP1 transmits a packet, the received signal strength at AP2 is −80 dBm. In the first case, AP1 sends a packet to A. Using the described model-based method, AP1 calculates as −75 dBm, and includes the information in the preamble of the packet. When AP2 receives the preamble, AP2 was waiting for the channel to send a packet to node C. calculated at AP2 is −60 dBm. Since is higher than −80 dBm, AP2 decides the channels is idle and continues counting down the backoff counter. If the counter reaches zero, AP2 transmits concurrently with the on-going transmission from AP1. In the second case, AP1 sends a packet to B. In this case, the is calculated as −85 dBm, because node B is distant from AP1. When AP2 receives the preamble from AP1, its CST becomes = −85 dBm, which is lower than −80 dBm. Thus, AP2 decides the channel is busy and defers transmission. In summary, the proposed scheme can control CST considering not only the senders but their destinations, to improve spatial reuse while avoiding hidden terminal effects.
3.3. Measurement-Based Dynamic CST Control
The model-based CST control scheme has two weaknesses. First, the path loss model may not reflect the real environment. Even with the margin, the error in the model could lead to a CST that makes nodes transmit too conservatively or too aggressively. Second, the model-based CST assumes the worst-case scenario, where the interferer is assumed to exist at the position farthest from the transmitting node. This could make the CST low and limit the spatial reuse. In the measurement-based dynamic CST control, we do not use a path loss model, but use neighbor information exchanged as control messages between the nodes.
Let us consider the example scenario shown in
Figure 2. In the scenario, AP1 wants to send a packet to node A, and thus it needs to calculate the advertised CST to protect the transmission. To select the advertised CST, AP1 must know the potential interferers of node A. In the measurement-based scheme, node A sends this information to AP1 in a message. To do that, each node collects RSSI of neighboring nodes whenever it overhears their message, and maintains the RSSI information using weighted moving average (WMA) in an
RSSI table. For example, node A maintains the average RSSI of AP1, AP2, and node B, as in
Figure 3a. (Assume node C is too far away and its signal does not reach node A.) Periodically, each node broadcasts its RSSI table to its neighbors in a control message, which is transmitted at the lowest data rate. When a node receives an RSSI table from its neighbor, it updates its
neighbor table with the information. An example neighbor table of AP1 is described in
Figure 3b.
Using the neighbor table, AP1 finds out that when it transmits, the received signal strength at node A will be −45 dBm. If the required SNR threshold is 23 dB, the interference level at node A should be less than −68 dBm. Looking at the neighbor table, the expected interference level at node A when AP2 transmits is −75 dBm, which is less than −68 dBm. Thus, AP1 does not need to block AP2. However, if node B transmits, the SNR at node A becomes less than 23 dB and the packet will not be successfully decoded. Therefore, node B becomes the potential interferer for AP1 transmitting to node A. To block node B, AP1 sets the advertised CST as −58 dBm -. When AP2 receives the preamble from AP1, it finds out that its transmission will not destroy the on-going transmission. Now, AP2 looks at its neighbor table to find out if when AP2 transmits a packet to node C, it will be successfully decoded at node C. If the packet is expected to survive, AP2 decides the channel is idle.
Suppose AP1 wants to transmit its packet to node B. Consulting the neighbor table, AP1 finds that both node A and node AP2 are potential interferers. In this case, the advertised CST is selected based on the farthest interferer, which is AP2 in this case. Thus, the advertised CST becomes −80dBm - , to prevent AP2 from transmitting. When AP2 receives the preamble, it measures the RSSI and reads the advertised CST. Since the RSSI is higher than the advertised CST, AP2 decides the channel is busy and defers its transmission.
Please note that the margin parameter is also used in the measurement-based scheme. Although the scheme does not use a path loss model to calculate CST, margin is still needed because of channel variations, and possibility of multiple interferers. While the model-based scheme selects CST conservatively by assuming that an interferer exists in the worst position, the measurement-based scheme could choose a CST which makes the nodes transmit more aggressively. Because of that, a larger may be needed for measurement-based scheme to account for multiple interferers, compared to the model-based scheme. In the evaluations, we study the performance of protocols while varying the margin value.