October 2009 Theme:
System Virtualization
Guest Editor's Introduction by Keith Farkas

System virtualization is a method for executing applications in which the applications are installed in and executed by a software representation of a real computer called a system virtual machine. System VMs, in turn, run on top of a software layer called the hypervisor. System virtualization is the underpinning for a number of IT transformations, such as server consolidation, shorter application deployment times, and virtual desktops, and is a key driver for cloud computing.

Benefits

System virtualization provides multiple benefits. For example, VMs encapsulate the application’s persistent state and runtime environments, making it easy to deploy, version, manage, and migrate the application and improve application availability. Moreover, the host computer’s physical characteristics are hidden from the applications and operating systems, improving application portability. Finally, hypervisors let multiple VMs run concurrently on the same host computer while isolating them from each other and interfacing them to the host computer’s devices. Therefore, distrusted and trusted applications can run in parallel safely, even when they require very different runtime environments.

This Month’s Theme

For the October 2009 theme of Computing Now, I selected five articles from IEEE Computer Society magazines that leverage and explore these benefits. The first three articles discuss the application of system virtualization, and the other two explore some of the issues that arise from its use.

In “Virtual Infrastructure Management in Private and Hybrid Clouds,” (login required for full text) the authors describe two tools that greatly simplify deploying applications encapsulated in VMs onto computing resources provided by private and public clouds and scheduling these clouds’ capacity. The second article, “System Virtualization Tools for Software Development,” (login required for full text) presents a tool that helps developers to quickly launch and test applications in production-level environments and could be deployed using the virtualized computing infrastructure described in the first article. “A Virtualization Infrastructure that Supports Pervasive Computing” (login required for full text) discusses how developers and system operators can use encapsulation, isolation, and interposition to safely and securely deploy the middleware required for pervasive computing. They can also use these techniques to construct and deploy pervasive applications that require access to local and remote I/O streams.

The Paradox of Security in Virtual Environments” (login required for full text) explores the benefits of virtualization and its security implications. “Leendert van Doorn and Jörg Brakensiek on Virtual Machines” (login required for full text) explores some of the realities in using virtual machines as a platform for pervasive applications.

Related Resources

Numerous other articles touch on the issues relevant to system virtualization. (Some links may require login.)


Guest Editor

Keith Farkas is a staff engineer at VMware and a member of IEEE Pervasive Computing’s editorial board. Contact him at kfarkas at vmware dot com.