We have virtualization on servers, desktops, laptops and what’s next? Naturally, the “smart phone”. Today’s mobile phones have become quite powerful that one can easily virtualize them and run multiple operating systems. But,
Why do you need smart phone virtualization?
Similar to desktop virtualization, the use-case is not that clear, but there are some benefits that can be gained.
- Reducing vendor lock-in. Can you run iPhone applications on an Android phone? Currently, no, but with virtualization this might be possible.
There are issues with Apple (or other vendors)’s mobile OS licensing that make it illegal to do so, right now. You can only run iOS on Apple approved devices, but this may change in the future. Many old phones have legacy applications and libraries that can be run in virtualized sandboxes as well.
- Mobile cloud computing. You can clearly access the so-called “cloud” from a smart phone, but if smart phones are virtualized, mobile applications can be migrated to a cloud and back seamlessly. This is
still a pipe-dream and a few research platforms (MAUI
and CloneCloud) are proposed to make this a reality. The benefits of doing this are enormous: one can potentially access infinite compute and storage resources on the smart phone.
- Security. This is probably the strongest argument for mobile
virtualization. The popularity of smart phones is making them a prime target for
malicious hackers. Malware, Viruses and other nasty stuff are making their way into smart phones, which currently don’t have much protection against them. It’s not easy to run Anti-virus software on a mobile phone, as the current AV software is very resource hungry making it unsuitable for smart phones.
- Isolation. This is related to security. It will be possible to have different user profiles with different levels of access (say work and home) with mobile virtualization. VMware recently demonstrated, how multiple user profiles can co-exist in the same phone at Mobile Congress 2011.
- Ease of development. This is an indirect benefit for mobile phone
developers. Virtualization can make the development of mobile applications
easier by removing the need for maintaining multiple versions of the same
application for different operating systems.
Before you start seeing virtualized mobile phones, there are still plenty of
challenges that need to be solved.
- Limited resources. Though, the CPUs on mobile phones are getting more
and more powerful, they still have limited battery and storage space.
Virtualization usually adds more burden to the resources and is not necessarily
- Poor connectivity . Mobile cloud computing sounds like a great idea,
but mobile phones often experience variable connectivity. It’s not easy to
operations for storage and for seamlessly migrating computation.
- Poor performance. Virtualization adds performance overheads, which
are still being researched in server virtualization environments. It’s not
clear whether the overheads are worth the effort on a mobile phone.
These challenges can be overcome and it’s only a matter of time before
smart phones are virtualized. Some current players in the market are: VMware’s
mobile virtualizaiton platform (MVP) and OKL4
MicroVisor. OKL4 claims to be the first open source mobile hypervisor, which
is an exciting development that can lead to advances in mobile