  The feasibility of practical in-band full-duplex radios has recently been
demonstrated experimentally. One way to leverage full-duplex in a network
setting is to enable three-node full-duplex, where a full- duplex access point
(AP) transmits data to one node yet simultaneously receives data from another
node. Such three-node full-duplex communication however introduces inter-client
interference, directly impacting the full-duplex gain. It hence may not always
be beneficial to enable three-node full-duplex transmissions. In this paper, we
present a distributed full-duplex medium access control (MAC) protocol that
allows an AP to adaptively switch between full-duplex and half-duplex modes. We
formulate a model that determines the probabilities of full-duplex and
half-duplex access so as to maximize the expected network throughput. A MAC
protocol is further proposed to enable the AP and clients to contend for either
full-duplex or half-duplex transmissions based on their assigned probabilities
in a distributed way. Our evaluation shows that, by combining the advantages of
centralized probabilistic scheduling and distributed random access, our design
improves the overall throughput by 2.70x and 1.53x, on average, as compared to
half-duplex 802.11 and greedy downlink-uplink client pairing.
