Nicholas Carr's blog

Virtualization gets personal

The fundamental promise of virtualization is that it breaks the lock between hardware and software, between the physical side of computing and the logical side. That lock, which most of us don’t even notice because we’re so accusomed to it, makes computing much more complicated, expensive, and inflexible than it needs to be.

Many big companies are today using virtualization to consolidate and automate their computer systems. Rather than being forced to dedicate stacks of hardware to particular applications, they can create, in essence, a multipurpose hardware infrastructure that can run all their applications, shifting resources among them as necessary. (That’s an overstatement, but it’s where virtualization is leading us.) That increases the capacity utilization of hardware enormously, reducing the amount of machinery you have to buy, and by greatly simplifying the deployment of the hardware, it also reduces the number of people you have to employ to run your systems.

But virtualization can bring benefits to individuals as well. It promises, in fact, to make “personal computing” considerably more personal by separating what you do on your PC from the PC itself. For a preview of what that means, consider the personal virtualization software MojoPac, which the Financial Times tech columnist, Paul Taylor, reviews today. MojoPac, as Taylor explains, “lets you safely and securely separate software applications, files and settings from a PC and put them on to any USB device, such as an iPod, mini portable drive or flash memory stick. Instead of lugging a computer around, you load your desktop on to a pocket device. When you reach your destination, you plug it into [a PC] and your familiar home set-up is instantly in front of you.”

MojoPac, like other similar products, has its limitations, but in Taylor’s tests it worked admirably well. “I am impressed,” he writes.

In MojoPac, we begin to see what happens to personal computing when it becomes separated from the personal computer. As storage devices get smaller, more capacious, and cheaper and as virtualization technologies advance, we’ll be able to carry our entire computing setup around on our keychain – including all our applications, data, and settings. Whenever we need to use a computing device, whether a PC, a mobile phone, a music player, a TV, or some nifty future gadget, we’ll plug in a little drive and – voila! – our personal setup will appear instantly. At the level of software, which is the level that matters for us, we’ll have just one device, even though it will take many physical forms. This won’t kill the PC, but it will make it far less important, far less central, than it has been.

But that’s only the start. Ultimately, we probably won’t even need a little storage drive to carry our setup around with us. All the required information will sit in a utility data center out on the Internet somewhere, in the “cloud,” and it will be served up automatically to whatever machine we happen to be using at any given moment. We’ll access it with a smartcard, or a password, or maybe a thumb print or a voice command. Our “PC” will float around with us, weightlessly, forever at our beck and call.

Authentication can already be handled by a combination of password and personal biometrics.

Over my dead body, so to speak. When ubiquitous use of biometrics starts to become mainstream to the point where it threatens to be unavoidable in ordinary transactions — that’s when the baseball bats come out: there are plenty of people who will draw that line (mostly because they’ve got common sense). Further, that’s a non-fungible form of auth — like a driver’s license (ideally) — making it unsuitable for most applications. (Fungibility is critical not so much because you commonly want people switching identities (though sometimes you do) — but rather because you want *composability* so that I can pass my credentials to you via any third party I happen to trust (as in, “Hey, hon, take my card to the corner store to get some milk.”)

Anyway, for any high-stakes use, biometrics in the wild seem to occupy a spectrum between “not very reliable” and “dangerous to life and limb”. (Hence, “over my dead body.”) Can’t ya just hear the muggers now? “Your thumb or your life!” And, imagine the kidnappings! It’ll all be great fun, I’m sure. (And all, to think, motivated by the hubristic and not obviously achievable goal of being able to perfect human social mobility to such an extent that we can each travel anywhere we want, being recognized perfectly or treated anonymously as we choose. Flying cars are next.)

No, the basis of this blog post is wrong. It’s device drivers, which exist both for VM hypervisors, and for normal OSes, which abstract the hardware. Anything that runs a VM needs to use drivers to interface with the the physical machine. Both VMWare and Xen load their own little OS, and that needs drivers to function. No drivers, no system!

Similarly, a decent OS will happily reboot on a completely different machine, providing it can detect the hardware and load the right drivers. You can (generally) migrate a server instance by backing it up, and restoring it to the new machine. (If you keep your boot partitions in a disk array, you can just switch the partition from one server to another. Makes failovers easy !)

Because of the abstraction provided by device drivers, what MoJo offers has been around [Linux & Win] for years! It’s just not used much because USB drives are too small for all those Powerpoint files.