Remote mobile virtualization

Remote mobile virtualization, like its counterpart desktop virtualization, is a technology that separates operating systems and applications from the client devices that access them. However, while desktop virtualization allows users to remotely access Windows desktops and applications, remote mobile virtualization offers remote access to mobile operating systems such as Android. Remote mobile virtualization encompasses both full operating system virtualization, referred to as virtual mobile infrastructure (VMI), and user and application virtualization, termed mobile app virtualization. Remote mobile virtualization allows a user to remotely control an Android virtual machine (VM) or application. Users can access remotely hosted applications with HTML5-enabled web browsers or thin client applications from a variety of smartphones, tablets and computers, including Apple iOS, Mac OS, Blackberry, Windows Phone, Windows desktop, and Firefox OS devices.

Virtual mobile infrastructure (VMI)
VMI refers to the method of hosting a mobile operating system on a server in a data center or the cloud. Mobile operating system environments are executed remotely and they are rendered via Mobile Optimized Display protocols through the network. Compared to virtual desktop infrastructure (VDI), VMI has to operate in low bandwidth network environments such as cellular networks with fluctuating coverage and metered access. As a result, even if a mobile phone is connected to a high speed 4G/LTE network, users may need to limit overall bandwidth usage to avoid expensive phone bills. Most common implementations of VMI host multiple mobile OS virtual machines (VMs) on private or public cloud infrastructure and allow users to access them remotely via options such as Miracast™, the ACE Protocol or custom streaming implementations optimized for 3G/4G networks. Some implementations also allow for Multimedia redirection for better audio and video performance. Mobile operating systems hosted in the cloud are not limited to Android. Other operating systems like Firefox OS and Ubuntu Mobile can also be used as VM instances depending on uses. Microservers based on existing mobile processors can also used to host Mobile VMs as they provide full GPU access for feature-rich user interfaces. To achieve higher density, VMI implementations can use customized versions of Android that minimize memory requirements and speed up boot times.

VMI use cases

 * 1) Satisfy compliance – VMI helps address data privacy regulations such as HIPAA. VMI minimizes the risks associated with mobile device theft by storing mobile data securely in data centers or the cloud, rather than on end user devices. In addition, with VMI, organizations can control and monitor access to data and can optionally generate an audit trail of user activity.
 * 2) Prevent data loss caused by physical device theft – With the advent of bring your own device (BYOD) initiatives, more and more users are accessing business applications and data from their mobile devices. Because VMI hosts mobile applications in the cloud, if a mobile device is lost or stolen, no business data will be compromised.
 * 3) Accelerate app development and broaden coverage – VMI allows application developers to write applications once and use them on all HTML5-compatible mobile devices. Most VMI vendors offer VMI clients for Android, iOS, and Windows Phone as well as clientless, HTML5 browser-based access. Minimize software development costs and addressing mobile fragmentation.
 * 4) Streamline IT operations – With VMI, IT administrators do not need to install, manage and upgrade individual applications on end user devices. Instead, if a new application patch is released, IT can upgrade the mobile application once on a cloud or data center.

Mobile app virtualization
Mobile app virtualization technology separates mobile applications from their underlying operating system using secure containers, and is analogous to RDSH and Citrix XenApp on desktops. Compared to VMI, Mobile app virtualization only virtualizes the individual application and the user session rather than the full mobile operating system. Mobile app virtualization can offer higher density than VMI because one instance of the remote OS can serve multiple users, however the user separation is less secure than VMI and there is less context of a full mobile device. Using secure containers, each user session is isolated from one other and the output of the user session is rendered remotely to the end user. Mobile app virtualization also helps in scaling to large number of users as well as sharing hardware features like GPU and encryption engines across all user sessions as they can be managed by the underlying operating system.

Mobile app virtualization is functionally similar to VMI in that both solutions host individual users’ mobile sessions on remote servers; however, it differs from VMI in several important ways:
 * 1) Mobile app virtualization sessions run in a single shared mobile operating system while VMI provides individual mobile operating system instances for each user
 * 2) Where mobile app virtualization is mainly designed to virtualize individual application sessions, VMI is designed to deliver full mobile environments
 * 3) Mobile app virtualization is transparent to the end user; an end user accessing an application from a different mobile operating system (e.g. iOS) than the hosted operating system (typically Android) will not have to learn a new user interface. However, Hypori has recently bridged this gap in VMI with a seamless apps mode, in which the host OS is hidden from the user.
 * 4) By using one, shared operating system instead of separate operating system instances, mobile app virtualization consumes less resources than VMI.
 * 5) Due to having a single mechanism for user separation (typically SEAndroid policies and containers) as opposed to multiple layers of separation, mobile app virtualization was judged to be less secure than VMI by security expert organizations such as the U.S. DoD.

The analysts at TechTarget have written excellent comparisons of desktop RDSH (analogous to MAV) and VDI (analogous to VMI), and many of the same observations hold true in comparisons of the mobile equivalents.

Mobile app virtualization use cases

 * VMI use cases, including compliance, accelerated app development, and streamlined IT operations – Mobile app virtualization addresses compliance, security, and operations requirements.
 * Live streaming of mobile applications – One end user can control applications, while multiple users can view live or recorded sessions of mobile applications. Live streaming can be used for video game walk-throughs and demos or instructional videos for mobile applications.
 * Visibility into encrypted traffic that uses certificate pinning – An increasing number of mobile applications use certificate pinning to identify server certificates and prevent Man in the Middle attacks. However, certificate pinning also prevents organizations from inspecting internal network traffic for attacks and data exfiltration. With mobile app virtualization, organizations can analyze all traffic, including traffic from mobile apps that use certificate pinning.
 * Mobile gaming as a service – Mobile app virtualization allows players with low-end entry-level phones to play graphically intensive multiplayer video games. Both VMI and mobile app virtualization can store user information in secure encrypted containers.

Mobile gaming as a service
Gaming as a service provides on-demand streaming of video games onto mobile devices, game consoles, and computers. Games run on a gaming company's server are streamed to end users' mobile devices. Traditionally, gaming as a service uses Windows-based VDI or Virtual Network Computing (VNC) technologies and uses PC-based GPUs. With mobile gaming as a service, gaming providers can host Android-based video games on microservers and stream these games over low-bandwidth cellular networks to mobile devices.

With mobile gaming as a service, users can test out or play games without downloading and installing them on their devices. This is especially advantageous for mobile devices with limited disk space, RAM and computing power. Because the game is executed remotely, even mobile devices with older generation GPUs can play mobile games with advanced 3D graphics. Mobile gaming as a service also provides a vehicle for Android application developers to reach a wider audience, including Windows Phone, Apple iOS, and Firefox OS device owners. Mobile gaming as a service can deliver free, advertising-supported games or subscription-based gaming services.