Samsung and VMWare Bringing Virtualization to Android
jbrodkin writes with an interesting article in Ars Technica about virtualization and phones. From the article: "VMware's mission to bring virtualization to the mobile market gained a major supporter last week when Samsung pledged to use VMware software to build business-friendly smartphones and tablets. The project known as Horizon Mobile will let Android phones use virtual machine technology to run a second instance of Android, in much the same way virtualization works on servers and desktops. The user essentially has two completely separate phones running on one device, and can switch from the personal one to the corporate one by clicking a 'work phone' icon."
There are others pushing alternative approaches to virtualization on mobile devices.
Surely there's a more efficient way to have 2 separate phone environments running on the same handset.
While I'd be more interested from an end user and developer perspective, I like the idea of having a phone that will do both Android, WP7, and possibly even something like regular android, rooted android, (with multiple versions of android) and WP7 all at once.
Or android and bada at the same time.
Ok. This means the battery will just die faster. Talk about "Power User".
Perhaps if I was a Droid developer I might have a use for this. But for the average user, why not stick with profiles instead? No need to complicate the PDA anymore than it already is IMHO.
Life is not for the lazy.
Battery life sucks on Android phones. I say work on battery improvements. I hope with Moto in the basket, Google provides a better experience with Android phones than Samsungs and HTCs.
thank you very much
Homepage
I was hoping for an easy way to run windows in a virtualized tablet app for games and productivity apps with this article....
Your personal phone can still be declared "discoverable" in a lawsuit and you will still have to surrender it.
IMHO -- NEVER user personal property for the benefit of "the man".
To all the naysayers in here, consider:
Today's phones don't have the hardware to pull this off effectively. But, tomorrow's phones will arrive. They might include hardware hypervisor support (perhaps they already do) like modern x86 processors, dramatically increasing virtualization efficiency. Today's phones ship with 512-1GiB RAM, but you'll have trouble finding a (leading edge) phone with so little in 5 years.
But what is the advantage?
Simple. Security.
Imagine being able to snapshot your phone to try a new piece of software. Turns out to be malware? Hoses your phone or leaves traces of itself behind after uninstall? Revert the snapshot.
Want to be able to give your wife (or friend) your phone, but don't want to shut down your business applications? Flip VMs to a "public" phone. Your address book is hidden away, your meeting announcements are invisible, your email is safe. You can even let them install software in the other VM with a much lower risk (after taking a snapshot, of course), and suspend the instance when they're done.
Entire VMs could be encrypted and provisioned by your IT staff, to meet the needs of policy. Those irritating 5-minute auto-screen-locks? Now it's only a problem on your "work" phone. At the end of the day, flip back to your personal device, and you're good to go - all the while your email continues to download in the background.
Company decides to remote-wipe? There goes the VM. But only the VM. You're still as mobile as you ever were.
How about instance cloning? Buy a new phone, transfer your virtualized instance over, and you're back in business.
I think the possibilities for phone virtualization would be endless!
A government is a body of people notably ungoverned - AC
VM's are not speed daemons, neither are phones is this really worth the effort because no one at samsung has figured out that you can have different sessions without having to boot 2 os's
Why run several instances of a kernel with all the overhead of a VM when you should just do chroot/jails? Especially with such limited CPU and RAM, just seems like a bad idea.
I thought Android was already all about a Java VM. So... just start another Java instance?
But it seems silly to do all that just to swap out your profile data.
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
Is this meant to fake out two phones, or just a mega-profile? Phones are all about service plans. If you have a 'virtual' phone does that require it's own service plan?
Does the same phone number ring both phones? (If it does how do you know if you should pick up with the Business profile or the Private profile.)
Do you need 2 SIM cards? (Not even sure how that would work.)
Sounds like it's just a mega-profile, and in that case it sounds like overkill.
--Welcome to the Realm of the Hawke--
This is a yoke !! It's dead before it gets in throught the out door, just like Bonham !!
If you have 2 phones on one device, use one to call the other, to get out of meetings or awkward conversations.
I eat only the real part of complex carbohydrates.
Android is based on Linux and Linux already has Xen, KVM, and LXC for virtualization. What would VMware add to the mix other than cost?
Xen and KVM can be a bit heavy handed, but LXC is lightweight and may be best suited for mobile virtualization (assuming that you only want to run instances of the host OS--a limitation of containers).
KVM is based on qemu and I already know that works with ARM--the processor of choice for smart mobile devices.
So, I do not see a need for VMware.
As for VM need: Given all the viruses and other nasties targeting Android, it'd be nice to have VM snapshotting (or any snapshotting) capability so that I can roll back. Or perhaps push my VM to "the cloud" and fire up on a replacement device or a friends phone with fully charged battery--assuming that I do not need to download 32 GB of data. I guess my state could be in the cloud, but my data in a different cloud. Given the impressive Javasciprt-based emulators I could get my VM from a browser. Anyway, there are possibilities. I do like the idea of a personal VM and a work VM and a VM for my wife when she borrows my phone.
Maybe they don't be like Apple and higher a full building full of top IP lawyers. I'm not saying Apple is bad or wrong for doing so, just that maybe Google is trying a different approach of using licensed code, rather then extending open source.
Many people have addressed how this must be very inefficient. Well, I think if properly designed this shouldn't be much of an overhead. It depends if you really want to have both OSs running at the same time (lots of overhead) but you probably don't want to do that, or can work around it (most process certainly won't need to be running at the same time).
Also, hardware virtualization and hypervisors that allow paravirtualization might make it pretty efficient. Xen comes to my mind.
Personally, I'd love to be able to have IOS running as a separate VM. Then I could run the 3-4 IOS apps I like that just don't have a good Android equivalent.
Or worse case, run Android as a VM in IOS.
-J
One of the big issues in IT departments is that many people want to use their "personal phone X" as their work phone. I can somewhat understand this, as having two phones on my own belt-holster is quite irritating.
The big issue becomes, when a company's important data may be linked to the phone, who manages/owns the phone. If you have a corporate blackberry and an employee is terminated or loses the phone, you can wipe the phone via BES etc. It that phone is not necessarily a corporate phone, then you're going to have a pretty ticked off user (and possibly a lawsuit) if you wipe his/her personal stuff along with the phone. Also, what if the user jailbreaks the phone, etc
If personal/corporate space are separate, then your work space can be safely wipe the work VM. Similarly, an individual VM may have an entirely different privacy/security setting, jailbroken personal VM (and unbroken work VM) etc etc
My main concern would be performance. VM's nowadays are pretty efficient, but phones run on batteries and any overhead isn't cutting into what's already a fairly thin line.
Is my battery.
Flappinbooger isn't my real name
"Horizon Wireless" virtualization? You could condense those terms even more. Horization Wireless? No... hmm.... I've got it! Verizon Wi- oh wait.
So we see the beginnings of the bloat that infected desktop software beginning to infest the smartphone space.
VMs are not lightweight, even with HW virtualization support.
Lets make them run ONE OS WELL first, then worry about running two?
I heard you like Android, so I put a VM on your Android so you can run Android while you run Android!
almost a year ago...
http://www.geek.com/articles/mobile/vmware-to-run-virtual-os-on-lg-android-cellphones-2010127/
I'm thinking the virtualization folks are waking up to the fact that the world is going mobile, like everyone else.
Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
I find it really funny how companies succeed in making people think they may need this kind of crap.
I gave up with the idea of an useful sig...
I think RIM should take the lead on this and abandon hardware and virtualize blackberry. All their money can be made in BES/BIS and Virtual instances of Blackberry. The user can have an iPhone, Android, or WP7 device and still have their blackberry universe as well.
If I were RIM I would have started down this path about 18months ago. Then again. I am not RIM.
This is fantastic. I can have one instance in the middle of booting, another instance in the middle of crashing, and a third that's frozen waiting for the other two to give it some CPU time...
(I love my Samsung Galaxy, but the constant freezing/lockups are getting old...)
--- Generation X: The first generation to have SIG lines inferior to their parents... ---
What is this obsession with having corporate data on a phone? Connectivity is almost ubiquitous, why not just use the phone as a thin client and run server-driven, mobile optimised applications for your corporate stuff?
Citrix is looking into this with Project GoldenGate. You get the best of both worlds: A very secure phone with no risk of data loss, and a flexible personal phone so you can install as many fart apps as you like.
This is merely one solution in a spectrum, admitted reasonable in light of current network conditions for mobile phones (3G penetration and available tower density).
NTT DoCoMo and Intel are investigating the other end of the spectrum, which is having something akin to a cross between a heterogeneous cluster and a thin client model. Have the phone android OS interact with 1 or more cloud hosted android instances (which may or may not be exclusive to you), passing UI ops/sensor data/other data from the device to the instance, and sending back UI drawing elements and such to the device. This offloads heavier things and can potentially seal some things to the cloud instance, while maintaining a minimum viable OS should it become network disabled. Since both are android, getting the UI's to link is much easier. This also allows the logical partitioning between work and personal actions. The end goal for some people would be expanding the pseudo-cluster integration to chrome OS netbooks and desktops as well (approaching OnLive territory here, mixed with hosted applications in the cloud, and streaming video).
Google could do the backend android instance for cellphones thing right now and kick both Microsoft and Apple in the nuts, while simultaneously breaking into a whole new unified computing model that VMware could very quickly be shut out of. The only places at the table that would be left would be Citrix with Xen, for companies who absolutely want to host their own backend android instances, and Amazon AWS/EC2 for instances that can't/won't be hosted by Google directly.
I hear you like bloat, so we've put bloat inside bloat so you can wait while you wait!
I'd like to see where I can sync the VM between my phone and a server. I end up in places many times where I don't have connectivity for my phone or simply can't take it. It would be nice to instead go to a website with a virtual representation of my phone i could use. That way I don't have to have every service of my phone abstracted into multiple interfaces, (one for my phone, one for my work desktop w/ browser-only access, one an application I can install on my home computer, etc). Oh, and when I'm ready for a new phone? Just transfer the VM over.