While the cellphone network in Haiti survived the devastating earthquake in 2010, the added load of international aid workers who arrived in the aftermath caused it to crash. Josh Thomas and Jeff Robble, both working at Mitre, saw this problem and created a working prototype backup network using only the Wi-Fi chips on Android smartphones. This capability won’t be shipped on new mobile phones anytime soon, but it is a really interesting open innovation project to understand and follow, and for some an Android project to which they might contribute.
The Smart Phone Ad-Hoc Networks (SPAN) project reconfigures the onboard Wi-Fi chip of a smartphone to act as a Wi-Fi router with other nearby similarly configured smartphones, creating an ad-hoc mesh network. These smartphones can then communicate with one another without an operational carrier network. SPAN intercepts all communications at the Global Handset Proxy (see figure at right) so applications such as VoIP, Twitter, email etc., work normally.
The source from the Linux Wireless Extension API was merged into the Android kernel source and compiled. The modified version of Android was used to root specific models of Android smartphones to expose and harness the ad-hoc routing features of the onboard Wi-Fi chip to enable this intercept.
It is really a framework for further research to refine how to build the special case of an ad-hoc mesh network. SPAN’s routing module is designed to be plug-and-play so it can be easily replaced. Researchers and developers interested in experimenting with new routing protocols save months of man-hours needed to build the entire app by using the SPAN framework.
The current version can be toggled between widely adopted routing protocols OLSRd and Dijkstra to test the differences in the performance of network discovery and routing. In testing SPAN, the limits of these routing protocols were discovered. Network discovery floods a network with "hello" packets so a routing table can be built. This type of discovery works well in static networks because the amount of bandwidth used for discovery is limited to infrequent changes in the network.
But in an ad-hoc mesh network made up of mobile phones, movement and changes are a constant factor, making the burden of maintaining reliable routing information difficult enough to a inspire a new routing project, called the Better-Approach-To-Mobile-Adhoc-Network (BATMAN). It will decentralize network discovery and limit nodes from collecting all the routing information on the entire network. The goal of the BATMAN project is to create a much lower overhead and more dynamic method of collecting routing information at run time. Beyond the BATMAN routing protocol, there have been discussions about applying machine learning to add predictive routing with information from Android’s accelerometers, gravity sensors, gyroscopes, and rotational vector sensors to predict where it can find the next node in the network.
Initial testing is promising. Each smartphone in the network can operate up to about 100 feet away from its nearest neighbor. VoIP works over up to 5 hops. Initial tests with 30 nodes did not reach the limit of the number of channels supported by 802.11, but developers expect to find one when a larger number of nodes are employed, and hope to solve it with a new routing protocol. Bridging to networks outside of the network was created with a multi-homed tablet employing a USB Wi-Fi adapter so the internet and the external VoIP networks could be reached by anyone connected to the mesh.
SPAN has been released as source on Github to promote further development and as a complete app on Google Play to collect further user experience. The Github repository has attracted other researchers to experiment and contribute further developments. There have been about 500 Github branches created from the original by researchers and developers.
SPAN is a work in progress that will influence the way mobile devices will work in the future. It’s also an interesting study in how Android’s open source, open innovation community leads to discovery and fulfillment of new technology requirements. In theory, with a good routing protocol and some sufficiently large number of nodes, towers would not be needed to operate a mobile network.