To back this claim, we did a measurement study of a small city's Wi-Fi network, both planned and unplanned, using mobile nodes, verified with data collected from a second city. We found that holes can be broadly classified into two categories: (1) permanent holes due to a lack of Wi-Fi coverage; and (2) transient holes that are due to mobility and channel characteristics. Such holes can have a severe, adverse effect on the performance of network transport protocols.
Unfortunately, fixing these holes by adding WiFi base stations is an expensive and difficult process, there is not always the connectivity, power, and legal authority, to place equipment. Instead, by enhancing the network with a broader area, but still unlicensed, backbone channel we can patch holes in connectivity. We use a low-bandwidth broad area network using a 900MHz radio. The radio had a multiplicative effect on bandwidth because it keeps the mobile user's TCP's congestion window open and preventing retransmission timeouts on the high-bandwidth Wi-Fi channel.
This effect comes with no modifications to the TCP protocol or stack, making it a generally deployable solution. Moreover, the low bandwidth radio has low energy consumption, allowing us to cover holes with solar-powered devices.
A solution to the problem is to leverage connectivity to multiple access points in range. In this project, we are revisiting the idea of VirtualWiFi for mobile networks. VirtualWiFi allows multiple active connections to access points. While previous work has focussed on VirtualWiFi for static nodes, we are extending it for mobile and dynamic environments. We have implemented VirtualWiFi in the madwifi driver. Our goal is to minimize disconnection periods and maximize throughput simultaneously at mobile clients.
Choosing an appropriate set of access points and determining a time schedule for the NIC to spend on each channel that maximizes coverage and throughput is core to our problem and is non-trivial and challenging. We are formulating an optimization framework based on channel switching overhead, TCP timeout, and access point quality to determine the optimal set of access points to choose and an optimal time schedule.
We plan to deploy and test our system on the GENI DOME testbed.