Virtualization: Architectural and radical innovation
Today's mobile phones are based on architectures that have evolved as a result of incremental and modular innovation. Rare have been the radical innovations that involved changes to the core concepts, the components and the way that they are linked together. The most attractive innovations can be both incremental and radical. These are used to migrate legacy components forward, while offering a new paradigm for building new systems. Together, isolated containers, shared hardware resources, open framework and common platform services are a catalyst for new technology innovation.
1. Isolated containers
The ability to create purpose-built execution containers with dedicated hardware resources (better known as virtual appliances) is the basis of this new software architecture for mobile devices. Through the use of isolation mechanisms and sharing of the hardware resources, the hypervisor can define and manage the independent execution of software applications and services such as security into separate software containers (see Figure 1). This approach creates a new environment where each of the key players in the ecosystem can innovate independently without taxing overall device performance and predictability.
Figure 1 - A new software architecture based on software containers
2. Common abstraction and sharing of hardware resources
The hypervisor is specialized in sharing core hardware resources and controlling access to shared peripherals. It allows designers to deliver consistent software architecture across heterogeneous hardware architectures for the phone. Its flexibility is important in gaining more cohesiveness across product lines, and accelerates the adoption of new hardware architectures and technologies.
3. Open framework for adding shared devices
As shown in Figure 1, the software containers may be used to rapidly integrate new peripheral devices with the platform. Through reduced porting drivers and testing, an open framework helps deliver new innovative devices to more platforms in less time.
4. Common platform services
Because hypervisors control access to key hardware resources, we can easily define common services that will provide guidance to the hypervisor on how to best allocate the resources based on identified platform variables and constraints. This separation of policy from implementation provides some control on behavior without changing the hardware or software, as we can effectively change the power management parameters for the platform based on current use condition, for example.