The Community for Technology Leaders

Virtual Machines

Keith I. Farkas, VMware
Chandra Narayanaswami, IBM T.J. Watson Research Center
Jason Nieh, Columbia University

Pages: pp. 6-7

A system virtual machine is a software implementation of a real computer that can execute unmodified applications and an operating system. System virtual machines, also called hardware virtual machines or simply virtual machines, run on top of a virtualization software layer called the hypervisor.

For many reasons, virtual machines, hypervisors, and related system virtualization technologies provide an attractive basis for building pervasive computing software systems. For example, virtual machines encapsulate the application's persistent state and runtime environments, making it easy to deploy, version, manage, and migrate. Moreover, the host computer's physical characteristics are hidden from the applications and operating systems, providing benefits such as improved application portability. Finally, hypervisors allow multiple virtual machines to 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.

Virtual Machines and Pervasive Devices

Although virtual machines and system virtualization technologies have made and continue to make a significant impact on desktop and data center computing and are the underpinnings of cloud computing, they haven't historically played a significant role in pervasive computing. But this situation is changing. Perhaps the most significant driver is the growing number of increasingly capable pervasive devices—especially mobile phones—that enable more demanding applications. Various corporate efforts, such as those by VirtualLogix, Samsung, and VMware, are also making inroads in applying virtualization to pervasive devices. Products such as Apple's iPhone, Google's Android, and Microsoft's Mobile Software Development Environment are also spurring third-party application development.

Motivated by these trends, this special issue of IEEE Pervasive Computing explores the application of virtual machines and virtualization technology to pervasive computing through two papers and two interviews. We hope you find the authors' ideas stimulating and thought-provoking.

In This Issue

In "A Virtualization Infrastructure that Supports Pervasive Computing," Larry Rudolph discusses how we can use virtual machine features to safely and securely deploy the middleware required for pervasive computing as well as construct and deploy in production pervasive applications that require access to local and remote I/O streams.

In "The Case for VM-Based Cloudlets in Mobile Computing," Mahadev Satyanarayanan and his colleagues discuss one possible use of middleware: seamlessly offloading computation from mobile devices to nearby computers (cloudlets) to run applications that greatly exceed mobile devices' resources. Applications in the cloudlets run within virtual machines that the middleware rapidly customizes before each use with the virtual machine synthesis information uploaded from the mobile device.

Finally, because virtual machine use in pervasive computing is an emerging field, we solicited input from two experts, Leendert van Doorn and Jörg Brakensiek, to gain a better understanding. Van Doorn is a senior fellow at AMD in charge of its overall virtualization strategy, and Brakensiek is a principal member of the research staff at Nokia's Research Center and heads a team researching virtualization.

For more information on this or any other computing topic, please visit our Digital Library at

About the Authors

Bio Graphic
Keith I. Farkas is a staff engineer at VMware. His research interests span personal and enterprise computing and include power management, mobile systems and location-aware pervasive applications, automated management of computing infrastructure, and highly available virtualization-based systems. Farkas has a PhD in electrical and computer engineering from the University of Toronto. He's a member of the IEEE and has served on the editorial board of IEEE Pervasive Computing since the magazine's inception. Contact him at
Bio Graphic
Chandra Narayanaswami manages a group studying next-generation pervasive services at IBM Research. He has also pioneered novel concepts in mobile computing, such as Linux Watch and SoulPad, and a novel navigation system that combines consumer digital cameras with GPS devices to provide photographs with route information. Narayanaswami has a PhD in computer and systems engineering from Rensselaer Polytechnic Institute. He's a Fellow of the IEEE. Contact him at
Bio Graphic
Jason Nieh is an associate professor of computer science and director of the Network Computing Laboratory at Columbia University. He has made research contributions in software systems in a range of fields including operating systems, virtualization, thin-client computing, utility computing, mobile computing, multimedia, Web technologies, and performance evaluation. Nieh has a PhD in electrical engineering from Stanford University. Contact him at
60 ms
(Ver 3.x)