Here's a thought about reversing the concept of bearer aware applications: What if the OS of a mobile device would monitor the traffic behavior of applications running on a mobile device and then reselect to the most suitable access network for the application mix currently used?
Let me give you a practical example: While only my e-mail client is checking my inbox every couple of minutes it would be much better if the mobile was using the 2G GPRS/EDGE network instead of a 3G network in order to conserve power and to improve the autonomy time. The problem is actually very real and has to do with 3G networks keeping the mobile in a much more power consuming state after each data transfer until it goes back into idle mode. For details see here.
So when the OS detects that only such periodic and small data transfers are ongoing it could attach to the GPRS network. This could work even if other applications, such as the web browser, still run in the background but aren't actively being used at the moment. If I then use the browser again to go to a new web page, the OS could then quickly go back to the 3G network.
The beauty of the approach would be that applications would not have to be modified. A little hook in the IP stack to monitor incoming and outgoing traffic and making a decision on that to reselect to a different access network, while keeping the IP address, shouldn't be to difficult to get into an OS. Maybe something for an Android programmer? Or will Apple or the Symbian foundation be faster?
Other alternatives to make mobile Internet access for background applications more power effective could be the package of Continuous Packet Connectivity features of HSPA+ (see here, here and here) or the new air interface of LTE. But if they are as efficient as GPRS/EDGE and how long it takes for them to become available remains to be seen.
5 thoughts on “Application Aware OS’es – Knowing When To Drop Back to GPRS”
this could work if battery was the only problem. but there are others, specifically wondering if if the user experience will be all that great. there will be latency when the application decides it needs data. will also probably generate tons of 2G3G4G handoffs. Comments?
In most phones there is an option to choose network mode : Dual/UMTS/GSM. If user’s application only checks something from time to time, like e-mail client, this could be today solution.
My observation is that many users switch off 3G/UMTS mode in their mobile phones, because they do not need any 3G service, phone didn’t have to handover between UMTS and GSM, there is better GSM coverage (especially at 900MHz indoor) and battery last for longer period.
Your links to CPC reminds me of the issue of “always-on, push” services.
To offer genuine “push” based services in 2.5/3G, the mobile would have to establish and maintain a PDP context. Most phones will drain their battery in a couple of hours,save blackberry & iphone.
Not being a technical person, do you think CPC will address this issue so we don’t need special handsets to for push-based, always-on data services i.e., a normal 3g handsets without a big battery capacity can now run push-based services
Yes, that’s the big question, will CPC be good enough for that!? Well, I don’t know… That’s whatI was wondering in the post, too.
Note that I mostly use my N95 in 2G mode and have a PDP context 24h a day for my e-mail program running in the background checking for e-mail every 5 minutes. Not a problem for the battery while you are in 2G mode.
I think this is a very tempting idea and I actually spent some time on this about 2 years ago too. I think it would be easier for a non-always-on device as the device is in the idle mode most of the time. The switch to EDGE could take place in the background.
For a heavy user with an always-on connection it’s more complicated I believe, there are practical questions that need to be answered… e.g. does the device allow 3G->2G switching when it’s not idle? What if the device is on a voice call? When a device switch back to 3G and if the network only support 1 PDP context, how the mapping should happen? Also, switching from 2G->3G will probably take a long time (seconds) which isn’t nice.
Most importantly this is about the user experience – would the users be happy if they see the device stays on 2G for a lot of the time while they’ve paid for a 3G premium? Users wouldn’t necessarily understand that EDGE would save the battery life – that’s something that has to be taken into consideration as well…
Comments are closed.