24 July 2007

On Virtualization

Now, I don't know how far it has been considered in academia or industry but, excuse me if I am naive or simply unaware, virtualization, specifically paravirtualization, could be immensely useful to systems requiring a 1) minimal OS footprint with the ability to swap images in near-real-time, 2) an "online OS" or 3) an OS running on a virtual machine.

  1. Set-top boxes such as (my favorite) the Moxi box or a TiVo could run multiple virtualized guest images, for the sake of a manufacturer upgrading feature sets or remediating flaws, over a consistent, hardened host image that only provides a bootstrapping facility the guest images. Through paravirtualization, presumably, hardware sharing and optimization functions, such as video capture and display/replay, could also be virtualized and provide for a transparent user experience as the various operating images are propagated to customers (presumably over multicast...I mean cable pay-per-view). Additionally, it could also offer rapid roll-back in the event of an image push and a call center flooded with complaints about set-top boxes that no longer work.

  2. Ah, the "online OS." Everything Google does has an entire industry wondering if they are preparing for a browser-based, online OS. Browser-based with bootstrapping through a browser's existing JVM (or something similar)? Others are obviously thinking about this more topically than myself:

    "a bunch of startups like YouOS , Goowy, DesktopTwo, Xin and open source eyeOS are already tackling this exact problem"

    Maybe In a way, Sun is already doing it with their Sun Secure Global Desktop Software (wicked demo, BTW). Sun licensed Microsoft's Remote Desktop Protocol (RDP) technology in order to do some of this and the result is as smooth as a MS Terminal Services/RDP session but with dedicated, thin client hardware and a java-based smart card that allows a user to disconnect and later reconnect, at an arbitrary location, and have their last session in-place.

  3. In a way, an arbitrary OS running on a virtual machine is sort of cool but mostly, "this is what virtualization is all about, slow to the table commentator." The Sun solution mentioned above can be considered in this light. Microsoft Terminal Services can use a thick client or browser-based end-user environment and still provide seamless connectivity.
So, I'm probably well behind the curve on this one as far as experimenting with the technologies but at least, to the uninitiated, there seem to be some useful implementation possibilities.

No comments: