Cellular offload to Wi-Fi is a hot topic these days in the industry but from an implementation point of view we are just at the beginning, especially on the mobile device side of things. Pretty much all smartphones today have a Wi-Fi interface in addition to their cellular connectivity so from a hardware point of view they are ready for offloading. Unfortunately, when switching from cellular to Wi-Fi, a number of things happen today when the Wi-Fi hotspot is public:
- The IP address changes and the 3G connection is usually cut. In other words, ongoing connections are interrupted. Bad if you are watching a Youtube video for example.
- The public Wi-Fi hotspot usually requires some form of authentication.
- The coverage area of the Wi-Fi hotspot is rather small.
- Data rates at the coverage edge are very low.
- Sometimes, the backhaul of the Wi-Fi hotspot has a lower capacity resulting in lower hotspot speeds independent of the coverage situation than via the cellular network
While the user does not move, most of these issues do not really matter in practice. However, in real live, most subscribers are moving and here's a personal example where concurrent Wi-Fi / 3G connectivity becomes a problem:
When going and coming from work I usually use the time in the train to get some things done online with my netbook and Internet connectivity. As my data subscription also includes Wi-Fi connectivity via my network operator's Wi-Fi network I've initially set my netbook to auto-connect to these hotspots. In places where I know Wi-Fi connectivity exists I didn't bother to use my 3G stick but instead used the Wi-Fi because it is more convenient. But I figured out quite soon that this was not ideal. This is because when I am on the train, my notebook immediately recognizes Wi-Fi hotspots of my network operator in train stations and connectivity over the Wi-Fi interface gets precedence by the OS over the 3G connectivity. As a manual authentication procedure is required after connecting to the Wi-Fi hotspot, this in effect disconnects my 3G connectivity as all packets try to flow over the Wi-Fi link but can't because I haven't yet authenticated. Yes, one could automate that. However, it wouldn't help because after a minute, the train leaves the train station again and connectivity is lost. In this case the 3G connectivity is still there but all connections, that have just switched over to the Wi-Fi link are again broken.
Of course this could be fixed by having a piece of software on the mobile device and the network so the same IP address is used over both interfaces. But it's not here. Also, just the same IP address would not fix the issue of slower connectivity at the Wi-Fi coverage edge or in case the backhaul of the hotspot is under dimensioned. I have also seen in practice that at the Wi-Fi coverage edge, connectivity is still present but packets are no longer received in either direction. Again, software could help to fix this but we are a long way away from that, too.
Speaking of additional software on the mobile device, where should it be located? Today network operators deliver "connection manager" software with their data sticks that run on the operating system. Not everybody likes them as they might do more than some want and not all people can use them, such as me for example as I use Ubuntu. Another option is to have that software reside on the data stick which in addition to cellular connectivity could also contain a Wi-Fi chip. To the netbook or other device using such a stick or mini PCI card, it could just appear as a single network interface and everything is done internally. The downside from a user point of view to this is that this would bind the data stick or mini PCI card to a specific network operator due to the on-board software managing the switching between cellular and Wi-Fi. Not sure if that is a good idea either.
So my consequence out of all this is that I removed the auto-connection to the Wi-Fi hotspot network in my devices and only manually connect when I know I want to stay in a place for a longer time. But I have to do this by hand which is about as convenient as getting the 3G stick out of the pocket in the first place and connect it...