Several network protocols, services, and applications adjust their operation dynamically based on current network conditions. Consequently, keeping accurate estimates of network conditions and performance as they fluctuate over time is critical.
In this thesis, we explore the use of computational intelligence, in particular machine learning techniques to estimate "near-future" network performance based on past network conditions. We call our approach to network performance estimation SENSE for Smart Experts for Network State Estimation. SENSE is able to respond to network dynamics at different time scales, i.e., long- and medium-term fluctuations as well as short-lived variations.
Then, by applying SENSE, we proposed a novel algorithm to dynamically enable and disable IEEE 802.11 DCF's RTS/CTS handshake. Our algorithm uses current packet size and transmission rate, as well as an estimate of network contention to dynamically decide whether to use RTS/CTS. To the best of our knowledge, the proposed algorithm is the first to enable and disable the RTS/CTS handshake based on a set of current network conditions, and automatically adapt as these conditions change. Simulation results using a variety of WLAN- as well as wireless multi-hop ad-hoc network scenarios, including synthetic and real traffic traces, demonstrate that the proposed approach consistently outperforms current best practices, such as never enabling RTS/CTS or using a pre-specified threshold to decide whether to switch RTS/CTS on or off.
We also propose a modified version of a simple, yet effective machine learning technique called "Fixed-Share" algorithm to optimize IEEE 802.11's backoff algorithm. To the best of our knowledge, this is the first approach that uses machine learning to dynamically set the IEEE 802.11's contention window based on past performance. Through simulations using a variety of network scenarios, we show that our method outperforms IEEE 802.11's original exponential back off algorithm as well as an approach that adapts based on a few recent data transmission events.