Developers positively hate having to deal with the massive number of mobile platforms. A cross-platform hypervisor that ran on mobile phones would shield them from those intricacies and allow users some pretty interesting capabilities.
Imagine, you're working on a document on your desktop at work, but you're not going to finish in time to make the train at home. So instead of having to transfer files and synch the laptop, you just move the VM from the desktop to your netbook. You could be typing a document or e-mail on your Smartphone and instead of having to finish typing on the cramped keyboard of your Smartphone you could just move the application to your office desktop. Or suppose you were listening to music on your mobile and wanted to continue listening to the song on your desktop. Just drag over the VM from your mobile to desktop and never miss a beat.
Sun doesn't offer a version of VirtualBox for mobile platforms nor is there a mobile version of Xen, and there's good reason to believe that such a move may be impractical. But VMware introduced its Mobile Virtual Platform (MVP) last year. Open Kernel Labs provides a mobile-specific virtualization platform, the OKL4.
Of course, moving VMs between platforms is more challenging because of the difference in chipsets. The mobile space is mostly ARM and x86s on netbooks. There are alternative approaches though, says Gernot Heiser, CTO of Open Kernel Labs. "One would be to do on-the-fly translation of code/data during migration. That would be technically hairy and probably require the app to move to a defined state before migrating, something that breaks transparency for the application programmer."
A much neater solution, he says, would be to leave the VM where it is, but make use of virtualization in a different way: mapping from virtual to physical devices. "When a VM does I/O, the [guest] OS doesn't normally access devices directly. Instead, it talks to some virtual device, and the hypervisor maps these requests somehow to actual I/O operations on the real device, which may be shared by many VMs.