Description |
Current solutions for switching between cellular networks and WiFi, such as those provided by Google and Samsung, do not work well in many scenarios. For example, a Samsung Galaxy S4 smartphone connected to a WiFi network remains in the WiFi mode for more than 5 minutes, even when the Internet connectivity beyond the first hop is unavailable. Therefore, there is a strong need for an efficient and automated switching mechanism between WiFi and cellular networks that has wide applicability. We design an adaptive, energy-efficient methodology to switch between WiFi and cellular networks to provide robust Internet connectivity. When using a WiFi network, we utilize a combination of active and passive monitoring techniques to detect unavailability of Internet connectivity via WiFi. When using the cellular network, we design two algorithms, namely the dormant probing algorithm, and a variable heartbeat probing algorithm, to detect the availability of Internet connectivity via WiFi. We implement the algorithms and mechanisms we design on smartphones. We also implement the capability of simultaneously accessing WiFi and cellular networks on smartphones. We evaluate our design and implementation using an Internet availability simulator which is based on a two-state continuous time Markov chain. Our experimental results show that we are able to detect unavailability of Internet connectivity beyond the first hop when using WiFi and switch to the cellular network fairly quickly. Furthermore, with the variable heartbeat algorithm, we are able to switch back to WiFi within 60 seconds of Internet connectivity becoming available, 90% of the time, with minimal probing overhead. |