Thanks to a rich app ecosystem, mobile OSes such as Android* have spread to non-smartphone usages. For example, Android is employed for interactive devices in connected cars, supermarkets and electronic classrooms. These real-world use cases currently require the installation of multiple or even many standalone mobile devices to provide uncompromised experience for every user. Meanwhile, computing capacity grows quickly even on relatively low-cost computing platforms. To reduce the total cost of ownership, it’s natural to ask: Iis it possible to host multiple simultaneously interactive physical mobile clients on a shared single computing platform?
This session introduces AIC, a system to support multiple simultaneously interactive physical Android clients for an uncompromising user experience on a single computing device. AIC offers every client a full mobile OS instance that is virtualized based on container-like OS virtualization technology. Every client features fully accelerated 3D graphics, standalone I/O peripherals such as touch, audio, and display.
Take a detailed look at our AIC prototype that supports multiple simultaneously interactive Android clients on one low cost x86 platform. AIC may be the first system to enable a full Android experience on multiple interactive clients running on one computing platform. It’s also worth noting that AIC obeys a noninvasive design principle: It keeps its extensions within the bounds of the hardware abstraction layer, with no modifications to the kernel and only minimal changes to the mobile OS framework. This makes AIC extremely easy to maintain against any quickly evolving upstream kernel and Android source tree. See performance evaluation results that demonstrate AIC’s superiority to alternative VM-based solutions.