Product Releases

Mobile Virtualization — The "Killer App" for Mobile Design and Development

Thu, 04/08/2010 - 1:19pm
By Rob McCammon, Open Kernel Labs

Mobile Virtualization — The "Killer App" for Mobile Design and Development

Figure 1. Mobile Virtualization.
Over the last few years, virtualization has evolved from an obscure technology to become a key enabler of enterprise server and desktop applications. More recently, virtualization has also begun to play a comparably pivotal role in embedded development and deployment. Segments leading this wave of adoption are mobile telephony, telecommunications and network infrastructure, and secure embedded computing. In all these areas, developers and integrators look to virtualization to address needs for increased reliability and security, to ease maintenance and forward-migration of legacy code, and to optimize hardware utilization.
The Same, but Different
Mobile Virtualization — The "Killer App" for Mobile Design and Development
click to enlarge

Figure 2. OKL4 Microvisor and Secure Hypercell Technology.
Virtualization is a well-known software programming technique applied to run multiple (guest) operating systems (OSes) simultaneously on the same hardware platform. Virtualization software, a.k.a. a Hypervisor, hosts multiple virtual machines (VMs) each of which is capable of running guest OSes by abstracting, partitioning, and multiplexing underlying hardware resources such as computing power, memory, and peripheral devices. Virtualization has already proven its benefits in enterprise and desktop markets. Enterprise virtualization technologies like Citrix Xen and VMware ESX have established their usefulness and dominance in server markets.

Similar virtualization concepts are now being deployed in embedded devices. However, mobile device development practices dictate tight vertical integration in contrast to the loose horizontal approaches employed in the enterprise market. Despite obvious similarities with enterprise/ desktop virtualization, mobile phone use cases present key differences. In addition to reliability and performance, mobile platforms requirements include:

•Limited memory, storage, and CPU horsepower in fixed-function systems versus easy upgrades to blades, servers, and desktops

•Self-management by end users versus access to IT teams and call centers

•Real-time response and other real-world, mission-critical performance requirements

In addition, contrary to the enterprise, virtualization in embedded systems is motivated by the co-existence of a fixed set of vastly different operating systems (low-level RTOSes and high-level application OSes) rather than the dynamic creation and destruction of similar OS environments.
Mobile Virtualization – The Design Engineer's and Developer's Friend
Mobile virtualization gives developers a powerful new tool to address a variety of device development challenges. It builds in security, helps in extending application longevity, and lets handset OEMs consolidate hardware and software by enabling multiple OSes to run on a single processor. Some additional benefits include:

Faster to market – It is a well-understood fact in the software industry that a stable and flexible platform significantly reduces the time needed to develop new products. Mobile virtualization trims development cycle time by making it easier to reuse existing software assets, integrate several software components into a complete software solution, and develop and debug software components from device drivers to OSes and applications. This enables developers to quickly react not only to market needs, but also to competition.

Secure and reliable systems – New applications enabled by more powerful mobile devices and networks have created new requirements for security and reliability. Insufficient security or reliability can lead to loss of access to mobile networks, exposure of personal data or communication, and customer frustration with both device OEMs and MNOs. Mobile virtualization solves such problems by offering a better framework in which to create secure and reliable systems. This framework allows the isolation of open application environments from critical device services, policy driven control over the specific device resources that can be used by each software sub-system, and recovery from a sub-system fault without needing to take the entire device off-line.

IP protection – Software intellectual property is a valuable differentiator for mobile developers. At the same time, the use of available open-source software is key to delivery of required capabilities in minimal time. Mobile virtualization allows open-source software and proprietary software to run on different VMs and provides a level of isolation between them, which would otherwise require physically separate processor hardware leading to increased device manufacturing cost.

Enterprise endpoint – Mobile workers hunger to do more with their mobile devices and look forward to the day when they can leave their laptops at home. The emergence of mobile devices as high-capability endpoints, enabling secure access to corporate data and networks from anywhere at anytime, creates the requirement to provide a combination of access, manageability, and security at the lowest cost and in the most flexible way. These requirements are best met using mobile virtualization.

Lower costs – Device designers face two major costs — software development and bill of material (BOM). Mobile virtualization allows developers to reduce software development costs by increasing reuse of proven legacy software and reducing time and effort needed to integrate the new software needed to meet new requirements. Developers can also reduce BOM costs by consolidating multiple physical processors on a single physical CPU supporting multiple VMs. For example, a teardown analysis of the Motorola Evoke QA4, the world's first commercial, fully-virtualized mobile phone, shows that virtualization enabled BOM cost savings of up to $46 per handset are possible.

New platform adoption – Many of today's mobile phones and other embedded systems were created using an embedded real-time operating system (RTOS). More powerful processors and new software requirements are forcing the adoption of richer, more general purpose OSes such as Linux and Android. Although these rich OSes offer great support for application developers, they often fall short in required real-time performance. By allowing integration of a rich OS alongside an existing RTOS environment on the same processor, mobile virtualization offers the fastest way to enable embedded systems to become applications platforms. Mobile virtualization also provides the flexibility to more quickly move to new hardware.

Power management and resource utilization - With increasing use of multicore processors in smartphones, system designers are finding it challenging to manage the trade-off between computing power and battery capacity in a mobile device. A well-designed embedded hypervisor allows system designers to set flexible and aggressive management policies to improve the utilization of resources.
For some time, virtualization has been a hot topic in enterprise IT, and has recently become an important technology for embedded systems as well. The mobile industry, in particular, is just beginning to exploit advantages made possible by mobile virtualization. Adoption of virtualization in mobile devices is on the rise as system designers recognize its benefits. Mobile virtualization gives design engineers a powerful new tool to address a variety of device development challenges. It enables greater security, greater flexibility in design (e.g., to support multiple OSes and stacks), migration and maintenance paths for legacy software, a tool for hardware consolidation and BOM cost reduction – even options for optimizing energy use for greener mobile computing.

Rob McCammon is vice president product development at Open Kernel Labs,, 312-924-1445.


Share this Story

You may login with either your assigned username or your e-mail address.
The password field is case sensitive.