Alphabetical list of terms
- AAR (Anbox Application Registry)
- AAR (Android Archive)
- AMS Node Controller
- AMS SDK
- Amazon Web Services
- Anbox Application Manager
- Anbox Application Registry
- Anbox Cloud
- Anbox Cloud Appliance
- Anbox Management Client
- Anbox Management Service
- Anbox Platform SDK
- Anbox shell
- Anbox Streaming SDK
- Android app
- Android Archive
- Android Debug Bridge
- Android Package Kit
- Application container
- Application manifest
- Base container
- Boot package
- Bootstrap process
- Core stack
- Graphics Processing Unit
- High availability
- Instance type
- Monitoring stack
- Nagios Remote Plugin Executor
- Neural Autonomic Transport System
- Node controller
- Raw container
- Regular container
- STUN/TURN server
- Software Rasterization
- Stream agent
- Stream gateway
- Streaming stack
- Ubuntu Pro
- Ubuntu One
- Web dashboard
A piece of code that can be used to extend and customise images in Anbox Cloud.
Amazon Web Services (AWS)
A cloud platform provided by Amazon that can be used to host Anbox Cloud.
See the AWS website.
AMS Node Controller
A service that runs on every LXD node and puts the appropriate firewall rules in place when a container is started or stopped.
An SDK that provides Go language bindings for connecting to AMS through the exposed REST API.
See AMS SDK.
A component of Anbox Cloud that facilitates booting an Android system on a regular GNU/Linux system. The concepts of the Anbox component in Anbox Cloud are similar to the Anbox open source project, but the Anbox open source project is an independent project that is not related to or used in Anbox Cloud.
Anbox Application Manager (AAM)
A utility (
aam) that is installed in the Anbox image and that can be used for various tasks, for example, to back up and restore Android application data.
Anbox Application Registry (AAR)
A central repository for applications created in Anbox Cloud. Using an AAR is very useful for larger deployments to keep applications in sync.
A rich software stack that enables you to run Android applications in the cloud for all kinds of different use cases, including high-performance streaming of graphics to desktop and mobile client devices.
See About Anbox Cloud.
Anbox Cloud Appliance
A self-contained deployment variant of Anbox Cloud.
Anbox Management Client (AMC)
The command line interface that is used to manage the Anbox Management Service (AMS).
Anbox Management Service (AMS)
The service that handles all aspects of the application and container life cycle in Anbox Cloud. AMS is responsible for managing containers, applications, addons, updates and more, ensuring high density, performance and fast container startup times.
AMS uses etcd as database. It connects to LXD over its REST API.
Anbox Platform SDK
A C/C++ SDK that provides support for developing custom platform plugins, which allows users to integrate Anbox with their existing infrastructure.
See Anbox Platform SDK.
A command-line tool (
anbox-shell) that provides an ADB shell with root permissions granted, which you can use to access the Android system in the container.
Anbox Streaming SDK
See Anbox Streaming SDK.
An application for the Android mobile operating system, usually provided as APK. To distinguish Android apps from Anbox Cloud applications, this documentation refers to Android apps as “apps”, not “applications”.
Android Archive (AAR)
A compiled version of an Android library that can be used as a dependency for an Android app module.
See Create an Android library in the Android developer documentation.
Android Debug Bridge (ADB)
A command-line tool that is included in the Android SDK Platform-Tools package and that allows to connect to and communicate with an Android device from your computer.
See Android Debug Bridge (ADB) in the Android developer documentation.
Android Package Kit (APK)
The file format used to package apps for the Android operating system.
An open-source test automation tool that can be used to test native, mobile and hybrid web applications on Android.
See the Appium website.
One of the main objects of Anbox Cloud. An application encapsulates an Android app and manages it within the Anbox Cloud cluster.
See About applications.
A container that is created when launching an application.
A file that defines the attributes of an Anbox Cloud application.
See Application manifest.
A temporary container that is used when bootstrapping an application. It is automatically deleted when the application bootstrap is completed.
See About containers.
The package to launch in an application container once the system has booted.
The process that builds the application and optimises it to run on Anbox Cloud.
See Bootstrap process.
One of the main objects of Anbox Cloud. Every time you launch an application or image, Anbox Cloud creates a container for it. Every container provides a full Android system.
See About containers.
The core parts of the Anbox Cloud stack that are required for all deployments. As a bare minimum, an Anbox Cloud deployment requires the following services:
- At least 1 LXD worker
- 1 AMS Node Controller per LXD worker
See About Anbox Cloud.
An open-source implementation of a STUN/TURN server needed for WebRTC to work behind NATs and firewalls.
A tool for analytics and monitoring that allows to query and visualise the metrics of the cluster or individual containers and generate alerts based on the data.
Graphics Processing Unit (GPU)
A specialised processor that is designed to accelerate image processing and graphics rendering for output to a display device.
High availability (HA)
The characteristic of a system to continuously be available without failing for a higher-than-normal period of time. Anbox Cloud ensures high availability by keeping replicas of every service, which avoids having a single point of failure.
Code that is invoked at different points in time in the life cycle of a container. Hooks are part of addons or applications.
The base for a container, which contains all necessary components like Anbox or the Android root file system. Anbox Cloud provides images based on different Android and Ubuntu versions and different architectures.
An abstraction for a set of resources that is available to a container.
See Instance types.
A charmed operator framework that helps you deploy, integrate and manage applications across multiple environments. Anbox Cloud is installed using Juju. The Anbox Cloud Appliance uses Juju under the hood.
See the Juju website.
A system container and virtual machine manager that offers a unified user experience around full Linux systems running inside containers or virtual machines. Anbox Cloud is based on LXD.
See the LXD website.
A reference implementation for basic monitoring functionality. Anbox Cloud does not provide a monitoring solution, but it offers reference implementations that can be used as a starting point for implementing a custom solution.
A tool for monitoring the status of critical infrastructure like networks, servers and applications.
See the Nagios website.
Neural Autonomic Transport System (NATS)
An open-source messaging system that the components of the streaming stack use to communicate.
See the NATS website.
Nagios Remote Plugin Executor (NRPE)
A Nagios agent that allows to execute Nagios plugins on a remote host to monitor the status and metrics on that machine.
An abstraction layer that is provided by Anbox to access the hardware resources of the host system from the Android system. Anbox Cloud supports three platforms:
null (without rendering),
webrtc (WebRTC) and
swrast (software rendering).
See Anbox platforms.
An open-source application used for event monitoring and alerting, which records real-time metrics about system events.
A container that is created when launching an image. It runs the full Android system, without any additional apps installed.
A container that is launched from either an application or an image. It exists until it is deleted.
See About containers.
An open-source screen mirroring application that allows displaying and controlling Android devices from a desktop computer.
The interaction between a streaming client and the application container during streaming. A session contains, among other information, user data and application information and provides an entry point for both the client and the container to start the signalling process.
A software package for a desktop, cloud or IoT application that is easy to install, secure, cross‐platform and dependency‐free.
Software Rasterization (
An LLVMpipe-based software rendering platform that is useful for visual tests but does not provide audio input/output.
See Anbox platforms.
The software running on a server connected to Anbox Cloud, which connects AMS to the stream gateway and allows distribution from the gateway to multiple independent AMS installations.
The central component that connects clients with stream agents. Its role is to choose the best possible region depending on the user location and server capacities.
A collection of components designed to run containers and stream their visual output to clients via WebRTC. Streaming can happen through GPUs or through software rendering.
A server that finds the most optimal network path between a client and the container running its application.
Canonical’s service package for Ubuntu that provides enterprise security and support for open-source applications, with managed service offerings available. Note the difference between Ubuntu Pro (Infra-only) and Ubuntu Pro (Apps-only); Anbox Cloud requires a full Ubuntu Pro or a Ubuntu Pro (Apps-only) subscription.
See Ubuntu Pro.
A central user account system used by all Canonical sites and services. You need a Ubuntu One account to purchase the Ubuntu Pro (Apps-only) subscription that is required to run Anbox Cloud, and to log into the web dashboard.
See Ubuntu One.
A software component that monitors the app in a container and terminates the container if the app crashes or is moved to the background.
See Watchdog settings.
A web GUI for Anbox Cloud from where developers can create, manage and stream applications from their web browser.
A standard for media capture devices and peer-to-peer connectivity that can be used to add real-time communication capabilities to an application. It supports video, voice, and generic data to be sent between peers.
See the WebRTC website.